From b0021bbbf69dc3abcefd6fe3175243e18f8ed063 Mon Sep 17 00:00:00 2001 From: Vladislav Khorev Date: Sun, 5 Jul 2015 11:03:52 +0000 Subject: [PATCH] Fixing bugs --- android/AndroidManifest.xml | 18 +- android/ic_launcher-web.png | Bin 20770 -> 87482 bytes .../res/drawable-hdpi/ic_action_refresh.png | Bin 0 -> 678 bytes android/res/drawable-hdpi/ic_launcher.png | Bin 2485 -> 3779 bytes .../abc_ic_search_api_mtrl_alpha.png | Bin 828 -> 1046 bytes .../res/drawable-mdpi/ic_action_refresh.png | Bin 0 -> 507 bytes android/res/drawable-mdpi/ic_launcher.png | Bin 1670 -> 2290 bytes android/res/drawable-xhdpi/drawer_agenda.png | Bin 0 -> 565 bytes .../res/drawable-xhdpi/drawer_bookmark.png | Bin 0 -> 608 bytes android/res/drawable-xhdpi/drawer_books.png | Bin 0 -> 466 bytes android/res/drawable-xhdpi/drawer_gear.png | Bin 0 -> 1022 bytes android/res/drawable-xhdpi/drawer_id.png | Bin 0 -> 718 bytes .../res/drawable-xhdpi/drawer_industry.png | Bin 0 -> 727 bytes android/res/drawable-xhdpi/drawer_news.png | Bin 0 -> 553 bytes android/res/drawable-xhdpi/drawer_phone.png | Bin 0 -> 1006 bytes .../res/drawable-xhdpi/drawer_photography.png | Bin 0 -> 625 bytes android/res/drawable-xhdpi/drawer_pushpin.png | Bin 0 -> 1006 bytes android/res/drawable-xhdpi/drawer_tv.png | Bin 0 -> 617 bytes .../res/drawable-xhdpi/ic_action_refresh.png | Bin 0 -> 901 bytes android/res/drawable-xhdpi/ic_launcher.png | Bin 3319 -> 5608 bytes .../res/drawable-xxhdpi/ic_action_refresh.png | Bin 0 -> 1274 bytes android/res/drawable-xxhdpi/ic_launcher.png | Bin 5004 -> 10215 bytes android/res/drawable/background.png | Bin 196149 -> 135201 bytes android/res/drawable/bashgid_logo_main.png | Bin 7831 -> 25430 bytes android/res/layout/article_button_element.xml | 2 +- android/res/layout/article_phone_element.xml | 2 +- android/res/layout/article_photo_element.xml | 8 +- ..._video_page.xml => fragment_grid_page.xml} | 8 +- ...ist_page.xml => fragment_journal_page.xml} | 11 +- .../res/layout/fragment_photo_album_page.xml | 7 +- android/res/layout/fragment_settings_page.xml | 4 + .../res/layout/fragment_video_record_page.xml | 4 +- android/res/layout/fragment_welcome.xml | 12 +- ...element.xml => grid_page_list_element.xml} | 12 +- android/res/layout/main_page_header.xml | 55 ++ android/res/layout/main_page_news.xml | 38 +- android/res/layout/main_page_search.xml | 5 + android/res/layout/news_page_list_header.xml | 44 +- android/res/layout/photo_album_element.xml | 22 +- .../res/layout/photo_album_list_element.xml | 25 - android/res/layout/photo_page_element.xml | 3 + .../res/layout/search_page_list_header.xml | 19 +- android/res/menu/global.xml | 2 +- android/res/values-ru/strings.xml | 14 +- android/res/values-zh-rCN/strings.xml | 49 +- android/res/values/colors.xml | 1 + android/res/values/strings.xml | 14 +- .../bashgid/AlbumListFragment.java | 95 ++- .../fishrungames/bashgid/ArticleFragment.java | 100 ++- .../fishrungames/bashgid/CatalogFragment.java | 62 +- .../bashgid/DynamicImageView.java | 2 +- .../fishrungames/bashgid/JournalFragment.java | 68 ++- .../fishrungames/bashgid/MainActivity.java | 502 ++++++++++++++-- .../bashgid/MainPageFragment.java | 287 ++++++--- .../bashgid/MainPageHListViewAdapters.java | 13 +- .../bashgid/NewsListFragment.java | 100 ++- .../bashgid/OsmMapHolderFragment.java | 143 +++-- .../bashgid/PhotoAlbumFragment.java | 93 ++- .../fishrungames/bashgid/PhotoFragment.java | 130 ++-- .../bashgid/PhotoFragmentAdapter.java | 11 +- .../fishrungames/bashgid/SearchFragment.java | 146 +++-- .../bashgid/SettingsFragment.java | 3 +- .../fishrungames/bashgid/SquareImageView.java | 37 ++ .../fishrungames/bashgid/StaticGridView.java | 50 ++ .../bashgid/VideoListFragment.java | 102 +++- .../bashgid/VideoRecordFragment.java | 60 +- .../fishrungames/bashgid/WelcomeFragment.java | 18 +- .../bashgid/core/AlbumManager.java | 1 - .../bashgid/core/ArticleManager.java | 7 + .../bashgid/core/ChannelManager.java | 3 +- .../bashgid/core/DatabaseDownloadTask.java | 219 +++++-- .../bashgid/core/DatabaseGetAlbumTask.java | 4 +- .../core/DatabaseGetJournalListTask.java | 15 +- .../bashgid/core/DatabaseGetJournalTask.java | 8 +- .../bashgid/core/JournalManager.java | 15 +- .../bashgid/core/NewsDownloadTask.java | 18 +- .../bashgid/core/NewsManager.java | 213 +++---- .../bashgid/core/TranslationManager.java | 8 + .../bashgid/core/VideoManager.java | 3 - .../bashgid/core/db/AlbumDataSource.java | 35 +- .../bashgid/core/db/ArticleDataSource.java | 567 ++++++++---------- .../bashgid/core/db/BashgidSqliteHelper.java | 31 + .../bashgid/core/db/ChannelDataSource.java | 21 +- .../bashgid/core/db/JournalDataSource.java | 29 +- .../bashgid/core/db/PhotoDataSource.java | 13 +- .../core/db/TranslationDataSource.java | 26 +- .../bashgid/core/db/VideoDataSource.java | 13 +- 87 files changed, 2483 insertions(+), 1167 deletions(-) create mode 100644 android/res/drawable-hdpi/ic_action_refresh.png create mode 100644 android/res/drawable-mdpi/ic_action_refresh.png create mode 100644 android/res/drawable-xhdpi/drawer_agenda.png create mode 100644 android/res/drawable-xhdpi/drawer_bookmark.png create mode 100644 android/res/drawable-xhdpi/drawer_books.png create mode 100644 android/res/drawable-xhdpi/drawer_gear.png create mode 100644 android/res/drawable-xhdpi/drawer_id.png create mode 100644 android/res/drawable-xhdpi/drawer_industry.png create mode 100644 android/res/drawable-xhdpi/drawer_news.png create mode 100644 android/res/drawable-xhdpi/drawer_phone.png create mode 100644 android/res/drawable-xhdpi/drawer_photography.png create mode 100644 android/res/drawable-xhdpi/drawer_pushpin.png create mode 100644 android/res/drawable-xhdpi/drawer_tv.png create mode 100644 android/res/drawable-xhdpi/ic_action_refresh.png create mode 100644 android/res/drawable-xxhdpi/ic_action_refresh.png rename android/res/layout/{fragment_video_page.xml => fragment_grid_page.xml} (84%) rename android/res/layout/{fragment_photo_album_list_page.xml => fragment_journal_page.xml} (69%) rename android/res/layout/{video_page_list_element.xml => grid_page_list_element.xml} (74%) delete mode 100644 android/res/layout/photo_album_list_element.xml create mode 100644 android/src/fishrungames/bashgid/SquareImageView.java create mode 100644 android/src/fishrungames/bashgid/StaticGridView.java diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index 08c03cf..60bc839 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="2" + android:versionName="1.01" > - - - - + @@ -34,8 +30,7 @@ + android:configChanges="orientation" > @@ -45,11 +40,6 @@ - - - diff --git a/android/ic_launcher-web.png b/android/ic_launcher-web.png index 3a3c3f651ed32c4d772d7eb70a7ca72a7aaa97e8..3a3f4baf8fd574dfa05c70ef0c0465119d06c992 100644 GIT binary patch literal 87482 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 XqZ@w9;eC$4->3TzeO%=easGb+DFHGl literal 20770 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 s4|))}ia#??xPBh z(#*x-0~LT~5_ps`Xg351_yTk;?Y2&)sIWeU@nE>t4gq+%fMH2H)>c9Vcs!BZDFFa~ zPvB2UNm>UY$Tva;DR(EJ0iS`UVB1B*dNiMvt)MZo1RkAo%ZwgV&HafJ0u(J`#VrJ$ zGM}-eNOcwyiWLt}Fcew@@5Y44ZiRF?H2@#iz?YghpPLXEFafM30wsXoc#+Hj__1R5 z6Q8nCIck)ueCCn~2t~;Bsvd}ZCm`oK-yPNnf^sfqrsF{>3N z_;I_f&Hus(X5yeO!{{IIiWI!yBx2{xTgE{z-E}2;0zH9iCh#M`04g=hy&bZ$h5!Hn M07*qoM6N<$g8Nk_lmGw# literal 0 HcmV?d00001 diff --git a/android/res/drawable-hdpi/ic_launcher.png b/android/res/drawable-hdpi/ic_launcher.png index 476e7c9900b046ec193383e96cfbb719204f5269..e6c3377c21c11e70b4d310b697e35dce1841f03b 100644 GIT binary patch delta 3758 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 Y2kqc)TnA&4uK)l507*qoM6N<$g3?AB9smFU delta 2424 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 SRz!#Z0000JNRCwC#SG`WdFc5B07qXg>tYM9m ziH_{7U7Kg18{!q<8N%9?u3g(H60BL>HEUQoqpNf}e0J?L{HZ6M>?W7{?$3AbXmq0g zOhr*BpUm07;152zaiG!!mTTY)IU%n#@D6x`>m6_k{8-m@Bk7z3fZxJ$!$2ve$i~3V zAs1!pT@B{ zmb<_k2gfVe)N*O5T=QUjKn*NdC3EB6G1Ru>R(Wb9I0Y>ON(H&b*7afyXfOgs;Tl`( x6+Tl;&H!%vw(l>OQLO0S`{&|Bf0{l77yyZQf|ZLckgWg!002ovPDHLkV1gTK=LP@( literal 0 HcmV?d00001 diff --git a/android/res/drawable-mdpi/ic_launcher.png b/android/res/drawable-mdpi/ic_launcher.png index 6d651e735bf8dfba82b58754d5dfcd2d2e9b4cf6..21fd62104211e3b7b360af440a5d7974071b32c7 100644 GIT binary patch delta 2257 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 B3dH~b diff --git a/android/res/drawable-xhdpi/drawer_agenda.png b/android/res/drawable-xhdpi/drawer_agenda.png new file mode 100644 index 0000000000000000000000000000000000000000..95001c9f97b87718cbe460b7e11fd63404940eaa GIT binary patch literal 565 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=G_YAk0{w5uk3q$!x*y}&;&!dSG<(PZw0n?9FCD%0X->p#;}oNqZJ-SGLN=6L-x=9^V#Jik=3 zdDo&($8sh{Uq1V)>s0w>S34i`)!JIo$ADa~qmy_3ke+k$`&n${@JMN_B)4buM3yj2Sk${<) zQKD4K*F6)aRxgY@f8f6I(+VYFh`EcV>Z(nD-sQzQyF901^}o3_`@gBpKV9OQdU{7> zY~anmZsyUybT@rp&GtvR?C&P_qWOot<=2A)^+@gYEkD`zwCpjGTyw`B7^@7Pu6{1- HoD!M%X literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/drawer_bookmark.png b/android/res/drawable-xhdpi/drawer_bookmark.png new file mode 100644 index 0000000000000000000000000000000000000000..68d3951cedca303a8c4db13e9b9a7efe96fb0ce4 GIT binary patch literal 608 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=G_YAk0{w526bc-D*lBaXttnwwLdp}~J(IWJEJ<`UFq&IEg9|9A z!jXLShqT10y0C|0CAA+McFTWiYm=O@e|E<9+m+{Z>UI0Yo?ck{Y(-8FilhT7cEUnX78t z%+5|edj9RHNVjQs-;X!d)Yi4!TJtkGTP1a=>hI&`ia>##+j}awG_`%dHBib=d73bv{UxgYZiWCvH7>|vAoZ{hzy!eH>FVdQ&MBb@0B`jRcmMzZ literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/drawer_books.png b/android/res/drawable-xhdpi/drawer_books.png new file mode 100644 index 0000000000000000000000000000000000000000..eeeb783950d904f4c0ff7ed47b86afa03b0bb195 GIT binary patch literal 466 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmUKs7M+SzC{oH>NS%G}c0*}aI z1_o{c5N2Gfytfo6C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-l*+)s7~tvR z7?R<9_0~qO!vzwqA8pzK3PgV~*lku2nG^HdplPy#1*g-V|KEIOWp8@=qdEVRf;iLL z34ZoxKij;UP<>+WlW%5bJ-W%l+W#lK(EC1Zv*hf)GjD`!^F{`Q}`PbU?>vors<@AX=*ElpY{s>pak3bJwlCqz?4g@i`xl%N<^(Zje{=sz<;7qiT|&ok!lx&dgtIo7_DmdKI;Vst0O;G!3;+NC literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/drawer_gear.png b/android/res/drawable-xhdpi/drawer_gear.png new file mode 100644 index 0000000000000000000000000000000000000000..4c08fbe09abf8db9817ad4053050c5878e6dbaca GIT binary patch literal 1022 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGf5dZ)S5dnW>Uy%R+02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;Eegmrwuz18+%0K~!i%-I>AXRY4TT9}y7|(JG>CL_|bH zL_~i>+h`ThHll5-{(x4kBKi*^qScRxh-e!T5wGv(_U4&)-kF&*_ugN<*O!mmy>rgY zoZp=}=gw=fTrTJ2vN#Z)cuu?LH;O@C!vso`PomxP8^zoK92F5^=lORtcL1kEMA&)$ z-Sh--P23bmvS*faA|mWOf1rQHVLY#WgGd0p?w2CztvD?_+e;!M>^y(^rT-+xtuD7# z064!ERv*O~VeRjVh_JK1^hdu|j9(0*7C>q8NngczaZ)^5-S-H4{P3rrntw5fS^%#^ zOW#*aQM3={v$g+90bCcms2gHquB8CT0=p>YwK3OH0IaunVwc2xw)R0O0HD}-S>a!Z zdAP-|764Fidb7)WabJ+@Q>x|4JA0#eEYk@mIPnygn@0McyvsGQQWx zKqLTOT`SFzr;iKIzXbNRI)fOu`rQ->;IXL5&CfybYtu81CCpZn8auMScGV`RVSpNm|q`&)u# z#Wn4RBN6|z)e_l+vo9Mi{q?wV&-47Z&xja*)R~w;Bj?t?A?D#OrBVQF zt~X+r#GBhn7Nr38{+GGE|7{dn`5BSse*F38XyM;V(}B^`$@hwJJ^?S^)sg`Enx9ALjp&*Scsd*dh37Yl|3HhyZ_4^q5D(S2sQ>@~07*qoM6N<$f|8Kkga7~l literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/drawer_id.png b/android/res/drawable-xhdpi/drawer_id.png new file mode 100644 index 0000000000000000000000000000000000000000..98f258088d13f902608d52b247c5f02b08e493f2 GIT binary patch literal 718 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=G_YAk0{w5lV@QVc+nE>LSOXtAoy>Z)0ZTu;x>HN3cRhh24a{+h$VKX|;`lb=LbKFead{ejnyx398Y z*kX0r@{^Y8AO3B&^|Z5S^xT}mR9?WoY42&EuF$^LWUdVtFP48O(OBoNeq1D>+4*qp zzo&C861p9lbBk<0a|9=Y0Dxu5Co$7D&6%4IREc8=_?voAb7W&kqCcehx5%&T27y7mp+KUhVt-3Zg2+6&T~ zb8G95J ziXSwSdkm32<(+yv^o6=0;^Z zc=8k?_cbbJ!~@kN*D*VT0^)&T3>#2h5iK}0`^EmBTH@YaGvSoD{4GyC%V|s6cTa8< ze(_6uW6COVndkPmCoicwdSr6)CH8K?JH-V-N*QSuNn{QduL-{ Pa%1px^>bP0l+XkKZ@DVQ literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/drawer_industry.png b/android/res/drawable-xhdpi/drawer_industry.png new file mode 100644 index 0000000000000000000000000000000000000000..b35e8ba2364fdfcb04a3a82b95369dd4c4729b9a GIT binary patch literal 727 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=G_YAk0{w5K3oiJ5#!t#W^5Z!tJQslmwA1pF=BdGz)!rWRjK;^2U*K*@9z2JzcgM zjQ3-EOC?0B1DYyVY~)>>#P79%$CNJ-q~zLyW11i(2idOdXbarPu6m!{?IRG+N#*zE6!L5V~UI)~BSnHDArFo(_^%l0WO5_G8?hk(VKju&L>(uz4 zn@+edX$_Ugo3@MD`CdZkyc^~F=IqesD>X~pvG7FXLzb|M8T(Xh#N4f_4ere7I~YAf z`K)}SxqQ9l*|Aw^iu>=FNS&SjV&Gl*?_+rs-HFJCvOVSj!U zw{(Q&;iwqLx-Sv>^3Lm?X6VdU*JZBds<%7wOewupruXURmed9Qp624kAx|&Kgzo$z zAG3w$i{{H?NqwtgW-Zp5{;#=vTBF_3tL`rr@MIVA9TrbKvlXOmN$G-ePH7A6!)1rq zs%-o39%ifREq|BDe68`GYR&gfkZs{L7hr>P{Wm{AK zrs~Ng-hzmX$F&Et=cO^1FvU5Xwoh+vyM7}3sA;+N{)i=2S`!LhGXv8dgQu&X%Q~lo FCIImJGui+E literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/drawer_news.png b/android/res/drawable-xhdpi/drawer_news.png new file mode 100644 index 0000000000000000000000000000000000000000..157b6cc5912ab3ae8b14dce398a956de78a55eb9 GIT binary patch literal 553 zcmV+^0@nSBP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5dZ)S5dnW>Uy%R+02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;Eegmrwuz0h&ofK~!i%?U_+Z#4r$sdknz?2zvmp*Xszv zf=_}^K6w(sCqeK@5bFG0E4zRH;4B@<1oOd%OEXC(wwo!NVVb6s) zjMq>~19~Rq7_Xs}2J}qIF{*8$J|9c8ZrY3U27&6Wl9I&h}F4lunA zL{LiZ`0k=2AsW4Sh7@200000NkvXXu0mjfxx?*e literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/drawer_phone.png b/android/res/drawable-xhdpi/drawer_phone.png new file mode 100644 index 0000000000000000000000000000000000000000..efa2240488f2478cb728c99699930e2aa25d4c41 GIT binary patch literal 1006 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGf5dZ)S5dnW>Uy%R+02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;Eegmrwuz17Ar*K~!i%-I-B`RZ$ejhan;&A|fJ&h=`ts zUL*Pdy+%(F5%U?Mr=EK1DI#K?BBIxb7>0<5h=_<7;`aZYd-k=@zU!R5_PzTwXZrIq z=dQcnzS}0+GfDc{MfBDVQosZ!+_oSv0G`vvw|20?O#5pJ^_z! ziFO&VKR#azA0v_KI?K6P0;nfe3CQQfw5vfnW<4X>&4j8aEKhBC|w?&%J zQtA`1l=_gvds6opzyslxphst2K53y(hnwPxI3dzxV9D|WOP1epK~8dqIznC4NUhYo zWeqNYzI|O0!;0;~G&V#5DH6&Vi@t`zY=U?jkgbz%e$y%ZVK1vT9huG#bz)eiu1C65Il< z7{GV<3v0XuzPam&oY}1v(-=Xs^-1J(PgvuJU`gdf?xE&z zZ~|;$c-jnnSm*Irl0FxlMc_CsgfX5*lK8#5cBWC#Hh5p}(z8!%Vl`yg(ziL!uYjn< zY-N@Vf(z}9@G9LkW6!fsFGcKI@(M{!OE-wl2f@!uvs9vEB91Y1t7Y#q_B|;|L~WgX zaWGhAZ)lwfuq;Zo*b{;{SjpB(tP3KJ!!qg9I!h>4v!wzd5dF=nx+_8)peXM}%ne{w zQS)K~yqm77zS}4l^S2g`t=p*gZO~HlJ{^L2dYmDpzk-K#&OV~%#RS&X7_Edy)g};B ztC{nv`UFsDr!R{TpJQ)3U7}GY@Gn*EB0dZ?55+Knp@+{@)jSl#1o|F6Q`O?37$yMm z!)K~mdML&dNU>!3je#Z0@Bf}a`lKA%Hm{94w`puC`Nu_V+__C-%Q?XoHsUXzEx$2v c=ALc*1)cyhvE!PM0ssI207*qoM6N<$g7)0ZV*mgE literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/drawer_photography.png b/android/res/drawable-xhdpi/drawer_photography.png new file mode 100644 index 0000000000000000000000000000000000000000..acba6eb1cfcfcf823510b99710b77e15faa36746 GIT binary patch literal 625 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=G_YAk0{w5gqj|B6{vDFwHK;#u!c8jhv%`L zSJ)xcvW`XZ+>%s)iW=?--?#RE@3}n}v>>o##b#vShSfl&R;n$umk{c8wqTh5DuULQA zB*A&Zwj0Xg0rB=g(F>2bWhQyAFunjXfnV`_dD|1NS2B#!OuEmK4zxLR?*zI{L%p;JId6x|BO|1j<{#-!r9LyT>oEf_*5nG pzvu&Bal3KRwfpwfA~~i%8KoBL?da86oefM844$rjF6*2UngG)c|Cay& literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/drawer_pushpin.png b/android/res/drawable-xhdpi/drawer_pushpin.png new file mode 100644 index 0000000000000000000000000000000000000000..31134e7d2942d2ded9b64d541cc92895a093b125 GIT binary patch literal 1006 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGf5dZ)S5dnW>Uy%R+02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;Eegmrwuz17Ar*K~!i%#hG7(RZ$qlhlq%Xh=`tgiin7a zh=_=Yo+5@A=4lvujfjYd=rtlDA|fIpqNj+6h=}MZB5rFvoNV9y?Q`~@Gt=Vdxa+KM z?>lqv`Oek$D?^BL34r)u@&;TG~Xy_j&Mng>Amn9IW7(g*ZAny_I-X# z9zV`G3Yr;?iQL!blei$LF5;Z?B#-ZTs189B*dcQNz2{=Lpt>B+yN=`zMKuVTz*Rwd zCj7@y%@nS4J*l|Gq6yGPZf}o>S+~W<;;XQH^lNIDuFs7fvk01j6M}SBq`95qy7(w z+bg0xZ<;~S43PYvO*8SrjrRrTQ#qfWH&K*X0?oj85w#tkz&DX*5Htg{WS+VPyonjw ztdGOyW>CpB;Ca&wf@a{3h}w=WD$u2r_m;}vaSB4`$H zOU$XFyDoud0lvvl|8CJ|QQO7-fo36bh1sgOa;*Z*3f!}M^gz(K#h_V%Kl->AD3$A~ zdOm?>B^O1D{`>C(DX&G1svaMXfo205-uNCeUo;uqe4h`%X^v zO`zGqQ!%EZjd~4ecHpJ*n3{hJ%YkMG-eu+X48{B08qn+{cQJckO!+R*>||Att_jL_ zfo3PUd%~>UX8_Gk{HTOPk6^k%a|Yrg7~dZ#*A1F8@Is_|B`DVonls>E=ZEJ$J`TUy c&&*=wFEqQ8yd7|yIsgCw07*qoM6N<$f{vZv`Tzg` literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/drawer_tv.png b/android/res/drawable-xhdpi/drawer_tv.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b73bb9c65e2689b6f026eaffb89729bf69857a GIT binary patch literal 617 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=G_YAk0{w5ix5X(Wc zbK=4gYX9d7Q!&D}HSo}47}CUskc&cD;j#d(M3R_3gF%{H}}HR#Xcn??Dn zve~CL3$N~K_YaP>Um=r|5*ZnnuybZitogMS6+28r&nzg~FflbZ@l%el^HKYmEBAo7 zUsGnySW+>ixmRa((rh&~ZMmlj$|q;K7%uDd>~^<&amLKB@}mZO>us~ZAe&PM4{Y?E zBHCY6aA5u{i)dNV`Z$|)@e_XBsxd5=&02EpX}jY`^=GqhN?)n*Vm3d$z1C=Xrp|NT zYuniZFEL%T6gKMUHZcc9#ORO{V-TZg!{uf+SKK-_IpF^zu0|&Y59~L~mdZ%>7 g#Hh8;j=te;J;&6saaQLYU`k-{boFyt=akR{04?qW!~g&Q literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/ic_action_refresh.png b/android/res/drawable-xhdpi/ic_action_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc160d4c6210f179e79553093ebb2547f0330a5 GIT binary patch literal 901 zcmV;01A6?4P)RCwC#T0L*uFc4)8FYc<;-Dk=K$DH3;rA)DueC=? zXm8L8XnSb+cDvoT^n>sJsJ(mF_M9rl9h1gEE}$huS_XV}M&A>9AH~R^y#UFgg*;+1 zI13=+%Zi92pb+00oP01A0OWDTZ(0Uw3r@@nbeG-*pjp4InXwlbJ0c$w`AFgM zf@Z7=b|qO$Jvhc1KR@YJ046Xsfh3=+V8%SNYpfVoB`b67$P|_{y-~RCD>X5@2NE_lp6Lw}xphu;c=n z1^I<3d76;pxBw+0GiG^PTLe>Vk4!A#0_cZL9$*>+IMaX7iS&)AkMC{z*a(d@XDVW% zGiGi(A5&}H7{Dz}PrepbbOmVjeP3tal>pw7*Ak!>ssHo;vk-u?G%maI7S`FI?K{T<}=*z8~A{PJOq4@66w`lNW$0QwfuuD(_Cmjt0_1EckNy zq-M4olY`CL;cFYTmTDJU;h%=@WfrHpTuB~hKhx>Rg$oph* z$fAy&4H}&r&~lebHa!^h9(t(<(2vg)pId7Zuddi!3;6-;+O#C^LVynqS3#k63dCbF z^+X&#cKF)YOH00000NkvXXu0mjfAz_hF literal 0 HcmV?d00001 diff --git a/android/res/drawable-xhdpi/ic_launcher.png b/android/res/drawable-xhdpi/ic_launcher.png index 4217fe2fbe75a023f1e49d0a5c6fbfefc5bd84a9..852a1336701efbea02bfabe59a637369f26d081c 100644 GIT binary patch delta 5601 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 diff --git a/android/res/drawable-xxhdpi/ic_action_refresh.png b/android/res/drawable-xxhdpi/ic_action_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..cb847f3780ffe9c430bdd0e525ad2e48127b7b91 GIT binary patch literal 1274 zcmVFccPC7P6*ey@nC) zn9{LXVa*C#kF|e8t{bemZm_b3m5yZM&WvPDRFH@%(&t~i`}0))#%kwWkS60;UxvCJX9zDs zl(`>feupk3gqWHpGbuqn;b3PhfHggJ0ezuvNShzDAQl$n6RyfwQIG;);?I2gUX6`z zzjS-i?Xp1N_gVn+PP!mXJiYY9Gw~^??^AA#q1Pb!lM_2)dehJdIu z0?_0~On#&QzXD+Lzt?a%6umsBF@9cbuKO8s*m}s}=%D7K4LigzDll!In9KbfFGtfU%${)0U|EQW(&t1D3=q!k>URf$)&xW7631< zm?ED!=$5kpQ_{7RnoEHI?83B1P%R_?j($vYKF^?9&H_x@zm&*$A%Hi0G6?`QH){be zpxI9zkOxFR1#mGJR5$>4HT>j>$8^(H+ zwm-Bdq%B?Z`-3(MU@E<65r~Uw#s%#N`GeL9U`Jre_BRlKEKJ${3Ib?W0BZ<9E(tR& zHYIgtdm#WbjH`V}#N@P}*11g^&0+{Z4r7bYzybud|Eu9+i@K|Q5I{a?o26;1P3_GF z5Wsfrk1X6z;$owjk0QPIF?3X*SqG}P7~;Rw1!}heS8&`dXHU>zNKVt1SA$GaR*oO;B9FxBi()@|# zGu*oDI}`zkkYC}vqFdM27s|1fGXe6;p4>vmoW-tR%!dH#5_jX$=Vr=i$0fc-eqW@z z$AhJjqOKIa&I|hK$dV|h zSgK5EY3iOb889fR`CwMpc#!h>O$lJ5+J8FYzc^na z+G$zOV4a_ty!wgoq_KK8L>Hi2*8{Nfcz$5vB?zx00000 k000000001x#cu%y058#~Dpx%2*#H0l07*qoM6N<$f=F^#1poj5 literal 0 HcmV?d00001 diff --git a/android/res/drawable-xxhdpi/ic_launcher.png b/android/res/drawable-xxhdpi/ic_launcher.png index 3e03653bdde4588858c7756835ca6eb2148131c2..4111868e73cd01bdd058f1b853c35150a5901386 100644 GIT binary patch literal 10215 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 P0P)h%G|;F~bA0+gPmbzp delta 4963 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

