From 13cbb7507e4843f91e4fa80528e448db06009241 Mon Sep 17 00:00:00 2001
From: seven332
Date: Thu, 5 Jun 2014 19:18:59 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AE=8C=E6=88=90=E6=94=B6?=
=?UTF-8?q?=E8=97=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
res/drawable-hdpi/ic_action_delete.png | Bin 0 -> 898 bytes
res/drawable-hdpi/ic_action_delete_dark.png | Bin 0 -> 1090 bytes
res/drawable-hdpi/ic_action_list.png | Bin 0 -> 818 bytes
res/drawable-hdpi/ic_action_list_dark.png | Bin 0 -> 941 bytes
res/drawable-hdpi/ic_action_move.png | Bin 0 -> 1005 bytes
res/drawable-hdpi/ic_action_move_dark.png | Bin 0 -> 1138 bytes
res/drawable-mdpi/ic_action_delete.png | Bin 0 -> 576 bytes
res/drawable-mdpi/ic_action_delete_dark.png | Bin 0 -> 689 bytes
res/drawable-mdpi/ic_action_list.png | Bin 0 -> 493 bytes
res/drawable-mdpi/ic_action_list_dark.png | Bin 0 -> 562 bytes
res/drawable-mdpi/ic_action_move.png | Bin 0 -> 602 bytes
res/drawable-mdpi/ic_action_move_dark.png | Bin 0 -> 723 bytes
res/drawable-xhdpi/ic_action_delete.png | Bin 0 -> 1146 bytes
res/drawable-xhdpi/ic_action_delete_dark.png | Bin 0 -> 1394 bytes
res/drawable-xhdpi/ic_action_list.png | Bin 0 -> 1114 bytes
res/drawable-xhdpi/ic_action_list_dark.png | Bin 0 -> 1302 bytes
res/drawable-xhdpi/ic_action_move.png | Bin 0 -> 1354 bytes
res/drawable-xhdpi/ic_action_move_dark.png | Bin 0 -> 1559 bytes
res/drawable-xxhdpi/card_bg_activated.9.png | Bin 0 -> 17525 bytes
res/drawable-xxhdpi/ic_action_delete.png | Bin 0 -> 1843 bytes
res/drawable-xxhdpi/ic_action_delete_dark.png | Bin 0 -> 2161 bytes
res/drawable-xxhdpi/ic_action_list.png | Bin 0 -> 1754 bytes
res/drawable-xxhdpi/ic_action_list_dark.png | Bin 0 -> 1994 bytes
res/drawable-xxhdpi/ic_action_move.png | Bin 0 -> 2161 bytes
res/drawable-xxhdpi/ic_action_move_dark.png | Bin 0 -> 2484 bytes
res/drawable/list_item_bg.xml | 3 +
res/layout/favorite_menu.xml | 24 ++
res/layout/favourite.xml | 17 +-
res/{xml/settings.xml => menu/favorite.xml} | 16 +-
res/menu/favorite_choice.xml | 27 ++
res/values-zh-rCN/strings.xml | 4 +
res/values/colors.xml | 11 +
res/values/strings.xml | 4 +
src/com/hippo/ehviewer/ehclient/EhClient.java | 36 +-
.../hippo/ehviewer/ehclient/ListParser.java | 5 +-
.../hippo/ehviewer/network/HttpHelper.java | 1 +
.../hippo/ehviewer/ui/FavouriteActivity.java | 340 ++++++++++++++----
37 files changed, 397 insertions(+), 91 deletions(-)
create mode 100644 res/drawable-hdpi/ic_action_delete.png
create mode 100644 res/drawable-hdpi/ic_action_delete_dark.png
create mode 100644 res/drawable-hdpi/ic_action_list.png
create mode 100644 res/drawable-hdpi/ic_action_list_dark.png
create mode 100644 res/drawable-hdpi/ic_action_move.png
create mode 100644 res/drawable-hdpi/ic_action_move_dark.png
create mode 100644 res/drawable-mdpi/ic_action_delete.png
create mode 100644 res/drawable-mdpi/ic_action_delete_dark.png
create mode 100644 res/drawable-mdpi/ic_action_list.png
create mode 100644 res/drawable-mdpi/ic_action_list_dark.png
create mode 100644 res/drawable-mdpi/ic_action_move.png
create mode 100644 res/drawable-mdpi/ic_action_move_dark.png
create mode 100644 res/drawable-xhdpi/ic_action_delete.png
create mode 100644 res/drawable-xhdpi/ic_action_delete_dark.png
create mode 100644 res/drawable-xhdpi/ic_action_list.png
create mode 100644 res/drawable-xhdpi/ic_action_list_dark.png
create mode 100644 res/drawable-xhdpi/ic_action_move.png
create mode 100644 res/drawable-xhdpi/ic_action_move_dark.png
create mode 100644 res/drawable-xxhdpi/card_bg_activated.9.png
create mode 100644 res/drawable-xxhdpi/ic_action_delete.png
create mode 100644 res/drawable-xxhdpi/ic_action_delete_dark.png
create mode 100644 res/drawable-xxhdpi/ic_action_list.png
create mode 100644 res/drawable-xxhdpi/ic_action_list_dark.png
create mode 100644 res/drawable-xxhdpi/ic_action_move.png
create mode 100644 res/drawable-xxhdpi/ic_action_move_dark.png
create mode 100644 res/layout/favorite_menu.xml
rename res/{xml/settings.xml => menu/favorite.xml} (66%)
create mode 100644 res/menu/favorite_choice.xml
diff --git a/res/drawable-hdpi/ic_action_delete.png b/res/drawable-hdpi/ic_action_delete.png
new file mode 100644
index 0000000000000000000000000000000000000000..878b378aae88ff48e5dc8c6150488d1bc62ca5d3
GIT binary patch
literal 898
zcmV-|1AY97P)dtLfn_*Td_tsRI1#
z5v-2De>DQdVzCcE{X2mw=5o1DSwd$vg(!X!g&jg8I|Jaqi$Ltk3L;B@6%@5SL1AqG
z)Fy~a6p|%CJ&xN@0d0zLpU!XlP`3xT%^6@@O2=W5mFKyPkz!
zqtYt$fX`ZbUnZ`)EYJ-QX9kp(&cP8xKaS=1fvB{SE!>0N0D}x;txRG|h&gu}Dj@Zi1Ts
zC#)yL3$PTUomR6z{2l<#S#x>;7Gkv9Y8HrZ0HDd5(+g0C(SEC0Abu+V&DNY=fH@c)
zwweXvHv(|On$ruQi|)A9ED*mM04)lp<^|CH_ms&g99$2;qi|UJ2rq!{x)-cwf%wG$
z=80OZ;l_fIqrYn
zJiu&ca6SY7TLv6uWo7PkP)?^aJ~T8GvJ%>|67uCd$pB4F
zO)JO7#!k)!fB^um0^qEwsI@g<;cu
zOje43Tad{CWX)da2j>@L&4PW;ntIvO(-V+5o{+UFf(d2JTsyirw
zx9IptbiWbpUyOe@p5$-pW(}#%apvIshJv0D_c{`KBa3)Bv>7
zOITYhwwQXtcUtICjV?6+88|ob60fm4WsdolL+o{l~w?dfyB2Yu{t#X8Q70CpV(sR34StgQ=>}_z?Qm|$Te$>CeI<09c-oBG`eyD
z*aX0CjnNbUcL8{!(WM5McouBucWbs6`E-t%FLK;_L}|xac2{gdB_y@T8y^
zG&y)vZ@DRY(hxMnx3K;`nKk32r*~&}Iy1XW!^h0_c30I`)m`0N>owGP^J?7whMYj!
z5zHfyN1#d%L@uF1p)d>ChrkK27L0?tV8HXd?^WteY`TrWZnRtgivrqy@_q{feL)K#
zJBQD!z}&58iB8U0vmbW04+(o-j`S4IgGyUxCAue
zq`|X8^qmcEWR}rp`r5!e2P8ft^D+9gbf-1j5?adWPOuLw2H)ffpiTVFfuR+Nw60q`
zI~%DRz&fBzFpBZYM44$WH{Ohp%n8hhn=MM}KLTvz1vo&b?F1WmB5jX{_1n^DBZH5C
zgJ304J{|)75Yc-knvK9QEYx8Zyx-_lybZ2F;&+jOe;?Y)XBP*VqW&r>ecK4!XJV_t
z&6D(u+^fK3tz~?@JU5ZH3R)^$`qi=6q0&ya6
z3E{eWyNG~JensGNTmr|L&}G;IgY;bu?SWxA+MBh$_2icRT>YRy3f&c&j
literal 0
HcmV?d00001
diff --git a/res/drawable-hdpi/ic_action_list_dark.png b/res/drawable-hdpi/ic_action_list_dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..f8688d898848a0ad8f9d8cceed4aaa5180f1dc56
GIT binary patch
literal 941
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
Xyualk29@S200000NkvXXu0mjf75y{1
literal 0
HcmV?d00001
diff --git a/res/drawable-mdpi/ic_action_list.png b/res/drawable-mdpi/ic_action_list.png
new file mode 100644
index 0000000000000000000000000000000000000000..f9f8a2f9ca5be28d8df73c6300322e35f51ae7d2
GIT binary patch
literal 493
zcmVgw4Nejp`4toYyW-s^}vkBOT
z&?`s>7;R|*qm1Ka0$ufdLA=7(iA_Kcgk{jCYaox&n`@M)JYyHI*J{3*z#mZ^M&+lk
z4Wq6gF5lDzs>S+s4P3Jg4{?M1Wp5HNgTW$bRBZz`5mD4#(4vLOHg(k(LVU#6yR8e(
zAhZh7IYw(*z&hhJ@U5L&e9b2*;0^(EHUYB`7Jy3gE7&O8f)3{DUGpw@r7igJPpMRd
z0~lt(4Z-g{f;pS`?xk}88!?>%^sl&y^ncn`5cj*O2D)*oj^B200k;43Fk$Fn>%21aS($Y_)0J_(NPz5BGG?g92orr8b=+RWiv({+%&pENr;uIy90?X
zDuD{E=OthWRND6lv;$q*m)`sCd8g-|UJ~&5A|BTdOaSpcLFeL
zn&uX$54SaN0S$b)EyNo4Ul)*AEGD6_!MY)9y#Lye^#sGl+c7}k1@odPh9I05h~{nB
zB7^end|(ZQHz2?uZ5!NA(FGN{33LIElEdf(ULUBI%jIvUE;vNdsZJ1{Rj_bE*Qr!$
z8y&LB%Loqi3LiM&1^^$}0iczU0*J@s>+k^j2}HY3AW2dL`d~I9!!RtcSMBu_TM@$Z
zqbMFi!t>Zg$V)G8o^OqaKyX1Q_J{XmZu9yWNT<^?=<`j8Faj|?*6a1lvHpzE1vv=N
z_IC^)SZp?%835xkA`7hOFtrCKAMkb{=^e?y#vQb9Mp1*ErC~-gL4e-Q>?I2dxWo+5<%n
zC`viVfua!B=T~pH=ULnA?pwRb)TcKyZ|3*=&Ua?VquF9yv>4~N{R{ZwfY<9yU`sp}
zY|Fc*X=N&L;#Pq23XH2XIH)}TCkK=R#JvDqsX$~6T*4}6*j%o9nJPv0OI_f%FVqKaV;MoD^ao*R(^0ff}j*AKZc1(lEv
z9f4MCnFGE+I3ZRKLkY;CtA|XI_XS(I?_DHYkg6wa;hCrhl!GSwEN(2pwE5z(!~y++
z5!3{=7>O
zSB_wuvDe12$^!I@Xo1PEunwESPB`P`T*&SB2=gG<@*8vH=j$)Z0s`3=tPcShymx_z
zqyw}YsE<$=_o5@f{5?Rsl}tUb1(Ns@0o}hQKoaR9s;OSVjCtEE-GV>$MHK3pGmlsP
oq>Hbw;z*Yr&iwy>&0_ArCruVJFh1j>=ob*e*d(T|3mJQ$%zLiXiIL$Dw0g
zBIsZd8w57$7(!6QLM=rQv`~~Y&e-n_jagZj*-2Akg@<|P^?je`|NlSF^ZF`{4EQ4r
zIR3~AfKCOZTrPK`2WhcNrP2u}eufr+V+I{8+X_0~-%SC>4u&3pq9{q9&!+(NqpGUU
zc$#+5eN`Zv%}z*?bR3&)Hk%s=tWun}`U&8V?_@IR4+H||2|QOWm#+e5(&O|9N+nvIGJ?upw*)~6KS=P-;rSir#0I@Nj&&xR4i=2A^;A2YXy(r6ap;#=w
zkHuoaXf%3;`Eg7DD*#r5`3J^Ur(&*)Fr7}Xqq>jaaEr~UU?*6|Fs)v%->%ha-@2tq
z%)18Ac1l|Ej1OX?FujKwTTy2fj4v(5xMvEq9nt6GC^1bsHX4R;neldjtfok>EycY3
zoofZ+@pvE{4o}e;y9n-WIh=2?9%b$^?RTH|1qV-06rd%yA@c#8MSkZ|lHSn`1x?e`
zL?RIhg+gbUUW3g6V-{C>YEyv>+_y(H&PXsubhbJDU2Wlq~_
z%mU0D&B3}7t07Re`2!#}UB5e;k
z)8@Da9H!v^xe+-e+;y4bE8WoDivO1RviGn2H5<4BzW~k6iZBi+f7<{6002ovPDHLk
FV1ilHN?rf}
literal 0
HcmV?d00001
diff --git a/res/drawable-xhdpi/ic_action_delete.png b/res/drawable-xhdpi/ic_action_delete.png
new file mode 100644
index 0000000000000000000000000000000000000000..09ce75e296fc2584e5d5ef904a640da50ff676ca
GIT binary patch
literal 1146
zcmV-=1cm#FP)KfklT=ce+Sc}g|&`sXD8k{-~^
z2_!?HnRkF>5=@3bHikfLZEZf~OvhR{mRF5mNh+24#Xla`e+tgVVe)0Sb8(wF=$V~uLt}T@qj19s1W5cj9L971=
zJ{wvQ3`BaVe97}&%$CHb*dsG~(AP+_T!^z|5~R}YC}#?0lh`P%vr=T8SnqhggWbd~
z1LKQtIo<%M{6s`-#Jc*5iJ1Q_{yTwC7BSyn?g{{%ZN!Xxh!0L=Et?|&Gg2b@Dd
zKOYeuc`E@>=#f7Gpcn$hw7?{vR`AGMMi0oevkVQb0AMRX5jF?w9a^Hs;W=UKfOX1u
zCGZB2t`Bp8#j>^EmcgOHv+V;6kWaFu?ipt1hzD4OJyY>opP=cyG64073HAql`K<@m
z9kcyG#{f!wJ3*`LN9;ZJ8heFR`L=Q=#
zSCpd!a2-LdG26e}c(rkBUAQLb)}Q&b1CN~t(r1Ey>tJVu^g*e8FkHF>L&)Y6n`1^`
z-vKb;e*DY0JbYaDFLiS(0qj`hZrXTu-m~e)I|wk8Ko@=Em7le1OO$9P)Yy`5wubv$|1&H
z0337h3w2Qfm`iD1FDF9P{&6S~dPhS`)Ho~#z&%AMB>+3CpHhf&h*1Op
zd*|StlmP5<#4bs)kqQA&sVGPZpc{g&C`38Lm<)h74t}97N&xoy+h%6F9*;BG^>~5m
zO|cAs)tDES<$TyXyf{-0mA4ydNm2u_H?@5v${G$*4FG!sElFwsCs1X#LUAV9>o60k
z2C#^jE8?s@v1JFLH~<(>I}y&q?2bU0z7y;uwoi30CbitL{o<1o7$^hs4@
zzJ--iar>i`G)ad*eae8*lkW#%cC%xbq_#?Qz--xU8RYrNr(KNNpQG(2$^Ic`8=c2g
z+MZ)eu>*)rxhQY~Km;;p!z4W*XPZtWJm~=a+0bRyxu0sfmPPz(3HzyJUM
M07*qoM6N<$g0ax`VgLXD
literal 0
HcmV?d00001
diff --git a/res/drawable-xhdpi/ic_action_delete_dark.png b/res/drawable-xhdpi/ic_action_delete_dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..94f7c8c1c6fe3f5f84d1fe3fe0ebd34759489c56
GIT binary patch
literal 1394
zcmV-&1WNP)N5xVH2exTq&q$1J9Fq03PLSY1jMAVEQlcr4OGyd){10n6?-Z%HWp_9A^;XZQD
zJ?Gs2`=4{~xp#b9Hu>Y*GTK90Eoq6`v75l!va8D
zr-|#P3|Jj58g#Yjs`20%5EkSWx_j&
z={_d&keaB^=c}l8ofTn4iPb~oKiUj`S#2?pxAkWcsxihxW~pB)3Mn42V0j5g~E5XD}i+gta93y
zNF<`H*ZcTiA5KQ=xuM&1Vol`KQn$c_=V*Upt9&h)OsaRaXRv-G0l3K-#SWebV1xl?
zJI>$9dx*(&vpEW|!Kv*8d9U(Xrmsj}9@!hnF7lqEc*@#-<@Hc<6#(nc(*^}%01OWg
zAIN62lXG)(c{lxzMx&ufBogPW;718NVgRrsJO^b1IF+f#>tDR*p!O0B&j*9S0yRRJ
z0;rP9q7r
z`)aV^L_8jU0ct)b;gn7Xq4ooZtDoxRO!~zbKnNVc;8P|>1!TS@1TG5bkz)WM@GK$l
zjD%A<9fZKwguoX%Ig@@#20V?yLncNAWG=ygZv^y+GTf}uN#Q=Z-dvHvoLen`8&}U%4FFHAselY;J+KzIJWpznm;;@q8$n4b2
z%#1o0w0^_@AOv>sWz;2!>kmvjK?p2J7!m_uY;0^B7nULwnr>oT#Ewr)OkCH=ne>YR
zP`@8Ii_xHoVGEfO_W`d-ofL}!pe95;@E(mi!*lalVi)+jlmSrySP9-CKJS%s?pAup
zGk>!J9Fwvk3IGgHH?@6I&Na~^b{wYkO9Rl3f=H|o5(hv5%5r#!qUg!`9f24b)Lj5N
z)j7atC>6OEbOV6eg!#4CZZ<`aQ?(7^c*F(;Car!Xb%o8(_tVqU^ESF}nNy?{uGPmu
z$z6bOzxu@(ePJfEmG@rSVB;c0U6cS;iFTQGiB|nWOx+0oPT8y8U3)}xfNNg5sMrI*
zMQ}Spwa0*t_)IQ3=`p}Xa63Y^$AFIbOfEY4Kdr$AUsfC)ga7~l07*qoM6N<$g0Rbh
A$^ZZW
literal 0
HcmV?d00001
diff --git a/res/drawable-xhdpi/ic_action_list.png b/res/drawable-xhdpi/ic_action_list.png
new file mode 100644
index 0000000000000000000000000000000000000000..c912b39aa5bd0fe7ea0b72bf06cc68b68cee8cd3
GIT binary patch
literal 1114
zcmV-g1f~0lP)cu@wqg@%}sP~VoIPju-sh}U|K{x3Ykimh{?`3VwJY(GDslhYIRab+lsE&f
z3zT>OxIxf$0oMgA7-(*8?n$+|U?~^~et`#|I+aS*S%`>j6=N6hoL`3ri$Q0fCyhLx
zfP|~D_0V9L4FSuLu_=r5Y0>Zbu>=yn`gK9x1pYS#bZujT6roSR9qiKYoW+KKv$P&-
za9}HnZf4fO`B6Mqfd0U!rvL{=0)fFlT)79ivg@7AK|k&l1@JnskU3LOjJ
zT#!iF^cqxQ*Y&UjXdv4KhG!9^0j3s|XB%w18DuE$yRnS_7;Gb3l4y^p@Y3z-37I
z5tRdB^%@Dl`9UZt2igz#>+1|ar$R@w8A4mtSL8&o7x-oqoi+sQ!GVQYoKO3#ufGaq
zFEUB+y39uYHxBqulEQvCQ+sWOo`Vb6r4?(=Vne_+TC3j&l>;cM@eweOXYB@~EVbCR
zB`g8=5zxWlh0X;}`UqIhv&M}mOA~f22unb|5ilRc`=az7-M1lNb65iQB0wzW>Mps)
zfbO)>7Fy?tQJe>8Ogaw%^GfwFjHI2>AxO1H!1stlJ#Y2KSs*PL5){%}3HAXx5P1r;68xFB_82s@CLjj37Q_Tc
zKtX6tkWd!^3Hn$CG1WzY4XsRpx)&G*W`KU)G^iEUL#DxxHZtN`$0`CKU=|K&St}CK
zMK?pbcRN(nH$yl-9w&DLoeKGjNKjtD&K!4xS_bPnEsFDiH`t`)jlg1z00=mYgy{iN
zbofw)vd5WqXs6p@?FOT`9d1VNE1=t9-CyP`HUuO&KcF50R)!_u9s*3ex#K9R^hH1%
zGDOr37KJ51IW}VqU1_^N)aU}EX`>t=%^Jo?GxgOx-hZaeY3%wZbHy*mXc&$t)n!A#
zKo*oGHi>qVL0e~uX}78@F`Wnn?pAFG=!GEV2`ZGbBkO1jtIFKqTml
zPnn_`-8KCwL-ZofD`PaV#fpH$dS_v{Bfx^BqORg1pr}8ug>xi
g=OVy@q@u3!7j=9tP$Pu59smFU07*qoM6N<$f>BNHl>h($
literal 0
HcmV?d00001
diff --git a/res/drawable-xhdpi/ic_action_list_dark.png b/res/drawable-xhdpi/ic_action_list_dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd8fb3192479fb1c4244cb07b82b6de5823c9f84
GIT binary patch
literal 1302
zcmV+x1?l>UP)6mE3vbrY7zW
z*v-u1CW&qfaznO+(9$Xayl~)Hbihar%MeOiKPREdyV~}gzVA!(zH;8=B=m6J=g0T?
zah~VA$EexnkFm}5uh9T#57_1i=n&ZE4xp2u4gnnk3JCP{^fa=pk8vcI%e5MYk>T&D
zbUHnpOeSX(NVs;1Gz2!4KY`+h(ZW}t$s)ghip65TyH-PqU{V00(dbcV3=~m5Pdc@*
zu<+IV{QPPmukP;d*K2EQ-vGRZY666ZX5slD9*^IHukhBAj|u=^@OHQy5tv}Aja0LbH%Mvk+8{^~SL*_M+NaO>Ac;9Ko
zDx|kac%HWlz$F0iOBi2=(d_~N-UWaUD-_u2<#Wh&!4?4IfU^*Iy9|*Wu68kzNZdEC
z>FDSPG&D4P1_ps`2G#uAv`l?7l79wb_$|<3JGm)he?=RE0%1;4zj+!
zzMFN0yNA;{|BoL0a*PGyKP6+Nl$^S{x+3-U_5FbGa-N`2p5O7cwYBdjCnuL>jNJNv
zB>+Sg2ZRt?S|@)uqj)Bp%|7(`eA8I}iCdLZkxLZ-6EQ>hE!}0!Wpn8`dd#0F6zEz5l(sy1Hn-F`^Lq2Ox%-
z8=)3RyFnQ%GDrbH`8JgO2;y&vg2>E-`Beb|CFhM2%#HT;c7Ib-Q&oEbdXOw9RZmsC
zQwjjh(8mxuRH(d3;WQu&5)OZvK@cI++S)40=P>gxS+S1Qcf^4RkC5kA&MD@~(UAf`
zLvs-&c9tb#7~c^Fcg$-#J3IU6A5L3U!lCz)w8P)n1>hL3ubE+7=+EZ`OP`(wmZ
zx2XMAjMCp(1Zd6<`Xm=-xe!7L!nS3{Xh`l
zs(Kzk)hc>{B}cvu+W9){_xnEun7y+51zQjsu*^LMgdq-U;u0+F2v_chNU1}OlDEWYqs4awagI>cBq$C=QT`81oC=NoLA*T2&yB5v@
z^W0Jmfagr+u)x{_90t^LPXGV_
literal 0
HcmV?d00001
diff --git a/res/drawable-xhdpi/ic_action_move.png b/res/drawable-xhdpi/ic_action_move.png
new file mode 100644
index 0000000000000000000000000000000000000000..8cfdeb62e2257f88cffa912513a6e884cb2f3bcb
GIT binary patch
literal 1354
zcmV-Q1-1H#P)QRE?Ghr<0ziHw1U~@}0RzBg(10Po1{qRF8U24s{Sj81jr9Ma-YL_R_!@KvXUQL13IWFR
z(Hh@}CBS#!2aLL22w}S}1c&ne8L-zctpVG>aUhrPW!lv7t!1$bU`ApvzwZI<&vueW
z)PuDccdQU0ApfY^fhR(=J4&7DeB(+<1TZ3WEN^(0=UE_dpQc=EgB|J~S2L0?^YCd=avjO;owgpIhm_;8>&
zLa7k}=2nCN=Du$NWZnTf!G%q$sHm;a890UMuq0~$I-#}CW8f+BHvIjs8E7_U)0
z5@a>~C~8~*`Uccfd~g7KPk)*w&Qvr3%+=HsEO-MvgZa`OFA5F_g<_!L+9TTi{b$;0#TGhay9*Ual}#t&{f%;M45u6e&9O!
zx|&O-2bgHl{vV~gBTAWe1H}QF@0$O*3fHBmLh6Zz@lOcgj~`lyQPv(1B!C&|YKyFY
zlodtP5Z-mDY6eY^5A`SViV(mx
z$`!c?wuZFbHuZoYC0(ms0S3Av#Wn+WasL@U!Dq3;1noS;Hc}T9>D${
z-@nU8J$&WZU*H;0js{0Vo}?hdO*~QCau5!0d66WUkTzay#N3J
M07*qoM6N<$g2lptZ~y=R
literal 0
HcmV?d00001
diff --git a/res/drawable-xhdpi/ic_action_move_dark.png b/res/drawable-xhdpi/ic_action_move_dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..c1a72feb36b0c307aa4a994c84a66bf2d1746b46
GIT binary patch
literal 1559
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
NfjPknUv2Cb^DosATM7UG
literal 0
HcmV?d00001
diff --git a/res/drawable-xxhdpi/ic_action_delete_dark.png b/res/drawable-xxhdpi/ic_action_delete_dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..0390e57822d03a9445e9181f681ddd54618db9c7
GIT binary patch
literal 2161
zcmV-%2#)uOP)9LK%e?%fN{_q;NfjTmgPwO84~NKJ}_BB3a-H$?w2f+B*fP%0EeA)+YqkKU7n
z?46<)gT%-hxHsEy#VBWMIGatIy6xWWuFoU)$~N3~&bjCLJ;!(s9L~9C&+qm7{C>~d
zInP3~>|xXcA*0f*@L3iB!R%XlNLKe#|Qm-E@HjprD{2FB*-m&&bHA
z9UB|V^6G?8C^QOfC+F*pjg4o$^3h2bNC0YTY97Gom3|ox5KREE$1i?<@(C&c&tPPc
zUxos}X#jZIFMfXV2_yj3)zw>Z+A<#v?Qd#o+TtTW-&kEK0CdIU@qJFM&dkhQL;F!T
zuDk`nsq<91$q_(9{6lkd^LtKtK);Fzy59oe)MJy%T?T+}0pLTY>?$fM>a()4Hdz3i
zdTa&&`14of@K2nwvj8~t)D-0|(+FDt()6h-@@W7Fm6er+`}_N|=Fgv>F`g;U5#zif^-cHZ~izIvE+T2>r6ejF&f|m^y8;6Vmvzx
z?O9~>A){|-Xs8#k&bd%iOVOE((IOOwFTn|=Fu#WG;!>^!oDnU;re>-@?E$E6u3fQM
z>{kFeDXhbcwaGVq>g((0VC0QByb7kvCe={i2@zvf2)Ya839336q00<>I4e^^d&hI#X{`@-~9UZ6r<~^RDb^wyX
zGAk=9Ygs5+&F^bDC(PsMG|(mQ1m%CH!W?XEZEfUUE$VAMqyV^Ngqru^brBT}7pEdP
zO-w_i^tm`4!P&*xF+4o1rXxh>hr|JxT%8mkOivUtd%2jfR}*pSoX0tb-*ZS^Iq6hE
zcnrZqO)IGL3}+v|`$k4aPBHD!E$#5hwipLsI_DM^7UrsVgm73M^GLZ&;6=EP;JhrZ
zA%MF$!4YUC;c_yDn)x7Z(M9LD>t*m9BH-?PJ_`(KS6eI5_zC
zz`(#6sa&nvmi+wudA#_06Uq
z;2dRC13C;y>RBA;;HS~JYG{)SCsUfK7J5_z4X|P8RU;jSKAUIR(B|?ipQ~E#%)T5G
z>DL%V0bp(5IgD2Q{vaPctN|!JMGjE_NI_3g6V*sKum=(F2PtT$l!BrFEMLC-aZ-TF
zwShfISI3SVIr5^Ef}#MBf*!%JN-5(!%4sD9z3P$HHJK;?bVD~0;`Oez6eJ);HqZ@y
zLrSD50Dgb@qQgmU-^5N=2WbHAMd4f0Ra!Iscch>XG|RZeUKD_;s;YG~a<@wv=S2>k
zgfAJXf98eO3ymlMq@cAZd6ySO1!+De0=|}#Ckg=LfSbv&>!pnIB8N`GKE?sxd!hA0
zBMJa1Xay-~gBL}mXh=bClY-Qn)FOu{07O6y5wKarGLJ%tfIUP&lSgvbWTF5t5-z8P
zJ?dIZK>{N5Wk$knQX)kGpb;*{uqUOA^C)LGjj-C@K;#ewfE1*@3)m`RnMWa{pdF;3
z6CTN3lZgUQUS1w$v3$F0Ed>c!{NL8r*48T}QWO9pU@j4`3*!R&VipmwMRI2qQ2^9Z
zAluOFO7~qKUA0raL)6>byG3egRM{a4fU5a4#3};j>T+V5e9tB~^-!-UiX74a%pwhK
zCjz1(*0~fy1oV=Awz(urtGEdOwgJG^X=$yA7y$kR0MSl@H~^#|H4aeYfgm28q@dlB
ziirb23VMtPD3dhOsVpL(od|fzX?Z`&nE+rj0Mz)Qyx%+kKzwgGaR68s-iV<$`0YHO
z`29o*ddnwXj@XC;Knl8#2w3e%JK;i9jDw`0_a()O13(1ajiI+m8tGIP72_M;i1^59
zc|XdD13)k64ivxB59KxR_?#5G~uH@iL?F(V#zigNUAmxNiqM;H;Q~*TDG#~M~aqN_3)iwpl`Hk}^(+;f^)V?9d
zbczQ7fC>6BP@9L7mhzQjl=Rh
zZK?i$%o%>4;w#Huu78ng)P50xIRXd344w%U7Z*p^ZG~+k!V~_t4EsZj(2I$8c6O>A
zP>iG#FQ{H=0C=%6&@>hR!|+%DEC7Z*U|77301JR&4;U72BftV+*aL>e+X%1#81{f+
n@iqc10ERtaSiFq@!vOpThqv~BXR{$S00000NkvXXu0mjfrij`H
literal 0
HcmV?d00001
diff --git a/res/drawable-xxhdpi/ic_action_list.png b/res/drawable-xxhdpi/ic_action_list.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0cc3d0f5dca23739d1fcbc5c568f2ed7e3b6b4e
GIT binary patch
literal 1754
zcmaKtYc$&l8pe~qKh31I2~`#9n$kh3`-rxY5QMH)#l1^#T+76zDC&~2sg`gilvEc*
zG$aTU*U~|lD!M_9rW%)V$(~`VJ!$I_RN3q~d-mJxhxdIyJfEKP{+{y`cwKcD-Aq5m0}l6!It+{c27E_lL8
z{4}A#8-9xTySAkK=wA(xA&9eZO`icx4{;z!8AAOxe0L5el^
zbOQf=UMiL5j$#I0R9>5e2pk`+|8DSwN!U9#`cNN%dp=d{HatFb7JwWD9Av}94f#uL
zENg`7VQby|Et4n!lI!S|sVc5F3IYzzVd;I<*zD#hYexV4A9m|9v)#|wcBaNLUJe_X
zXy{6@(A)>Vy4!QYxRDA6q`fe|5k`~^rs-Ybl}9<}EDyu^RZi5_!+JBx+;cIWY
z91tH<8+q@;
z-}l76yHb!;H^Nl|qC%IG=_)CMxEGRzw#YU7@Tr3|?e>1Yw1Ja*AN}1)iNE?iZfq+UrywFIk+E`@VfSw8e#~B1!NY6oO+AT(D60vK7Vmm*vcq
z)`FguH$=9o-tq<0{32}+;;ZsDOkE)LC{>x2>1|j*)qgTZlkCdU{{=?KR(GWbi?sEU
zO?Fx5dqbmk*siV$kef@m<-DX%1`f#mV8qQ9ZGAmade!V{(e!Vp@ex#O1^oY>ttUW1
zqc=;Sc&arp`TNCE=wIDq;DL0TrsKc*JZGk#Y#ohPhe8HVN42_45^OH>4s8_qDj7)C
z&P;V4@IwRuA#XgLDarQOpS`rVF$Ubjv>ZCX~t8J8ZCYn298lgHT`5!kw_99UmG2J
z+4OSIN-6|7Xn{ke<7SD&h42K{cNgIuK_mtNhtF%G+9G_?x^6Czi-pjv?5C%BioiIi
zc6ME%zmhS-s4GpqjMx~7QxU|Oe;cF-1j;22ViA$%l%gQo*o_j*zSZC<17Z*y&VYf?
zjNQl@Z7{;QViu2N+#~OZ@i;qLhW4KdDKv=DS|_gUt4_B|4sKw@)4scrJLD+`q0RGR
z=LEHZ(e=2Q3(GF*hh{)Clns1rkv#B+vp`|*9iC*8@Dls>&6BF`^CV9%VSZW#_0}H=
z5H87ym2kK5#y@Q{4I_mpfhZTY%%MG@g!z3)R^G?v=S<-{?c#SP3T!6!b7(C@6lDSr
z{JO1C8GphrZun$#J2hu}NLEbr7^hEHt6a~07}E7w#$(IW0PmjW=^Pc^&g8#*^gUJA
z@~*+tA?U7^iLVNpANIiRsN(zHWX+~$CG>dKNKe@bqM1-r(EIR;RcMRP3*I@`nGg>-
zOA7bhf&yIqk8k-){u}w7M*(>$Gil{Kr`{S3U4G~TCu(84PgP`W4J#{FVMd-n#X7f8#
zhwHTlsql`J$b}$ZW{f+V-w>yh2M1CfV@ZAN@G-BTCe3|{;3%mDI?GKjg=tuY{CtW$
zd}NDi)Z#W6f!#L^$*-SQlrpQ~ty=rz2DMs1eBY1q_&WbtsL=}lzXA?*-%fK95k(ZV
Qyt5$gE>{VyPN8}K2FsBnz5oCK
literal 0
HcmV?d00001
diff --git a/res/drawable-xxhdpi/ic_action_list_dark.png b/res/drawable-xxhdpi/ic_action_list_dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6a366f10c732cba494e2105c5bad62f7773a918
GIT binary patch
literal 1994
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
")) {
+ } else if (pageContext.contains("No hits found
")) {
maxPage = 0;
return NOT_FOUND;
} else {
@@ -53,7 +52,7 @@ public class ListParser {
}
giList = new ArrayList(indexPerPage);
- p = Pattern.compile(" | " // category
+ p = Pattern.compile("(?:)?(?:)? | " // category
+ "(.+?)" // posted
+ ""
+ "(?:"
diff --git a/src/com/hippo/ehviewer/network/HttpHelper.java b/src/com/hippo/ehviewer/network/HttpHelper.java
index fddf74e97..e53c566d9 100644
--- a/src/com/hippo/ehviewer/network/HttpHelper.java
+++ b/src/com/hippo/ehviewer/network/HttpHelper.java
@@ -363,6 +363,7 @@ public class HttpHelper {
sb.append(URLEncoder.encode(arg[1], "UTF-8"));
i++;
}
+ Log.d(TAG, sb.toString());
out.writeBytes(sb.toString());
out.flush();
out.close();
diff --git a/src/com/hippo/ehviewer/ui/FavouriteActivity.java b/src/com/hippo/ehviewer/ui/FavouriteActivity.java
index a304079b1..d07b3f73b 100644
--- a/src/com/hippo/ehviewer/ui/FavouriteActivity.java
+++ b/src/com/hippo/ehviewer/ui/FavouriteActivity.java
@@ -16,15 +16,25 @@
package com.hippo.ehviewer.ui;
+import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
-import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.content.res.Configuration;
+import android.content.res.Resources;
import android.graphics.Bitmap;
+import android.graphics.Path;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.ShapeDrawable;
+import android.graphics.drawable.shapes.PathShape;
import android.os.Bundle;
+import android.view.ActionMode;
import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
@@ -33,9 +43,8 @@ import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.RatingBar;
import android.widget.TextView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.Toast;
+import android.widget.AdapterView.OnItemClickListener;
import com.hippo.ehviewer.AppContext;
import com.hippo.ehviewer.ImageGeterManager;
@@ -46,64 +55,40 @@ import com.hippo.ehviewer.ehclient.EhClient;
import com.hippo.ehviewer.service.DownloadService;
import com.hippo.ehviewer.service.DownloadServiceConnection;
import com.hippo.ehviewer.util.Cache;
-import com.hippo.ehviewer.util.Config;
+import com.hippo.ehviewer.util.Log;
import com.hippo.ehviewer.util.Ui;
-import com.hippo.ehviewer.widget.AlertButton;
import com.hippo.ehviewer.widget.DialogBuilder;
+import com.hippo.ehviewer.widget.FswView;
import com.hippo.ehviewer.widget.LoadImageView;
+import com.hippo.ehviewer.widget.OnFitSystemWindowsListener;
+import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
-public class FavouriteActivity extends AbstractActivity {
+public class FavouriteActivity extends AbstractSlidingActivity
+ implements ListView.MultiChoiceModeListener {
@SuppressWarnings("unused")
private static final String TAG = "FavouriteActivity";
private AppContext mAppContext;
private Data mData;
+ private Resources mResources;
+ private EhClient mClient;
- private FlAdapter flAdapter;
- private List mFavouriteLmd;
- private int longClickItemIndex;
+ private SlidingMenu mSlidingMenu;
+ private ListView mMenuList;
+
+ private ListView mListView;
+ private FlAdapter mAdapter;
+ private List mGis;
+ private Set mChoiceGids; // Store gid
+ private int mMenuIndex;
+ private String[] mFavoriteTitles;
+
+ private AlertDialog mMoveDialog;
private ImageGeterManager mImageGeterManager;
private DownloadServiceConnection mServiceConn = new DownloadServiceConnection();
- // List item long click dialog
- private AlertDialog longClickDialog;
-
- private AlertDialog setLongClickDialog() {
- return new DialogBuilder(this).setTitle(R.string.what_to_do)
- .setItems(R.array.favourite_item_long_click, new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> arg0, View arg1,
- int position, long arg3) {
- switch (position) {
- case 0: // Remove favourite item
- mData.deleteLocalFavourite(mFavouriteLmd.get(longClickItemIndex).gid);
- flAdapter.notifyDataSetChanged();
- break;
- case 1:
- GalleryInfo lmd = mFavouriteLmd.get(longClickItemIndex);
- Intent it = new Intent(FavouriteActivity.this, DownloadService.class);
- startService(it);
- mServiceConn.getService().add(String.valueOf(lmd.gid), lmd.thumb,
- EhClient.getDetailUrl(lmd.gid, lmd.token), lmd.title);
- Toast.makeText(FavouriteActivity.this,
- getString(R.string.toast_add_download),
- Toast.LENGTH_SHORT).show();
- break;
- default:
- break;
- }
- longClickDialog.cancel();
- }
- }).setNegativeButton(android.R.string.cancel, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- ((AlertButton)v).dialog.dismiss();
- }
- }).create();
- }
-
private class FlAdapter extends BaseAdapter {
private LayoutInflater mInflater;
@@ -113,12 +98,12 @@ public class FavouriteActivity extends AbstractActivity {
@Override
public int getCount() {
- return mFavouriteLmd.size();
+ return mGis.size();
}
@Override
public Object getItem(int arg0) {
- return mFavouriteLmd.get(arg0);
+ return mGis.get(arg0);
}
@Override
@@ -128,7 +113,7 @@ public class FavouriteActivity extends AbstractActivity {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
- GalleryInfo lmd= mFavouriteLmd.get(position);
+ GalleryInfo lmd= mGis.get(position);
if (convertView == null)
convertView = mInflater.inflate(R.layout.list_item, null);
@@ -188,8 +173,8 @@ public class FavouriteActivity extends AbstractActivity {
protected void onResume() {
super.onResume();
- if (flAdapter != null)
- flAdapter.notifyDataSetChanged();
+ if (mAdapter != null)
+ mAdapter.notifyDataSetChanged();
}
@Override
@@ -199,44 +184,157 @@ public class FavouriteActivity extends AbstractActivity {
mAppContext = (AppContext)getApplication();
mData = mAppContext.getData();
+ mResources =getResources();
mImageGeterManager = mAppContext.getImageGeterManager();
+ mClient = mAppContext.getEhClient();
Ui.translucent(this);
+ getActionBar().setDisplayHomeAsUpEnabled(true);
// Download service
Intent it = new Intent(FavouriteActivity.this, DownloadService.class);
bindService(it, mServiceConn, BIND_AUTO_CREATE);
- longClickDialog = setLongClickDialog();
+ setBehindContentView(R.layout.favorite_menu);
+ setSlidingActionBarEnabled(false);
+ mSlidingMenu = getSlidingMenu();
+ mSlidingMenu.setMode(SlidingMenu.RIGHT);
+ mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
+ mSlidingMenu.setBehindWidth(
+ mResources.getDimensionPixelOffset(R.dimen.menu_offset));
+ mSlidingMenu.setShadowDrawable(R.drawable.shadow_right);
+ mSlidingMenu.setShadowWidthRes(R.dimen.shadow_width);
- getActionBar().setDisplayHomeAsUpEnabled(true);
-
- mFavouriteLmd = mData.getAllLocalFavourites();
-
- ListView listView = (ListView)findViewById(R.id.favourite);
- flAdapter = new FlAdapter();
- listView.setAdapter(flAdapter);
- listView.setOnItemClickListener(new OnItemClickListener() {
+ mFavoriteTitles = new String[EhClient.FAVORITE_SLOT_NUM];
+ for (int i = 0; i < EhClient.FAVORITE_SLOT_NUM; i++) {
+ mFavoriteTitles[i] = "收藏 " + i;
+ }
+ mMenuIndex = 0;
+ setTitle("本地收藏"); // TODO
+ mGis = mData.getAllLocalFavourites();
+ mChoiceGids = new HashSet();
+ mListView = (ListView)findViewById(R.id.favourite);
+ mListView.setClipToPadding(false);
+ mAdapter = new FlAdapter();
+ mListView.setAdapter(mAdapter);
+ mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView> arg0, View arg1,
int position, long arg3) {
Intent intent = new Intent(FavouriteActivity.this,
MangaDetailActivity.class);
- GalleryInfo gi = mFavouriteLmd.get(position);
+ GalleryInfo gi = mGis.get(position);
intent.putExtra("url", EhClient.getDetailUrl(gi.gid, gi.token));
intent.putExtra(MangaDetailActivity.KEY_G_INFO, gi);
startActivity(intent);
}
});
- listView.setOnItemLongClickListener(new OnItemLongClickListener() {
+ mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
+ mListView.setMultiChoiceModeListener(this);
+
+ mMenuList = (ListView)findViewById(R.id.favorite_menu_list);
+ mMenuList.setClipToPadding(false);
+ mMenuList.setAdapter(new BaseAdapter() {
+ private ShapeDrawable d;
+ private ShapeDrawable createDrawable() {
+ Path path = new Path();
+ path.moveTo(50, 10);
+ path.lineTo(10, 50);
+ path.lineTo(50, 90);
+ path.lineTo(90, 50);
+ path.close();
+ ShapeDrawable d = new ShapeDrawable(new PathShape(path, 100, 100));
+ d.getPaint().setColor(0xcdffffff);
+ d.setBounds(0, 0, Ui.dp2pix(36), Ui.dp2pix(36));
+ return d;
+ }
@Override
- public boolean onItemLongClick(AdapterView> arg0, View arg1,
- int position, long arg3) {
- longClickItemIndex = position;
- longClickDialog.show();
- return true;
+ public int getCount() {
+ return EhClient.FAVORITE_SLOT_NUM + 1;
+ }
+ @Override
+ public Object getItem(int position) {
+ return null;
+ }
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ LayoutInflater li= LayoutInflater.from(FavouriteActivity.this);
+ TextView tv = (TextView)li.inflate(R.layout.menu_item, null);
+
+ if (position == 0) {
+ Drawable dr = mResources.getDrawable(R.drawable.ic_action_panda);
+ dr.setBounds(0, 0, Ui.dp2pix(36), Ui.dp2pix(36));
+ tv.setCompoundDrawables(dr, null, null, null);
+ tv.setCompoundDrawablePadding(Ui.dp2pix(8));
+ tv.setText("本地收藏"); // TODO
+ } else {
+ if (d == null)
+ d = createDrawable();
+ tv.setCompoundDrawables(d, null, null, null);
+ tv.setCompoundDrawablePadding(Ui.dp2pix(8));
+ tv.setText(mFavoriteTitles[position - 1]); // TODO
+ }
+ return tv;
}
});
+ mMenuList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view,
+ int position, long id) {
+ // If same index, do nothing
+ if (mMenuIndex == position)
+ return;
+
+ showContent();
+ mMenuIndex = position;
+ if (mMenuIndex == 0) {
+ setTitle("本地收藏"); // TODO
+ mGis = mData.getAllLocalFavourites();
+ mAdapter.notifyDataSetChanged();
+ } else {
+ setTitle(mFavoriteTitles[mMenuIndex - 1]); // TODO
+ mClient.getMangaList(EhClient.getFavoriteUrl(mMenuIndex - 1),
+ null, new EhClient.OnGetMangaListListener() {
+ @Override
+ public void onSuccess(Object checkFlag, ArrayList lmdArray,
+ int indexPerPage, int maxPage) {
+
+ mGis = lmdArray;
+ mAdapter.notifyDataSetChanged();
+ }
+
+ @Override
+ public void onFailure(Object checkFlag, String eMsg) {
+ Toast.makeText(FavouriteActivity.this, eMsg, Toast.LENGTH_SHORT).show();
+ }
+ });
+ // TODO
+ }
+ }
+ });
+
+
+ FswView alignment = (FswView)findViewById(R.id.alignment);
+ alignment.addOnFitSystemWindowsListener(new OnFitSystemWindowsListener() {
+ @Override
+ public void onfitSystemWindows(int paddingLeft, int paddingTop,
+ int paddingRight, int paddingBottom) {
+ mListView.setPadding(mListView.getPaddingLeft(), paddingTop,
+ mListView.getPaddingRight(), paddingBottom);
+ mMenuList.setPadding(mMenuList.getPaddingLeft(), paddingTop,
+ mMenuList.getPaddingRight(), paddingBottom);
+ }
+ });
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ getMenuInflater().inflate(R.menu.favorite, menu);
+ return true;
}
@Override
@@ -246,6 +344,9 @@ public class FavouriteActivity extends AbstractActivity {
case android.R.id.home:
finish();
return true;
+ case R.id.action_list:
+ toggle();
+ return true;
default:
return super.onOptionsItemSelected(item);
}
@@ -257,7 +358,108 @@ public class FavouriteActivity extends AbstractActivity {
unbindService(mServiceConn);
}
- public void buttonListItemCancel(View v) {
- longClickDialog.cancel();
+
+ // ListView.MultiChoiceModeListener
+
+ @Override
+ public boolean onCreateActionMode(ActionMode mode, Menu menu) {
+ MenuInflater inflater = getMenuInflater();
+ inflater.inflate(R.menu.favorite_choice, menu);
+ mode.setTitle("Select Items"); // TODO
+ return true;
+ }
+
+ @Override
+ public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
+ return true;
+ }
+
+ private AlertDialog createMoveDialog(final ActionMode mode) {
+ return new DialogBuilder(this).setTitle("移动至何处?") //
+ .setItems(mFavoriteTitles, new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view,
+ int position, long id) {
+ int[] gids = new int[mChoiceGids.size()];
+ int i = 0;
+ for (Integer gid : mChoiceGids)
+ gids[i++] = gid;
+ mClient.modifyFavorite(gids, position, new EhClient.OnModifyFavoriteListener() {
+ @Override
+ public void onSuccess(ArrayList gis,
+ int indexPerPage, int maxPage) {
+ Toast.makeText(FavouriteActivity.this,
+ "移动成功", Toast.LENGTH_SHORT).show(); // TODO
+ mGis = gis;
+ mAdapter.notifyDataSetChanged();
+ }
+
+ @Override
+ public void onFailure(String eMsg) {
+ Toast.makeText(FavouriteActivity.this,
+ "移动失败\n" + eMsg, Toast.LENGTH_SHORT).show(); // TODO
+ }
+ });
+
+ mMoveDialog.dismiss();
+ mMoveDialog = null;
+ mode.finish();
+ }
+ }).create();
+ }
+
+ @Override
+ public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
+
+ switch (item.getItemId()) {
+ case R.id.action_delete:
+ if (mMenuIndex == 0) {
+ for (Integer gid : mChoiceGids)
+ mData.deleteLocalFavourite(gid);
+ mAdapter.notifyDataSetChanged();
+ } else {
+ int[] gids = new int[mChoiceGids.size()];
+ int i = 0;
+ for (Integer gid : mChoiceGids)
+ gids[i++] = gid;
+ mClient.modifyFavorite(gids, -1, new EhClient.OnModifyFavoriteListener() {
+ @Override
+ public void onSuccess(ArrayList gis, int indexPerPage,
+ int maxPage) {
+ Toast.makeText(FavouriteActivity.this,
+ "删除成功", Toast.LENGTH_SHORT).show(); // TODO
+ mGis = gis;
+ mAdapter.notifyDataSetChanged();
+ }
+ @Override
+ public void onFailure(String eMsg) {
+ Toast.makeText(FavouriteActivity.this,
+ "删除失败\n" + eMsg, Toast.LENGTH_SHORT).show(); // TODO
+ }
+ });
+ }
+ mode.finish();
+ return true;
+ case R.id.action_move:
+ mMoveDialog = createMoveDialog(mode);
+ mMoveDialog.show();
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+ @Override
+ public void onDestroyActionMode(ActionMode mode) {
+ mChoiceGids.clear();
+ }
+
+ @Override
+ public void onItemCheckedStateChanged(ActionMode mode, int position,
+ long id, boolean checked) {
+ if (checked)
+ mChoiceGids.add(mGis.get(position).gid);
+ else
+ mChoiceGids.remove(mGis.get(position).gid);
}
}