From 85ea7550f43eedfce1f3a3ad85d34e8e5156d6af Mon Sep 17 00:00:00 2001 From: seven332 Date: Tue, 14 Apr 2015 17:26:36 +0800 Subject: [PATCH] Add gallery favorite status parse --- .../com/hippo/ehviewer/data/GalleryDetail.java | 2 ++ .../hippo/ehviewer/ehclient/DetailParser.java | 17 +++++++++++------ .../com/hippo/ehviewer/ehclient/EhClient.java | 1 + .../ehviewer/ui/GalleryDetailActivity.java | 6 +++++- .../res/drawable-hdpi/ic_favorite_outline.png | Bin 0 -> 1286 bytes .../res/drawable-mdpi/ic_favorite_outline.png | Bin 0 -> 886 bytes .../res/drawable-xhdpi/ic_favorite_outline.png | Bin 0 -> 1653 bytes .../drawable-xxhdpi/ic_favorite_outline.png | Bin 0 -> 2588 bytes 8 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/ic_favorite_outline.png create mode 100644 app/src/main/res/drawable-mdpi/ic_favorite_outline.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_favorite_outline.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_favorite_outline.png diff --git a/app/src/main/java/com/hippo/ehviewer/data/GalleryDetail.java b/app/src/main/java/com/hippo/ehviewer/data/GalleryDetail.java index 0080ca325..e7e7b7d1d 100644 --- a/app/src/main/java/com/hippo/ehviewer/data/GalleryDetail.java +++ b/app/src/main/java/com/hippo/ehviewer/data/GalleryDetail.java @@ -39,6 +39,8 @@ public class GalleryDetail extends GalleryInfo */ public LinkedHashMap> tags; + public boolean isFavorite; + // For Preview public int previewSum; public int previewPerPage; diff --git a/app/src/main/java/com/hippo/ehviewer/ehclient/DetailParser.java b/app/src/main/java/com/hippo/ehviewer/ehclient/DetailParser.java index 561d9ddfd..ae83773a6 100644 --- a/app/src/main/java/com/hippo/ehviewer/ehclient/DetailParser.java +++ b/app/src/main/java/com/hippo/ehviewer/ehclient/DetailParser.java @@ -63,6 +63,7 @@ public class DetailParser { public String language; public int people; public float rating; + public boolean isFavorite; public String firstPage; public int previewPerPage; public int previewSum; @@ -135,12 +136,12 @@ public class DetailParser { + "

([^<>]+)

" // title + "

([^<>]*)