ZRpP9Y*M_at?Qk0d@w@t)E09#YlzP|gUCbkS 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ÐsWoC0J@AC7%;V#4u=@! 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%0DIrf3xCc~ZOQ^7YK*;QM_bL*Ei+ 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 N;OFAkdI6%A7f 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 C^EPDw literal 7831 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 diff --git a/android/res/layout/article_button_element.xml b/android/res/layout/article_button_element.xml index 6a1250a..e1cba27 100644 --- a/android/res/layout/article_button_element.xml +++ b/android/res/layout/article_button_element.xml @@ -13,7 +13,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/medium_margin" - android:background="@color/bkg2" + android:background="@color/button_default" android:drawableLeft="@drawable/ic_action_web_site" android:text="@string/go_to_website" android:textSize="@dimen/xlarge_text_size" /> diff --git a/android/res/layout/article_phone_element.xml b/android/res/layout/article_phone_element.xml index e6403e2..f7e41bb 100644 --- a/android/res/layout/article_phone_element.xml +++ b/android/res/layout/article_phone_element.xml @@ -13,7 +13,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/medium_margin" - android:background="@color/bkg2" + android:background="@color/button_default" android:drawableLeft="@drawable/ic_action_call" android:gravity="left|center_vertical" android:textSize="@dimen/xlarge_text_size" /> diff --git a/android/res/layout/article_photo_element.xml b/android/res/layout/article_photo_element.xml index ac3f1ce..2587f6e 100644 --- a/android/res/layout/article_photo_element.xml +++ b/android/res/layout/article_photo_element.xml @@ -7,14 +7,16 @@ android:orientation="vertical" android:showDividers="middle" > - + android:cropToPadding="false" + android:minHeight="10dp" + android:minWidth="10dp" + android:scaleType="centerCrop" /> - + android:verticalSpacing="@dimen/grid_view_vertical_spacing" + android:isScrollContainer="false" + android:stretchMode="columnWidth" /> + - diff --git a/android/res/layout/fragment_photo_album_list_page.xml b/android/res/layout/fragment_journal_page.xml similarity index 69% rename from android/res/layout/fragment_photo_album_list_page.xml rename to android/res/layout/fragment_journal_page.xml index e1b0494..c939213 100644 --- a/android/res/layout/fragment_photo_album_list_page.xml +++ b/android/res/layout/fragment_journal_page.xml @@ -7,7 +7,7 @@ android:orientation="vertical" tools:context="fishrungames.bashgid.MainPageFragment" > - + + + + diff --git a/android/res/layout/fragment_photo_album_page.xml b/android/res/layout/fragment_photo_album_page.xml index c939213..825ef54 100644 --- a/android/res/layout/fragment_photo_album_page.xml +++ b/android/res/layout/fragment_photo_album_page.xml @@ -3,19 +3,18 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="0dp" - android:background="@color/bkg1" + android:background="@color/black" android:orientation="vertical" tools:context="fishrungames.bashgid.MainPageFragment" > - diff --git a/android/res/layout/fragment_settings_page.xml b/android/res/layout/fragment_settings_page.xml index dc69a87..fcdf5f2 100644 --- a/android/res/layout/fragment_settings_page.xml +++ b/android/res/layout/fragment_settings_page.xml @@ -139,6 +139,7 @@ style="?android:attr/borderlessButtonStyle" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="@color/button_default" android:text="@string/call_support" android:textSize="@dimen/small_text_size" android:layout_marginBottom="@dimen/medium_margin" @@ -149,6 +150,7 @@ style="?android:attr/borderlessButtonStyle" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="@color/button_default" android:text="@string/visit_kitap" android:textSize="@dimen/small_text_size" android:layout_marginBottom="@dimen/medium_margin" /> @@ -158,6 +160,7 @@ style="?android:attr/borderlessButtonStyle" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="@color/button_default" android:text="@string/visit_developer" android:textSize="@dimen/small_text_size" android:layout_marginBottom="@dimen/medium_margin" /> @@ -167,6 +170,7 @@ style="?android:attr/borderlessButtonStyle" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="@color/button_default" android:text="@string/visit_translator" android:textSize="@dimen/small_text_size" android:layout_marginBottom="@dimen/medium_margin" /> diff --git a/android/res/layout/fragment_video_record_page.xml b/android/res/layout/fragment_video_record_page.xml index 880824e..47d7c07 100644 --- a/android/res/layout/fragment_video_record_page.xml +++ b/android/res/layout/fragment_video_record_page.xml @@ -32,7 +32,9 @@ + android:layout_height="wrap_content" + android:layout_margin="@dimen/medium_margin" /> + diff --git a/android/res/layout/fragment_welcome.xml b/android/res/layout/fragment_welcome.xml index 2158ea9..d8999d7 100644 --- a/android/res/layout/fragment_welcome.xml +++ b/android/res/layout/fragment_welcome.xml @@ -36,7 +36,9 @@ android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="@string/lang_english" - android:textSize="@dimen/language_text_size" /> + android:textColor="@color/text_white" + android:textSize="@dimen/language_text_size" + android:textStyle="bold" /> + android:textColor="@color/text_white" + android:textSize="@dimen/language_text_size" + android:textStyle="bold" /> + android:textColor="@color/text_white" + android:textSize="@dimen/language_text_size" + android:textStyle="bold" /> - + + + + + + + + + + + + + + + + + + + + diff --git a/android/res/layout/main_page_news.xml b/android/res/layout/main_page_news.xml index b69dbf7..b29ad8f 100644 --- a/android/res/layout/main_page_news.xml +++ b/android/res/layout/main_page_news.xml @@ -6,23 +6,40 @@ android:orientation="vertical" tools:context="fishrungames.bashgid.MainPageFragment" > + + + + + + + android:id="@+id/newsDownloadProgressBar" + style="?android:attr/progressBarStyleHorizontal" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:indeterminate="false" + android:max="100" + android:progress="0" /> diff --git a/android/res/layout/main_page_search.xml b/android/res/layout/main_page_search.xml index 65d388b..17e46b7 100644 --- a/android/res/layout/main_page_search.xml +++ b/android/res/layout/main_page_search.xml @@ -29,6 +29,8 @@ android:id="@+id/searchEditText" android:layout_width="match_parent" android:layout_height="wrap_content" + android:lines="1" + android:maxLines="1" android:hint="@string/enter_search_query" > @@ -41,6 +43,9 @@ android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:drawableLeft="@drawable/ic_action_search" + android:layout_margin="@dimen/medium_margin" + android:background="@color/button_default" + android:padding="@dimen/medium_margin" android:text="@string/search_title" android:textSize="@dimen/large_text_size" /> diff --git a/android/res/layout/news_page_list_header.xml b/android/res/layout/news_page_list_header.xml index 7368bf5..cfe2afd 100644 --- a/android/res/layout/news_page_list_header.xml +++ b/android/res/layout/news_page_list_header.xml @@ -8,22 +8,38 @@ android:paddingRight="20dp" tools:context="fishrungames.bashgid.MainPageFragment" > - - + android:layout_gravity="center_vertical|center_horizontal" > + + + + + + + + android:id="@+id/newsDownloadProgressBar" + style="?android:attr/progressBarStyleHorizontal" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:indeterminate="false" + android:max="100" + android:progress="0" /> \ No newline at end of file diff --git a/android/res/layout/photo_album_element.xml b/android/res/layout/photo_album_element.xml index 21d64c7..0d7d17a 100644 --- a/android/res/layout/photo_album_element.xml +++ b/android/res/layout/photo_album_element.xml @@ -1,18 +1,20 @@ - + diff --git a/android/res/layout/photo_album_list_element.xml b/android/res/layout/photo_album_list_element.xml deleted file mode 100644 index 61e84b6..0000000 --- a/android/res/layout/photo_album_list_element.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - diff --git a/android/res/layout/photo_page_element.xml b/android/res/layout/photo_page_element.xml index 41ec3a8..a5d6b4c 100644 --- a/android/res/layout/photo_page_element.xml +++ b/android/res/layout/photo_page_element.xml @@ -3,6 +3,7 @@ android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" + android:background="@color/black" android:gravity="center_vertical" android:orientation="vertical" > @@ -32,6 +33,7 @@ android:layout_height="wrap_content" android:layout_margin="@dimen/large_margin" android:text="TextView" + android:textColor="@color/text_white" android:textSize="@dimen/xlarge_text_size" android:textStyle="bold" /> @@ -42,6 +44,7 @@ android:layout_marginLeft="@dimen/large_margin" android:layout_marginRight="@dimen/large_margin" android:text="TextView" + android:textColor="@color/text_white" android:textSize="@dimen/medium_text_size" /> diff --git a/android/res/layout/search_page_list_header.xml b/android/res/layout/search_page_list_header.xml index e671c90..1974d1c 100644 --- a/android/res/layout/search_page_list_header.xml +++ b/android/res/layout/search_page_list_header.xml @@ -7,20 +7,30 @@ tools:context="fishrungames.bashgid.SearchFragment" > + + + android:inputType="text" + android:lines="1" + android:maxLines="1" + android:textSize="@dimen/medium_text_size" > @@ -28,6 +38,7 @@ + android:layout_height="wrap_content" + android:textSize="@dimen/xsmall_text_size" /> \ No newline at end of file diff --git a/android/res/menu/global.xml b/android/res/menu/global.xml index 21f8f37..91ed1e6 100644 --- a/android/res/menu/global.xml +++ b/android/res/menu/global.xml @@ -4,7 +4,7 @@ diff --git a/android/res/values-ru/strings.xml b/android/res/values-ru/strings.xml index c1e4e13..692176f 100644 --- a/android/res/values-ru/strings.xml +++ b/android/res/values-ru/strings.xml @@ -49,11 +49,6 @@ Перейти на сайт - Купить... - Читать - Стоимость: - Руб. - Показать на карте Карта загружается... Карта загружена @@ -74,7 +69,7 @@ Идет поиск, пожалуйста, подождите... Чтобы начать поиск, введите как минимум 3 символа -Башгид (c) 2015\n\nВсе права принадлежат ГУП «Китап»\nТелефон: +73472238838\nhttp://kitap-ufa.ru/\n\nРазработчик - Владислав Хорев\nТелефон: +79260492730\nEmail: mephi1984@gmail.com\n\nПеревод на китайский язык сделан Лилией Лисицей\nТелефон: +8615756011926\nEmail:lilialoo926@mail.ru +Башгид (c) 2015\n\nВсе права принадлежат ГУП «Китап»\nТелефон: +73472238838\nhttp://kitap-ufa.ru/\n\nРазработчик - Владислав Хорев\nТелефон: +79260492730\nEmail: mephi1984@gmail.com\nhttp://fishrungames.ru/\n\nПеревод на китайский язык сделан Лилией Лисицей\nТелефон: +8615756011926\nEmail: littlefoxlilia@mail.ru\nhttp://littlefoxlilia.ru/ У вас возникли трудности при работе с приложением? Нажмите сюда, чтобы позвонить в техподдержку. @@ -90,6 +85,13 @@ Категория загружена + +Чтобы искать во всех категориях, нажмите кнопку Поиск справа вверху + +http://littlefoxlilia.ru/ru/%D0%BE-%D1%81%D0%B5%D0%B1%D0%B5/ + +Символы РБ + diff --git a/android/res/values-zh-rCN/strings.xml b/android/res/values-zh-rCN/strings.xml index 8d56e7d..b5ac520 100644 --- a/android/res/values-zh-rCN/strings.xml +++ b/android/res/values-zh-rCN/strings.xml @@ -1,7 +1,8 @@ - 俄罗斯联邦巴什基尔自治共和国指南 + + 巴什科尔托斯坦指南 打开导航窗口 关闭导航窗口 设置 @@ -10,13 +11,13 @@ 搜索标题 - 输入问题 + 输入关键词 - 无法查看新闻记录 - 其他新闻… + 无法查看记录 + 其他… - 查看所有新闻 + 更多 头条新闻 @@ -29,10 +30,10 @@ 标识 - 俄罗斯联邦巴什基尔自治共和国指南 + 巴什科尔托斯坦指南 指南 新闻 - 目录 + 所有文章 地图 视频 图片库 @@ -40,12 +41,7 @@ 投资者信息 设置 - 去现场 - - Buy - Read - Price: - RUB + 跳转至详细信息页面 在地图上显示 @@ -57,7 +53,7 @@ 取消 全面搜索 -在%%搜索: +在%%搜索: %% 地址: 复制文本 @@ -65,23 +61,28 @@ 搜索结果: %% 文章被找到 正在搜索,请稍等… -输入关键字符,开始搜索 +请输入关键字并开始搜索 -Bashguide (c) 2015\n\nApplication owner: ГУП «Китап»\nPhone: +73472238838\nhttp://kitap-ufa.ru/\n\nApplication is made by Vladislav Khorev\nPhone: +79260492730\nEmail: mephi1984@gmail.com\n\nTranslation to Chinese made by Little Fox Lilia\nPhone: +8615756011926\nEmail:lilialoo926@mail.ru +巴什科尔托斯坦指南 (c) 2015\n\n软件所有权:版权归俄罗斯国企“基塔普”公司所有 (ГУП «Китап»)\n电话: +73472238838\nhttp://kitap-ufa.ru/\n\n软件开发者:弗拉季斯拉夫·郝列夫\n电话: +79260492730\n邮箱: mephi1984@gmail.com\nhttp://fishrungames.ru/\n\n软件翻译:小狐狸莉莉娅\n电话: +8615756011926\n邮箱:littlefoxlilia@mail.ru\nhttp://littlefoxlilia.ru/ -Having problems with application? Click here to call support. +程序出现问题?请点击这里寻求技术支持 -Visit ГУП «Китап» website +查看“基塔普”公司网站 -Visit developer\'s website +查看开发人员的个人网站 -Visit translator\'s website +查看翻译人员的个人网站 -Tap and hold address to copy it to clipboard. +请轻按地址直至复制到剪贴板 -Category is loading... - -Category is loaded +正在加载目录... +目录加载完毕 +如果您想要搜索所有的目录,请点击右上角的搜索按钮 + +http://littlefoxlilia.ru/zh/%E5%85%B3%E4%BA%8E%E6%88%91/ + +巴什科尔托斯坦特色 + diff --git a/android/res/values/colors.xml b/android/res/values/colors.xml index 6902d6f..70720eb 100644 --- a/android/res/values/colors.xml +++ b/android/res/values/colors.xml @@ -27,6 +27,7 @@ #d0d0d0 +#e0e0e0 #202020 diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml index 10d1467..b53a150 100644 --- a/android/res/values/strings.xml +++ b/android/res/values/strings.xml @@ -49,12 +49,7 @@ Go to website - - Buy - Read - Price: - RUB - + Show on map Map is loading... Map is loaded @@ -75,7 +70,7 @@ Search is performing, please wait... To start search, enter at least 3 symbols -Bashguide (c) 2015\n\nApplication owner: ГУП «Китап»\nPhone: +73472238838\nhttp://kitap-ufa.ru/\n\nApplication is made by Vladislav Khorev\nPhone: +79260492730\nEmail: mephi1984@gmail.com\n\nTranslation to Chinese made by Little Fox Lilia\nPhone: +8615756011926\nEmail:lilialoo926@mail.ru +Bashguide (c) 2015\n\nApplication owner: ГУП «Китап»\nPhone: +73472238838\nhttp://kitap-ufa.ru/\n\nApplication is made by Vladislav Khorev\nPhone: +79260492730\nEmail: mephi1984@gmail.com\nhttp://fishrungames.ru/\n\nTranslation to Chinese made by Little Fox Lilia\nPhone: +8615756011926\nEmail: littlefoxlilia@mail.ru\nhttp://littlefoxlilia.ru/ Having problems with application? Click here to call support. @@ -91,6 +86,11 @@ Category is loaded +If you want to search in all categories, click search button at top right + +http://littlefoxlilia.ru/en/about/ + +Featured RB diff --git a/android/src/fishrungames/bashgid/AlbumListFragment.java b/android/src/fishrungames/bashgid/AlbumListFragment.java index 3c8a268..44b4f7a 100644 --- a/android/src/fishrungames/bashgid/AlbumListFragment.java +++ b/android/src/fishrungames/bashgid/AlbumListFragment.java @@ -32,13 +32,14 @@ public class AlbumListFragment extends Fragment GridView gridView; - ArrayList albumArr; + ArrayList albumArr = new ArrayList(); ProgressBar progressBar; + + DatabaseGetAlbumListTask databaseGetAlbumListTask = null; public AlbumListFragment() { - RestoreAlbumList(); } public AlbumListFragment(ArrayList albumArr) @@ -50,7 +51,7 @@ public class AlbumListFragment extends Fragment public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View rootView = inflater.inflate(R.layout.fragment_video_page, container, false); + View rootView = inflater.inflate(R.layout.fragment_grid_page, container, false); progressBar = (ProgressBar) rootView.findViewById(R.id.progressBar); @@ -72,29 +73,88 @@ public class AlbumListFragment extends Fragment } }); + + if (albumArr.size() == 0) + { + RestoreAlbumList(); + } return rootView; } + + @Override + public void onDestroyView() + { + + CancelTaskIfRunning(); + + super.onDestroyView(); + } + + public void OnDatabaseDonwloadProgress(Integer percent) + { + /* + databaseDownloadProgressBar.setProgress(percent); + + if (percent >= 100) + { + databaseDownloadProgressBar.setVisibility(View.GONE); + } + else + { + databaseDownloadProgressBar.setVisibility(View.VISIBLE); + } + */ + if (databaseGetAlbumListTask == null || percent == 100) + { + RestoreAlbumList(); + } + + //SetJournalList(r.journalList); + } public void RestoreAlbumList() { + CancelTaskIfRunning(); + albumArr = new ArrayList(); - DatabaseGetAlbumListTask task = new DatabaseGetAlbumListTask(); + databaseGetAlbumListTask = new DatabaseGetAlbumListTask(); - task.mHandler = MainActivity.getInstance().mHandler; + //databaseGetAlbumListTask.mHandler = MainActivity.getInstance().databaseHandler; - task.execute(); + //databaseGetAlbumListTask.execute(); + databaseGetAlbumListTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } public void SetAlbumList(ArrayList albumArr) { + databaseGetAlbumListTask = null; + progressBar.setVisibility(View.GONE); this.albumArr = albumArr; listAdapter.notifyDataSetChanged(); } + + public void CancelTaskIfRunning() + { + if (databaseGetAlbumListTask != null) + { + databaseGetAlbumListTask.cancel(false); + databaseGetAlbumListTask = null; + } + } + + public void RefreshAdapter() + { + if (listAdapter != null) + { + listAdapter.notifyDataSetChanged(); + } + } public static class DatabaseGetAlbumListTask extends AsyncTask { @@ -113,15 +173,15 @@ public class AlbumListFragment extends Fragment protected void onProgressUpdate(Integer... progress) { - Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_GET_ALBUM_LIST_STATE_UPDATE, albumArr); + //Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_GET_ALBUM_LIST_STATE_UPDATE, albumArr); - completeMessage.sendToTarget(); + //completeMessage.sendToTarget(); } protected void onPostExecute(Long result) { - Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_GET_ALBUM_LIST_STATE_FINISHED, albumArr); + Message completeMessage = MainActivity.getInstance().mainHandler.obtainMessage(MainActivity.DATABASE_GET_ALBUM_LIST_STATE_FINISHED, albumArr); completeMessage.sendToTarget(); } @@ -160,7 +220,7 @@ public class AlbumListFragment extends Fragment if (convertView == null) { // if it's not recycled, initialize some attributes LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - view = inflater.inflate(R.layout.video_page_list_element, null); + view = inflater.inflate(R.layout.grid_page_list_element, null); } else { @@ -169,11 +229,20 @@ public class AlbumListFragment extends Fragment ImageView imageView = (ImageView) view.findViewById(R.id.imageView); TextView nameTextView = (TextView) view.findViewById(R.id.nameTextView); + + if (albumArr.get(position) != null) + { + ImageManager.getInstance().ApplySmallImageToImageView(imageView, albumArr.get(position).firstImageUrl); + nameTextView.setText(albumArr.get(position).title); - ImageManager.getInstance().ApplyImageToImageView(imageView, albumArr.get(position).firstImageUrl); - - nameTextView.setText(albumArr.get(position).title); + } + else + { + ImageManager.getInstance().ApplySmallImageToImageView(imageView, "R.drawable.no_picture"); + nameTextView.setText(""); + } + return view; } diff --git a/android/src/fishrungames/bashgid/ArticleFragment.java b/android/src/fishrungames/bashgid/ArticleFragment.java index a0836b8..f755402 100644 --- a/android/src/fishrungames/bashgid/ArticleFragment.java +++ b/android/src/fishrungames/bashgid/ArticleFragment.java @@ -26,6 +26,7 @@ import android.graphics.Canvas; import android.graphics.Typeface; import android.net.Uri; +import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; @@ -121,28 +122,29 @@ public class ArticleFragment extends Fragment ProgressBar progressBar; - String articleName; - ArticleFullData article; + String articleName = ""; + + ArticleFullData article = null; + + DatabaseGetArticleTask databaseGetArticleTask = null; + + ArrayList articleLayout = new ArrayList(); public ArticleFragment() { - articleName = ""; - article = null; } public ArticleFragment(String articleName) { this.articleName = articleName; RestoreArticle(); - ReloadLayout(); } public ArticleFragment(ArticleFullData article) { this.articleName = article.name; this.article = article; - ReloadLayout(); } @Override @@ -154,11 +156,13 @@ public class ArticleFragment extends Fragment public void RestoreArticle() { - DatabaseGetArticleTask task = new DatabaseGetArticleTask(); + CancelTaskIfRunning(); + + databaseGetArticleTask = new DatabaseGetArticleTask(); - task.mHandler = MainActivity.getInstance().mHandler; + databaseGetArticleTask.mHandler = MainActivity.getInstance().mainHandler; - task.execute(articleName); + databaseGetArticleTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, articleName); } public void ReloadLayout() @@ -214,6 +218,8 @@ public class ArticleFragment extends Fragment public void SetArticle(ArticleFullData article) { + databaseGetArticleTask = null; + progressBar.setVisibility(View.GONE); this.article = article; @@ -222,18 +228,20 @@ public class ArticleFragment extends Fragment listAdapter.notifyDataSetChanged(); } + + public void CancelTaskIfRunning() + { + if (databaseGetArticleTask != null) + { + databaseGetArticleTask.cancel(false); + databaseGetArticleTask = null; + } + } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - if (savedInstanceState != null) - { - articleName = savedInstanceState.getString("articleName"); - RestoreArticle(); - ReloadLayout(); - } - View rootView = inflater.inflate(R.layout.fragment_article_page, container, false); progressBar = (ProgressBar) rootView.findViewById(R.id.progressBar); @@ -245,9 +253,39 @@ public class ArticleFragment extends Fragment listAdapter = new ListAdapter(getActivity()); listView.setAdapter(listAdapter); + + + if (savedInstanceState != null) + { + articleName = savedInstanceState.getString("articleName"); + RestoreArticle(); + } + else if (articleName.length() > 0 && article == null) + { + RestoreArticle(); + } + + ReloadLayout(); return rootView; } + + public void RefreshAdapter() + { + if (listAdapter != null) + { + listAdapter.notifyDataSetChanged(); + } + } + + @Override + public void onDestroyView() + { + + CancelTaskIfRunning(); + + super.onDestroyView(); + } public class ListAdapter extends BaseAdapter { @@ -314,8 +352,7 @@ public class ArticleFragment extends Fragment { LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.layout.article_button_element, null); - } else - // if (getItemViewType(position) == 6) + } else // if (getItemViewType(position) == 6) { LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.layout.article_phone_element, null); @@ -333,10 +370,10 @@ public class ArticleFragment extends Fragment if (article.type == ArticleManager.ARTICLE_TYPE_NEWS) { - textView.setTextSize(getResources().getDimension(R.dimen.xlarge_text_size)); + textView.setTextSize(getResources().getDimension(R.dimen.large_text_size)); } else { - textView.setTextSize(getResources().getDimension(R.dimen.xxlarge_text_size)); + textView.setTextSize(getResources().getDimension(R.dimen.xlarge_text_size)); } textView.setTypeface(null, Typeface.BOLD); @@ -359,7 +396,23 @@ public class ArticleFragment extends Fragment PhotoRecordData photo = MainActivity.getInstance().photoDataSource.GetPhotoByImageUrl(articleLayout.get(position).value); - ImageManager.getInstance().ApplyImageToImageView(imageView, photo.imageUrl); + //ImageManager.getInstance().ApplyImageToImageView(imageView, photo.imageUrl); + ImageManager.getInstance().ApplySmallImageToImageView(imageView, photo.imageUrl); + + imageView.setOnClickListener(new OnClickListener() + { + + @Override + public void onClick(View v) + { + MainActivity.getInstance().SetLastArticleName(articleName); + + String albumName = article.albumArr.get(0).name; + + MainActivity.getInstance().OpenPhotoScreen(albumName, 0, MainActivity.TAG_BACK_TO_ARTICLEFRAGMENT); + } + + }); textView.setText(photo.title); } else if (getItemViewType(position) == 3) @@ -382,6 +435,7 @@ public class ArticleFragment extends Fragment addressTextView.setOnLongClickListener(new OnLongClickListener() { + @SuppressWarnings("deprecation") @Override public boolean onLongClick(View v) { @@ -407,7 +461,7 @@ public class ArticleFragment extends Fragment } }); - // editText.setKeyListener(null); + } else { @@ -494,7 +548,7 @@ public class ArticleFragment extends Fragment startActivity(i); } }); - } else if (getItemViewType(position) == 6) + } else //if (getItemViewType(position) == 6) { Button button = (Button) view.findViewById(R.id.button); diff --git a/android/src/fishrungames/bashgid/CatalogFragment.java b/android/src/fishrungames/bashgid/CatalogFragment.java index 4ff853d..07504da 100644 --- a/android/src/fishrungames/bashgid/CatalogFragment.java +++ b/android/src/fishrungames/bashgid/CatalogFragment.java @@ -8,6 +8,7 @@ import fishrungames.bashgid.core.JournalManager.JournalSemiFullData; import android.annotation.SuppressLint; import android.content.Context; +import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; @@ -29,13 +30,12 @@ public class CatalogFragment extends Fragment ListAdapter listAdapter; ProgressBar progressBar; - ArrayList journalList; + ArrayList journalList = new ArrayList(); DatabaseGetJournalListTask databaseGetJournalListTask = null; public CatalogFragment() { - RestoreJournalList(); } public CatalogFragment(ArrayList journalList) @@ -58,6 +58,11 @@ public class CatalogFragment extends Fragment listAdapter = new ListAdapter(getActivity()); listView.setAdapter(listAdapter); + + if (journalList.size() == 0) + { + RestoreJournalList(); + } return rootView; } @@ -66,24 +71,44 @@ public class CatalogFragment extends Fragment public void onDestroyView() { - if (databaseGetJournalListTask != null) - { - databaseGetJournalListTask.cancel(false); - databaseGetJournalListTask = null; - } + CancelTaskIfRunning(); super.onDestroyView(); } + + public void OnDatabaseDonwloadProgress(Integer percent) + { + /* + databaseDownloadProgressBar.setProgress(percent); + + if (percent >= 100) + { + databaseDownloadProgressBar.setVisibility(View.GONE); + } + else + { + databaseDownloadProgressBar.setVisibility(View.VISIBLE); + } + */ + if (databaseGetJournalListTask == null || percent == 100) + { + RestoreJournalList(); + } + + //SetJournalList(r.journalList); + } public void RestoreJournalList() { - journalList = new ArrayList(); + CancelTaskIfRunning(); + + //journalList = new ArrayList(); databaseGetJournalListTask = new DatabaseGetJournalListTask(); - databaseGetJournalListTask.mHandler = MainActivity.getInstance().mHandler; + //databaseGetJournalListTask.mHandler = MainActivity.getInstance().mainHandler; - databaseGetJournalListTask.execute(); + databaseGetJournalListTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } public void SetJournalList(ArrayList journalList) @@ -96,6 +121,23 @@ public class CatalogFragment extends Fragment listAdapter.notifyDataSetChanged(); } + + public void CancelTaskIfRunning() + { + if (databaseGetJournalListTask != null) + { + databaseGetJournalListTask.cancel(false); + databaseGetJournalListTask = null; + } + } + + public void RefreshAdapter() + { + if (listAdapter != null) + { + listAdapter.notifyDataSetChanged(); + } + } public class ListAdapter extends BaseAdapter { diff --git a/android/src/fishrungames/bashgid/DynamicImageView.java b/android/src/fishrungames/bashgid/DynamicImageView.java index 433ac56..80747e5 100644 --- a/android/src/fishrungames/bashgid/DynamicImageView.java +++ b/android/src/fishrungames/bashgid/DynamicImageView.java @@ -10,7 +10,7 @@ public class DynamicImageView extends ImageView { public DynamicImageView(final Context context, final AttributeSet attrs) { super(context, attrs); } - + @Override protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) { final Drawable d = this.getDrawable(); diff --git a/android/src/fishrungames/bashgid/JournalFragment.java b/android/src/fishrungames/bashgid/JournalFragment.java index 362b3d2..5abe956 100644 --- a/android/src/fishrungames/bashgid/JournalFragment.java +++ b/android/src/fishrungames/bashgid/JournalFragment.java @@ -3,6 +3,7 @@ package fishrungames.bashgid; import android.annotation.SuppressLint; import android.content.Context; +import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; @@ -27,8 +28,8 @@ import fishrungames.networkutils.ImageManager; public class JournalFragment extends Fragment { - JournalSemiFullData journal; - String journalName; + JournalSemiFullData journal = null; + String journalName = ""; ListAdapter listAdapter; ProgressBar progressBar; @@ -38,8 +39,6 @@ public class JournalFragment extends Fragment public JournalFragment() { - journal = null; - journalName = ""; } public JournalFragment(String journalName) @@ -61,15 +60,10 @@ public class JournalFragment extends Fragment } - @Override + @SuppressLint("InflateParams") @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - - if (savedInstanceState != null) { - journalName = savedInstanceState.getString("journalName"); - RestoreJournal(); - } - - View rootView = inflater.inflate(R.layout.fragment_photo_album_page, container, false); + + View rootView = inflater.inflate(R.layout.fragment_journal_page, container, false); progressBar = (ProgressBar)rootView.findViewById(R.id.progressBar); @@ -78,10 +72,8 @@ public class JournalFragment extends Fragment ListView listView = (ListView) rootView.findViewById(R.id.listView); - View header = inflater.inflate(R.layout.journal_page_header, null); - headerTextView = (TextView)header.findViewById(R.id.headerTextView); listView.addHeaderView(header); @@ -114,6 +106,15 @@ public class JournalFragment extends Fragment } }); + if (savedInstanceState != null) { + journalName = savedInstanceState.getString("journalName"); + RestoreJournal(); + } + else if (journalName.length() > 0 && journal == null) + { + RestoreJournal(); + } + return rootView; } @@ -121,11 +122,7 @@ public class JournalFragment extends Fragment public void onDestroyView () { - if (databaseGetJournalTask != null) - { - databaseGetJournalTask.cancel(false); - databaseGetJournalTask = null; - } + CancelTaskIfRunning(); super.onDestroyView(); } @@ -133,23 +130,17 @@ public class JournalFragment extends Fragment void RestoreJournal() { - if (databaseGetJournalTask != null) - { - databaseGetJournalTask.cancel(false); - databaseGetJournalTask = null; - } + CancelTaskIfRunning(); - journal = JournalManager.CreateEmptyJournal(); + journal = JournalManager.CreateEmptyJournalSemiFull(); databaseGetJournalTask = new DatabaseGetJournalTask(); - databaseGetJournalTask.mHandler = MainActivity.getInstance().mHandler; - Bundle bundle = new Bundle(); bundle.putString("journalName", journalName); - databaseGetJournalTask.execute(bundle); + databaseGetJournalTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, bundle); } public void SetJournal(JournalSemiFullData journal) @@ -175,6 +166,23 @@ public class JournalFragment extends Fragment } + public void CancelTaskIfRunning() + { + if (databaseGetJournalTask != null) + { + databaseGetJournalTask.cancel(false); + databaseGetJournalTask = null; + } + } + + public void RefreshAdapter() + { + if (listAdapter != null) + { + listAdapter.notifyDataSetChanged(); + } + } + public class ListAdapter extends BaseAdapter { @@ -223,7 +231,9 @@ public class JournalFragment extends Fragment if (journal.articleArr.get(position).previewImageUrl != null) { - ImageManager.getInstance().ApplyImageToImageView(imageView, journal.articleArr.get(position).previewImageUrl); + //ImageManager.getInstance().ApplyImageToImageView(imageView, journal.articleArr.get(position).previewImageUrl); + ImageManager.getInstance().ApplySmallImageToImageView(imageView, journal.articleArr.get(position).previewImageUrl); + } else { diff --git a/android/src/fishrungames/bashgid/MainActivity.java b/android/src/fishrungames/bashgid/MainActivity.java index ed38404..f4e8854 100644 --- a/android/src/fishrungames/bashgid/MainActivity.java +++ b/android/src/fishrungames/bashgid/MainActivity.java @@ -2,6 +2,7 @@ package fishrungames.bashgid; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.Locale; @@ -35,8 +36,11 @@ import android.support.v4.app.Fragment; import android.content.Context; import android.content.SharedPreferences; import android.content.res.Configuration; +import android.graphics.drawable.BitmapDrawable; +import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; +import android.os.HandlerThread; import android.os.Looper; import android.os.Message; @@ -48,6 +52,7 @@ import android.view.View; import android.view.inputmethod.InputMethodManager; import android.support.v4.widget.DrawerLayout; +import android.text.format.DateUtils; public class MainActivity extends ActionBarActivity implements NavigationDrawerFragment.NavigationDrawerCallbacks { @@ -56,7 +61,6 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF public static final String TAG_BACK_TO_CATALOGFRAGMENT = "TAG_BACK_TO_CATALOGFRAGMENT"; public static final String TAG_BACK_TO_ALBUMLISTFRAGMENT = "TAG_BACK_TO_ALBUMLISTFRAGMENT"; - public static final String TAG_BACK_TO_JOURNALFRAGMENT = "TAG_BACK_TO_JOURNALFRAGMENT"; public static final String TAG_BACK_TO_ARTICLEFRAGMENT = "TAG_BACK_TO_ARTICLEFRAGMENT"; public static final String TAG_BACK_TO_ALBUMFRAGMENT = "TAG_BACK_TO_ALBUMFRAGMENT"; @@ -68,9 +72,6 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF public static final String TAG_BACK_TO_NEWSLISTFRAGMENT = "TAG_BACK_TO_NEWSLISTFRAGMENT"; - - - public static final String PREFS_MAIN = "PREFS_MAIN"; @@ -107,7 +108,6 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF public static final int DATABASE_GET_GEO_JOURNAL_LIST_STATE_UPDATE = 30; public static final int DATABASE_GET_GEO_JOURNAL_LIST_STATE_FINISHED = 31; - MainPageFragment mainPageFragment = null; NewsListFragment newsListFragment = null; @@ -144,9 +144,26 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF public TranslationDataSource translationDataSource = null; + + private NewsDownloadTask newsDownloadTask = null; + private DatabaseDownloadTask databaseDownloadTask = null; + private ImageDownloadTask imageDownloadTask = null; + + //private Object imgUrlSynchronizer = new Object(); + private ArrayList queuedImgUrlArr = new ArrayList(); + private ArrayList queuedImgHashArr = new ArrayList(); + public static final SimpleDateFormat iso8601Format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); + - public Handler mHandler; + //public Handler mHandler; + + //public Handler databaseHandler; + + public Handler mainHandler; + + //public HandlerThread downloadHandlerThread; + //public HandlerThread databaseHandlerThread; @Override protected void onCreate(Bundle savedInstanceState) @@ -154,7 +171,10 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF super.onCreate(savedInstanceState); ImageManager.getInstance().PredefinedImageId.put("R.drawable.no_picture", R.drawable.no_picture); - + ImageManager.getInstance().PredefinedImageIdBitmap.put("R.drawable.no_picture", ((BitmapDrawable)getResources().getDrawable(R.drawable.no_picture)).getBitmap()); + + ImageManager.PreferredEmptyPicture = "R.drawable.no_picture"; + setContentView(R.layout.activity_main); SetupDrawer(); @@ -182,26 +202,65 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF translationDataSource = new TranslationDataSource(this, dbHelper); - mHandler = new Handler(Looper.getMainLooper()) + + /* + + downloadHandlerThread = new HandlerThread("downloadHandlerThread"); + downloadHandlerThread.start(); + + + mHandler = new Handler(downloadHandlerThread.getLooper()) { @Override public void handleMessage(Message inputMessage) { + Message msg; switch (inputMessage.what) { + + case ImageDownloadTask.IMAGE_DOWNLOADER_STATE_UPDATE: case ImageDownloadTask.IMAGE_DOWNLOADER_STATE_FINISHED: - UpdateOnImageDownloaded(); - break; + msg = mainHandler.obtainMessage(inputMessage.what, inputMessage.obj); + msg.sendToTarget(); + + UpdateDatabaseRelatedThingsAndSendMessage(); + case NEWS_DOWNLOADER_STATE_UPDATE: + msg = mainHandler.obtainMessage(inputMessage.what, inputMessage.obj); + msg.sendToTarget(); + break; case NEWS_DOWNLOADER_STATE_FINISHED: - UpdateOnNewsDownloaded(); + + msg = mainHandler.obtainMessage(inputMessage.what, inputMessage.obj); + msg.sendToTarget(); + JournalSemiFullData journal = MainActivity.getInstance().journalDataSource.GetJournalSemiFullData("news", null, 3); + Message completeMessage = mainHandler.obtainMessage(MainActivity.DATABASE_GET_JOURNAL_STATE_FINISHED, journal); + completeMessage.sendToTarget(); break; + case DATABASE_DOWNLOADER_STATE_UPDATE: - case DATABASE_DOWNLOADER_STATE_FINISHED: - UpdateOnDatabaseDownloaded(); + + msg = mainHandler.obtainMessage(inputMessage.what, inputMessage.obj); + msg.sendToTarget(); break; + + case DATABASE_DOWNLOADER_STATE_FINISHED: + + msg = mainHandler.obtainMessage(inputMessage.what, inputMessage.obj); + msg.sendToTarget(); + + //UpdateDatabaseRelatedThingsAndSendMessage(); + + break; + + case ImageDownloadTask.IMAGE_DOWNLOADER_STATE_UPDATE: + case ImageDownloadTask.IMAGE_DOWNLOADER_STATE_FINISHED: + msg = mainHandler.obtainMessage(inputMessage.what, inputMessage.obj); + msg.sendToTarget(); + break; + case DATABASE_GET_ALBUM_STATE_UPDATE: case DATABASE_GET_ALBUM_STATE_FINISHED: UpdateOnAlbumLoaded((AlbumFullData) inputMessage.obj); @@ -252,8 +311,141 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF } }; + + + databaseHandlerThread = new HandlerThread("databaseHandlerThread"); + databaseHandlerThread.start(); + + databaseHandler = new Handler(databaseHandlerThread.getLooper()) + { + @Override + public void handleMessage(Message inputMessage) + { - DownloadDatabase(); + switch (inputMessage.what) + { + + case DATABASE_GET_ALBUM_STATE_UPDATE: + case DATABASE_GET_ALBUM_STATE_FINISHED: + case DATABASE_GET_ALBUM_LIST_STATE_UPDATE: + case DATABASE_GET_ALBUM_LIST_STATE_FINISHED: + case DATABASE_GET_ARTICLE_STATE_UPDATE: + case DATABASE_GET_ARTICLE_STATE_FINISHED: + case DATABASE_GET_JOURNAL_STATE_UPDATE: + case DATABASE_GET_JOURNAL_STATE_FINISHED: + case DATABASE_GET_JOURNAL_LIST_STATE_UPDATE: + case DATABASE_GET_JOURNAL_LIST_STATE_FINISHED: + case DATABASE_GET_CHANNEL_STATE_UPDATE: + case DATABASE_GET_CHANNEL_STATE_FINISHED: + case DATABASE_GET_VIDEO_STATE_UPDATE: + case DATABASE_GET_VIDEO_STATE_FINISHED: + case DATABASE_SEARCH_ARTICLE_STATE_UPDATE: + case DATABASE_SEARCH_ARTICLE_STATE_FINISHED: + case DATABASE_GET_GEO_JOURNAL_LIST_STATE_UPDATE: + case DATABASE_GET_GEO_JOURNAL_LIST_STATE_FINISHED: + + Message msg = mainHandler.obtainMessage(inputMessage.what, inputMessage.obj); + + msg.sendToTarget(); + + //DownloadRestImageArr(); + + break; + + default: + super.handleMessage(inputMessage); + } + } + + };*/ + + + mainHandler = new Handler(Looper.getMainLooper()) + { + @Override + public void handleMessage(Message inputMessage) + { + + switch (inputMessage.what) + { + + case ImageDownloadTask.IMAGE_DOWNLOADER_STATE_UPDATE: + UpdateOnImageDownloaded(); + break; + case ImageDownloadTask.IMAGE_DOWNLOADER_STATE_FINISHED: + UpdateOnImageDownloaded(); + imageDownloadTask = null; + DownloadRestImageArr(); + break; + case NEWS_DOWNLOADER_STATE_UPDATE: + UpdateOnNewsDownloaded((Integer)inputMessage.obj); + break; + case NEWS_DOWNLOADER_STATE_FINISHED: + UpdateOnNewsDownloaded((Integer)inputMessage.obj); + newsDownloadTask = null; + break; + case DATABASE_DOWNLOADER_STATE_UPDATE: + UpdateOnDatabaseDownloaded((Integer)inputMessage.obj); + break; + case DATABASE_DOWNLOADER_STATE_FINISHED: + UpdateOnDatabaseDownloaded((Integer)inputMessage.obj); + databaseDownloadTask = null; + break; + + case DATABASE_GET_JOURNAL_STATE_UPDATE: + case DATABASE_GET_JOURNAL_STATE_FINISHED: + final JournalSemiFullData journal = (JournalSemiFullData) inputMessage.obj; + UpdateOnJournalLoaded(journal); + break; + case DATABASE_GET_JOURNAL_LIST_STATE_UPDATE: + case DATABASE_GET_JOURNAL_LIST_STATE_FINISHED: + UpdateOnJournalListLoaded((ArrayList) inputMessage.obj); + break; + + case DATABASE_GET_ALBUM_STATE_UPDATE: + case DATABASE_GET_ALBUM_STATE_FINISHED: + UpdateOnAlbumLoaded((AlbumFullData) inputMessage.obj); + break; + case DATABASE_GET_ALBUM_LIST_STATE_UPDATE: + case DATABASE_GET_ALBUM_LIST_STATE_FINISHED: + + ArrayList albumShortList = (ArrayList) inputMessage.obj; + UpdateOnAlbumListLoaded(albumShortList); + break; + case DATABASE_GET_ARTICLE_STATE_UPDATE: + case DATABASE_GET_ARTICLE_STATE_FINISHED: + UpdateOnArticleLoaded((ArticleFullData) inputMessage.obj); + break; + + case DATABASE_GET_CHANNEL_STATE_UPDATE: + case DATABASE_GET_CHANNEL_STATE_FINISHED: + UpdateOnChannelLoaded((ChannelFullData) inputMessage.obj); + break; + + case DATABASE_GET_VIDEO_STATE_UPDATE: + case DATABASE_GET_VIDEO_STATE_FINISHED: + UpdateOnVideoLoaded((VideoRecordData) inputMessage.obj); + break; + + + + case DATABASE_SEARCH_ARTICLE_STATE_UPDATE: + case DATABASE_SEARCH_ARTICLE_STATE_FINISHED: + UpdateOnArticleSearchPerformed((ArrayList) inputMessage.obj); + break; + + case DATABASE_GET_GEO_JOURNAL_LIST_STATE_UPDATE: + case DATABASE_GET_GEO_JOURNAL_LIST_STATE_FINISHED: + UpdateOnGeoJournalListLoaded((ArrayList) inputMessage.obj); + break; + default: + super.handleMessage(inputMessage); + } + } + + }; + + //DownloadDatabase(); } @@ -262,7 +454,7 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF return instance; } - +/* public void DownloadImageArr(String[] imageUrlArr) { @@ -275,41 +467,105 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF task.mHandler = mHandler; task.execute(innerQuery); - } + }*/ public void DownloadImageArr(String[] imageUrlArr, String[] imageHashArr) { + + synchronized(queuedImgUrlArr) + { + + for (int i = 0; i < imageUrlArr.length; i++) + { + queuedImgUrlArr.add(imageUrlArr[i]); + + if (imageHashArr[i] == null) + { + queuedImgHashArr.add(""); + } + else + { + queuedImgHashArr.add(imageHashArr[i]); + } + } - Bundle innerQuery = new Bundle(); + + } + + if (imageDownloadTask == null) + { + DownloadRestImageArr(); + } + + + } + + public void DownloadRestImageArr() + { + synchronized(queuedImgUrlArr) + { + if (queuedImgUrlArr.size() > 0) + { + imageDownloadTask = new ImageDownloadTask(); - innerQuery.putStringArray("imageUrlArr", imageUrlArr); - innerQuery.putStringArray("imageHashArr", imageHashArr); + imageDownloadTask.mHandler = mainHandler; + + Bundle innerQuery = new Bundle(); + + String[] imageUrlArr = queuedImgUrlArr.toArray(new String[queuedImgUrlArr.size()]); + String[] imageHashArr = queuedImgHashArr.toArray(new String[queuedImgHashArr.size()]); + + innerQuery.putStringArray("imageUrlArr", imageUrlArr); + innerQuery.putStringArray("imageHashArr", imageHashArr); + + queuedImgUrlArr.clear(); + queuedImgHashArr.clear(); - ImageDownloadTask task = new ImageDownloadTask(); - - task.mHandler = mHandler; - - task.execute(innerQuery); + imageDownloadTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, innerQuery); + + } + } } + /* public void DownloadImage(String imageUrl) { this.DownloadImageArr(new String[] { imageUrl }); } - +*/ public void DownloadImage(String imageUrl, String imageHash) { this.DownloadImageArr(new String[] { imageUrl }, new String[] { imageHash }); } + + public void CancelDownloadDatabaseTask() + { + if (databaseDownloadTask != null) + { + databaseDownloadTask.cancel(false); + databaseDownloadTask = null; + } + + UpdateOnDatabaseDownloaded(0); + } public void DownloadDatabase() { - DatabaseDownloadTask task = new DatabaseDownloadTask(); + /* + if (databaseDownloadTask != null) + { + databaseDownloadTask.cancel(false); + databaseDownloadTask = null; + }*/ + if (databaseDownloadTask != null) + { + return; + } + + databaseDownloadTask = new DatabaseDownloadTask(); - task.mHandler = mHandler; - - task.execute(); + databaseDownloadTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } public void ClearAllFragmentLinks() @@ -334,7 +590,27 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0); } + + public void UpdateDatabaseRelatedThingsAndSendMessage() + { + if (mainPageFragment != null) + { + ArrayList journalList = MainActivity.getInstance().journalDataSource.GetJournalListMain(3); + + Message completeMessage = mainHandler.obtainMessage(MainActivity.DATABASE_GET_JOURNAL_LIST_STATE_FINISHED, journalList); + completeMessage.sendToTarget(); + } + + if (catalogFragment != null) + { + ArrayList journalList = MainActivity.getInstance().journalDataSource.GetAllJournalListExceptHidden(3); + + Message completeMessage = mainHandler.obtainMessage(MainActivity.DATABASE_GET_JOURNAL_LIST_STATE_FINISHED, journalList); + completeMessage.sendToTarget(); + } + } + /* public void StartDownloadImagesTask(ArrayList imageUrlArr, ArrayList imageHashArr) { ImageDownloadTask task = new ImageDownloadTask(); @@ -346,15 +622,36 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF query.putStringArray("imageUrlArr", (String[]) imageUrlArr.toArray()); task.execute(query); - } + }*/ + + public void CancelDownloadNewsTask() + { + if (newsDownloadTask != null) + { + newsDownloadTask.cancel(false); + newsDownloadTask = null; + } + + UpdateOnNewsDownloaded(0); + } + public void StartDownloadNewsTask() { - NewsDownloadTask task = new NewsDownloadTask(); + /* + if (newsDownloadTask != null) + { + newsDownloadTask.cancel(false); + newsDownloadTask = null; + }*/ + if (newsDownloadTask != null) + { + return; + } + + newsDownloadTask = new NewsDownloadTask(); - task.mHandler = mHandler; - - task.execute(); + newsDownloadTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } public void UpdateOnImageDownloaded() @@ -363,29 +660,98 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF { mainPageFragment.RefreshAdapter(); } - - if (newsListFragment != null) + + if (albumListFragment != null) { - newsListFragment.RefreshAdapter(); + albumListFragment.RefreshAdapter(); + } + + + if (photoAlbumFragment != null) + { + photoAlbumFragment.RefreshAdapter(); + } + + if (photoFragment != null) + { + photoFragment.RefreshAdapter(); + } + + if (articleFragment != null) + { + articleFragment.RefreshAdapter(); + } + + if (journalFragment != null) + { + journalFragment.RefreshAdapter(); + } + + if (catalogFragment != null) + { + catalogFragment.RefreshAdapter(); + } + + if (searchFragment != null) + { + searchFragment.RefreshAdapter(); + } + + if (videoListFragment != null) + { + videoListFragment.RefreshAdapter(); + } + + if (videoRecordFragment != null) + { + videoRecordFragment.RefreshView(); } } - public void UpdateOnNewsDownloaded() + public void UpdateOnNewsDownloaded(Integer percent) { + SetNewsDownloadProgress(percent); + if (mainPageFragment != null) { - mainPageFragment.RefreshJournal(); + mainPageFragment.OnNewsDownloadProgress(percent); } - + if (newsListFragment != null) { - newsListFragment.RefreshJournal(); + newsListFragment.OnNewsDownloadProgress(percent); } } - public void UpdateOnDatabaseDownloaded() + public void UpdateOnDatabaseDownloaded(Integer percent) { - + SetDatabaseDownloadProgress(percent); + + if (mainPageFragment != null) + { + mainPageFragment.OnDatabaseDonwloadProgress(percent); + } + + if (catalogFragment != null) + { + catalogFragment.OnDatabaseDonwloadProgress(percent); + } + + if (albumListFragment != null) + { + albumListFragment.OnDatabaseDonwloadProgress(percent); + } + + if (photoAlbumFragment != null) + { + photoAlbumFragment.OnDatabaseDonwloadProgress(percent); + } + + if (videoListFragment != null) + { + videoListFragment.OnDatabaseDonwloadProgress(percent); + } + } public void UpdateOnAlbumLoaded(AlbumFullData album) @@ -502,6 +868,7 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF { if (searchFragment != null) { + OpenSearchScreen(); return; } @@ -776,13 +1143,14 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF mNavigationDrawerFragment.EnableDrawer(); } + /* public void UpdateMainScreenIfPossible(Bundle result) { if (mainPageFragment != null) { mainPageFragment.RefreshJournal(); } - } + }*/ @Override public void onAttachFragment(Fragment fragment) @@ -903,6 +1271,13 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF return; } + if (getSupportFragmentManager().findFragmentByTag(TAG_BACK_TO_ALBUMLISTFRAGMENT) != null) + { + OpenPhotoAlbumListScreen(); + return; + } + + if (getSupportFragmentManager().findFragmentByTag(TAG_BACK_TO_CHANNELFRAGMENT) != null) { OpenVideoListScreen(GetLastChannelName()); @@ -988,8 +1363,8 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF SharedPreferences settings = MainActivity.getInstance().getSharedPreferences(PREFS_MAIN, 0); return settings.getString("lastJournalName", ""); } + - public void SetLastJournalTitle(String lastJournalTitle) { SharedPreferences settings = MainActivity.getInstance().getSharedPreferences(PREFS_MAIN, 0); @@ -1034,6 +1409,43 @@ public class MainActivity extends ActionBarActivity implements NavigationDrawerF SharedPreferences settings = MainActivity.getInstance().getSharedPreferences(PREFS_MAIN, 0); return settings.getString("lastMapFilterName", ""); } + + public void SetNewsDownloadProgress(int newsDownloadProgress) + { + SharedPreferences settings = MainActivity.getInstance().getSharedPreferences(PREFS_MAIN, 0); + + SharedPreferences.Editor editor = settings.edit(); + editor.putInt("newsDownloadProgress", newsDownloadProgress); + editor.commit(); + } + + public int GetNewsDownloadProgress() + { + SharedPreferences settings = MainActivity.getInstance().getSharedPreferences(PREFS_MAIN, 0); + return settings.getInt("newsDownloadProgress", 0); + } + + public void SetDatabaseDownloadProgress(int databaseDownloadProgress) + { + SharedPreferences settings = MainActivity.getInstance().getSharedPreferences(PREFS_MAIN, 0); + + SharedPreferences.Editor editor = settings.edit(); + editor.putInt("databaseDownloadProgress", databaseDownloadProgress); + editor.commit(); + } + + public int GetDatabaseDownloadProgress() + { + SharedPreferences settings = MainActivity.getInstance().getSharedPreferences(PREFS_MAIN, 0); + return settings.getInt("databaseDownloadProgress", 0); + } + + public String DateFormattedForLocale(Date date) + { + return DateUtils.formatDateTime(this, date.getTime(), DateUtils.FORMAT_ABBREV_ALL | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_YEAR); + + } + @Override protected void onResume() diff --git a/android/src/fishrungames/bashgid/MainPageFragment.java b/android/src/fishrungames/bashgid/MainPageFragment.java index d828eed..0b791ff 100644 --- a/android/src/fishrungames/bashgid/MainPageFragment.java +++ b/android/src/fishrungames/bashgid/MainPageFragment.java @@ -2,20 +2,25 @@ package fishrungames.bashgid; import java.util.ArrayList; +import fishrungames.bashgid.core.DatabaseDownloadTask; import fishrungames.bashgid.core.DatabaseGetJournalListTask; import fishrungames.bashgid.core.DatabaseGetJournalTask; import fishrungames.bashgid.core.JournalManager; +import fishrungames.bashgid.core.NewsDownloadTask; import fishrungames.bashgid.core.JournalManager.JournalSemiFullData; import android.annotation.SuppressLint; import android.content.Context; +import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; +import android.view.View.OnKeyListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; @@ -34,10 +39,11 @@ public class MainPageFragment extends Fragment ListView listView; ListAdapter listAdapter; View header; - ProgressBar progressBar; + ProgressBar newsDownloadProgressBar; + ProgressBar databaseDownloadProgressBar; EditText searchEditText; - JournalSemiFullData newsJournal; + JournalSemiFullData newsJournal = JournalManager.CreateEmptyJournalSemiFull(); DatabaseGetJournalTask databaseGetJournalTask = null; DatabaseGetJournalListTask databaseGetJournalListTask = null; @@ -51,10 +57,6 @@ public class MainPageFragment extends Fragment public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - journalList.clear(); - - RestoreJournalList(); - View rootView = inflater.inflate(R.layout.fragment_main_page, container, false); listView = (ListView) rootView.findViewById(R.id.listView); @@ -63,16 +65,21 @@ public class MainPageFragment extends Fragment header = inflater.inflate(R.layout.main_page_header, null); - RestoreJournal(); - MainActivity.getInstance().StartDownloadNewsTask(); - listView.addHeaderView(header); listView.setAdapter(listAdapter); - progressBar = (ProgressBar) header.findViewById(R.id.progressBar); + newsDownloadProgressBar = (ProgressBar) header.findViewById(R.id.newsDownloadProgressBar); - progressBar.setVisibility(View.VISIBLE); + newsDownloadProgressBar.setVisibility(View.VISIBLE); + + newsDownloadProgressBar.setProgress(MainActivity.getInstance().GetNewsDownloadProgress()); + + databaseDownloadProgressBar = (ProgressBar) header.findViewById(R.id.databaseDownloadProgressBar); + + databaseDownloadProgressBar.setVisibility(View.VISIBLE); + + databaseDownloadProgressBar.setProgress(MainActivity.getInstance().GetDatabaseDownloadProgress()); Button moreNewsButton = (Button) header.findViewById(R.id.moreNewsButton); @@ -100,12 +107,67 @@ public class MainPageFragment extends Fragment MainActivity.getInstance().OpenSearchScreen(query); } }); + + searchEditText.setOnKeyListener(new OnKeyListener() { + + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) + { + if ((event.getAction() == KeyEvent.ACTION_DOWN) && + (keyCode == KeyEvent.KEYCODE_ENTER)) { + String query = searchEditText.getText().toString(); + MainActivity.getInstance().OpenSearchScreen(query); + return true; + } + return false; + } + }); + + ImageButton refreshCatalogButton = (ImageButton) header.findViewById(R.id.refreshCatalogButton); + refreshCatalogButton.setOnClickListener(new OnClickListener() + { + + @Override + public void onClick(View v) + { + MainActivity.getInstance().CancelDownloadDatabaseTask(); + MainActivity.getInstance().DownloadDatabase(); + } + }); + + ImageButton refreshNewsButton = (ImageButton) header.findViewById(R.id.refreshNewsButton); + + refreshNewsButton.setOnClickListener(new OnClickListener() + { + + @Override + public void onClick(View v) + { + MainActivity.getInstance().CancelDownloadNewsTask(); + MainActivity.getInstance().StartDownloadNewsTask(); + } + }); + + + RestoreJournalListFromDatabase(); + RestoreNewsFromDatabase(); + MainActivity.getInstance().StartDownloadNewsTask(); + MainActivity.getInstance().DownloadDatabase(); + return rootView; } @Override public void onDestroyView() + { + CancelRestoreNewsTaskIfRunning(); + CancelRestoreJournalListTasksIfRunning(); + + super.onDestroyView(); + } + + public void CancelRestoreNewsTaskIfRunning() { if (databaseGetJournalTask != null) { @@ -113,32 +175,24 @@ public class MainPageFragment extends Fragment databaseGetJournalTask = null; } + } + + public void CancelRestoreJournalListTasksIfRunning() + { if (databaseGetJournalListTask != null) { databaseGetJournalListTask.cancel(false); databaseGetJournalListTask = null; } - - super.onDestroyView(); } - - void RestoreJournal() + + public void RestoreNewsFromDatabase() { - newsJournal = JournalManager.CreateEmptyJournal(); - - RefreshJournal(); - } - - void RefreshJournal() - { - if (databaseGetJournalTask != null) - { - databaseGetJournalTask.cancel(false); - } + CancelRestoreNewsTaskIfRunning(); databaseGetJournalTask = new DatabaseGetJournalTask(); - databaseGetJournalTask.mHandler = MainActivity.getInstance().mHandler; + //databaseGetJournalTask.mHandler = MainActivity.getInstance().databaseHandler; Bundle bundle = new Bundle(); @@ -146,101 +200,140 @@ public class MainPageFragment extends Fragment bundle.putInt("count", 3); - databaseGetJournalTask.execute(bundle); + databaseGetJournalTask .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, bundle); + } + + public void OnNewsDownloadProgress(Integer percent) + { + + newsDownloadProgressBar.setProgress(percent); + + if (percent >= 100) + { + newsDownloadProgressBar.setVisibility(View.GONE); + } + else + { + newsDownloadProgressBar.setVisibility(View.VISIBLE); + } + + if (databaseGetJournalTask == null || percent == 100) + { + RestoreNewsFromDatabase(); + } + + //RestoreNewsFromDatabase(); + + //SetJournal(r.journal); + + } + + public void OnDatabaseDonwloadProgress(Integer percent) + { + databaseDownloadProgressBar.setProgress(percent); + + if (percent >= 100) + { + databaseDownloadProgressBar.setVisibility(View.GONE); + } + else + { + databaseDownloadProgressBar.setVisibility(View.VISIBLE); + } + + if (databaseGetJournalListTask == null || percent == 100) + { + RestoreJournalListFromDatabase(); + } + + //SetJournalList(r.journalList); + } + + + void RestoreJournalListFromDatabase() + { + + CancelRestoreJournalListTasksIfRunning(); + + + databaseGetJournalListTask = new DatabaseGetJournalListTask(); + + //databaseGetJournalListTask.mHandler = MainActivity.getInstance().databaseHandler; + + databaseGetJournalListTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, "featured"); + } public void SetJournal(JournalSemiFullData journal) { - databaseGetJournalTask = null; + CancelRestoreNewsTaskIfRunning(); - // Xperimental - if (journal != null) + newsJournal = journal; + + Button news1Button = (Button) header.findViewById(R.id.news1Button); + Button news2Button = (Button) header.findViewById(R.id.news2Button); + Button news3Button = (Button) header.findViewById(R.id.news3Button); + + if (newsJournal.articleArr.size() > 0) { - progressBar.setVisibility(View.GONE); - newsJournal = journal; + news1Button.setText(newsJournal.articleArr.get(0).title); - Button news1Button = (Button) header.findViewById(R.id.news1Button); - Button news2Button = (Button) header.findViewById(R.id.news2Button); - Button news3Button = (Button) header.findViewById(R.id.news3Button); + news1Button.setOnClickListener(new NewsButtonOnClickListener(newsJournal.articleArr.get(0).name)); + } else + { - if (newsJournal.articleArr.size() > 0) - { - - news1Button.setText(newsJournal.articleArr.get(0).title); - - news1Button.setOnClickListener(new NewsButtonOnClickListener(newsJournal.articleArr.get(0).name)); - } else - { - - news1Button.setText(R.string.news_record_not_available); - - news1Button.setOnClickListener(null); - } - - if (newsJournal.articleArr.size() > 1) - { - - news2Button.setText(newsJournal.articleArr.get(1).title); - - news2Button.setOnClickListener(new NewsButtonOnClickListener(newsJournal.articleArr.get(1).name)); - } else - { - - news2Button.setText(R.string.news_record_not_available); - news2Button.setOnClickListener(null); - } - - if (newsJournal.articleArr.size() > 2) - { - - news3Button.setText(newsJournal.articleArr.get(2).title); - news3Button.setOnClickListener(new NewsButtonOnClickListener(newsJournal.articleArr.get(2).name)); - } else - { - - news3Button.setText(R.string.news_record_not_available); - news3Button.setOnClickListener(null); - } - - listAdapter.notifyDataSetChanged(); + news1Button.setText(R.string.news_record_not_available); + news1Button.setOnClickListener(null); } - } + if (newsJournal.articleArr.size() > 1) + { + + news2Button.setText(newsJournal.articleArr.get(1).title); + + news2Button.setOnClickListener(new NewsButtonOnClickListener(newsJournal.articleArr.get(1).name)); + } else + { + + news2Button.setText(R.string.news_record_not_available); + news2Button.setOnClickListener(null); + } + + if (newsJournal.articleArr.size() > 2) + { + + news3Button.setText(newsJournal.articleArr.get(2).title); + news3Button.setOnClickListener(new NewsButtonOnClickListener(newsJournal.articleArr.get(2).name)); + } else + { + + news3Button.setText(R.string.news_record_not_available); + news3Button.setOnClickListener(null); + } - public void RefreshAdapter() - { listAdapter.notifyDataSetChanged(); - } - public void RestoreJournalList() - { - journalList = new ArrayList(); - - if (databaseGetJournalListTask != null) - { - databaseGetJournalListTask.cancel(false); - } - - databaseGetJournalListTask = new DatabaseGetJournalListTask(); - - databaseGetJournalListTask.mHandler = MainActivity.getInstance().mHandler; - - databaseGetJournalListTask.execute("featured"); } public void SetJournalList(ArrayList journalList) { databaseGetJournalListTask = null; - progressBar.setVisibility(View.GONE); - this.journalList = journalList; listAdapter.notifyDataSetChanged(); } + public void RefreshAdapter() + { + if (listAdapter != null) + { + listAdapter.notifyDataSetChanged(); + } + } + public class ListAdapter extends BaseAdapter { private Context mContext; @@ -356,7 +449,7 @@ public class MainPageFragment extends Fragment databaseGetJournalTask.cancel(false); databaseGetJournalTask = null; } - + MainActivity.getInstance().OpenArticleScreen(articleName, MainActivity.TAG_BACK_TO_MAINFRAGMENT); } diff --git a/android/src/fishrungames/bashgid/MainPageHListViewAdapters.java b/android/src/fishrungames/bashgid/MainPageHListViewAdapters.java index 140d5ab..f0887af 100644 --- a/android/src/fishrungames/bashgid/MainPageHListViewAdapters.java +++ b/android/src/fishrungames/bashgid/MainPageHListViewAdapters.java @@ -64,13 +64,17 @@ public class MainPageHListViewAdapters } ImageView imageView = (ImageView) view.findViewById(R.id.imageView); - - ImageManager.getInstance().ApplyImageToImageView(imageView, albumFullData.photoRecordArr.get(position).imageUrl); + + //ImageManager.getInstance().ApplyImageToImageView(imageView, albumFullData.photoRecordArr.get(position).imageUrl); + ImageManager.getInstance().ApplySmallImageToImageView(imageView, albumFullData.photoRecordArr.get(position).imageUrl); return view; } } + + + public static class JournalElementAdapter extends BaseAdapter { @@ -125,11 +129,12 @@ public class MainPageHListViewAdapters textView.setText(journal.articleArr.get(position).title); - subTextView.setText(journal.articleArr.get(position).dateTime.toString()); + subTextView.setText(MainActivity.getInstance().DateFormattedForLocale(journal.articleArr.get(position).dateTime)); String imageUrl = journal.articleArr.get(position).previewImageUrl; - ImageManager.getInstance().ApplyImageToImageView(imageButton, imageUrl); + //ImageManager.getInstance().ApplyImageToImageView(imageButton, imageUrl); + ImageManager.getInstance().ApplySmallImageToImageView(imageButton, imageUrl); imageButton.setOnClickListener(new OnClickListener() { diff --git a/android/src/fishrungames/bashgid/NewsListFragment.java b/android/src/fishrungames/bashgid/NewsListFragment.java index 2c92d56..d4eb010 100644 --- a/android/src/fishrungames/bashgid/NewsListFragment.java +++ b/android/src/fishrungames/bashgid/NewsListFragment.java @@ -9,20 +9,24 @@ import fishrungames.bashgid.core.ArticleManager; import fishrungames.bashgid.core.ArticleManager.ArticleShortData; import fishrungames.bashgid.core.DatabaseGetJournalTask; import fishrungames.bashgid.core.JournalManager; +import fishrungames.bashgid.core.NewsDownloadTask; import fishrungames.bashgid.core.JournalManager.JournalSemiFullData; import android.annotation.SuppressLint; import android.content.Context; +import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.View.OnClickListener; import android.widget.BaseAdapter; import android.widget.AdapterView; +import android.widget.ImageButton; import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; @@ -35,9 +39,9 @@ public class NewsListFragment extends Fragment ListAdapter listAdapter; - JournalSemiFullData journal; + JournalSemiFullData journal = JournalManager.CreateEmptyJournalSemiFull(); - ProgressBar progressBar; + ProgressBar newsDownloadProgressBar; TextView footerTextView; @@ -48,8 +52,6 @@ public class NewsListFragment extends Fragment public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - RestoreJournal(); - View rootView = inflater.inflate(R.layout.fragment_news_page, container, false); listView = (ListView) rootView.findViewById(R.id.listView); @@ -58,15 +60,19 @@ public class NewsListFragment extends Fragment listView.addHeaderView(header); - progressBar = (ProgressBar) header.findViewById(R.id.progressBar); + newsDownloadProgressBar = (ProgressBar) header.findViewById(R.id.newsDownloadProgressBar); - progressBar.setVisibility(View.VISIBLE); + newsDownloadProgressBar.setVisibility(View.VISIBLE); + + newsDownloadProgressBar.setProgress(MainActivity.getInstance().GetNewsDownloadProgress()); View footer = inflater.inflate(R.layout.news_page_list_footer, null); listView.addFooterView(footer); footerTextView = (TextView) footer.findViewById(R.id.footerTextView); + + footerTextView.setVisibility(View.GONE); listAdapter = new ListAdapter(getActivity()); @@ -92,6 +98,22 @@ public class NewsListFragment extends Fragment } }); + + ImageButton refreshNewsButton = (ImageButton) header.findViewById(R.id.refreshNewsButton); + + refreshNewsButton.setOnClickListener(new OnClickListener() + { + + @Override + public void onClick(View v) + { + MainActivity.getInstance().CancelDownloadNewsTask(); + MainActivity.getInstance().StartDownloadNewsTask(); + } + }); + + RestoreNewsFromDatabase(); + MainActivity.getInstance().StartDownloadNewsTask(); return rootView; } @@ -99,12 +121,7 @@ public class NewsListFragment extends Fragment @Override public void onDestroyView() { - - if (databaseGetJournalTask != null) - { - databaseGetJournalTask.cancel(false); - databaseGetJournalTask = null; - } + CancelTaskIfRunning(); super.onDestroyView(); } @@ -113,19 +130,35 @@ public class NewsListFragment extends Fragment { listAdapter.notifyDataSetChanged(); } - - void RestoreJournal() + + public void OnNewsDownloadProgress(Integer percent) { - journal = JournalManager.CreateEmptyJournal(); - - RefreshJournal(); + + newsDownloadProgressBar.setProgress(percent); + + if (percent >= 100) + { + newsDownloadProgressBar.setVisibility(View.GONE); + } + else + { + newsDownloadProgressBar.setVisibility(View.VISIBLE); + } + + if (databaseGetJournalTask == null || percent == 100) + { + RestoreNewsFromDatabase(); + } + } - void RefreshJournal() + public void RestoreNewsFromDatabase() { + CancelTaskIfRunning(); + databaseGetJournalTask = new DatabaseGetJournalTask(); - databaseGetJournalTask.mHandler = MainActivity.getInstance().mHandler; + //databaseGetJournalTask.mHandler = MainActivity.getInstance().databaseHandler; Bundle bundle = new Bundle(); @@ -133,19 +166,16 @@ public class NewsListFragment extends Fragment bundle.putInt("count", 20); - databaseGetJournalTask.execute(bundle); + databaseGetJournalTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, bundle); } - + void LoadMoreNews() - { - if (databaseGetJournalTask != null) - { - databaseGetJournalTask.cancel(false); - } + { + CancelTaskIfRunning(); databaseGetJournalTask = new DatabaseGetJournalTask(); - databaseGetJournalTask.mHandler = MainActivity.getInstance().mHandler; + //databaseGetJournalTask.mHandler = MainActivity.getInstance().databaseHandler; Bundle bundle = new Bundle(); @@ -155,12 +185,13 @@ public class NewsListFragment extends Fragment bundle.putInt("count", 10); - databaseGetJournalTask.execute(bundle); + databaseGetJournalTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, bundle); } public void SetJournal(JournalSemiFullData journal) { - progressBar.setVisibility(View.GONE); + databaseGetJournalTask = null; + this.journal.articleArr.addAll(journal.articleArr); @@ -171,11 +202,22 @@ public class NewsListFragment extends Fragment Collections.sort(this.journal.articleArr, new ArticleManager.ArticleShortDataTimeSortComparator()); + footerTextView.setVisibility(View.VISIBLE); + footerTextView.setText(R.string.news_load_more); listAdapter.notifyDataSetChanged(); } + + public void CancelTaskIfRunning() + { + if (databaseGetJournalTask != null) + { + databaseGetJournalTask.cancel(false); + databaseGetJournalTask = null; + } + } public class ListAdapter extends BaseAdapter { diff --git a/android/src/fishrungames/bashgid/OsmMapHolderFragment.java b/android/src/fishrungames/bashgid/OsmMapHolderFragment.java index 352139f..f822cfa 100644 --- a/android/src/fishrungames/bashgid/OsmMapHolderFragment.java +++ b/android/src/fishrungames/bashgid/OsmMapHolderFragment.java @@ -2,6 +2,7 @@ package fishrungames.bashgid; import java.util.ArrayList; +import android.annotation.SuppressLint; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; @@ -9,6 +10,7 @@ import android.content.Intent; import android.graphics.Point; import android.graphics.drawable.Drawable; import android.net.Uri; +import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; @@ -102,7 +104,7 @@ public class OsmMapHolderFragment extends Fragment DetailsOverlayItem item = new DetailsOverlayItem(title, imageUrl, geoPoint, address, phone); item.setMarker(MainActivity.getInstance().getResources().getDrawable(R.drawable.marker_default)); - item.setMarkerHotspot(HotspotPlace.CENTER); + item.setMarkerHotspot(HotspotPlace.BOTTOM_CENTER); mOverlayItems.add(item); mArticles.add(articleName); @@ -122,6 +124,7 @@ public class OsmMapHolderFragment extends Fragment return false; } + @SuppressLint("InflateParams") @Override protected boolean onTap(final int index) { @@ -154,6 +157,7 @@ public class OsmMapHolderFragment extends Fragment textView.setOnLongClickListener(new OnLongClickListener() { + @SuppressWarnings("deprecation") @Override public boolean onLongClick(View v) { @@ -270,7 +274,7 @@ public class OsmMapHolderFragment extends Fragment OverlayItem item = new OverlayItem("", "", geoPoint); item.setMarker(MainActivity.getInstance().getResources().getDrawable(R.drawable.marker_default)); - item.setMarkerHotspot(HotspotPlace.CENTER); + item.setMarkerHotspot(HotspotPlace.BOTTOM_CENTER); mOverlayItems.add(item); @@ -292,43 +296,34 @@ public class OsmMapHolderFragment extends Fragment CustomItemizedOverlay itemizedOverlay; - String filter; + String filter = ""; - ArrayList availableGeoJournals; - ArrayList availableGeoJournalNames; + ArrayList availableGeoJournals = new ArrayList(); + ArrayList availableGeoJournalNames = new ArrayList(); ArrayAdapter spinnerAdapter; - JournalSemiFullData journal; - ArticleFullData article; + JournalSemiFullData journal = null; + ArticleFullData article = null; - int filterType; + int filterType = 0; Spinner spinner; MapView mapView; TextView titleTextView; + DatabaseGetArticleTask databaseGetArticleTask = null; + DatabaseGetJournalTask databaseGetJournalTask = null; + DatabaseGetGeoJournalListTask databaseGetGeoJournalListTask = null; + public OsmMapHolderFragment() { - journal = null; - article = null; - filter = ""; - filterType = 0; - availableGeoJournals = new ArrayList(); - availableGeoJournalNames = new ArrayList(); - } public OsmMapHolderFragment(int filterType, String filter) { - this.journal = null; - this.article = null; this.filter = filter; this.filterType = filterType; - - availableGeoJournals = new ArrayList(); - availableGeoJournalNames = new ArrayList(); - } public OsmMapHolderFragment(ArticleFullData article) @@ -338,10 +333,6 @@ public class OsmMapHolderFragment extends Fragment this.article = article; this.journal = null; - - availableGeoJournals = new ArrayList(); - availableGeoJournalNames = new ArrayList(); - } @Override @@ -356,12 +347,6 @@ public class OsmMapHolderFragment extends Fragment public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - if (savedInstanceState != null) - { - filter = savedInstanceState.getString("filter"); - filterType = savedInstanceState.getInt("filterType"); - } - View rootView = inflater.inflate(R.layout.fragment_osm_map_page, container, false); titleTextView = (TextView) rootView.findViewById(R.id.titleTextView); @@ -381,8 +366,6 @@ public class OsmMapHolderFragment extends Fragment mapController.setZoom(10); mapController.animateTo(center); - RefreshView(); - spinnerAdapter = new ArrayAdapter(getActivity(), android.R.layout.simple_spinner_item, availableGeoJournalNames); spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); @@ -406,7 +389,7 @@ public class OsmMapHolderFragment extends Fragment filterType = 0; filter = availableGeoJournals.get(position).name; titleTextView.setText(R.string.map_is_loading); - RestoreJournalOrArticle(); + RestoreJournal(); } } @@ -419,13 +402,28 @@ public class OsmMapHolderFragment extends Fragment }); - if ((filterType == 0 && journal == null) || (filterType == 1 && article == null)) + RefreshView(); + + if (savedInstanceState != null) + { + filter = savedInstanceState.getString("filter"); + filterType = savedInstanceState.getInt("filterType"); + } + + if (filterType == 0 && journal == null) { titleTextView.setText(R.string.map_is_loading); - RestoreJournalOrArticle(); + RestoreJournal(); - } else + } else if (filterType == 1 && article == null) + { + titleTextView.setText(R.string.map_is_loading); + + RestoreArticle(); + + } + else { titleTextView.setText(R.string.map_is_loaded); RestoreGeoJournals(); @@ -434,29 +432,29 @@ public class OsmMapHolderFragment extends Fragment return rootView; } - void RestoreJournalOrArticle() + @Override + public void onDestroyView() { - if (filterType == 0) - { - RestoreJournal(); - } else - { - RestoreArticle(); - } + CancelRestoreArticleTaskIfRunning(); + CancelRestoreJournalTaskIfRunning(); + CancelRestoreGeoJournalListTasksIfRunning(); + + super.onDestroyView(); } void RestoreJournal() { + CancelRestoreJournalTaskIfRunning(); - DatabaseGetJournalTask task = new DatabaseGetJournalTask(); + databaseGetJournalTask = new DatabaseGetJournalTask(); - task.mHandler = MainActivity.getInstance().mHandler; + //databaseGetJournalTask.mHandler = MainActivity.getInstance().mainHandler; Bundle bundle = new Bundle(); bundle.putString("journalName", filter); - task.execute(bundle); + databaseGetJournalTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, bundle); availableGeoJournals.clear(); availableGeoJournalNames.clear(); @@ -466,12 +464,13 @@ public class OsmMapHolderFragment extends Fragment void RestoreArticle() { + CancelRestoreArticleTaskIfRunning(); - DatabaseGetArticleTask task = new DatabaseGetArticleTask(); + databaseGetArticleTask = new DatabaseGetArticleTask(); - task.mHandler = MainActivity.getInstance().mHandler; + databaseGetArticleTask.mHandler = MainActivity.getInstance().mainHandler; - task.execute(filter); + databaseGetArticleTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, filter); availableGeoJournals.clear(); availableGeoJournalNames.clear(); @@ -481,17 +480,49 @@ public class OsmMapHolderFragment extends Fragment void RestoreGeoJournals() { + CancelRestoreGeoJournalListTasksIfRunning(); - DatabaseGetGeoJournalListTask task = new DatabaseGetGeoJournalListTask(); + databaseGetGeoJournalListTask = new DatabaseGetGeoJournalListTask(); - task.mHandler = MainActivity.getInstance().mHandler; + databaseGetGeoJournalListTask.mHandler = MainActivity.getInstance().mainHandler; - task.execute(); + databaseGetGeoJournalListTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } + public void CancelRestoreArticleTaskIfRunning() + { + if (databaseGetArticleTask != null) + { + databaseGetArticleTask.cancel(false); + databaseGetArticleTask = null; + } + + } + + public void CancelRestoreJournalTaskIfRunning() + { + if (databaseGetJournalTask != null) + { + databaseGetJournalTask.cancel(false); + databaseGetJournalTask = null; + } + + } + + public void CancelRestoreGeoJournalListTasksIfRunning() + { + if (databaseGetGeoJournalListTask != null) + { + databaseGetGeoJournalListTask.cancel(false); + databaseGetGeoJournalListTask = null; + } + } + public void SetJournal(JournalSemiFullData journal) { + databaseGetJournalTask = null; + filterType = 0; titleTextView.setText(R.string.map_is_loaded); @@ -506,6 +537,8 @@ public class OsmMapHolderFragment extends Fragment public void SetArticle(ArticleFullData article) { + databaseGetArticleTask = null; + filterType = 1; titleTextView.setText(R.string.map_is_loaded); @@ -521,6 +554,8 @@ public class OsmMapHolderFragment extends Fragment public void SetGeoJournals(ArrayList availableGeoJournals) { + databaseGetGeoJournalListTask = null; + this.availableGeoJournals = availableGeoJournals; availableGeoJournalNames.clear(); diff --git a/android/src/fishrungames/bashgid/PhotoAlbumFragment.java b/android/src/fishrungames/bashgid/PhotoAlbumFragment.java index 65ae3d1..9958820 100644 --- a/android/src/fishrungames/bashgid/PhotoAlbumFragment.java +++ b/android/src/fishrungames/bashgid/PhotoAlbumFragment.java @@ -3,6 +3,7 @@ package fishrungames.bashgid; import android.annotation.SuppressLint; import android.content.Context; +import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; @@ -25,17 +26,17 @@ import fishrungames.networkutils.ImageManager; public class PhotoAlbumFragment extends Fragment { - AlbumFullData album; - String albumName; + AlbumFullData album = AlbumManager.CreateEmptyAlbum(); + String albumName = ""; ListAdapter listAdapter; ProgressBar progressBar; + DatabaseGetAlbumTask databaseGetAlbumTask = null; + public PhotoAlbumFragment() { - album = null; - albumName = ""; } public PhotoAlbumFragment(AlbumFullData album) @@ -60,11 +61,7 @@ public class PhotoAlbumFragment extends Fragment @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - if (savedInstanceState != null) { - albumName = savedInstanceState.getString("albumName"); - RestoreAlbum(); - } - + View rootView = inflater.inflate(R.layout.fragment_photo_album_page, container, false); progressBar = (ProgressBar)rootView.findViewById(R.id.progressBar); @@ -89,22 +86,63 @@ public class PhotoAlbumFragment extends Fragment }); + if (savedInstanceState != null) + { + albumName = savedInstanceState.getString("albumName"); + } + + if (albumName.length() > 0 && album.photoRecordArr.size() == 0) + { + RestoreAlbum(); + } + return rootView; } + @Override + public void onDestroyView() + { + CancelTaskIfRunning(); + + super.onDestroyView(); + } + + public void OnDatabaseDonwloadProgress(Integer percent) + { + /* + databaseDownloadProgressBar.setProgress(percent); + + if (percent >= 100) + { + databaseDownloadProgressBar.setVisibility(View.GONE); + } + else + { + databaseDownloadProgressBar.setVisibility(View.VISIBLE); + } + */ + if (databaseGetAlbumTask == null || percent == 100) + { + RestoreAlbum(); + } + + //SetJournalList(r.journalList); + } + + void RestoreAlbum() { - album = AlbumManager.CreateEmptyAlbum(); - - DatabaseGetAlbumTask task = new DatabaseGetAlbumTask(); + databaseGetAlbumTask = new DatabaseGetAlbumTask(); - task.mHandler = MainActivity.getInstance().mHandler; + databaseGetAlbumTask.mHandler = MainActivity.getInstance().mainHandler; - task.execute(albumName); + databaseGetAlbumTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, albumName); } public void SetAlbum(AlbumFullData album) { + databaseGetAlbumTask = null; + progressBar.setVisibility(View.GONE); this.album = album; @@ -113,6 +151,23 @@ public class PhotoAlbumFragment extends Fragment } + public void CancelTaskIfRunning() + { + if (databaseGetAlbumTask != null) + { + databaseGetAlbumTask.cancel(false); + databaseGetAlbumTask = null; + } + } + + public void RefreshAdapter() + { + if (listAdapter != null) + { + listAdapter.notifyDataSetChanged(); + } + } + public class ListAdapter extends BaseAdapter { private Context mContext; @@ -149,7 +204,15 @@ public class PhotoAlbumFragment extends Fragment ImageView imageView = (ImageView) view.findViewById(R.id.imageView); - ImageManager.getInstance().ApplyImageToImageView(imageView, album.photoRecordArr.get(position).imageUrl); + + if (album.photoRecordArr.get(position) != null) + { + ImageManager.getInstance().ApplySmallImageToImageView(imageView, album.photoRecordArr.get(position).imageUrl); + } + else + { + ImageManager.getInstance().ApplySmallImageToImageView(imageView, "R.drawable.no_picture"); + } return view; } diff --git a/android/src/fishrungames/bashgid/PhotoFragment.java b/android/src/fishrungames/bashgid/PhotoFragment.java index 08ab638..bf9ba64 100644 --- a/android/src/fishrungames/bashgid/PhotoFragment.java +++ b/android/src/fishrungames/bashgid/PhotoFragment.java @@ -1,7 +1,6 @@ package fishrungames.bashgid; - - +import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; @@ -17,105 +16,134 @@ import fishrungames.bashgid.core.DatabaseGetAlbumTask; public class PhotoFragment extends Fragment { - - AlbumFullData album; - String albumName; - int currentPhoto; - + + AlbumFullData album = AlbumManager.CreateEmptyAlbum(); + String albumName = ""; + int currentPhoto = -1; + PhotoFragmentAdapter listAdapter; ViewPager pager; - + ProgressBar progressBar; + DatabaseGetAlbumTask databaseGetAlbumTask = null; + public PhotoFragment() { - album = null; - albumName = ""; - currentPhoto = -1; } - + public PhotoFragment(AlbumFullData album, int currentPhoto) { this.album = album; this.albumName = album.name; this.currentPhoto = currentPhoto; } - + public PhotoFragment(String albumName, int currentPhoto) { - this.album = null; this.albumName = albumName; this.currentPhoto = currentPhoto; - RestoreAlbum(); } - + @Override - public void onSaveInstanceState(final Bundle outState) { - super.onSaveInstanceState(outState); - outState.putString("albumName", albumName); - outState.putInt("currentPhoto", currentPhoto); - - } - - + public void onSaveInstanceState(final Bundle outState) + { + super.onSaveInstanceState(outState); + outState.putString("albumName", albumName); + outState.putInt("currentPhoto", currentPhoto); + } + @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - - if (savedInstanceState != null) { - albumName = savedInstanceState.getString("albumName"); - currentPhoto = savedInstanceState.getInt("currentPhoto"); - RestoreAlbum(); - } - + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) + { + View rootView = inflater.inflate(R.layout.fragment_photo_page, container, false); - - progressBar = (ProgressBar)rootView.findViewById(R.id.progressBar); - + + progressBar = (ProgressBar) rootView.findViewById(R.id.progressBar); + if (album == null) { - progressBar.setVisibility(View.VISIBLE); - } - else + progressBar.setVisibility(View.VISIBLE); + } else { progressBar.setVisibility(View.GONE); } listAdapter = new PhotoFragmentAdapter(getActivity(), album); - + pager = (ViewPager) rootView.findViewById(R.id.pager); - + pager.setAdapter(listAdapter); - + pager.setCurrentItem(currentPhoto); + + if (savedInstanceState != null) + { + albumName = savedInstanceState.getString("albumName"); + currentPhoto = savedInstanceState.getInt("currentPhoto"); + } + + if (album.photoRecordArr.size() == 0 && albumName.length() > 0) + { + RestoreAlbum(); + } + return rootView; } + @Override + public void onDestroyView() + { + CancelTaskIfRunning(); + + super.onDestroyView(); + } + void RestoreAlbum() { - album = AlbumManager.CreateEmptyAlbum(); - - DatabaseGetAlbumTask task = new DatabaseGetAlbumTask(); + databaseGetAlbumTask = new DatabaseGetAlbumTask(); - task.mHandler = MainActivity.getInstance().mHandler; + databaseGetAlbumTask.mHandler = MainActivity.getInstance().mainHandler; - task.execute(albumName); + databaseGetAlbumTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, albumName); } - + public void SetAlbum(AlbumFullData album) { + databaseGetAlbumTask = null; + progressBar.setVisibility(View.GONE); this.album = album; - + listAdapter.album = album; - + listAdapter.notifyDataSetChanged(); + if (currentPhoto < 0) + { + currentPhoto = 0; + } + pager.setCurrentItem(currentPhoto); } + public void RefreshAdapter() + { + if (listAdapter != null) + { + listAdapter.notifyDataSetChanged(); + } + } - - + public void CancelTaskIfRunning() + { + if (databaseGetAlbumTask != null) + { + databaseGetAlbumTask.cancel(false); + databaseGetAlbumTask = null; + } + } + } \ No newline at end of file diff --git a/android/src/fishrungames/bashgid/PhotoFragmentAdapter.java b/android/src/fishrungames/bashgid/PhotoFragmentAdapter.java index ca32be7..09e6b7a 100644 --- a/android/src/fishrungames/bashgid/PhotoFragmentAdapter.java +++ b/android/src/fishrungames/bashgid/PhotoFragmentAdapter.java @@ -59,7 +59,16 @@ public class PhotoFragmentAdapter extends PagerAdapter { ImageView image = (ImageView) viewLayout.findViewById(R.id.image); - ImageManager.getInstance().ApplyImageToImageView(image, album.photoRecordArr.get(position).imageUrl); + //ImageManager.getInstance().ApplyImageToImageView(image, album.photoRecordArr.get(position).imageUrl); + + if (album.photoRecordArr.get(position) != null) + { + ImageManager.getInstance().ApplyImageToImageView(image, album.photoRecordArr.get(position).imageUrl); + } + else + { + ImageManager.getInstance().ApplyImageToImageView(image, "R.drawable.no_picture"); + } ((ViewPager) container).addView(viewLayout); diff --git a/android/src/fishrungames/bashgid/SearchFragment.java b/android/src/fishrungames/bashgid/SearchFragment.java index 0f53167..9ec37d2 100644 --- a/android/src/fishrungames/bashgid/SearchFragment.java +++ b/android/src/fishrungames/bashgid/SearchFragment.java @@ -11,14 +11,17 @@ import fishrungames.networkutils.ImageManager; import android.annotation.SuppressLint; import android.content.Context; +import android.os.AsyncTask; import android.os.Bundle; import android.support.v4.app.Fragment; import android.text.Editable; import android.text.TextWatcher; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.View.OnKeyListener; import android.widget.AdapterView; import android.widget.BaseAdapter; @@ -42,24 +45,18 @@ public class SearchFragment extends Fragment ArrayList searchResultArr = new ArrayList(); - String journalName; - String journalTitle; - String query; + String journalName = ""; + String journalTitle = ""; + String query = ""; DatabaseSearchArticleTask databaseSearchArticleTask = null; public SearchFragment() { - this.journalName = ""; - this.journalTitle = ""; - this.query = ""; } public SearchFragment(String query) { - this.journalName = ""; - this.journalTitle = ""; - this.journalTitle = ""; this.query = query; } @@ -91,32 +88,30 @@ public class SearchFragment extends Fragment public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - if (savedInstanceState != null) - { - journalName = savedInstanceState.getString("journalName"); - journalTitle = savedInstanceState.getString("journalTitle"); - query = savedInstanceState.getString("query"); - - } - View rootView = inflater.inflate(R.layout.fragment_search_page, container, false); listView = (ListView) rootView.findViewById(R.id.listView); View header = inflater.inflate(R.layout.search_page_list_header, null); - TextView addressTextView = (TextView) header.findViewById(R.id.addressTextView); + TextView titleTextView = (TextView) header.findViewById(R.id.titleTextView); + + TextView smallHintTextView = (TextView) header.findViewById(R.id.smallHintTextView); if (journalTitle == null || journalTitle.length() == 0) { - addressTextView.setText(R.string.search_everywhere); + titleTextView.setText(R.string.search_everywhere); + + smallHintTextView.setVisibility(View.GONE); } else { String search_in = this.getResources().getString(R.string.search_in); search_in = search_in.replace("%%", journalTitle); - addressTextView.setText(search_in); + titleTextView.setText(search_in); + + smallHintTextView.setVisibility(View.VISIBLE); } hintTextView = (TextView) header.findViewById(R.id.hintTextView); @@ -124,6 +119,9 @@ public class SearchFragment extends Fragment searchEditText = (EditText) header.findViewById(R.id.editText); searchEditText.setText(query); + + int textLength = searchEditText.getText().length(); + searchEditText.setSelection(textLength, textLength); searchEditText.addTextChangedListener(new TextWatcher() { @@ -145,6 +143,19 @@ public class SearchFragment extends Fragment { } }); + + searchEditText.setOnKeyListener(new OnKeyListener() { + + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) + { + if ((event.getAction() == KeyEvent.ACTION_DOWN) && + (keyCode == KeyEvent.KEYCODE_ENTER)) { + return true; + } + return false; + } + }); listView.addHeaderView(header); @@ -166,14 +177,60 @@ public class SearchFragment extends Fragment MainActivity.getInstance().OpenArticleScreen(searchResultArr.get(position - 1).name, MainActivity.TAG_BACK_TO_SEARCHFRAGMENT); } }); + + if (savedInstanceState != null) + { + journalName = savedInstanceState.getString("journalName"); + journalTitle = savedInstanceState.getString("journalTitle"); + query = savedInstanceState.getString("query"); + + } CallUpdateNews(); return rootView; } + + @Override + public void onDestroyView() + { + CancelTaskIfRunning(); + + super.onDestroyView(); + } + + public void CallUpdateNews() + { + + if (query.length() >= 3 || (Locale.getDefault() == Locale.CHINA && query.length() >= 1)) + { + CancelTaskIfRunning(); + + databaseSearchArticleTask = new DatabaseSearchArticleTask(); + + databaseSearchArticleTask.mHandler = MainActivity.getInstance().mainHandler; + + Bundle bundle = new Bundle(); + + bundle.putString("journalName", journalName); + bundle.putString("query", query); + + databaseSearchArticleTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, bundle); + + hintTextView.setText(R.string.search_is_performing); + } else + { + searchResultArr.clear(); + listAdapter.notifyDataSetChanged(); + + hintTextView.setText(R.string.search_at_least_3_symbols); + } + } public void SetSearchResult(ArrayList articleArr) { + databaseSearchArticleTask = null; + searchResultArr = articleArr; listAdapter.notifyDataSetChanged(); @@ -183,6 +240,24 @@ public class SearchFragment extends Fragment hintTextView.setText(searchResultCount); } + + public void CancelTaskIfRunning() + { + if (databaseSearchArticleTask != null) + { + databaseSearchArticleTask.cancel(false); + databaseSearchArticleTask = null; + } + } + + public void RefreshAdapter() + { + if (listAdapter != null) + { + listAdapter.notifyDataSetChanged(); + } + } + public class ListAdapter extends BaseAdapter { @@ -246,35 +321,6 @@ public class SearchFragment extends Fragment } - public void CallUpdateNews() - { - - if (query.length() >= 3 || Locale.getDefault() == Locale.CHINA) - { - if (databaseSearchArticleTask != null) - { - databaseSearchArticleTask.cancel(false); - } - - databaseSearchArticleTask = new DatabaseSearchArticleTask(); - - databaseSearchArticleTask.mHandler = MainActivity.getInstance().mHandler; - - Bundle bundle = new Bundle(); - - bundle.putString("journalName", journalName); - bundle.putString("query", query); - - databaseSearchArticleTask.execute(bundle); - - hintTextView.setText(R.string.search_is_performing); - } else - { - searchResultArr.clear(); - listAdapter.notifyDataSetChanged(); - - hintTextView.setText(R.string.search_at_least_3_symbols); - } - } + } diff --git a/android/src/fishrungames/bashgid/SettingsFragment.java b/android/src/fishrungames/bashgid/SettingsFragment.java index ecdffab..99127da 100644 --- a/android/src/fishrungames/bashgid/SettingsFragment.java +++ b/android/src/fishrungames/bashgid/SettingsFragment.java @@ -68,8 +68,9 @@ public class SettingsFragment extends Fragment @Override public void onClick(View v) { + String link = getResources().getString(R.string.littlefoxlilia_link); Intent i = new Intent(Intent.ACTION_VIEW); - i.setData(Uri.parse("http://littlefoxlilia.ru/")); + i.setData(Uri.parse(link)); startActivity(i); } }); diff --git a/android/src/fishrungames/bashgid/SquareImageView.java b/android/src/fishrungames/bashgid/SquareImageView.java new file mode 100644 index 0000000..dc8bce6 --- /dev/null +++ b/android/src/fishrungames/bashgid/SquareImageView.java @@ -0,0 +1,37 @@ +package fishrungames.bashgid; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.ImageView; + +public class SquareImageView extends ImageView { + +public SquareImageView(final Context context) { + super(context); +} + +public SquareImageView(final Context context, final AttributeSet attrs) { + super(context, attrs); +} + +public SquareImageView(final Context context, final AttributeSet attrs, + final int defStyle) { + super(context, attrs, defStyle); +} + +@Override +protected void onMeasure(int width, int height) { + super.onMeasure(width, height); + int measuredWidth = getMeasuredWidth(); + //int measuredHeight = getMeasuredHeight(); + + setMeasuredDimension(measuredWidth, measuredWidth); + + /*if (measuredWidth > measuredHeight) { + setMeasuredDimension(measuredHeight, measuredHeight); + } else { + setMeasuredDimension(measuredWidth, measuredWidth); + }*/ +} + +} \ No newline at end of file diff --git a/android/src/fishrungames/bashgid/StaticGridView.java b/android/src/fishrungames/bashgid/StaticGridView.java new file mode 100644 index 0000000..695a072 --- /dev/null +++ b/android/src/fishrungames/bashgid/StaticGridView.java @@ -0,0 +1,50 @@ +package fishrungames.bashgid; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.GridView; + +public class StaticGridView extends GridView { + + public StaticGridView(Context context) { + super(context); + } + + public StaticGridView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public StaticGridView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + @Override + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + + //super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(MEASURED_SIZE_MASK, MeasureSpec.AT_MOST)); + //getLayoutParams().height = getMeasuredHeight(); + + + /*int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, + MeasureSpec.AT_MOST); + super.onMeasure(widthMeasureSpec, expandSpec);*/ + + + //super.onMeasure(widthMeasureSpec, MeasureSpec.UNSPECIFIED); + + + int heightSpec; + + if (getLayoutParams().height == LayoutParams.WRAP_CONTENT) { + + heightSpec = MeasureSpec.makeMeasureSpec( + Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); + } + else { + // Any other height should be respected as is. + heightSpec = heightMeasureSpec; + } + + super.onMeasure(widthMeasureSpec, heightSpec); + } +} \ No newline at end of file diff --git a/android/src/fishrungames/bashgid/VideoListFragment.java b/android/src/fishrungames/bashgid/VideoListFragment.java index 3fd82b3..137f4d0 100644 --- a/android/src/fishrungames/bashgid/VideoListFragment.java +++ b/android/src/fishrungames/bashgid/VideoListFragment.java @@ -35,13 +35,13 @@ public class VideoListFragment extends Fragment GridView gridView; ProgressBar progressBar; - String channelName; - ChannelFullData channelFullData; + String channelName = ""; + ChannelFullData channelFullData = ChannelManager.CreateEmptyChannel(); + + DatabaseGetChannelTask databaseGetChannelTask = null; public VideoListFragment() { - channelName = ""; - channelFullData = null; } public VideoListFragment(String channelName) @@ -65,13 +65,7 @@ public class VideoListFragment extends Fragment @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - - if (savedInstanceState != null) { - channelName = savedInstanceState.getString("channelName"); - RestoreChannel(); - } - - View rootView = inflater.inflate(R.layout.fragment_video_page, container, false); + View rootView = inflater.inflate(R.layout.fragment_grid_page, container, false); progressBar = (ProgressBar)rootView.findViewById(R.id.progressBar); @@ -97,29 +91,88 @@ public class VideoListFragment extends Fragment } }); + + if (savedInstanceState != null) { + channelName = savedInstanceState.getString("channelName"); + + } + + if (channelName.length() > 0 && channelFullData.videoRecordArr.size() == 0) + { + RestoreChannel(); + } return rootView; } + @Override + public void onDestroyView() + { + CancelTaskIfRunning(); + + super.onDestroyView(); + } + + public void OnDatabaseDonwloadProgress(Integer percent) + { + /* + databaseDownloadProgressBar.setProgress(percent); + + if (percent >= 100) + { + databaseDownloadProgressBar.setVisibility(View.GONE); + } + else + { + databaseDownloadProgressBar.setVisibility(View.VISIBLE); + } + */ + if (databaseGetChannelTask == null || percent == 100) + { + RestoreChannel(); + } + + //SetJournalList(r.journalList); + } + void RestoreChannel() { - channelFullData = ChannelManager.CreateEmptyChannel(); + CancelTaskIfRunning(); - DatabaseGetChannelTask task = new DatabaseGetChannelTask(); + databaseGetChannelTask = new DatabaseGetChannelTask(); - task.mHandler = MainActivity.getInstance().mHandler; + databaseGetChannelTask.mHandler = MainActivity.getInstance().mainHandler; - task.execute(channelName); + databaseGetChannelTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, channelName); } void SetChannel(ChannelFullData channelFullData) { + databaseGetChannelTask = null; + progressBar.setVisibility(View.GONE); this.channelFullData = channelFullData; + listAdapter.notifyDataSetChanged(); } + public void CancelTaskIfRunning() + { + if (databaseGetChannelTask != null) + { + databaseGetChannelTask.cancel(false); + databaseGetChannelTask = null; + } + } + + public void RefreshAdapter() + { + if (listAdapter != null) + { + listAdapter.notifyDataSetChanged(); + } + } public class DatabaseGetChannelTask extends AsyncTask @@ -182,7 +235,7 @@ public class VideoListFragment extends Fragment View view; if (convertView == null) { // if it's not recycled, initialize some attributes LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - view = inflater.inflate(R.layout.video_page_list_element, null); + view = inflater.inflate(R.layout.grid_page_list_element, null); } else { @@ -192,9 +245,22 @@ public class VideoListFragment extends Fragment ImageView imageView = (ImageView)view.findViewById(R.id.imageView); TextView nameTextView = (TextView) view.findViewById(R.id.nameTextView); - ImageManager.getInstance().ApplyImageToImageView(imageView, channelFullData.videoRecordArr.get(position).previewImageUrl); + //ImageManager.getInstance().ApplyImageToImageView(imageView, channelFullData.videoRecordArr.get(position).previewImageUrl); + + + if (channelFullData.videoRecordArr.get(position) != null) + { + ImageManager.getInstance().ApplySmallImageToImageView(imageView, channelFullData.videoRecordArr.get(position).previewImageUrl); - nameTextView.setText(channelFullData.videoRecordArr.get(position).title); + nameTextView.setText(channelFullData.videoRecordArr.get(position).title); + } + else + { + ImageManager.getInstance().ApplySmallImageToImageView(imageView, "R.drawable.no_picture"); + nameTextView.setText(""); + } + + return view; } diff --git a/android/src/fishrungames/bashgid/VideoRecordFragment.java b/android/src/fishrungames/bashgid/VideoRecordFragment.java index 87e36ca..f75384e 100644 --- a/android/src/fishrungames/bashgid/VideoRecordFragment.java +++ b/android/src/fishrungames/bashgid/VideoRecordFragment.java @@ -24,26 +24,24 @@ import android.widget.TextView; public class VideoRecordFragment extends Fragment { - String videoUrl; + String videoUrl = ""; - VideoRecordData recordData; + VideoRecordData recordData = VideoManager.CreateEmptyVideo(); TextView nameTextView; TextView descriptionTextView; ImageView imageView; ProgressBar progressBar; + + DatabaseGetVideoTask databaseGetVideoTask = null; public VideoRecordFragment() { - this.videoUrl = ""; - this.recordData = null; } public VideoRecordFragment(String videoUrl) { - this.recordData = null; this.videoUrl = videoUrl; - RestoreVideo(); } public VideoRecordFragment(VideoRecordData recordData) @@ -63,12 +61,6 @@ public class VideoRecordFragment extends Fragment public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - if (savedInstanceState != null) - { - videoUrl = savedInstanceState.getString("videoUrl"); - RestoreVideo(); - } - View rootView = inflater.inflate(R.layout.fragment_video_record_page, container, false); progressBar = (ProgressBar) rootView.findViewById(R.id.progressBar); @@ -87,29 +79,57 @@ public class VideoRecordFragment extends Fragment imageView = (ImageView) rootView.findViewById(R.id.imageView); RefreshView(); + + + if (savedInstanceState != null) + { + videoUrl = savedInstanceState.getString("videoUrl"); + } + + if (videoUrl.length() > 0 && recordData.videoUrl.length() == 0) + { + RestoreVideo(); + } return rootView; } + @Override + public void onDestroyView() + { + CancelTaskIfRunning(); + + super.onDestroyView(); + } + void RestoreVideo() { - // recordData = - // MainActivity.getInstance().videoDataSource.GetVideoByVideoUrl(videoUrl); - recordData = VideoManager.CreateEmptyVideo(); + CancelTaskIfRunning(); + + databaseGetVideoTask = new DatabaseGetVideoTask(); - DatabaseGetVideoTask task = new DatabaseGetVideoTask(); - - task.mHandler = MainActivity.getInstance().mHandler; - - task.execute(videoUrl); + databaseGetVideoTask.mHandler = MainActivity.getInstance().mainHandler; + + databaseGetVideoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, videoUrl); } void SetVideo(VideoRecordData recordData) { + databaseGetVideoTask = null; + progressBar.setVisibility(View.GONE); this.recordData = recordData; RefreshView(); } + + public void CancelTaskIfRunning() + { + if (databaseGetVideoTask != null) + { + databaseGetVideoTask.cancel(false); + databaseGetVideoTask = null; + } + } void RefreshView() { diff --git a/android/src/fishrungames/bashgid/WelcomeFragment.java b/android/src/fishrungames/bashgid/WelcomeFragment.java index 3d18ac6..f764219 100644 --- a/android/src/fishrungames/bashgid/WelcomeFragment.java +++ b/android/src/fishrungames/bashgid/WelcomeFragment.java @@ -21,6 +21,22 @@ public class WelcomeFragment extends Fragment { } @Override + public void onStart() + { + super.onStart(); + + ImageView flagView1 = (ImageView) rootView.findViewById(R.id.image_flag_china); + ImageView flagView2 = (ImageView) rootView.findViewById(R.id.image_flag_russia); + ImageView flagView3 = (ImageView) rootView.findViewById(R.id.image_flag_usa); + + Animation animation = AnimationUtils.loadAnimation(getActivity(), R.anim.language_flag_in); + flagView1.startAnimation(animation); + flagView2.startAnimation(animation); + flagView3.startAnimation(animation); + } + + /* + @Override public void onResume() { super.onResume(); @@ -33,5 +49,5 @@ public class WelcomeFragment extends Fragment { flagView1.startAnimation(animation); flagView2.startAnimation(animation); flagView3.startAnimation(animation); - } + }*/ } diff --git a/android/src/fishrungames/bashgid/core/AlbumManager.java b/android/src/fishrungames/bashgid/core/AlbumManager.java index cae7d26..c833706 100644 --- a/android/src/fishrungames/bashgid/core/AlbumManager.java +++ b/android/src/fishrungames/bashgid/core/AlbumManager.java @@ -21,7 +21,6 @@ public class AlbumManager public String description; public int hidden; - public AlbumRecordData(String name, String title, String description, int hidden) { this.name = name; diff --git a/android/src/fishrungames/bashgid/core/ArticleManager.java b/android/src/fishrungames/bashgid/core/ArticleManager.java index 88e7ef0..5683d6e 100644 --- a/android/src/fishrungames/bashgid/core/ArticleManager.java +++ b/android/src/fishrungames/bashgid/core/ArticleManager.java @@ -91,6 +91,13 @@ public class ArticleManager } } + public static ArticleRecordData CreateEmptyArticle() + { + ArticleRecordData result = new ArticleRecordData("", 0, "", "", 0.0, 0.0, "", "", "", "", new Date(), 1); + + return result; + } + public static class ArticleShortDataSortComparator implements Comparator { public int compare(ArticleShortData record1, ArticleShortData record2) { return record2.name.compareTo(record1.name); diff --git a/android/src/fishrungames/bashgid/core/ChannelManager.java b/android/src/fishrungames/bashgid/core/ChannelManager.java index 52be1e7..43d400d 100644 --- a/android/src/fishrungames/bashgid/core/ChannelManager.java +++ b/android/src/fishrungames/bashgid/core/ChannelManager.java @@ -11,8 +11,7 @@ public class ChannelManager public String title; public String description; public int hidden; - - + public ChannelRecordData(String name, String title, String description, int hidden) { this.name = name; diff --git a/android/src/fishrungames/bashgid/core/DatabaseDownloadTask.java b/android/src/fishrungames/bashgid/core/DatabaseDownloadTask.java index 35d8f87..41223c7 100644 --- a/android/src/fishrungames/bashgid/core/DatabaseDownloadTask.java +++ b/android/src/fishrungames/bashgid/core/DatabaseDownloadTask.java @@ -21,9 +21,8 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; -import android.os.AsyncTask; +import android.database.DatabaseUtils; import android.os.Bundle; -import android.os.Handler; import android.os.Message; import android.util.Log; import fishrungames.bashgid.MainActivity; @@ -34,36 +33,122 @@ import fishrungames.bashgid.core.JournalManager.JournalRecordData; import fishrungames.bashgid.core.PhotoManager.PhotoRecordData; import fishrungames.bashgid.core.TranslationManager.TranslationRecordData; import fishrungames.bashgid.core.VideoManager.VideoRecordData; +import fishrungames.networkutils.SimpleAsyncTask; -public class DatabaseDownloadTask extends AsyncTask +public class DatabaseDownloadTask extends SimpleAsyncTask { - public Handler mHandler; - protected Long doInBackground(Bundle... queryArr) { + + + + PublishProgress(0.1f); + + if (isCancelled()) + { + return (long)0; + } + + ParseJsonTranslation(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=translation/json")); + PublishProgress(0.2f); + + if (isCancelled()) + { + return (long)0; + } ParseJsonPhoto(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=photo/json")); + PublishProgress(0.25f); + + if (isCancelled()) + { + return (long)0; + } + ParseJsonAlbum(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=album/json")); + PublishProgress(0.3f); + + if (isCancelled()) + { + return (long)0; + } + ParseJsonPhotoAlbumRelation(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=photoAlbumRelation/json")); + PublishProgress(0.35f); + + if (isCancelled()) + { + return (long)0; + } ParseJsonVideo(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=video/json")); - ParseJsonChannel(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=channel/json")); - ParseJsonVideoChannelRelation(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=videoChannelRelation/json")); + PublishProgress(0.4f); + + if (isCancelled()) + { + return (long)0; + } + ParseJsonChannel(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=channel/json")); + PublishProgress(0.5f); + + if (isCancelled()) + { + return (long)0; + } + + ParseJsonVideoChannelRelation(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=videoChannelRelation/json")); + PublishProgress(0.6f); + + if (isCancelled()) + { + return (long)0; + } + ParseJsonArticle(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=article/json")); - ParseJsonJournal(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=journal/json")); + PublishProgress(0.65f); + + if (isCancelled()) + { + return (long)0; + } + ParseJsonAlbumArticleRelation(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=albumArticleRelation/json")); + PublishProgress(0.85f); + + if (isCancelled()) + { + return (long)0; + } + ParseJsonChannelArticleRelation(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=channelArticleRelation/json")); + PublishProgress(0.9f); + + if (isCancelled()) + { + return (long)0; + } + + ParseJsonJournal(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=journal/json")); + PublishProgress(0.75f); + + if (isCancelled()) + { + return (long)0; + } + ParseJsonArticleJournalRelation(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=articleJournalRelation/json")); - ParseJsonTranslation(getJsonFromUrl("http://bashgid.hallyu.ru/index.php?r=translation/json")); + PublishProgress(0.95f); return (long) 0; } + + protected void onProgressUpdate(Integer... progress) { - Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_DOWNLOADER_STATE_UPDATE, this); + Message completeMessage = MainActivity.getInstance().mainHandler.obtainMessage(MainActivity.DATABASE_DOWNLOADER_STATE_UPDATE, progress[0]); completeMessage.sendToTarget(); @@ -71,10 +156,15 @@ public class DatabaseDownloadTask extends AsyncTask protected void onPostExecute(Long result) { - Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_DOWNLOADER_STATE_FINISHED, this); + Message completeMessage = MainActivity.getInstance().mainHandler.obtainMessage(MainActivity.DATABASE_DOWNLOADER_STATE_FINISHED, 100); completeMessage.sendToTarget(); } + + public void ReloadDatabaseContent() + { + //journalList = MainActivity.getInstance().journalDataSource.GetJournalListMain(3); + } private String getJsonFromUrl(String url_select) { @@ -152,10 +242,10 @@ public class DatabaseDownloadTask extends AsyncTask JSONObject jObject = jArray.getJSONObject(i); - String title = jObject.getString("title"); - String description = jObject.getString("description"); - String imageUrl = jObject.getString("imageUrl"); - String imageHash = jObject.getString("imageHash"); + String title = DatabaseDownloadTask.sqlEscapeString(jObject.getString("title")); + String description = DatabaseDownloadTask.sqlEscapeString(jObject.getString("description")); + String imageUrl = DatabaseDownloadTask.sqlEscapeString(jObject.getString("imageUrl")); + String imageHash = DatabaseDownloadTask.sqlEscapeString(jObject.getString("imageHash")); double geoLat = jObject.getDouble("geoLat"); double geoLon = jObject.getDouble("geoLon"); @@ -182,9 +272,9 @@ public class DatabaseDownloadTask extends AsyncTask JSONObject jObject = jArray.getJSONObject(i); - String name = jObject.getString("name"); - String title = jObject.getString("title"); - String description = jObject.getString("description"); + String name = DatabaseDownloadTask.sqlEscapeString(jObject.getString("name")); + String title = DatabaseDownloadTask.sqlEscapeString(jObject.getString("title")); + String description = DatabaseDownloadTask.sqlEscapeString(jObject.getString("description")); int hidden = jObject.getInt("hidden"); MainActivity.getInstance().albumDataSource.CreateNewAlbum(new AlbumRecordData(name, title, description, hidden)); @@ -208,8 +298,8 @@ public class DatabaseDownloadTask extends AsyncTask JSONObject jObject = jArray.getJSONObject(i); - String imageUrl = jObject.getString("imageUrl"); - String name = jObject.getString("name"); + String imageUrl = DatabaseDownloadTask.sqlEscapeString(jObject.getString("imageUrl")); + String name = DatabaseDownloadTask.sqlEscapeString(jObject.getString("name")); MainActivity.getInstance().albumDataSource.AddPhotoToAlbum(imageUrl, name); @@ -233,12 +323,12 @@ public class DatabaseDownloadTask extends AsyncTask JSONObject jObject = jArray.getJSONObject(i); int type = jObject.getInt("type"); - String videoUrl = jObject.getString("videoUrl"); + String videoUrl = DatabaseDownloadTask.sqlEscapeString(jObject.getString("videoUrl")); - String title = jObject.getString("title"); - String description = jObject.getString("description"); - String previewImageUrl = jObject.getString("previewImageUrl"); - String previewImageHash = jObject.getString("previewImageHash"); + String title = DatabaseDownloadTask.sqlEscapeString(jObject.getString("title")); + String description = DatabaseDownloadTask.sqlEscapeString(jObject.getString("description")); + String previewImageUrl = DatabaseDownloadTask.sqlEscapeString(jObject.getString("previewImageUrl")); + String previewImageHash = DatabaseDownloadTask.sqlEscapeString(jObject.getString("previewImageHash")); MainActivity.getInstance().videoDataSource.AddOrReplaceVideo(new VideoRecordData(type, videoUrl, title, description, previewImageUrl, previewImageHash)); @@ -264,9 +354,9 @@ public class DatabaseDownloadTask extends AsyncTask JSONObject jObject = jArray.getJSONObject(i); - String name = jObject.getString("name"); - String title = jObject.getString("title"); - String description = jObject.getString("description"); + String name = DatabaseDownloadTask.sqlEscapeString(jObject.getString("name")); + String title = DatabaseDownloadTask.sqlEscapeString(jObject.getString("title")); + String description = DatabaseDownloadTask.sqlEscapeString(jObject.getString("description")); int hidden = jObject.getInt("hidden"); MainActivity.getInstance().channelDataSource.CreateNewChannel(new ChannelRecordData(name, title, description, hidden)); @@ -290,8 +380,8 @@ public class DatabaseDownloadTask extends AsyncTask JSONObject jObject = jArray.getJSONObject(i); - String videoUrl = jObject.getString("videoUrl"); - String name = jObject.getString("name"); + String videoUrl = DatabaseDownloadTask.sqlEscapeString(jObject.getString("videoUrl")); + String name = DatabaseDownloadTask.sqlEscapeString(jObject.getString("name")); MainActivity.getInstance().channelDataSource.AddVideoToChannel(videoUrl, name); @@ -316,16 +406,16 @@ public class DatabaseDownloadTask extends AsyncTask { JSONObject jObject = jArray.getJSONObject(i); - String name = jObject.getString("name"); + String name = DatabaseDownloadTask.sqlEscapeString(jObject.getString("name")); int type = jObject.getInt("type"); - String title = jObject.getString("title"); - String content = jObject.getString("content"); + String title = DatabaseDownloadTask.sqlEscapeString(jObject.getString("title")); + String content = DatabaseDownloadTask.sqlEscapeString(jObject.getString("content")); double geoLat = jObject.getDouble("geoLat"); double geoLon = jObject.getDouble("geoLon"); - String address = jObject.getString("address"); - String phone = jObject.getString("phone"); - String externalLink = jObject.getString("externalLink"); - String externalLinkText = jObject.getString("externalLinkText"); + String address = DatabaseDownloadTask.sqlEscapeString(jObject.getString("address")); + String phone = DatabaseDownloadTask.sqlEscapeString(jObject.getString("phone")); + String externalLink = DatabaseDownloadTask.sqlEscapeString(jObject.getString("externalLink")); + String externalLinkText = DatabaseDownloadTask.sqlEscapeString(jObject.getString("externalLinkText")); Date dateTime = ArticleManager.iso8601Format.parse(jObject.getString("dateTime")); int hidden = jObject.getInt("hidden"); @@ -357,9 +447,9 @@ public class DatabaseDownloadTask extends AsyncTask JSONObject jObject = jArray.getJSONObject(i); - String name = jObject.getString("name"); - String title = jObject.getString("title"); - String description = jObject.getString("description"); + String name = DatabaseDownloadTask.sqlEscapeString(jObject.getString("name")); + String title = DatabaseDownloadTask.sqlEscapeString(jObject.getString("title")); + String description = DatabaseDownloadTask.sqlEscapeString(jObject.getString("description")); int hidden = jObject.getInt("hidden"); int geoCategory = jObject.getInt("geoCategory"); int main = jObject.getInt("main"); @@ -385,8 +475,8 @@ public class DatabaseDownloadTask extends AsyncTask JSONObject jObject = jArray.getJSONObject(i); - String albumName = jObject.getString("albumName"); - String articleName = jObject.getString("articleName"); + String albumName = DatabaseDownloadTask.sqlEscapeString(jObject.getString("albumName")); + String articleName = DatabaseDownloadTask.sqlEscapeString(jObject.getString("articleName")); MainActivity.getInstance().articleDataSource.AddAlbumToArticle(albumName, articleName); @@ -409,8 +499,8 @@ public class DatabaseDownloadTask extends AsyncTask JSONObject jObject = jArray.getJSONObject(i); - String channelName = jObject.getString("channelName"); - String articleName = jObject.getString("articleName"); + String channelName = DatabaseDownloadTask.sqlEscapeString(jObject.getString("channelName")); + String articleName = DatabaseDownloadTask.sqlEscapeString(jObject.getString("articleName")); MainActivity.getInstance().articleDataSource.AddChannelToArticle(channelName, articleName); @@ -433,8 +523,8 @@ public class DatabaseDownloadTask extends AsyncTask JSONObject jObject = jArray.getJSONObject(i); - String articleName = jObject.getString("articleName"); - String journalName = jObject.getString("journalName"); + String articleName = DatabaseDownloadTask.sqlEscapeString(jObject.getString("articleName")); + String journalName = DatabaseDownloadTask.sqlEscapeString(jObject.getString("journalName")); MainActivity.getInstance().journalDataSource.AddArticleToJournal(articleName, journalName); @@ -457,13 +547,13 @@ public class DatabaseDownloadTask extends AsyncTask JSONObject jObject = jArray.getJSONObject(i); - String name = jObject.getString("name"); - String textEn = jObject.getString("textEn"); - String textRu = jObject.getString("textRu"); - String textZh = jObject.getString("textZh"); - String textEnUp = jObject.getString("textEnUp"); - String textRuUp = jObject.getString("textRuUp"); - String textZhUp = jObject.getString("textZhUp"); + String name = DatabaseDownloadTask.sqlEscapeString(jObject.getString("name")); + String textEn = DatabaseDownloadTask.sqlEscapeString(jObject.getString("textEn")); + String textRu = DatabaseDownloadTask.sqlEscapeString(jObject.getString("textRu")); + String textZh = DatabaseDownloadTask.sqlEscapeString(jObject.getString("textZh")); + String textEnUp = DatabaseDownloadTask.sqlEscapeString(jObject.getString("textEnUp")); + String textRuUp = DatabaseDownloadTask.sqlEscapeString(jObject.getString("textRuUp")); + String textZhUp = DatabaseDownloadTask.sqlEscapeString(jObject.getString("textZhUp")); MainActivity.getInstance().translationDataSource.CreateNewTranslation(new TranslationRecordData(name, textEn, textRu, textZh, textEnUp, textRuUp, textZhUp)); @@ -475,5 +565,28 @@ public class DatabaseDownloadTask extends AsyncTask Log.e("JSONException", "Error: " + e.toString()); } } + + + public static String sqlEscapeString_withquotes(String s) + { + String result = DatabaseUtils.sqlEscapeString(s); + + result = result.substring(1, result.length()-1); + + return result; + } + + public static String sqlEscapeString(String s) + { + /* + String result = s; + + result = DatabaseUtils.sqlEscapeString(result); + + result = result.substring(1, result.length()-1); + + return result;*/ + return s; + } } \ No newline at end of file diff --git a/android/src/fishrungames/bashgid/core/DatabaseGetAlbumTask.java b/android/src/fishrungames/bashgid/core/DatabaseGetAlbumTask.java index 370ca26..b7898a8 100644 --- a/android/src/fishrungames/bashgid/core/DatabaseGetAlbumTask.java +++ b/android/src/fishrungames/bashgid/core/DatabaseGetAlbumTask.java @@ -24,9 +24,9 @@ public class DatabaseGetAlbumTask extends AsyncTask protected void onProgressUpdate(Integer... progress) { - Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_GET_ALBUM_STATE_UPDATE, album); + //Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_GET_ALBUM_STATE_UPDATE, album); - completeMessage.sendToTarget(); + //completeMessage.sendToTarget(); } diff --git a/android/src/fishrungames/bashgid/core/DatabaseGetJournalListTask.java b/android/src/fishrungames/bashgid/core/DatabaseGetJournalListTask.java index 5e69f66..07fb4b4 100644 --- a/android/src/fishrungames/bashgid/core/DatabaseGetJournalListTask.java +++ b/android/src/fishrungames/bashgid/core/DatabaseGetJournalListTask.java @@ -11,20 +11,18 @@ import fishrungames.bashgid.core.JournalManager.JournalSemiFullData; public class DatabaseGetJournalListTask extends AsyncTask { -ArrayList journalList; + ArrayList journalList; - public Handler mHandler; - protected Long doInBackground(String... queryArr) { if (queryArr.length > 0) { - journalList = MainActivity.getInstance().journalDataSource.GetJournalListMain(3); //Xperimental -- need to pass exactly how many articles + journalList = MainActivity.getInstance().journalDataSource.GetJournalListMain(7); //Xperimental -- need to pass exactly how many articles } else { - journalList = MainActivity.getInstance().journalDataSource.GetAllJournalListExceptHidden(3); //Xperimental -- need to pass exactly how many articles + journalList = MainActivity.getInstance().journalDataSource.GetAllJournalListExceptHidden(7); //Xperimental -- need to pass exactly how many articles } @@ -33,15 +31,16 @@ ArrayList journalList; protected void onProgressUpdate(Integer... progress) { - Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_GET_JOURNAL_LIST_STATE_UPDATE, journalList); + //Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_GET_JOURNAL_LIST_STATE_UPDATE, journalList); - completeMessage.sendToTarget(); + //completeMessage.sendToTarget(); } protected void onPostExecute(Long result) { - Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_GET_JOURNAL_LIST_STATE_FINISHED, journalList); + + Message completeMessage = MainActivity.getInstance().mainHandler.obtainMessage(MainActivity.DATABASE_GET_JOURNAL_LIST_STATE_FINISHED, journalList); completeMessage.sendToTarget(); } diff --git a/android/src/fishrungames/bashgid/core/DatabaseGetJournalTask.java b/android/src/fishrungames/bashgid/core/DatabaseGetJournalTask.java index ec59e52..89d8742 100644 --- a/android/src/fishrungames/bashgid/core/DatabaseGetJournalTask.java +++ b/android/src/fishrungames/bashgid/core/DatabaseGetJournalTask.java @@ -12,8 +12,6 @@ public class DatabaseGetJournalTask extends AsyncTask JournalSemiFullData journal = null; - public Handler mHandler; - protected Long doInBackground(Bundle... queryArr) { @@ -30,15 +28,15 @@ public class DatabaseGetJournalTask extends AsyncTask protected void onProgressUpdate(Integer... progress) { - Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_GET_JOURNAL_STATE_UPDATE, journal); + //Message completeMessage = MainActivity.getInstance().obtainMessage(MainActivity.DATABASE_GET_JOURNAL_STATE_UPDATE, journal); - completeMessage.sendToTarget(); + //completeMessage.sendToTarget(); } protected void onPostExecute(Long result) { - Message completeMessage = mHandler.obtainMessage(MainActivity.DATABASE_GET_JOURNAL_STATE_FINISHED, journal); + Message completeMessage = MainActivity.getInstance().mainHandler.obtainMessage(MainActivity.DATABASE_GET_JOURNAL_STATE_FINISHED, journal); completeMessage.sendToTarget(); } diff --git a/android/src/fishrungames/bashgid/core/JournalManager.java b/android/src/fishrungames/bashgid/core/JournalManager.java index 4c381c8..75f172b 100644 --- a/android/src/fishrungames/bashgid/core/JournalManager.java +++ b/android/src/fishrungames/bashgid/core/JournalManager.java @@ -67,12 +67,23 @@ public class JournalManager } - public static JournalSemiFullData CreateEmptyJournal() + + public static JournalRecordData CreateEmptyJournal() { - JournalSemiFullData result = new JournalSemiFullData(new JournalRecordData("", "", "", 1, 0, 0)); + JournalRecordData result = new JournalRecordData("", "", "", 1, 0, 0); + + return result; + } + + public static JournalSemiFullData CreateEmptyJournalSemiFull() + { + JournalSemiFullData result = new JournalSemiFullData(CreateEmptyJournal()); return result; } + + + } diff --git a/android/src/fishrungames/bashgid/core/NewsDownloadTask.java b/android/src/fishrungames/bashgid/core/NewsDownloadTask.java index c11fe3d..48f8402 100644 --- a/android/src/fishrungames/bashgid/core/NewsDownloadTask.java +++ b/android/src/fishrungames/bashgid/core/NewsDownloadTask.java @@ -1,33 +1,32 @@ package fishrungames.bashgid.core; - -import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.os.Message; import fishrungames.bashgid.MainActivity; +import fishrungames.bashgid.core.JournalManager.JournalSemiFullData; +import fishrungames.networkutils.SimpleAsyncTask; -public class NewsDownloadTask extends AsyncTask +public class NewsDownloadTask extends SimpleAsyncTask { - - public Handler mHandler; + protected Long doInBackground(Bundle... queryArr) { - for (int i = 0; i < NewsManager.urlArr.length; i++) { - NewsManager.LoadNewsAndImagesFromRss(NewsManager.urlArr[i]); + NewsManager.LoadNewsFromRss(NewsManager.urlArr[i], this); } + return (long) 0; } protected void onProgressUpdate(Integer... progress) { - Message completeMessage = mHandler.obtainMessage(MainActivity.NEWS_DOWNLOADER_STATE_UPDATE, this); + Message completeMessage = MainActivity.getInstance().mainHandler.obtainMessage(MainActivity.NEWS_DOWNLOADER_STATE_UPDATE, progress[0]); completeMessage.sendToTarget(); @@ -35,9 +34,10 @@ public class NewsDownloadTask extends AsyncTask protected void onPostExecute(Long result) { - Message completeMessage = mHandler.obtainMessage(MainActivity.NEWS_DOWNLOADER_STATE_FINISHED, this); + Message completeMessage = MainActivity.getInstance().mainHandler.obtainMessage(MainActivity.NEWS_DOWNLOADER_STATE_FINISHED, 100); completeMessage.sendToTarget(); } + } diff --git a/android/src/fishrungames/bashgid/core/NewsManager.java b/android/src/fishrungames/bashgid/core/NewsManager.java index 1d781c6..a9cf50a 100644 --- a/android/src/fishrungames/bashgid/core/NewsManager.java +++ b/android/src/fishrungames/bashgid/core/NewsManager.java @@ -2,43 +2,40 @@ package fishrungames.bashgid.core; import fishrungames.networkutils.ImageManager; - import java.util.ArrayList; import java.util.Locale; +import android.os.Bundle; + import fishrungames.networkutils.DownloadFunctions; +import fishrungames.networkutils.SimpleAsyncTask; import fishrungames.bashgid.MainActivity; import fishrungames.bashgid.R; import fishrungames.bashgid.core.ArticleManager.ArticleRecordData; import fishrungames.bashgid.core.TranslationManager.TranslationRecordData; - -public class NewsManager { +public class NewsManager +{ /* - public static final String [] urlArr = { - "https://www.bashkortostan.ru/presscenter/news/rss/", - "http://www.bashedu.ru/rss.xml", - "http://www.bashinform.ru/rss/all.xml", - "http://www.minkult-rb.ru/news/rss/", - "http://02.mvd.ru/news/rss/" - }; */ - - public static final String [] urlArr = { - "https://news.yandex.ru/Ufa/index.rss", - }; - - + * public static final String [] urlArr = { + * "https://www.bashkortostan.ru/presscenter/news/rss/", + * "http://www.bashedu.ru/rss.xml", "http://www.bashinform.ru/rss/all.xml", + * "http://www.minkult-rb.ru/news/rss/", "http://02.mvd.ru/news/rss/" }; + */ + + public static final String[] urlArr = { "https://news.yandex.ru/Ufa/index.rss", }; + public static ArrayList ExtractEnclosureImageUrl(ArrayList rss2ItemArr) { ArrayList imageToDownloadList = new ArrayList(); - + for (RssReader.Rss2Item rss2Item : rss2ItemArr) { - //Enclosure + // Enclosure if (rss2Item.rss2Enclosure != null) { if (DownloadFunctions.MimeTypeIsImage(rss2Item.rss2Enclosure.mimeType)) @@ -47,62 +44,62 @@ public class NewsManager { } } } - + return imageToDownloadList; } - + public static ArrayList ExtractDescriptionImageUrl(ArrayList rss2ItemArr) { ArrayList imageToDownloadList = new ArrayList(); - + for (RssReader.Rss2Item rss2Item : rss2ItemArr) { - //And images inside text + // And images inside text int i = rss2Item.description.indexOf(" ConvertRelativeToAbsoluteImageUrlList(ArrayList relativeImageUrlList, String url) { ArrayList absoluteImageUrlList = new ArrayList(); - + for (String relativeImageUrl : relativeImageUrlList) { if (!relativeImageUrl.startsWith("http://")) { String homeFolder = DownloadFunctions.GetUrlFolder(url); - + relativeImageUrl = homeFolder + relativeImageUrl; } - + absoluteImageUrlList.add(relativeImageUrl); } - + return absoluteImageUrlList; } - - - static void ReplaceRemoteUrlToLocalUrl(ArrayList rss2ItemArr, ArrayList relativeImageUrlList, ArrayList absoluteImageUrlList) + + static void ReplaceRemoteUrlToLocalUrl(ArrayList rss2ItemArr, ArrayList relativeImageUrlList, + ArrayList absoluteImageUrlList) { for (RssReader.Rss2Item rss2Item : rss2ItemArr) @@ -110,85 +107,93 @@ public class NewsManager { for (int i = 0; i < relativeImageUrlList.size(); i++) { String fileName = ImageManager.GetImageLocalUrl(absoluteImageUrlList.get(i)); - - rss2Item.description = rss2Item.description.replace("\"" +relativeImageUrlList.get(i) + "\"" , "\"" +fileName + "\""); + + rss2Item.description = rss2Item.description.replace("\"" + relativeImageUrlList.get(i) + "\"", "\"" + fileName + "\""); } } } - - static void LoadNewsAndImagesFromRss(String url) + + static void LoadNewsFromRss(String url, SimpleAsyncTask task) { - //Xperimental -- need to optimize this code. slow block BEGINS - String xmlCode = DownloadFunctions.getXmlFromUrl(url); - + // Xperimental -- need to optimize this code. slow block BEGINS + String xmlCode = DownloadFunctions.getXmlFromUrl(url, task); + if (xmlCode == null) { return; } - - //Remove BOM character if present + + // Remove BOM character if present if (xmlCode.startsWith("\uFEFF")) { xmlCode = xmlCode.substring(1); - } - - RssReader rssReader = new RssReader(); - - rssReader.ReadRss(xmlCode); - - - - //Xperimental -- need to optimize this code. slow block ENDS - - - for (RssReader.Rss2Item rss2Item : rssReader.rss2ItemArr) - { - - String title = rss2Item.title.replace("'", "''").replace("\"", "\"\""); - String description = rss2Item.description.replace("'", "''").replace("\"", "\"\""); - - String titleUp = title.toUpperCase(new Locale("ru")); - String descriptionUp = description.toUpperCase(new Locale("ru")); - - - ArticleRecordData newsArticle = new ArticleRecordData( - title, - ArticleManager.ARTICLE_TYPE_NEWS, - title, - description, - 0, - 0, - "", - "", - rss2Item.link, - MainActivity.getInstance().getResources().getString(R.string.dialog_open), - rss2Item.pubDate, - 0); - - AlbumManager.AddNewArticleToJournal(newsArticle, "news"); - - //To perform search - MainActivity.getInstance().translationDataSource.CreateNewTranslation(new TranslationRecordData( - title, - title, //En - title, //Ru - title, //Zh - titleUp, //En Up - titleUp, //Ru Up - titleUp //Zh Up - )); - - MainActivity.getInstance().translationDataSource.CreateNewTranslation(new TranslationRecordData( - description, - description, //En - description, //Ru - description, //Zh - descriptionUp, //En Up - descriptionUp, //Ru Up - descriptionUp //Zh Up - )); - } + if (task != null) + { + if (task.isCancelled()) + { + return; + } + + task.PublishMoreProgress(); + } + + RssReader rssReader = new RssReader(); + + rssReader.ReadRss(xmlCode); + + // Xperimental -- need to optimize this code. slow block ENDS + + //for (RssReader.Rss2Item rss2Item : rssReader.rss2ItemArr) + for (int i = 0; i < rssReader.rss2ItemArr.size(); i++) + { + + RssReader.Rss2Item rss2Item = rssReader.rss2ItemArr.get(i); + + String title = rss2Item.title.replace("'", "''").replace("\"", "\"\""); + String description = rss2Item.description.replace("'", "''").replace("\"", "\"\""); + + String titleUp = title.toUpperCase(new Locale("ru")); + String descriptionUp = description.toUpperCase(new Locale("ru")); + + ArticleRecordData newsArticle = new ArticleRecordData(title, ArticleManager.ARTICLE_TYPE_NEWS, title, description, 0, 0, "", "", rss2Item.link, + MainActivity.getInstance().getResources().getString(R.string.dialog_open), rss2Item.pubDate, 0); + + AlbumManager.AddNewArticleToJournal(newsArticle, "news"); + + // To perform search + MainActivity.getInstance().translationDataSource.CreateNewTranslation(new TranslationRecordData(title, title, // En + title, // Ru + title, // Zh + titleUp, // En Up + titleUp, // Ru Up + titleUp // Zh Up + )); + + MainActivity.getInstance().translationDataSource.CreateNewTranslation(new TranslationRecordData(description, description, // En + description, // Ru + description, // Zh + descriptionUp, // En Up + descriptionUp, // Ru Up + descriptionUp // Zh Up + )); + + + if (task != null) + { + if (task.isCancelled()) + { + return; + } + + task.PublishProgress(i / (float) rssReader.rss2ItemArr.size()); + task.ReloadDatabaseContent(); + } + + + + } + } } diff --git a/android/src/fishrungames/bashgid/core/TranslationManager.java b/android/src/fishrungames/bashgid/core/TranslationManager.java index 4fb5da5..ce6f9a7 100644 --- a/android/src/fishrungames/bashgid/core/TranslationManager.java +++ b/android/src/fishrungames/bashgid/core/TranslationManager.java @@ -39,4 +39,12 @@ public class TranslationManager } } + + public static TranslationRecordData CreateEmptyTranslation() + { + TranslationRecordData result = new TranslationRecordData("", "", "", "", "", "", ""); + + return result; + } + } diff --git a/android/src/fishrungames/bashgid/core/VideoManager.java b/android/src/fishrungames/bashgid/core/VideoManager.java index 881586c..a367499 100644 --- a/android/src/fishrungames/bashgid/core/VideoManager.java +++ b/android/src/fishrungames/bashgid/core/VideoManager.java @@ -1,8 +1,5 @@ package fishrungames.bashgid.core; -import fishrungames.bashgid.core.AlbumManager.AlbumFullData; -import fishrungames.bashgid.core.AlbumManager.AlbumRecordData; - public class VideoManager { public static final int VIDEO_TYPE_YOUTUBE = 1; diff --git a/android/src/fishrungames/bashgid/core/db/AlbumDataSource.java b/android/src/fishrungames/bashgid/core/db/AlbumDataSource.java index 4c4d934..70d3d2d 100644 --- a/android/src/fishrungames/bashgid/core/db/AlbumDataSource.java +++ b/android/src/fishrungames/bashgid/core/db/AlbumDataSource.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import fishrungames.bashgid.MainActivity; import fishrungames.bashgid.core.AlbumManager; +import fishrungames.bashgid.core.DatabaseDownloadTask; import fishrungames.bashgid.core.AlbumManager.AlbumFullData; import fishrungames.bashgid.core.AlbumManager.AlbumRecordData; import fishrungames.bashgid.core.AlbumManager.AlbumShortData; @@ -13,7 +14,6 @@ import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; -import android.util.Log; public class AlbumDataSource { @@ -47,7 +47,7 @@ public class AlbumDataSource database.insert(BashgidSqliteHelper.TABLE_ALBUM, null, values); } else { - database.update(BashgidSqliteHelper.TABLE_ALBUM, values, BashgidSqliteHelper.COLUMN_NAME + " = " +"\"" + recordData.name +"\"", null); + database.update(BashgidSqliteHelper.TABLE_ALBUM, values, BashgidSqliteHelper.COLUMN_NAME + " = " +"'" + DatabaseDownloadTask.sqlEscapeString_withquotes(recordData.name) +"'", null); } } finally @@ -62,7 +62,7 @@ public class AlbumDataSource { boolean result = false; - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -109,9 +109,9 @@ public class AlbumDataSource public AlbumFullData GetAlbumFullData(String name) { - AlbumFullData result = null; + AlbumFullData result = AlbumManager.CreateEmptyAlbum(); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -132,7 +132,7 @@ public class AlbumDataSource public AlbumFullData InnerGetAlbumFullData(String name, SQLiteDatabase database) { - AlbumFullData result = null; + AlbumFullData result = AlbumManager.CreateEmptyAlbum(); AlbumRecordData recordData = innerGetAlbumByName(name, database); @@ -158,9 +158,9 @@ public class AlbumDataSource public AlbumShortData GetAlbumShortData(String name) { - AlbumShortData result = null; + AlbumShortData result = new AlbumShortData(new AlbumRecordData("", "", "", 1)); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -202,7 +202,7 @@ public class AlbumDataSource ArrayList result = new ArrayList(); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -228,6 +228,13 @@ public class AlbumDataSource { shortData.firstImageUrl = imageUrlArr.get(0); } + else + { + shortData.firstImageUrl = "R.drawable.no_picture"; + } + + shortData.title = MainActivity.getInstance().translationDataSource.TryTranslateText(shortData.title, database); + shortData.description = MainActivity.getInstance().translationDataSource.TryTranslateText(shortData.description, database); result.add(shortData); } while (cursor.moveToNext()); @@ -253,7 +260,7 @@ public class AlbumDataSource boolean result = false; Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ALBUM, new String[] { BashgidSqliteHelper.COLUMN_NAME }, BashgidSqliteHelper.COLUMN_NAME - + "=?", new String[] { name }, null, null, null, null); + + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -278,7 +285,7 @@ public class AlbumDataSource Cursor cursor = database.query(BashgidSqliteHelper.TABLE_PHOTO_ALBUM_RELATION, new String[] { BashgidSqliteHelper.COLUMN_IMAGE_URL, BashgidSqliteHelper.COLUMN_NAME }, BashgidSqliteHelper.COLUMN_IMAGE_URL + "=?" + " AND " + BashgidSqliteHelper.COLUMN_NAME + "=?", - new String[] { imageUrl, name }, null, null, null, null); + new String[] { DatabaseDownloadTask.sqlEscapeString(imageUrl), DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -300,7 +307,7 @@ public class AlbumDataSource ArrayList result = new ArrayList(); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_PHOTO_ALBUM_RELATION, new String[] { BashgidSqliteHelper.COLUMN_IMAGE_URL }, - BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { name }, null, null, null, null); + BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -323,10 +330,10 @@ public class AlbumDataSource public AlbumRecordData innerGetAlbumByName(String name, SQLiteDatabase database) { - AlbumRecordData result = null; + AlbumRecordData result = new AlbumRecordData("", "", "", 1); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ALBUM, new String[] { BashgidSqliteHelper.COLUMN_NAME, BashgidSqliteHelper.COLUMN_TITLE, - BashgidSqliteHelper.COLUMN_DESCRIPTION, BashgidSqliteHelper.COLUMN_HIDDEN }, BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { name }, null, null, null, null); + BashgidSqliteHelper.COLUMN_DESCRIPTION, BashgidSqliteHelper.COLUMN_HIDDEN }, BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { diff --git a/android/src/fishrungames/bashgid/core/db/ArticleDataSource.java b/android/src/fishrungames/bashgid/core/db/ArticleDataSource.java index 7060596..d7a5608 100644 --- a/android/src/fishrungames/bashgid/core/db/ArticleDataSource.java +++ b/android/src/fishrungames/bashgid/core/db/ArticleDataSource.java @@ -1,26 +1,25 @@ package fishrungames.bashgid.core.db; - import java.text.ParseException; import java.util.ArrayList; import java.util.Comparator; import java.util.Date; - import fishrungames.bashgid.MainActivity; import fishrungames.bashgid.core.AlbumManager.AlbumFullData; import fishrungames.bashgid.core.ArticleManager; +import fishrungames.bashgid.core.DatabaseDownloadTask; import fishrungames.bashgid.core.ArticleManager.ArticleFullData; import fishrungames.bashgid.core.ArticleManager.ArticleRecordData; import fishrungames.bashgid.core.ArticleManager.ArticleShortData; import fishrungames.bashgid.core.ChannelManager.ChannelFullData; - import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; +import android.text.Html; import android.util.Log; public class ArticleDataSource @@ -28,14 +27,13 @@ public class ArticleDataSource private BashgidSqliteHelper dbHelper = null; - - - public static class DateSortComparator implements Comparator { - public int compare(ArticleManager.ArticleRecordData record1, ArticleManager.ArticleRecordData record2) { - return record2.dateTime.compareTo(record1.dateTime); - } + public static class DateSortComparator implements Comparator + { + public int compare(ArticleManager.ArticleRecordData record1, ArticleManager.ArticleRecordData record2) + { + return record2.dateTime.compareTo(record1.dateTime); + } } - public ArticleDataSource(Context context, BashgidSqliteHelper dbHelper) { @@ -48,7 +46,6 @@ public class ArticleDataSource if (database != null) { - try { ContentValues values = new ContentValues(); @@ -65,13 +62,13 @@ public class ArticleDataSource values.put(BashgidSqliteHelper.COLUMN_EXTERNAL_LINK_TEXT, recordData.externalLinkText); values.put(BashgidSqliteHelper.COLUMN_DATE_TIME, ArticleManager.iso8601Format.format(recordData.dateTime)); values.put(BashgidSqliteHelper.COLUMN_HIDDEN, recordData.hidden); - + if (!innerIsArticleAlreadyExist(recordData.name, database)) { database.insert(BashgidSqliteHelper.TABLE_ARTICLE, null, values); } else { - database.update(BashgidSqliteHelper.TABLE_ARTICLE, values, BashgidSqliteHelper.COLUMN_NAME + " = " +"\"" + recordData.name +"\"", null); + database.update(BashgidSqliteHelper.TABLE_ARTICLE, values, BashgidSqliteHelper.COLUMN_NAME + " = " + "'" + DatabaseDownloadTask.sqlEscapeString_withquotes(recordData.name) + "'", null); } } finally @@ -81,12 +78,12 @@ public class ArticleDataSource } } - + public boolean IsArticleAlreadyExist(String name) { boolean result = false; - - SQLiteDatabase database = dbHelper.getWritableDatabase(); + + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -94,18 +91,17 @@ public class ArticleDataSource try { result = innerIsArticleAlreadyExist(name, database); - } finally { dbHelper.close(); } } - + return result; } - + public void AddAlbumToArticle(String albumName, String articleName) { SQLiteDatabase database = dbHelper.getWritableDatabase(); @@ -122,11 +118,10 @@ public class ArticleDataSource if (!innerAlbumArticleRelationAlreadyExist(albumName, articleName, database)) { - //Log.e("a", "aaa1"); + database.insert(BashgidSqliteHelper.TABLE_ALBUM_ARTICLE_RELATION, null, values); - //Log.e("a", "aaa2"); - } - //Log.e("a", "aaa3"); + + } } finally { @@ -134,7 +129,7 @@ public class ArticleDataSource } } } - + public void AddChannelToArticle(String channelName, String articleName) { SQLiteDatabase database = dbHelper.getWritableDatabase(); @@ -151,11 +146,8 @@ public class ArticleDataSource if (!innerChannelArticleRelationAlreadyExist(channelName, articleName, database)) { - //Log.e("a", "aaa1"); database.insert(BashgidSqliteHelper.TABLE_CHANNEL_ARTICLE_RELATION, null, values); - //Log.e("a", "aaa2"); - } - //Log.e("a", "aaa3"); + } } finally { @@ -163,132 +155,130 @@ public class ArticleDataSource } } } - + public ArticleFullData GetArticleFullData(String name) { ArticleFullData result = null; - - SQLiteDatabase database = dbHelper.getWritableDatabase(); - + + SQLiteDatabase database = dbHelper.getReadableDatabase(); + if (database != null) { try { - result = InnerGetArticleFullData(name, database); - - + } finally { dbHelper.close(); } } - + return result; } - + public ArticleFullData InnerGetArticleFullData(String name, SQLiteDatabase database) { - ArticleFullData result = null; - - - ArticleRecordData recordData = innerGetArticleByName(name, database); - - if (recordData != null) - { - - result = new ArticleFullData(recordData); - - ArrayList albumNameArr = innerGetAlbumNameArrInArticle(name, database); + ArticleFullData result = new ArticleFullData(ArticleManager.CreateEmptyArticle()); - for (String albumName : albumNameArr) - { - result.albumArr.add(MainActivity.getInstance().albumDataSource.InnerGetAlbumFullData(albumName, database)); - } - - ArrayList channelNameArr = innerGetChannelNameArrInArticle(name, database); + ArticleRecordData recordData = innerGetArticleByName(name, database); + + if (recordData != null) + { + + result = new ArticleFullData(recordData); + + ArrayList albumNameArr = innerGetAlbumNameArrInArticle(name, database); + + for (String albumName : albumNameArr) + { + result.albumArr.add(MainActivity.getInstance().albumDataSource.InnerGetAlbumFullData(albumName, database)); + } + + ArrayList channelNameArr = innerGetChannelNameArrInArticle(name, database); + + for (String channelName : channelNameArr) + { + result.channelArr.add(MainActivity.getInstance().channelDataSource.InnerGetChannelFullData(channelName, database)); + } + + result.title = MainActivity.getInstance().translationDataSource.TryTranslateText(result.title, database); + result.content = MainActivity.getInstance().translationDataSource.TryTranslateText(result.content, database); + result.address = MainActivity.getInstance().translationDataSource.TryTranslateText(result.address, database); + result.externalLink = MainActivity.getInstance().translationDataSource.TryTranslateText(result.externalLink, database); + result.externalLinkText = MainActivity.getInstance().translationDataSource.TryTranslateText(result.externalLinkText, database); + + if (result.type == ArticleManager.ARTICLE_TYPE_NEWS) + { + result.title = Html.fromHtml(result.title).toString(); + result.content = Html.fromHtml(result.content).toString(); + } + + } - for (String channelName : channelNameArr) - { - result.channelArr.add(MainActivity.getInstance().channelDataSource.InnerGetChannelFullData(channelName, database)); - } - - result.title = MainActivity.getInstance().translationDataSource.TryTranslateText(result.title, database); - result.content = MainActivity.getInstance().translationDataSource.TryTranslateText(result.content, database); - result.address = MainActivity.getInstance().translationDataSource.TryTranslateText(result.address, database); - result.externalLink = MainActivity.getInstance().translationDataSource.TryTranslateText(result.externalLink, database); - result.externalLinkText = MainActivity.getInstance().translationDataSource.TryTranslateText(result.externalLinkText, database); - - - - } - - return result; } - - + public ArticleShortData GetArticleShortData(String name) { - ArticleShortData result = null; - - SQLiteDatabase database = dbHelper.getWritableDatabase(); - + ArticleShortData result = new ArticleShortData(ArticleManager.CreateEmptyArticle()); + + SQLiteDatabase database = dbHelper.getReadableDatabase(); + if (database != null) { try { - + result = InnerGetArticleShortData(name, database); - - + } finally { dbHelper.close(); } } - + return result; } - + public ArrayList SearchArticleByTitleOrText(String query) { ArrayList result = new ArrayList(); - - SQLiteDatabase database = dbHelper.getWritableDatabase(); - + + SQLiteDatabase database = dbHelper.getReadableDatabase(); + if (database != null) { try { ArrayList articleNameArr = InnerSearchArticleByTitleOrText(query, database); - + for (String articleName : articleNameArr) { result.add(InnerGetArticleShortData(articleName, database)); } - + } finally { dbHelper.close(); } } - + return result; } - + public ArrayList SearchArticleByTitleOrTextInJournal(String query, String journalName) { ArrayList result = new ArrayList(); - - SQLiteDatabase database = dbHelper.getWritableDatabase(); - + + SQLiteDatabase database = dbHelper.getReadableDatabase(); + if (database != null) { try { ArrayList articleNameArr = InnerSearchArticleByTitleOrText(query, database); - + for (String articleName : articleNameArr) { if (MainActivity.getInstance().journalDataSource.InnerArticleJournalRelationAlreadyExist(articleName, journalName, database)) @@ -296,51 +286,50 @@ public class ArticleDataSource result.add(InnerGetArticleShortData(articleName, database)); } } - + } finally { dbHelper.close(); } } - + return result; } public ArrayList SearchArticleByQuery(String query) { ArrayList result = new ArrayList(); - - SQLiteDatabase database = dbHelper.getWritableDatabase(); - + + SQLiteDatabase database = dbHelper.getReadableDatabase(); + if (database != null) { try { result = InnerSearchArticleByQuery(query, database); - - + } finally { dbHelper.close(); } } - + return result; } - + public ArrayList SearchArticleByQueryAndJournal(String query, String journalName) { ArrayList result = new ArrayList(); - - SQLiteDatabase database = dbHelper.getWritableDatabase(); - + + SQLiteDatabase database = dbHelper.getReadableDatabase(); + if (database != null) { try { - + ArrayList intermediateResult = InnerSearchArticleByQuery(query, database); - + for (ArticleShortData article : intermediateResult) { if (MainActivity.getInstance().journalDataSource.InnerArticleJournalRelationAlreadyExist(article.name, journalName, database)) @@ -348,44 +337,40 @@ public class ArticleDataSource result.add(article); } } - - + } finally { dbHelper.close(); } } - - return result; - } - - public ArrayList InnerSearchArticleByQuery(String query, SQLiteDatabase database) - { - ArrayList result = new ArrayList(); - - - ArrayList recordDataArr = innerGetArticlesByQuery(query, database); - - for (int i = 0; i < recordDataArr.size(); i++) - { - ArticleShortData article = new ArticleShortData(recordDataArr.get(i)); - - article.previewImageUrl = getPreviewImageUrlForArticle(recordDataArr.get(i).name, database); - - result.add(article); - } - return result; } - - + + public ArrayList InnerSearchArticleByQuery(String query, SQLiteDatabase database) + { + ArrayList result = new ArrayList(); + + ArrayList recordDataArr = innerGetArticlesByQuery(query, database); + + for (int i = 0; i < recordDataArr.size(); i++) + { + ArticleShortData article = new ArticleShortData(recordDataArr.get(i)); + + article.previewImageUrl = getPreviewImageUrlForArticle(recordDataArr.get(i).name, database); + + result.add(article); + } + + return result; + } + public boolean InnerArticleIsHidden(String name, SQLiteDatabase database) { boolean result = false; - - Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE, new String[] { BashgidSqliteHelper.COLUMN_NAME }, - BashgidSqliteHelper.COLUMN_NAME + "=? AND " +BashgidSqliteHelper.COLUMN_HIDDEN + "=1", new String[] { name }, null, null, null, null); + + Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE, new String[] { BashgidSqliteHelper.COLUMN_NAME }, BashgidSqliteHelper.COLUMN_NAME + + "=? AND " + BashgidSqliteHelper.COLUMN_HIDDEN + "=1", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -393,82 +378,83 @@ public class ArticleDataSource { result = true; } - + cursor.close(); cursor = null; - } - + } + return result; } - - - + public ArticleShortData InnerGetArticleShortData(String name, SQLiteDatabase database) { - ArticleShortData result = null; - - - ArticleRecordData recordData = innerGetArticleByName(name, database); - - if (recordData != null) - { - - result = new ArticleShortData(recordData); - - result.previewImageUrl = getPreviewImageUrlForArticle(name, database); - - result.title = MainActivity.getInstance().translationDataSource.TryTranslateText(result.title, database); - result.content = MainActivity.getInstance().translationDataSource.TryTranslateText(result.content, database); - result.externalLink = MainActivity.getInstance().translationDataSource.TryTranslateText(result.externalLink, database); + ArticleShortData result = new ArticleShortData(ArticleManager.CreateEmptyArticle()); + + ArticleRecordData recordData = innerGetArticleByName(name, database); + + if (recordData != null) + { + + result = new ArticleShortData(recordData); + + result.previewImageUrl = getPreviewImageUrlForArticle(name, database); + + result.title = MainActivity.getInstance().translationDataSource.TryTranslateText(result.title, database); + result.content = MainActivity.getInstance().translationDataSource.TryTranslateText(result.content, database); + result.externalLink = MainActivity.getInstance().translationDataSource.TryTranslateText(result.externalLink, database); + result.externalLinkText = MainActivity.getInstance().translationDataSource.TryTranslateText(result.externalLinkText, database); - - } - - + if (result.type == ArticleManager.ARTICLE_TYPE_NEWS) + { + result.title = Html.fromHtml(result.title).toString(); + result.content = Html.fromHtml(result.content).toString(); + } + } + return result; } - + private String getPreviewImageUrlForArticle(String name, SQLiteDatabase database) { String result = "R.drawable.no_picture"; - + ArrayList albumNameArr = innerGetAlbumNameArrInArticle(name, database); - + if (albumNameArr.size() > 0) { AlbumFullData album = MainActivity.getInstance().albumDataSource.InnerGetAlbumFullData(albumNameArr.get(0), database); - + if (album.photoRecordArr.size() > 0) { result = album.photoRecordArr.get(0).imageUrl; } - + } - + if (result.equals("R.drawable.no_picture")) { ArrayList channelNameArr = innerGetChannelNameArrInArticle(name, database); - + if (channelNameArr.size() > 0) { ChannelFullData channelFullData = MainActivity.getInstance().channelDataSource.InnerGetChannelFullData(channelNameArr.get(0), database); - + if (channelFullData.videoRecordArr.size() > 0) { result = channelFullData.videoRecordArr.get(0).previewImageUrl; } } } - + return result; } - + private boolean innerIsArticleAlreadyExist(String name, SQLiteDatabase database) { boolean result = false; - - Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE, new String[] { BashgidSqliteHelper.COLUMN_NAME }, - BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { name }, null, null, null, null); + + Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE, new String[] { BashgidSqliteHelper.COLUMN_NAME }, BashgidSqliteHelper.COLUMN_NAME + + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -476,23 +462,22 @@ public class ArticleDataSource { result = true; } - + cursor.close(); cursor = null; - } - + } + return result; } - - - + private boolean innerAlbumArticleRelationAlreadyExist(String albumName, String articleName, SQLiteDatabase database) { boolean result = false; - - Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ALBUM_ARTICLE_RELATION, new String[] { BashgidSqliteHelper.COLUMN_ALBUM_NAME, BashgidSqliteHelper.COLUMN_ARTICLE_NAME }, - BashgidSqliteHelper.COLUMN_ALBUM_NAME + "=?" + " AND " + BashgidSqliteHelper.COLUMN_ARTICLE_NAME + "=?", new String[] { albumName, articleName }, null, null, null, null); + + Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ALBUM_ARTICLE_RELATION, new String[] { BashgidSqliteHelper.COLUMN_ALBUM_NAME, + BashgidSqliteHelper.COLUMN_ARTICLE_NAME }, BashgidSqliteHelper.COLUMN_ALBUM_NAME + "=?" + " AND " + BashgidSqliteHelper.COLUMN_ARTICLE_NAME + + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(albumName), DatabaseDownloadTask.sqlEscapeString(articleName) }, null, null, null, null); if (cursor != null) { @@ -502,18 +487,19 @@ public class ArticleDataSource } cursor.close(); cursor = null; - } - + } + return result; } - + private boolean innerChannelArticleRelationAlreadyExist(String channelName, String articleName, SQLiteDatabase database) { boolean result = false; - - Cursor cursor = database.query(BashgidSqliteHelper.TABLE_CHANNEL_ARTICLE_RELATION, new String[] { BashgidSqliteHelper.COLUMN_CHANNEL_NAME, BashgidSqliteHelper.COLUMN_ARTICLE_NAME }, - BashgidSqliteHelper.COLUMN_CHANNEL_NAME + "=?" + " AND " + BashgidSqliteHelper.COLUMN_ARTICLE_NAME + "=?", new String[] { channelName, articleName }, null, null, null, null); + + Cursor cursor = database.query(BashgidSqliteHelper.TABLE_CHANNEL_ARTICLE_RELATION, new String[] { BashgidSqliteHelper.COLUMN_CHANNEL_NAME, + BashgidSqliteHelper.COLUMN_ARTICLE_NAME }, BashgidSqliteHelper.COLUMN_CHANNEL_NAME + "=?" + " AND " + BashgidSqliteHelper.COLUMN_ARTICLE_NAME + + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(channelName), DatabaseDownloadTask.sqlEscapeString(articleName) }, null, null, null, null); if (cursor != null) { @@ -521,182 +507,131 @@ public class ArticleDataSource { result = true; } - + cursor.close(); cursor = null; - } - + } + return result; } - + private ArticleRecordData innerGetArticleByName(String name, SQLiteDatabase database) { - - ArticleRecordData result = null; - - Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE, new String[] { - BashgidSqliteHelper.COLUMN_NAME, - BashgidSqliteHelper.COLUMN_TYPE, - BashgidSqliteHelper.COLUMN_TITLE, - BashgidSqliteHelper.COLUMN_CONTENT, - BashgidSqliteHelper.COLUMN_GEOLAT, - BashgidSqliteHelper.COLUMN_GEOLON, - BashgidSqliteHelper.COLUMN_ADDRESS, - BashgidSqliteHelper.COLUMN_PHONE, - BashgidSqliteHelper.COLUMN_EXTERNAL_LINK, - BashgidSqliteHelper.COLUMN_EXTERNAL_LINK_TEXT, - BashgidSqliteHelper.COLUMN_DATE_TIME, - BashgidSqliteHelper.COLUMN_HIDDEN - }, - BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { name }, null, null, null, null); + + ArticleRecordData result = ArticleManager.CreateEmptyArticle(); + + Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE, new String[] { BashgidSqliteHelper.COLUMN_NAME, BashgidSqliteHelper.COLUMN_TYPE, + BashgidSqliteHelper.COLUMN_TITLE, BashgidSqliteHelper.COLUMN_CONTENT, BashgidSqliteHelper.COLUMN_GEOLAT, BashgidSqliteHelper.COLUMN_GEOLON, + BashgidSqliteHelper.COLUMN_ADDRESS, BashgidSqliteHelper.COLUMN_PHONE, BashgidSqliteHelper.COLUMN_EXTERNAL_LINK, + BashgidSqliteHelper.COLUMN_EXTERNAL_LINK_TEXT, BashgidSqliteHelper.COLUMN_DATE_TIME, BashgidSqliteHelper.COLUMN_HIDDEN }, + BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { if (cursor.moveToFirst()) { - + Date d = new Date(); - + try { d = ArticleManager.iso8601Format.parse(cursor.getString(10)); - } - catch(ParseException e) + } catch (ParseException e) { Log.e("aaa", "aaa!!!!!"); } - - result = new ArticleRecordData( - cursor.getString(0), - cursor.getInt(1), - cursor.getString(2), - cursor.getString(3), - cursor.getDouble(4), - cursor.getDouble(5), - cursor.getString(6), - cursor.getString(7), - cursor.getString(8), - cursor.getString(9), - d, - cursor.getInt(11) - ); + + result = new ArticleRecordData(cursor.getString(0), cursor.getInt(1), cursor.getString(2), cursor.getString(3), cursor.getDouble(4), + cursor.getDouble(5), cursor.getString(6), cursor.getString(7), cursor.getString(8), cursor.getString(9), d, cursor.getInt(11)); } - + cursor.close(); cursor = null; - } - + } + return result; } - + private ArrayList innerGetArticlesByQuery(String query, SQLiteDatabase database) { - + ArrayList result = new ArrayList(); - - Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE, new String[] { - BashgidSqliteHelper.COLUMN_NAME, - BashgidSqliteHelper.COLUMN_TYPE, - BashgidSqliteHelper.COLUMN_TITLE, - BashgidSqliteHelper.COLUMN_CONTENT, - BashgidSqliteHelper.COLUMN_GEOLAT, - BashgidSqliteHelper.COLUMN_GEOLON, - BashgidSqliteHelper.COLUMN_ADDRESS, - BashgidSqliteHelper.COLUMN_PHONE, - BashgidSqliteHelper.COLUMN_EXTERNAL_LINK, - BashgidSqliteHelper.COLUMN_EXTERNAL_LINK_TEXT, - BashgidSqliteHelper.COLUMN_DATE_TIME, - BashgidSqliteHelper.COLUMN_HIDDEN - }, - BashgidSqliteHelper.COLUMN_TITLE + " LIKE ?", new String[] { "%" + query + "%" }, null, null, null, null); + + Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE, new String[] { BashgidSqliteHelper.COLUMN_NAME, BashgidSqliteHelper.COLUMN_TYPE, + BashgidSqliteHelper.COLUMN_TITLE, BashgidSqliteHelper.COLUMN_CONTENT, BashgidSqliteHelper.COLUMN_GEOLAT, BashgidSqliteHelper.COLUMN_GEOLON, + BashgidSqliteHelper.COLUMN_ADDRESS, BashgidSqliteHelper.COLUMN_PHONE, BashgidSqliteHelper.COLUMN_EXTERNAL_LINK, + BashgidSqliteHelper.COLUMN_EXTERNAL_LINK_TEXT, BashgidSqliteHelper.COLUMN_DATE_TIME, BashgidSqliteHelper.COLUMN_HIDDEN }, + BashgidSqliteHelper.COLUMN_TITLE + " LIKE ?", new String[] { "%" + DatabaseDownloadTask.sqlEscapeString(query) + "%" }, null, null, null, null); if (cursor != null) { if (cursor.moveToFirst()) { - + do { - - Date d = new Date(); - - try - { - d = ArticleManager.iso8601Format.parse(cursor.getString(10)); - } - catch(ParseException e) - { - Log.e("aaa", "aaa!!!!!"); - } - - result.add(new ArticleRecordData( - cursor.getString(0), - cursor.getInt(1), - cursor.getString(2), - cursor.getString(3), - cursor.getDouble(4), - cursor.getDouble(5), - cursor.getString(6), - cursor.getString(7), - cursor.getString(8), - cursor.getString(9), - d, - cursor.getInt(11) - )); - - } - while (cursor.moveToNext()); + + Date d = new Date(); + + try + { + d = ArticleManager.iso8601Format.parse(cursor.getString(10)); + } catch (ParseException e) + { + Log.e("aaa", "aaa!!!!!"); + } + + result.add(new ArticleRecordData(cursor.getString(0), cursor.getInt(1), cursor.getString(2), cursor.getString(3), cursor.getDouble(4), + cursor.getDouble(5), cursor.getString(6), cursor.getString(7), cursor.getString(8), cursor.getString(9), d, cursor.getInt(11))); + + } while (cursor.moveToNext()); } - + cursor.close(); cursor = null; - } - + } + return result; } - - + private ArrayList InnerSearchArticleByTitleOrText(String query, SQLiteDatabase database) { - + ArrayList result = new ArrayList(); - - Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE, new String[] { - BashgidSqliteHelper.COLUMN_NAME - }, - BashgidSqliteHelper.COLUMN_TITLE + " = ? OR " + BashgidSqliteHelper.COLUMN_CONTENT + " = ?", new String[] { query, query }, null, null, null, null); + + Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE, new String[] { BashgidSqliteHelper.COLUMN_NAME }, BashgidSqliteHelper.COLUMN_TITLE + + " = ? OR " + BashgidSqliteHelper.COLUMN_CONTENT + " = ?", new String[] { DatabaseDownloadTask.sqlEscapeString(query), DatabaseDownloadTask.sqlEscapeString(query) }, null, null, null, null); if (cursor != null) { if (cursor.moveToFirst()) { - + do { - - result.add(cursor.getString(0)); - - } - while (cursor.moveToNext()); + + result.add(cursor.getString(0)); + + } while (cursor.moveToNext()); } - + cursor.close(); cursor = null; - } - + } + return result; } - + public ArrayList innerGetAlbumNameArrInArticle(String name, SQLiteDatabase database) { ArrayList result = new ArrayList(); - + Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ALBUM_ARTICLE_RELATION, new String[] { BashgidSqliteHelper.COLUMN_ALBUM_NAME }, - BashgidSqliteHelper.COLUMN_ARTICLE_NAME + "=?", new String[] { name }, null, null, null, null); + BashgidSqliteHelper.COLUMN_ARTICLE_NAME + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -705,25 +640,24 @@ public class ArticleDataSource do { result.add(cursor.getString(0)); - } - while (cursor.moveToNext()); - + } while (cursor.moveToNext()); + } - + cursor.close(); cursor = null; - } - + } + return result; } - + private ArrayList innerGetChannelNameArrInArticle(String name, SQLiteDatabase database) { ArrayList result = new ArrayList(); - + Cursor cursor = database.query(BashgidSqliteHelper.TABLE_CHANNEL_ARTICLE_RELATION, new String[] { BashgidSqliteHelper.COLUMN_CHANNEL_NAME }, - BashgidSqliteHelper.COLUMN_ARTICLE_NAME + "=?", new String[] { name }, null, null, null, null); + BashgidSqliteHelper.COLUMN_ARTICLE_NAME + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -732,19 +666,16 @@ public class ArticleDataSource do { result.add(cursor.getString(0)); - } - while (cursor.moveToNext()); - + } while (cursor.moveToNext()); + } - + cursor.close(); cursor = null; - } - + } + return result; } - - } diff --git a/android/src/fishrungames/bashgid/core/db/BashgidSqliteHelper.java b/android/src/fishrungames/bashgid/core/db/BashgidSqliteHelper.java index 388f873..26cf439 100644 --- a/android/src/fishrungames/bashgid/core/db/BashgidSqliteHelper.java +++ b/android/src/fishrungames/bashgid/core/db/BashgidSqliteHelper.java @@ -180,6 +180,7 @@ public class BashgidSqliteHelper extends SQLiteOpenHelper @Override public SQLiteDatabase getWritableDatabase() { + SQLiteDatabase result = null; try @@ -200,6 +201,36 @@ public class BashgidSqliteHelper extends SQLiteOpenHelper return result; + //return super.getWritableDatabase(); + + } + + @Override + public SQLiteDatabase getReadableDatabase() + { + + SQLiteDatabase result = null; + + try + { + mutex.acquire(); + try + { + result = super.getReadableDatabase(); + + } catch (Exception e) + { + mutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error in getWritableDatabase()", "Error in getWritableDatabase()"); + } + + return result; + + //return super.getReadableDatabase(); + } @Override diff --git a/android/src/fishrungames/bashgid/core/db/ChannelDataSource.java b/android/src/fishrungames/bashgid/core/db/ChannelDataSource.java index 3630bb8..fc4d9e2 100644 --- a/android/src/fishrungames/bashgid/core/db/ChannelDataSource.java +++ b/android/src/fishrungames/bashgid/core/db/ChannelDataSource.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import fishrungames.bashgid.MainActivity; import fishrungames.bashgid.core.ChannelManager; +import fishrungames.bashgid.core.DatabaseDownloadTask; import fishrungames.bashgid.core.ChannelManager.ChannelFullData; import fishrungames.bashgid.core.ChannelManager.ChannelRecordData; @@ -46,7 +47,7 @@ public class ChannelDataSource database.insert(BashgidSqliteHelper.TABLE_CHANNEL, null, values); } else { - database.update(BashgidSqliteHelper.TABLE_CHANNEL, values, BashgidSqliteHelper.COLUMN_NAME + " = " + "\"" + recordData.name + "\"", null); + database.update(BashgidSqliteHelper.TABLE_CHANNEL, values, BashgidSqliteHelper.COLUMN_NAME + " = " + "'" + DatabaseDownloadTask.sqlEscapeString_withquotes(recordData.name) + "'", null); } } finally @@ -61,7 +62,7 @@ public class ChannelDataSource { boolean result = false; - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -108,9 +109,9 @@ public class ChannelDataSource public ChannelFullData GetChannelFullData(String name) { - ChannelFullData result = null; + ChannelFullData result = ChannelManager.CreateEmptyChannel(); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -131,7 +132,7 @@ public class ChannelDataSource public ChannelFullData InnerGetChannelFullData(String name, SQLiteDatabase database) { - ChannelFullData result = null; + ChannelFullData result = ChannelManager.CreateEmptyChannel(); ChannelRecordData recordData = InnerGetChannelByName(name, database); @@ -160,7 +161,7 @@ public class ChannelDataSource boolean result = false; Cursor cursor = database.query(BashgidSqliteHelper.TABLE_CHANNEL, new String[] { BashgidSqliteHelper.COLUMN_NAME }, BashgidSqliteHelper.COLUMN_NAME - + "=?", new String[] { name }, null, null, null, null); + + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -183,7 +184,7 @@ public class ChannelDataSource Cursor cursor = database.query(BashgidSqliteHelper.TABLE_VIDEO_CHANNEL_RELATION, new String[] { BashgidSqliteHelper.COLUMN_VIDEO_URL, BashgidSqliteHelper.COLUMN_NAME }, BashgidSqliteHelper.COLUMN_VIDEO_URL + "=?" + " AND " + BashgidSqliteHelper.COLUMN_NAME + "=?", - new String[] { videoUrl, name }, null, null, null, null); + new String[] { DatabaseDownloadTask.sqlEscapeString(videoUrl), DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -205,7 +206,7 @@ public class ChannelDataSource ArrayList result = new ArrayList(); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_VIDEO_CHANNEL_RELATION, new String[] { BashgidSqliteHelper.COLUMN_VIDEO_URL }, - BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { name }, null, null, null, null); + BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -228,10 +229,10 @@ public class ChannelDataSource public ChannelRecordData InnerGetChannelByName(String name, SQLiteDatabase database) { - ChannelRecordData result = null; + ChannelRecordData result = new ChannelRecordData("", "", "", 1); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_CHANNEL, new String[] { BashgidSqliteHelper.COLUMN_NAME, BashgidSqliteHelper.COLUMN_TITLE, - BashgidSqliteHelper.COLUMN_DESCRIPTION, BashgidSqliteHelper.COLUMN_HIDDEN }, BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { name }, + BashgidSqliteHelper.COLUMN_DESCRIPTION, BashgidSqliteHelper.COLUMN_HIDDEN }, BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) diff --git a/android/src/fishrungames/bashgid/core/db/JournalDataSource.java b/android/src/fishrungames/bashgid/core/db/JournalDataSource.java index f26d654..cfb35bf 100644 --- a/android/src/fishrungames/bashgid/core/db/JournalDataSource.java +++ b/android/src/fishrungames/bashgid/core/db/JournalDataSource.java @@ -6,6 +6,7 @@ import java.util.Collections; import fishrungames.bashgid.MainActivity; import fishrungames.bashgid.core.ArticleManager; +import fishrungames.bashgid.core.DatabaseDownloadTask; import fishrungames.bashgid.core.ArticleManager.ArticleShortData; import fishrungames.bashgid.core.JournalManager; import fishrungames.bashgid.core.JournalManager.JournalRecordData; @@ -52,7 +53,7 @@ public class JournalDataSource } else { // Replace - database.update(BashgidSqliteHelper.TABLE_JOURNAL, values, BashgidSqliteHelper.COLUMN_NAME + " = " + "\"" + recordData.name + "\"", null); + database.update(BashgidSqliteHelper.TABLE_JOURNAL, values, BashgidSqliteHelper.COLUMN_NAME + " = " + "'" + DatabaseDownloadTask.sqlEscapeString_withquotes(recordData.name) + "'", null); } } finally @@ -67,7 +68,7 @@ public class JournalDataSource { boolean result = false; - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -126,9 +127,9 @@ public class JournalDataSource public JournalSemiFullData GetJournalSemiFullData(String name, String startAfterArticleName, int count) { - JournalSemiFullData result = null; + JournalSemiFullData result = JournalManager.CreateEmptyJournalSemiFull(); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -149,7 +150,7 @@ public class JournalDataSource public ArrayList GetAllJournalListExceptHidden(int count) { ArrayList result = new ArrayList(); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -216,7 +217,7 @@ public class JournalDataSource // Xperimental - need to create a real superjournal ArrayList result = new ArrayList(); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -282,7 +283,7 @@ public class JournalDataSource public ArrayList GetGeoJournalList() { ArrayList result = new ArrayList(); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -332,7 +333,7 @@ public class JournalDataSource public JournalSemiFullData InnerGetJournalSemiFullData(String name, SQLiteDatabase database, String startAfterArticleName, int count) { - JournalSemiFullData result = null; + JournalSemiFullData result = JournalManager.CreateEmptyJournalSemiFull(); JournalRecordData recordData = innerGetJournalByName(name, database); @@ -395,7 +396,7 @@ public class JournalDataSource boolean result = false; Cursor cursor = database.query(BashgidSqliteHelper.TABLE_JOURNAL, new String[] { BashgidSqliteHelper.COLUMN_NAME }, BashgidSqliteHelper.COLUMN_NAME - + "=?", new String[] { name }, null, null, null, null); + + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -418,7 +419,7 @@ public class JournalDataSource Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE_JOURNAL_RELATION, new String[] { BashgidSqliteHelper.COLUMN_ARTICLE_NAME, BashgidSqliteHelper.COLUMN_JOURNAL_NAME }, BashgidSqliteHelper.COLUMN_ARTICLE_NAME + "=?" + " AND " + BashgidSqliteHelper.COLUMN_JOURNAL_NAME - + "=?", new String[] { articleName, journalName }, null, null, null, null); + + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(articleName), DatabaseDownloadTask.sqlEscapeString(journalName) }, null, null, null, null); if (cursor != null) { @@ -440,7 +441,7 @@ public class JournalDataSource ArrayList result = new ArrayList(); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE_JOURNAL_RELATION, new String[] { BashgidSqliteHelper.COLUMN_ARTICLE_NAME }, - BashgidSqliteHelper.COLUMN_JOURNAL_NAME + "=?", new String[] { name }, null, null, null, null); + BashgidSqliteHelper.COLUMN_JOURNAL_NAME + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -466,7 +467,7 @@ public class JournalDataSource ArrayList result = new ArrayList(); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_ARTICLE_JOURNAL_RELATION, new String[] { BashgidSqliteHelper.COLUMN_ARTICLE_NAME }, - BashgidSqliteHelper.COLUMN_JOURNAL_NAME + "=?", new String[] { name }, null, null, null, null); + BashgidSqliteHelper.COLUMN_JOURNAL_NAME + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -492,11 +493,11 @@ public class JournalDataSource public JournalRecordData innerGetJournalByName(String name, SQLiteDatabase database) { - JournalRecordData result = null; + JournalRecordData result = JournalManager.CreateEmptyJournal(); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_JOURNAL, new String[] { BashgidSqliteHelper.COLUMN_NAME, BashgidSqliteHelper.COLUMN_TITLE, BashgidSqliteHelper.COLUMN_DESCRIPTION, BashgidSqliteHelper.COLUMN_HIDDEN, BashgidSqliteHelper.COLUMN_GEOCATEGORY, - BashgidSqliteHelper.COLUMN_MAIN }, BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { name }, null, null, null, null); + BashgidSqliteHelper.COLUMN_MAIN }, BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { diff --git a/android/src/fishrungames/bashgid/core/db/PhotoDataSource.java b/android/src/fishrungames/bashgid/core/db/PhotoDataSource.java index 0f016dc..b891924 100644 --- a/android/src/fishrungames/bashgid/core/db/PhotoDataSource.java +++ b/android/src/fishrungames/bashgid/core/db/PhotoDataSource.java @@ -1,6 +1,7 @@ package fishrungames.bashgid.core.db; import fishrungames.bashgid.MainActivity; +import fishrungames.bashgid.core.DatabaseDownloadTask; import fishrungames.bashgid.core.PhotoManager.PhotoRecordData; import android.content.ContentValues; @@ -45,7 +46,7 @@ public class PhotoDataSource database.insert(BashgidSqliteHelper.TABLE_PHOTO, null, values); } else { - database.update(BashgidSqliteHelper.TABLE_PHOTO, values, BashgidSqliteHelper.COLUMN_IMAGE_URL + " = " + "\"" + recordData.imageUrl + "\"", + database.update(BashgidSqliteHelper.TABLE_PHOTO, values, BashgidSqliteHelper.COLUMN_IMAGE_URL + " = " + "'" + DatabaseDownloadTask.sqlEscapeString_withquotes(recordData.imageUrl) + "'", null); } @@ -59,9 +60,9 @@ public class PhotoDataSource public PhotoRecordData GetPhotoByImageUrl(String imageUrl) { - PhotoRecordData result = null; + PhotoRecordData result = new PhotoRecordData("", "", "", "", 0, 0); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -81,11 +82,11 @@ public class PhotoDataSource public PhotoRecordData InnerGetPhotoByImageUrl(String imageUrl, SQLiteDatabase database) { - PhotoRecordData result = null; + PhotoRecordData result = new PhotoRecordData("", "", "", "", 0, 0); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_PHOTO, new String[] { BashgidSqliteHelper.COLUMN_TITLE, BashgidSqliteHelper.COLUMN_DESCRIPTION, BashgidSqliteHelper.COLUMN_IMAGE_URL, BashgidSqliteHelper.COLUMN_IMAGE_HASH, - BashgidSqliteHelper.COLUMN_GEOLAT, BashgidSqliteHelper.COLUMN_GEOLON }, BashgidSqliteHelper.COLUMN_IMAGE_URL + "=?", new String[] { imageUrl }, + BashgidSqliteHelper.COLUMN_GEOLAT, BashgidSqliteHelper.COLUMN_GEOLON }, BashgidSqliteHelper.COLUMN_IMAGE_URL + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(imageUrl) }, null, null, null, null); if (cursor != null) @@ -113,7 +114,7 @@ public class PhotoDataSource boolean result = false; Cursor cursor = database.query(BashgidSqliteHelper.TABLE_PHOTO, new String[] { BashgidSqliteHelper.COLUMN_IMAGE_URL }, - BashgidSqliteHelper.COLUMN_IMAGE_URL + "=?", new String[] { imageUrl }, null, null, null, null); + BashgidSqliteHelper.COLUMN_IMAGE_URL + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(imageUrl) }, null, null, null, null); if (cursor != null) { diff --git a/android/src/fishrungames/bashgid/core/db/TranslationDataSource.java b/android/src/fishrungames/bashgid/core/db/TranslationDataSource.java index ae49060..adb2dba 100644 --- a/android/src/fishrungames/bashgid/core/db/TranslationDataSource.java +++ b/android/src/fishrungames/bashgid/core/db/TranslationDataSource.java @@ -3,6 +3,8 @@ package fishrungames.bashgid.core.db; import java.util.ArrayList; import java.util.Locale; +import fishrungames.bashgid.core.DatabaseDownloadTask; +import fishrungames.bashgid.core.TranslationManager; import fishrungames.bashgid.core.TranslationManager.TranslationRecordData; import android.content.ContentValues; @@ -46,7 +48,7 @@ public class TranslationDataSource database.insert(BashgidSqliteHelper.TABLE_TRANSLATION, null, values); } else { - database.update(BashgidSqliteHelper.TABLE_TRANSLATION, values, BashgidSqliteHelper.COLUMN_NAME + " = " + "\"" + recordData.name + "\"", + database.update(BashgidSqliteHelper.TABLE_TRANSLATION, values, BashgidSqliteHelper.COLUMN_NAME + " = " + "'" + DatabaseDownloadTask.sqlEscapeString_withquotes(recordData.name) + "'", null); } @@ -83,7 +85,7 @@ public class TranslationDataSource { ArrayList result = new ArrayList(); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -105,7 +107,7 @@ public class TranslationDataSource { ArrayList result = new ArrayList(); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -127,7 +129,7 @@ public class TranslationDataSource { ArrayList result = new ArrayList(); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -147,9 +149,9 @@ public class TranslationDataSource public TranslationRecordData GetTranslationRecordData(String name) { - TranslationRecordData result = null; + TranslationRecordData result = TranslationManager.CreateEmptyTranslation(); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -172,7 +174,7 @@ public class TranslationDataSource boolean result = false; Cursor cursor = database.query(BashgidSqliteHelper.TABLE_TRANSLATION, new String[] { BashgidSqliteHelper.COLUMN_NAME }, BashgidSqliteHelper.COLUMN_NAME - + "=?", new String[] { name }, null, null, null, null); + + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -193,12 +195,12 @@ public class TranslationDataSource public TranslationRecordData innerGetTranslationByName(String name, SQLiteDatabase database) { - TranslationRecordData result = null; + TranslationRecordData result = TranslationManager.CreateEmptyTranslation(); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_TRANSLATION, new String[] { BashgidSqliteHelper.COLUMN_NAME, BashgidSqliteHelper.COLUMN_TEXT_EN, BashgidSqliteHelper.COLUMN_TEXT_RU, BashgidSqliteHelper.COLUMN_TEXT_ZH, BashgidSqliteHelper.COLUMN_TEXT_EN_UP, BashgidSqliteHelper.COLUMN_TEXT_RU_UP, BashgidSqliteHelper.COLUMN_TEXT_ZH_UP }, - BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { name }, null, null, null, null); + BashgidSqliteHelper.COLUMN_NAME + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(name) }, null, null, null, null); if (cursor != null) { @@ -222,7 +224,7 @@ public class TranslationDataSource ArrayList result = new ArrayList(); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_TRANSLATION, new String[] { BashgidSqliteHelper.COLUMN_NAME }, - BashgidSqliteHelper.COLUMN_TEXT_RU_UP + " LIKE ?", new String[] { "%" + partString + "%" }, null, null, null, null); + BashgidSqliteHelper.COLUMN_TEXT_RU_UP + " LIKE ?", new String[] { "%" + DatabaseDownloadTask.sqlEscapeString(partString) + "%" }, null, null, null, null); if (cursor != null) { @@ -248,7 +250,7 @@ public class TranslationDataSource ArrayList result = new ArrayList(); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_TRANSLATION, new String[] { BashgidSqliteHelper.COLUMN_NAME }, - BashgidSqliteHelper.COLUMN_TEXT_EN_UP + " LIKE ?", new String[] { "%" + partString + "%" }, null, null, null, null); + BashgidSqliteHelper.COLUMN_TEXT_EN_UP + " LIKE ?", new String[] { "%" + DatabaseDownloadTask.sqlEscapeString(partString) + "%" }, null, null, null, null); if (cursor != null) { @@ -274,7 +276,7 @@ public class TranslationDataSource ArrayList result = new ArrayList(); Cursor cursor = database.query(BashgidSqliteHelper.TABLE_TRANSLATION, new String[] { BashgidSqliteHelper.COLUMN_NAME }, - BashgidSqliteHelper.COLUMN_TEXT_ZH_UP + " LIKE ?", new String[] { "%" + partString + "%" }, null, null, null, null); + BashgidSqliteHelper.COLUMN_TEXT_ZH_UP + " LIKE ?", new String[] { "%" + DatabaseDownloadTask.sqlEscapeString(partString) + "%" }, null, null, null, null); if (cursor != null) { diff --git a/android/src/fishrungames/bashgid/core/db/VideoDataSource.java b/android/src/fishrungames/bashgid/core/db/VideoDataSource.java index 7d325c0..3f525a6 100644 --- a/android/src/fishrungames/bashgid/core/db/VideoDataSource.java +++ b/android/src/fishrungames/bashgid/core/db/VideoDataSource.java @@ -1,6 +1,7 @@ package fishrungames.bashgid.core.db; import fishrungames.bashgid.MainActivity; +import fishrungames.bashgid.core.DatabaseDownloadTask; import fishrungames.bashgid.core.VideoManager.VideoRecordData; import android.content.ContentValues; @@ -43,7 +44,7 @@ public class VideoDataSource database.insert(BashgidSqliteHelper.TABLE_VIDEO, null, values); } else { - database.update(BashgidSqliteHelper.TABLE_VIDEO, values, BashgidSqliteHelper.COLUMN_VIDEO_URL + " = " + "\"" + recordData.videoUrl + "\"", + database.update(BashgidSqliteHelper.TABLE_VIDEO, values, BashgidSqliteHelper.COLUMN_VIDEO_URL + " = " + "'" + DatabaseDownloadTask.sqlEscapeString_withquotes(recordData.videoUrl) + "'", null); } @@ -57,9 +58,9 @@ public class VideoDataSource public VideoRecordData GetVideoByVideoUrl(String videoUrl) { - VideoRecordData result = null; + VideoRecordData result = new VideoRecordData(0, "", "", "", "", ""); - SQLiteDatabase database = dbHelper.getWritableDatabase(); + SQLiteDatabase database = dbHelper.getReadableDatabase(); if (database != null) { @@ -79,12 +80,12 @@ public class VideoDataSource public VideoRecordData InnerGetVideoByVideoUrl(String videoUrl, SQLiteDatabase database) { - VideoRecordData result = null; + VideoRecordData result = new VideoRecordData(0, "", "", "", "", ""); Cursor cursor = database .query(BashgidSqliteHelper.TABLE_VIDEO, new String[] { BashgidSqliteHelper.COLUMN_TYPE, BashgidSqliteHelper.COLUMN_VIDEO_URL, BashgidSqliteHelper.COLUMN_TITLE, BashgidSqliteHelper.COLUMN_DESCRIPTION, BashgidSqliteHelper.COLUMN_PREVIEW_IMAGE_URL, - BashgidSqliteHelper.COLUMN_PREVIEW_IMAGE_HASH }, BashgidSqliteHelper.COLUMN_VIDEO_URL + "=?", new String[] { videoUrl }, null, null, + BashgidSqliteHelper.COLUMN_PREVIEW_IMAGE_HASH }, BashgidSqliteHelper.COLUMN_VIDEO_URL + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(videoUrl) }, null, null, null, null); if (cursor != null) @@ -112,7 +113,7 @@ public class VideoDataSource boolean result = false; Cursor cursor = database.query(BashgidSqliteHelper.TABLE_VIDEO, new String[] { BashgidSqliteHelper.COLUMN_VIDEO_URL }, - BashgidSqliteHelper.COLUMN_VIDEO_URL + "=?", new String[] { videoUrl }, null, null, null, null); + BashgidSqliteHelper.COLUMN_VIDEO_URL + "=?", new String[] { DatabaseDownloadTask.sqlEscapeString(videoUrl) }, null, null, null, null); if (cursor != null) {