" // title_jpn might be empty string + "" - + ".+" + + ".+?" + "]*onclick=\"return popUp\\('([^']+)'[^)]+\\)\">Torrent Download \\( (\\d+) \\)" - + ".+" + + ".+?" + "
]+><[^<>]*alt=\"([\\w|\\-]+)\"[^<>]*>
" // category + "
]+>([^<>]+)" // uploader - + ".+" + + ".+?" + "]*>Posted:]*>([\\w|\\-|\\s|:]+)" // posted //+ "]*>Images:]*>([\\d]+) @ ([\\w|\\.|\\s]+)" // pages and size //+ "]*>Resized:]*>([^<>]+)" // resized @@ -150,11 +151,13 @@ public class DetailParser { + "]*>File Size:]*>([^<>]+)(?:]*>([^<>]+))?" // File size and resize + "]*>Length:]*>([\\d|,]+) pages" // pages + "]*>Favorited:<[^<>]*>([^<>]+)" // Favorite times ([\d|,]+) times or Never - + ".+" + + ".+?" + "([\\d|,]+)" // people + "" + "]*>([^<>]+)" // rating - + ".+" + + ".+?" + + "]*>(.+?)" + + ".+?" + "
]*>(?:]*>)?]*href=\"([^<>\"]+)\"[^<>]*>"); // get firstPage m = p.matcher(body); if (m.find()) { @@ -184,7 +187,9 @@ public class DetailParser { else rating = Float.NaN; - firstPage = m.group(18); + isFavorite = "Favorite Gallery".equals(m.group(18)); + + firstPage = m.group(19); } } // Get tag diff --git a/app/src/main/java/com/hippo/ehviewer/ehclient/EhClient.java b/app/src/main/java/com/hippo/ehviewer/ehclient/EhClient.java index ccc3d91e0..340a62c39 100644 --- a/app/src/main/java/com/hippo/ehviewer/ehclient/EhClient.java +++ b/app/src/main/java/com/hippo/ehviewer/ehclient/EhClient.java @@ -719,6 +719,7 @@ public class EhClient { md.firstPage = parser.firstPage; md.previewPerPage = parser.previewPerPage; md.previewSum = parser.previewSum; + md.isFavorite = parser.isFavorite; md.tags = parser.tags; md.previewLists = new PreviewList[md.previewSum]; diff --git a/app/src/main/java/com/hippo/ehviewer/ui/GalleryDetailActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/GalleryDetailActivity.java index 677995a3c..1cf2cd24e 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/GalleryDetailActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/GalleryDetailActivity.java @@ -84,13 +84,14 @@ import com.hippo.ehviewer.drawable.OvalDrawable; import com.hippo.ehviewer.effect.ripple.RippleSalon; import com.hippo.ehviewer.ehclient.DetailUrlParser; import com.hippo.ehviewer.ehclient.EhClient; +import com.hippo.ehviewer.miscellaneous.ActivityHelper; import com.hippo.ehviewer.miscellaneous.Downloader; import com.hippo.ehviewer.service.DownloadService; import com.hippo.ehviewer.util.AppConfig; -import com.hippo.ehviewer.miscellaneous.ActivityHelper; import com.hippo.ehviewer.util.Config; import com.hippo.ehviewer.util.Constants; import com.hippo.ehviewer.util.Favorite; +import com.hippo.ehviewer.util.Log; import com.hippo.ehviewer.util.Ui; import com.hippo.ehviewer.util.ViewUtils; import com.hippo.ehviewer.widget.AutoWrapLayout; @@ -665,6 +666,9 @@ public class GalleryDetailActivity extends AbsTranslucentActivity if (mGalleryInfo instanceof GalleryDetail) { GalleryDetail galleryDetail = (GalleryDetail)mGalleryInfo; + // TODO handle favorite + Log.d("TAG", "favorite " + galleryDetail.isFavorite); + if (galleryDetail.torrents.length > 0) { mTorrent.setVisibility(View.VISIBLE); } diff --git a/app/src/main/res/drawable-hdpi/ic_favorite_outline.png b/app/src/main/res/drawable-hdpi/ic_favorite_outline.png new file mode 100644 index 0000000000000000000000000000000000000000..f544ca7235fe5fe31512b650cc1e2de111d02704 GIT binary patch literal 1286 zcmV+h1^N1kP)IS6BH((ouFlc(g{K*AOlo_PCz@5tpH?j?IOB7Unj?3BFq*?9 zL_ofUd*r!OIq2{OK7~P>5u^bV&FMBS`=p!70|^n1c)?nc+Z-x6(+W}qm$DTh8_R7p z(-RpKroSu*LisB}u?>Vst)vgEGtnH;I*VQEX379cq$-bu$Dd>h5S0G>O|TxJ*w!)& zrVfNsaf|jB1Ro~`|Bo;N8O0V&z=1k#Q*y>y4%`+Fw7(^^FQ?^Cm|tPj$^{%vC7lmW zrF{(ciAexX^hhx`57qaMkR^*iF!#_l#jT7(f`V%waHLOh^o)rW6%dJ4GP{9X0Sl+h zlae_f$+bd{)JV5Kg`t)87^IIh4 z7FP5!AnSQStf!Ex7$Gb>6ck@Hgop-xKz)x~11l$rYs8A=mPp?P+uHhXA?*hcIO{j$ z<&!>7HPC&6JoZ*zq^p)18zgZ&Ik(bDu0Fw;5FB&PDvSB&_U1+Mv_oFxZ6V(i9O}N` zyn49nSFs8YU=CZJh#2(*4&|gsdhX;~T{XWXOtrWtPCFqK-8rk-r#lM>rVeE z>9F-sPp8f6+(qqr5S*Hz>`5)SBCj2UBXpvaNKdL0A^~v}C=EH?9(GV?Q7l`Wc2#bH zQ%|`b8Ex^bbx0a;L@_$X9tw%=P8n^7BWbhp*MY-Ihor162pW$W{a|I|mZSkkIO8ex z)P10-L?{iXs<%m{@iHA7Z@gV7iu1IL|#KPU{~?1>4hvCr`W z$Ty_6;8^(}%jkB3N!bJ_fo~j+QwuV*BxQ$OzN>W$s#wyPSi8xU$=Jb^9lM6(1rR{W zH45Ci59*Fg&!6R9`r^3^&~dJe>3>jX6cIZE$RKyo5mDnk`QBOa4#+V3^_p;Y5|Bek zjlpRgkmmA4E6XRX1G0eB%6fMzfB@2r(LN$BY%B6!0wN}ZUb5rf074+O4yO}03iXA-o3jc?}Lh> z|84wyct~O12f)2o*j>MiEr6GBd4#D*Pl#8}FyCMvnMca0|!?Li@sSJup7PT|A2naUb4_XtXj zR3KmDw{rt?in7kkcN66L#{*#fC)`|=kQ{)IEm1{*?l7|0j3eUKEw~HBr3|Zr#imi< z2l3L?db0?RoFT3RcgZ`eIy zyO94_lfMa439WJ=kC;bhPdt8MHrb(Pq{xY|dG3jMATU#JAH&I2rV_CVN%(=1^K zRME%=$0_;j)$zZnK!|$ZN58-+K!&Fg8k-FFiB@pwV=+PnC{AU<#QYg%=&>xHB@^xs zO)YdG5?Y02Ykgz#6D;#h1xny{*KFb~<%OOdl&|r^Sbu9aG~byQ=a^Y<6?slfUG>!r zqd9|9pc`+obPA!?`a2Jxl{ZWWbQ)3#l*RSt8+}EXiEPD`!l^~0;&ZH-D!D?AbSB1# zlQBK+5-hVD!1_wYl4)-ZD?|)YIWWdE###@(%l1Ea#>3j!$?tE;7F%< zRyds%=wP`yCtS<0sjuZ22UxqL5+TStH}xoJ&pcKHFZ%y3yubJ+@9Y7Mm~;;MaX5_k z(od6(>ycw`1+;c=CnymKF2LJ#7 M07*qoM6N<$f{ZnZ^8f$< literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_favorite_outline.png b/app/src/main/res/drawable-xhdpi/ic_favorite_outline.png new file mode 100644 index 0000000000000000000000000000000000000000..026c01420e718b1bb684f1cae035f6a2e6c96fe0 GIT binary patch literal 1653 zcmV-*28#KKP)SAegBTnDBC zf^`2cserfwLIpqtKm{=sVE!W!Du_F{ba3u~^M-NcBz8Qr?{#)0D@JC_Y1y$|BkDVWcR}N_m#_lRQgUD{}z?Lr56MM&|LXT0Gwa(iCZ>seOA}X zG%)~lt?wAFF5x5;aMk*jP7qKvWL|yzsjjKyqj-bz>Uyghmumuj+R!zYd|a(-W}E=% z?ThNVQP7Ys>v*ZIC)u9X(Dk~fm&1_Xu6@LD$5Rt`pF8s>A|d zkX5{H$5&--Ui@jc$gvdki_eg-hT?N0Fgy@9N ze^nG291fhZLa>U)7@_KUWy|=ZB8r-|g^L&)BfGg^W8vT{+QLodgK_eNv2W zIevFR*S+x|Itb(b5?xPLJuKBQXLAp|Or>z^yw{-Xl4uRw75%CsxMm`@Z~^>nulNRP z)-oW9`reri@IluUTpCvDxv8T}_{IhB8x6}L%q%6rztT0kDnY{a9s%I{vAw_04Su6x zTc0f%e;0;yO_QqmH^6bvmk1*DmVey`SwYG7A;t;$`N6T;WFTg7WDKE+67fIg{kWx zr`-?72)lJ<>w+j*?mR%O6r$hE90@hKngK->O(UI%H zcF4Um(T8(ElokEO!Kw0d?fo2s1>u%GjAgf{Z`k*q_wr1^=e>SS@cl>I(?@*_^$p0( z?PE;3WyxrVzmKpzA^`joB`lr7f#`GV{R>7rEt9qFSL#|1;5*AGZsqZurmLZ?l&Gg< z9lP~f2>_o?-2?h@4xuR=QTia>mUfMkohxFnvzW5GI379)(6(1bTcXWR?b7aBl1z!N zC>i*mOg$6U>q$-$0A@2IDmjHM+C%I8B4rR}eIa`9qCAY;)NSc=OkoX=z~=+*oOs&< zW|ualT+ORM4@hMzN;v@jT)?ezzmM`9l#N-GGf+F9>GRB~%(-domm{J=34~zr&@Dj_ z{Q6X8p@o1332T8ic|(FkrI-uqsZ8?TP>G|XUbrI(@P&@V3T@7Xo_sqr5+uOC6}9e2 zQekSH1ZUlm1o%=%cU2T_^_~P<;42}(cM@!ZuZ#d+Nw5vRQUahsqSdyHlOR!(=xA9{ zMpPeBnh9jfb#$~e2>wzK{DRRZC(T&^G)|_5r}knX60UNuR;jBNP)}iV6BThObDfqT z0e+?fd@UBBsKKq}iHB&FCVs-is>!?V61ATb7O1CI%Xa2fW{tVAfbJytMl3*qC2ZLD z(q2J)pXk)NG4PENAV~sgp4}Jljkur|cO=rdddtfM0sdS9{M2+!JS#PTBunFWX3e^u zI~WUSSVG3c%U`yxDZpM$ufVrv0S(Z&OL-M^7yM_VZWW9zGpj}Zm}QY2FzXCj_rN|_ z0u+$IdX}p>MYnU;z<1696lKlUv)e%sppXP- z!FQejU$fgm5gJpj;iw=%f&>wk{{jpEmICESc;6?{00000NkvXXu0mjf%$*Be literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_favorite_outline.png b/app/src/main/res/drawable-xxhdpi/ic_favorite_outline.png new file mode 100644 index 0000000000000000000000000000000000000000..1a261d29e065426d755dd422a135664732194972 GIT binary patch literal 2588 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