From 3538caa80d4c6dd8bb9cfd94fb1d1e06b04cb3d1 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Sun, 7 Sep 2014 11:00:12 +0800 Subject: [PATCH] update styles --- .../ab_bottom_solid_shadow.9.png | Bin 194 -> 193 bytes .../res/drawable-hdpi/ab_solid_shadow.9.png | Bin 201 -> 198 bytes .../drawable-hdpi/ab_texture_tile_shadow.png | Bin 135 -> 129 bytes .../btn_cab_done_pressed_shadow.9.png | Bin 118 -> 125 bytes .../drawable-hdpi/list_pressed_shadow.9.png | Bin 0 -> 113 bytes .../menu_dropdown_panel_shadow.9.png | Bin 1231 -> 1233 bytes .../spinner_ab_pressed_shadow.9.png | Bin 514 -> 461 bytes .../tab_selected_pressed_shadow.9.png | Bin 107 -> 107 bytes .../tab_unselected_pressed_shadow.9.png | Bin 100 -> 100 bytes .../ab_bottom_solid_shadow.9.png | Bin 156 -> 156 bytes .../res/drawable-mdpi/ab_solid_shadow.9.png | Bin 166 -> 166 bytes .../drawable-mdpi/ab_texture_tile_shadow.png | Bin 105 -> 105 bytes .../btn_cab_done_pressed_shadow.9.png | Bin 114 -> 134 bytes .../drawable-mdpi/list_pressed_shadow.9.png | Bin 0 -> 110 bytes .../menu_dropdown_panel_shadow.9.png | Bin 817 -> 822 bytes .../spinner_ab_pressed_shadow.9.png | Bin 370 -> 351 bytes .../tab_selected_pressed_shadow.9.png | Bin 104 -> 104 bytes .../tab_unselected_pressed_shadow.9.png | Bin 97 -> 97 bytes .../ab_bottom_solid_shadow.9.png | Bin 253 -> 251 bytes .../res/drawable-xhdpi/ab_solid_shadow.9.png | Bin 260 -> 259 bytes .../drawable-xhdpi/ab_texture_tile_shadow.png | Bin 123 -> 123 bytes .../btn_cab_done_pressed_shadow.9.png | Bin 125 -> 129 bytes .../drawable-xhdpi/list_pressed_shadow.9.png | Bin 0 -> 114 bytes .../menu_dropdown_panel_shadow.9.png | Bin 1887 -> 1865 bytes .../spinner_ab_pressed_shadow.9.png | Bin 677 -> 603 bytes .../tab_selected_pressed_shadow.9.png | Bin 111 -> 111 bytes .../tab_unselected_pressed_shadow.9.png | Bin 101 -> 101 bytes .../ab_bottom_solid_shadow.9.png | Bin 0 -> 357 bytes .../res/drawable-xxhdpi/ab_solid_shadow.9.png | Bin 0 -> 351 bytes .../ab_stacked_solid_shadow.9.png | Bin 0 -> 350 bytes .../ab_texture_tile_shadow.png | Bin 0 -> 255 bytes .../ab_transparent_shadow.9.png | Bin 0 -> 352 bytes .../btn_cab_done_default_shadow.9.png | Bin 0 -> 140 bytes .../btn_cab_done_focused_shadow.9.png | Bin 0 -> 131 bytes .../btn_cab_done_pressed_shadow.9.png | Bin 0 -> 148 bytes .../cab_background_bottom_shadow.9.png | Bin 0 -> 372 bytes .../cab_background_top_shadow.9.png | Bin 0 -> 360 bytes .../drawable-xxhdpi/list_focused_shadow.9.png | Bin 0 -> 163 bytes .../drawable-xxhdpi/list_pressed_shadow.9.png | Bin 0 -> 137 bytes .../menu_dropdown_panel_shadow.9.png | Bin 0 -> 3948 bytes .../drawable-xxhdpi/progress_bg_shadow.9.png | Bin 0 -> 156 bytes .../progress_primary_shadow.9.png | Bin 0 -> 1674 bytes .../progress_secondary_shadow.9.png | Bin 0 -> 157 bytes .../spinner_ab_default_shadow.9.png | Bin 0 -> 480 bytes .../spinner_ab_disabled_shadow.9.png | Bin 0 -> 481 bytes .../spinner_ab_focused_shadow.9.png | Bin 0 -> 805 bytes .../spinner_ab_pressed_shadow.9.png | Bin 0 -> 744 bytes .../tab_selected_focused_shadow.9.png | Bin 0 -> 116 bytes .../tab_selected_pressed_shadow.9.png | Bin 0 -> 116 bytes .../drawable-xxhdpi/tab_selected_shadow.9.png | Bin 0 -> 110 bytes .../tab_unselected_focused_shadow.9.png | Bin 0 -> 102 bytes .../tab_unselected_pressed_shadow.9.png | Bin 0 -> 102 bytes .../tab_unselected_shadow.9.png | Bin 0 -> 110 bytes .../drawable/pressed_background_shadow.xml | 22 ----- .../drawable/selectable_background_shadow.xml | 2 +- src/main/res/layout/layout_apps.xml | 2 +- src/main/res/layout/layout_switch.xml | 3 +- src/main/res/values/styles.xml | 81 +++++++++++------- .../com/github/shadowsocks/AppManager.scala | 19 ++-- .../com/github/shadowsocks/Shadowsocks.scala | 19 ++-- .../shadowsocks/ShadowsocksApplication.scala | 13 ++- .../shadowsocks/ShadowsocksBackupAgent.scala | 3 +- .../shadowsocks/ShadowsocksNatService.scala | 29 +++---- 63 files changed, 86 insertions(+), 107 deletions(-) create mode 100755 src/main/res/drawable-hdpi/list_pressed_shadow.9.png create mode 100755 src/main/res/drawable-mdpi/list_pressed_shadow.9.png create mode 100755 src/main/res/drawable-xhdpi/list_pressed_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/ab_bottom_solid_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/ab_solid_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/ab_stacked_solid_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/ab_texture_tile_shadow.png create mode 100755 src/main/res/drawable-xxhdpi/ab_transparent_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/btn_cab_done_default_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/btn_cab_done_focused_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/btn_cab_done_pressed_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/cab_background_bottom_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/cab_background_top_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/list_focused_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/list_pressed_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/menu_dropdown_panel_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/progress_bg_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/progress_primary_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/progress_secondary_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/spinner_ab_default_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/spinner_ab_disabled_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/spinner_ab_focused_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/spinner_ab_pressed_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/tab_selected_focused_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/tab_selected_pressed_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/tab_selected_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/tab_unselected_focused_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/tab_unselected_pressed_shadow.9.png create mode 100755 src/main/res/drawable-xxhdpi/tab_unselected_shadow.9.png delete mode 100755 src/main/res/drawable/pressed_background_shadow.xml diff --git a/src/main/res/drawable-hdpi/ab_bottom_solid_shadow.9.png b/src/main/res/drawable-hdpi/ab_bottom_solid_shadow.9.png index afca946637720ba5fddf5ee41653502ede3c96aa..758468cf0fa672d58914fb18cf87ea72e43f485c 100755 GIT binary patch delta 165 zcmX@ac#v^|N_~f?i(^QH``a6ad<_Z$E`dAwY`@zx*j{&>(lRUG;O3)X{@GtGdzZa_ z^D;Tc%J7ryq~bcZHp{hJf0iVQYcFjPTD{fJQ2chz#-!N++RJ7ng)}^Si;KJwzR_;q wk(YPlKkxH8wHmA{T<-X>qXG3I$L(ISoj5azd0LM7eg+`$boFyt=akR{07#=x{Qv*} delta 166 zcmV;X09pUR0m1>0B!7uXL_t(oNA1|L4uBvGgkk$W?D+nZ?0p}sk}z`ylMX-g(bUgd z)Q-KU$2i+D@*Pr2c?PCA?mnI_?P6!Gsl=|OrM?-Y|XftZ9V!VrU)N!| zI0iA5fSSiKh^YkBJdXX2*o@nSy40t698>Y;Css;HbsrmJtRwpv#a_zx5Q}`OuZ%u+ Y0`W|e1FHbdyZ`_I07*qoM6N<$f(pY=TmS$7 delta 173 zcmV;e08;DxG bTAy$Ne;bkm<|flr00000NkvXXu0mjfU^_`a diff --git a/src/main/res/drawable-hdpi/ab_texture_tile_shadow.png b/src/main/res/drawable-hdpi/ab_texture_tile_shadow.png index cc8dee6045b36a87c8f6565e3d6aaf1326ebab89..45512c357515e4b53c2a5eb1b4c931806441827a 100755 GIT binary patch delta 100 zcmV-q0Gt1Z0f7OKBwa{JL_t&tTV2hu5x_7A13)wnw0I8Bz~FR@04+JE@Fl4IlLRyC z%p`ZGZ?M*CW~Qq8Ayl;i(8L$c#Ka2|vG?wXxWA_0000bP0l+XkKy0;~; delta 100 zcmb;|n;;&q!@gTe~DWM4f DK4>CB diff --git a/src/main/res/drawable-hdpi/list_pressed_shadow.9.png b/src/main/res/drawable-hdpi/list_pressed_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..74e43594f2d2802d4e28d7e1092f6be4f09b1f75 GIT binary patch literal 113 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 delta 488 zcmVNF@|@%d&XbUV30zK4w{%-9gCy(ZpfQXEx1m;}V-XmCU-z@$Kekui^%0x^%tfSASP zK+ItzAZ9Rw+GHhRaL<0000&A=Y3n9BiixabGi9ErxVMi12s~Z=T-G@yGywo1Vhx7? diff --git a/src/main/res/drawable-hdpi/tab_unselected_pressed_shadow.9.png b/src/main/res/drawable-hdpi/tab_unselected_pressed_shadow.9.png index f44171cceea217d1c409900b12041de3f38c57c0..4f18a95adf8415f5d584c98c626dab063d03f67e 100755 GIT binary patch delta 50 zcmYdEnP9GaZ-4!L4q*`yku~bR6Bt+QWsJ4vY95Gnuw delta 50 zcmYdEnP9H#v&}BIg>&A=Y3tN|Corzq%NT3T+4RDXiQ%zcC diff --git a/src/main/res/drawable-mdpi/ab_bottom_solid_shadow.9.png b/src/main/res/drawable-mdpi/ab_bottom_solid_shadow.9.png index 62e58107611613a41eb91a01d2a732c463d4c3a6..370f5fe254e98fc98f65f7d2c0a9c602be8d98f1 100755 GIT binary patch delta 55 zcmbQkIEQh9g~YUJVjjw84{Xi8uCQ*=Y}aMWmYICL`111di2)WOE7vD6$MQV7$N&VM Lu6{1-oD!Mrb71k}9?JD-{naS6Sos-ok23UwZf1ku$o_~1{0}yz+ L`njxgN@xNAgaQ_l diff --git a/src/main/res/drawable-mdpi/ab_solid_shadow.9.png b/src/main/res/drawable-mdpi/ab_solid_shadow.9.png index e8ee5c489ad890b495af040c6639ec03a563a5aa..cd8df3d2f7c55abb6f3b3eda00229e1e5b06d9c6 100755 GIT binary patch delta 77 zcmZ3+xQuavg;;YlvxoB81C7k=3hRtaO_#28UG6_$Zla%#PESuy#w`oW@^>;z3Z2Zm h8_F(TabIvujo}1;5;L=8BsT*Pc)I$ztaD0e0sv(t8?68U delta 77 zcmZ3+xQuavh1llF!XC4uIhgCWG4FQ==k{hWZbf_tbN9_q|nK{ hyP@pj754?l)EL<1l9(@FZtr6N0#8>zmvv4FO#s{V9(w=) diff --git a/src/main/res/drawable-mdpi/ab_texture_tile_shadow.png b/src/main/res/drawable-mdpi/ab_texture_tile_shadow.png index 38f04ff9c4aa64712437c8bc97a611316c50690e..47838474fb405048981741d807b31ba3a12cfffc 100755 GIT binary patch delta 44 ycmd1IoS?(+__@%;4$j=d#Wzp$Pyh#xa8c literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^EI_Ql!3HEv&)kdyQkI@Bjv*Ss$tevD{~gY7BsFkO z&h<~5_i>UZyC+X!<9~t$1zKNiOnj)Jw--9a*49e*q{oPNo&Hol`CJ?EfV>|KI=ipd6p(FjdJD_RWrU{n0ttW;efUb^M`W+AwUBdJYD@< J);T3K0RVvQBfS6s literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-mdpi/menu_dropdown_panel_shadow.9.png b/src/main/res/drawable-mdpi/menu_dropdown_panel_shadow.9.png index 2b2458ef6a2b49772c8b7b0f39200f028843a24c..f1999201ef74abc50c1313062e0dd8dfb38c2bb5 100755 GIT binary patch delta 799 zcmV+)1K|9z2DS!}B!B%$L_t(&L+zPuYuhjo$CIW_VJ`+_v|AtE?PUnb_x}_LrH-O18rI7qvSH1QXg9>!`AEf_oCYn3~I za5L8yMBC?{%VCm3xXB>?y-D`Dj7)tGLkR*38HaxRd#FEExqp4j!(eN8sDI!CVU5)` z7Z{PNhgc8LHj3)*h0!$QM+Snn^#Yh&p!kee-JS@7%4pjQ!v_L=YBWHE?trpySC1K= zXPNIOq8@RRtC2B! z35XBQBh(vEYT>~k@QH*+lwl!dEFiwcyf9Z80dXO^{eLDH>=EU{xeJ6s0En--8X2RP zfVdFsEw z-LLQ3Y=1U`)oOKaHdNl7C9K22OE*?_Q*}C-Od1zVrQh}HV+`n^W3AWgPtyM3*-X_= zpgxb_Ll@2)IDn~#01|Q*xx`GhIT9T);~WaSk+O%bTF#P>;uZ!2!0{X)x;jCh&vPaU zF!YXGgx0;unNVV;%1+6H94fx_U7v<@9gDpJ27dzx+TL{Cu2dbT>$Hxn6=0~+xr9Zv zEVv5KI)5FuGE=-j@+@$6nio$F1I}!Boxy!PkE|0i)*LQ2tshL@VwQQPt>G5dK8$HQ zCTFs39bj~922#E&S$?=lg5V8l3b`moIE`TMJSFHvaz^Yhd@CQmX3x d${07=`48MqQ6g9)!WsYo002ovPDHLkV1mbShV8_0pcjQwn)GznmoOOYXSZ*B;nzrd zq|j0b#BH;gS@fHK$C4!(Y)^<6#ICfntC>$TT4}c5t2>%H@uN%kOEoAKEPdfql{GZBd6R$F}+3ZDt!B9HkV!sNgp9lBX^SOZdo^BOqQ82!#P4>xnc50wJLw22w5r#80nA zmgprQUW?q{06;xsBSc~#;0=1dP#6N@M@ffXWdy{V;1Pha;T0(m>Io?75#PKTS)!MK zxDFnn-hk2x4+eoxBs`)G3n@bZ@uj3guQCGSo#?hA7=P>$?ZmkaghBv_&t8oz(Mv$Q zClDMSSY%~E41-79mUQSo6qNO!~DQ&h|azvw&~(^M7x$4kH_B!1HF8D z$7;3eEq@k^E3=@At}J04HeR~0vWu$A(P(rFuTaW0M~!@qY)%J#*K)c1Byztai>b~I zH0BY!>B4>k8!&YXKtj&KOU$enN1`J}oI`;ZQg+kT$yxGN+`?c0*q#GKZeR|1pEFT_ zp=abG^g5cHNhN01*(rIDLnW5JJEWnxzSt{ZFn@rc9!=M6OVx3@POp)*0t{8kOIQF9 zCNCa!{yJ=Arg(y6%AB3%$&vouoshBSaItCqWbziH%p+|Lx3G?3Y^qPr zWZP?i(PtS*`>vF0qdhf;*me&vV!!sR!Bu~{VqxQLE~o{c{r_2NVBHF;R?Yp(XYG6h Y7!$!%A}c_nzW@LL07*qoM6N<$g5bn)@c;k- diff --git a/src/main/res/drawable-mdpi/spinner_ab_pressed_shadow.9.png b/src/main/res/drawable-mdpi/spinner_ab_pressed_shadow.9.png index 73922383b0c3daa1e1bd842c1d9b26bc7763b6a6..3580ff2793144b33b31f388ac7ccb6d9207b6802 100755 GIT binary patch delta 324 zcmV-K0lWV40^b6VB!4DJL_t(YOYN7v4uUWcfUPNEa3C-+nfM3{ii?Xrpo^PNql=>t zVdBh>VIlm~E1?M?(DHLI!AR-%ao1}($g25bm?#MW4w8t0TDcB5inST%R~`8cz*qN&=o#NkmtD;1i?Ynx$3*!yG&t+?&COi z08C4`w9^B@y*<}PgYCb86s;?hqyk;nf4u~%l&Hp04m+7-w$5&r=6Blmy&;ciKOldL WB^esnffh^v0000W_rp11fH&bF6*2UngAYk4F3QC diff --git a/src/main/res/drawable-mdpi/tab_unselected_pressed_shadow.9.png b/src/main/res/drawable-mdpi/tab_unselected_pressed_shadow.9.png index 2c13a555047e7237eb76e0eea55892047a9fd48a..4365d1780fb9e03b58dc826697ad0d85db9ba097 100755 GIT binary patch delta 49 zcmYdHoM5U``Tt+7vWG)Jzy`V149o$p%$vA;7*m`XjUI|HEA7);zyJiEu6{1-oD!M< Drw$K+ delta 49 zcmYdHoM5VBc=Oj5L6w4I(YxeUGcX6ZGH>GYVN7vm6lN4*{?T#tAp;P2y85}Sb4q9e E0I~QGL;wH) diff --git a/src/main/res/drawable-xhdpi/ab_bottom_solid_shadow.9.png b/src/main/res/drawable-xhdpi/ab_bottom_solid_shadow.9.png index cf9c0d642e391d87d9ea5ab7973a03b55ba7a105..fc0b308e4f410391e76c2a11b3b5d1e4cf4ed1bf 100755 GIT binary patch delta 165 zcmV;W09yb30s8@vBwE5rL_t(&L+zR|4#OZ21jC2u`2Pdw_>hBR#Y(->L|_g5?!nA; zc6t5h9CJ(|M}5j`t>>U^&luyPfgm;eHFC_4p>fFyL04-93%_^Jh(;g+&s(htYU`hB=KaeXIupVJ T~aN{qET_ z*Fn4e<{W)YBS*c<=V^Kk8uo1aep2!wMI2s6?#nXtYCYEVTrD3`WVJL>M8tIsjc5cS z;A%mUrXUBakr*8m)CiG&Av7N&NB)GE(0SNF%jTsnURA!TM#2AuyQR%WOSw= zMoeJkT8zl(Ou_DqocTYyiB+B2?u_(v^C8Z2(|1wQww1dm(>ON0k^MN>NS)8o$0@Io f{C?9%E3ZFXNFu@m2b%9j00000NkvXXu0mjf+vicR diff --git a/src/main/res/drawable-xhdpi/ab_texture_tile_shadow.png b/src/main/res/drawable-xhdpi/ab_texture_tile_shadow.png index 3a16187e3401b5088e4890e67788480ec69be50d..0c1174bca81aa3b74f7443eb4c8ba0be67ac550d 100755 GIT binary patch delta 47 zcmb=fo}eS-=d#Wzp$P!f CK@tZ5 delta 47 zcmb=fo}eRi=FEv7=NVX@pP$bjDA927(49XM?KDLaE-8nXac6cg0D-5gpUXO@geCwL CloPxF diff --git a/src/main/res/drawable-xhdpi/btn_cab_done_pressed_shadow.9.png b/src/main/res/drawable-xhdpi/btn_cab_done_pressed_shadow.9.png index 33b9d1da43f249ef7086cca019c76cba5b2668a9..772bde13d87cb795afd61db126739605d7e126f2 100755 GIT binary patch delta 112 zcmbMXI`fBwA8tgKml!3J6u zN=#4e4eq7SoH64|)1$c)Cw^4ZxTh&1MWsld)^tF$EuV0f(^7R zl$f5_8{A8u`)$fQ)}z+S%8z|3_FVQYFuCfu>50dw!V5|qaZHR1UGoHm*o3DC1I=Ub MboFyt=akR{0L!x_r2qf` diff --git a/src/main/res/drawable-xhdpi/list_pressed_shadow.9.png b/src/main/res/drawable-xhdpi/list_pressed_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..4f6f689b8785b1c3400a513b0ace3985a58f7f8e GIT binary patch literal 114 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 KMNUMnLSTZ@k!8F9 diff --git a/src/main/res/drawable-xhdpi/spinner_ab_pressed_shadow.9.png b/src/main/res/drawable-xhdpi/spinner_ab_pressed_shadow.9.png index 870d2bec8c8c667edc2024f875e0e52ff364ca7a..cfc8b5e13cf867e2574fb5bfa0bdc0c1d88779dd 100755 GIT binary patch delta 578 zcmV-I0=@mE1=|FWB!41FL_t(&L+zT&O2a@DhD}mpvauwPLUrl7h^<>eU#8E|7jWms zzKnuv7e0VX?LtU;gN8O2PXd8jdO1mECTC!>DW!Ay^5rz?On>bRcceSbG+Z}+t#W|T zXrvE^L)WsbOL%*sXu!^Dqp5#^bRMyh#o|nSV??(=@MjUAM{)E3QY9 zB;k6!{_1wSzd3ji1UK;Fh(o9~Q{XtxXAbWB{ymh3QENCsouO=E*LB|u;}3%7WikyI ze^cO0R3ZnF-gpXkl}F^sl4u6TU$Yul;G!;v^v1I%r)>A}yv7x{=o(kXmGKh>irb+o z6;&##R7BMPa(^E6`3(Ar1Iu zv#|jB7K{%(&wG{vJTpC=P6q(rhpj-X)9E~s2QN%VQFI5eW(G_ieAjegnKbx5)8xSq znI;W>%rsf>Q>ICRV@#6+$C@SuUdA*T@Uo^!fLAfyIDdFm(~W}HG2Iw=UDJ(#voI|j zoRw*z;4DoG17~eo2sjVZ+`%F2a=u(H`^6d&xgCOT#%%>Oo6QCQ--GN(zDC@0)XHoD z_zRcCGMKiZzK`X$H2A!7aL2aofD1VKnsaJMZYK+So(ddmid8%56GAfn&nbBdPUgU* zoDo%NLp#Am3>zM`SMd8Ii(yxOT(i36ZI6@XX@P0JTCKkS#jp{Rkqf^60eSa0G33?% QVgLXD07*qoM6N<$f|804jsO4v delta 653 zcmV;80&@M^1f>O#B!6s4L_t(&L+zTsP8&fGhj$hnAyR?lDDhDu3ZOx_jgqu>O&)=C z;aNxrkC4>Rl8Dw8isZP6QsN*XlvF|SAMNn7W6KB`XYX!rZ%*24uGyXa?$g+JJ3FN8 zE`BhK?51TmY6S55j2HjhcD4=EOAu~o%}=shGJa%Zs0YyRnt%BG>2lQi{DuZ2@ak!2 zhne?S=~Yc8cbl^w&9G)t<`)rtYSf~O5#;Vk=RFZ`#dqO<1~YwY)}s#-@I!zv`NxRA zBEbIw{9v3amq+nK@m09^sB z0r*$(;8WAQrW7pzyel63f$7pXHDrU&Fg;0Wx!{kOmVXUC$FyAV|Cp8uZedy;xTR@X z;4w_g0gq`~26zI~`GY4koiBI_)A@m?G@TE)1JnM&9hvqE?$ES9aL1W3 z+uzmvv4FO#mm94Uhl; delta 39 tcmd1LpJ2}AyUi}wWtzof-PnnaQX+P`Zpu^I&$GwBo=x;kmworR_jzSqc|yAEb^pEZx8;fl zJXB^Bo$!uRBOp*AP0W;Qt4{aodyKbstvkP3ZpGuw#;)aZ5GhtIt|Mm_Ik+~?h!k0& zAz<9iB+8nU7Pw%M!x&SMzVdBTgoW z{k%>)pL+Z;VrSKw7rnrt)?Hy=*Zr!+0oCvOQjTX_=2hIKBsBTJK@ni^F?hQAxvX<69M0&_ zU9q2&?Y8{QNA~|o{}wB-RDu(ux;Jz=iMm_`j)e5*;Oq7 lJN!!IinZUbS-VNkSKOr}G}Ct<3ozgqJYD@<);T3K0RWpzfX)B_ literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/ab_stacked_solid_shadow.9.png b/src/main/res/drawable-xxhdpi/ab_stacked_solid_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..47555f2f743b5e66ddcd705c65d6df02d8270f56 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^ULefD1|(%J94cgBU{v*VaSW-5dwa)_uPK0m)zLyx zbor7;EnQOH1uGQ_*IfT#Y~ys?;?C#qH!QDJTrIpWKJR(u`-Jehufwj#PD^DF&Es6r z@Wsoav5U!YvqnImLYf$>7T1w8iyT}VXGDsu&=4^0W)fvhN()@D$l;6*SBOZ*Ojmj< zzT&y!__y3?Kc@dbv#*=!>*IgTUHlvn$Ce6Z%~*C){3PFnYo&i{Ch}bQxW(b9J3qwX jR@_^^-m5yE@mP5J9wnhUo=bIr;l|+U>gTe~DWM4flQ@G& literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/ab_texture_tile_shadow.png b/src/main/res/drawable-xxhdpi/ab_texture_tile_shadow.png new file mode 100755 index 0000000000000000000000000000000000000000..5f5299cab79068a4b7a023c9f729101af3dfdee0 GIT binary patch literal 255 zcmVw1{p0B_+C3v;J5P2u}KMAI~qs&O2RUxFpj^a9W$a#DtCh!Ow*002ovPDHLk FV1jlhW<~%2 literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/ab_transparent_shadow.9.png b/src/main/res/drawable-xxhdpi/ab_transparent_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..0e9ba38dfeefd172f0cf59b0eb1f04d10ca1997c GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^ULefD1|(%J94cgBU{v>XaSW-5dwb`g;K2X}*NaQ| zQZ=0So(gEQN@~fSBt2WA@2hH|jd9LDi<;-jQ9IUtTyfj>%^~-_5Bb+yH)a(rn01+f zD@3GYrfXvtli_BKfIx*bF;*?EBWD&lxHis+6j`AmVBF0l%9@lGxL}dP86CPS{^nrI z-&6SI#I75AGy-mKX4;x-BEA6ZwkvWg9@gyDmz^pW|9t!A+fTpzie$+8+sr1qp988O kZpHWeGk$E@f94o_je8RFzN)U%z>s6`boFyt=akR{0F=XqTmS$7 literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/btn_cab_done_default_shadow.9.png b/src/main/res/drawable-xxhdpi/btn_cab_done_default_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..0c0079c7df77b8e03a798b0afdb59c285fea6eb6 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^Y(N~q0V1uWSr!4QU{4pv5DWk0l!k`?4re%0n>9uF zCLQ@7$oV9Jsr_!ogdR3d9hMbyB@Re_{{R1fmI1efq-1`R(47Xa1;@Wm#PTCB>P mwj#i~zUR#p4lR~|tXzhKpbTbn)kY_v@eH1>elF{r5}E+6wkwVR literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/btn_cab_done_focused_shadow.9.png b/src/main/res/drawable-xxhdpi/btn_cab_done_focused_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..ddf7531b3a24c25e09ec956926ef73f580c520e8 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^Y(N~q0V1uWSr!2)FHaZ85DWk0l!k`?4re%0n>7uN zXWS0HUmSO7_C%F`{a!t6oI18WYHYKf_y0d&^P*jspKryHjFSdYYE7$qFWyRckj0#_ ewKpi6nc>dPJ|T;TDKmklGI+ZBxvX7ud ze|dS?*w@$h@99$S3j3^P6GJW%!~a~q zxmF`!^K1SrwUTN%h}}`_Pxal?;`X_pZFy&ZM%46k&=nt#z(9^G@(YiB=ubKSa+Ls>gTe~DWM4fDm;@B literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/cab_background_top_shadow.9.png b/src/main/res/drawable-xxhdpi/cab_background_top_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..3480efff84b5023882590f7547edd09942cc4b56 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^ULefD1|(%J94cgBVAS_?aSW-5dwXXiZ&Lt+Yv7E- zvN>;J4^+k;xOYr;4zuS5QT?eZa?$z^pMU6)eZ1lP`7aM69=W>_r+gZh(ovXW?96}zvr%mwh6dvfm>c1r8D&ah4`B(Q9fVMJt My85}Sb4q9e0LUUb?*IS* literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/list_pressed_shadow.9.png b/src/main/res/drawable-xxhdpi/list_pressed_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..3af5169d33c69a40be4958363b6f97740712d128 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;AfTxRNh=qT0$^rg=k0+!ZS<0(Z z`0Gn1I}@9*YHn86uKFtui<-EWE6r+sSf8L{9rVnsBX0(`JFkkpNv2ra;>wwyJS3SC kIlic@TQo1^zcCZT6T<-J-;c!`fo3y!y85}Sb4q9e08UgZ{r~^~ literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/menu_dropdown_panel_shadow.9.png b/src/main/res/drawable-xxhdpi/menu_dropdown_panel_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..c2ff4a09c8f0892254b730bd8992ab09f16e79be GIT binary patch literal 3948 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 D6$>r} literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/progress_bg_shadow.9.png b/src/main/res/drawable-xxhdpi/progress_bg_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..7c221af9e7124874c6b6f9f31cee7ae9b30d990a GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^d_Zi(!3HFAKD=TFQpuh!jv*f2$tevD{{v=4bWIdo z#pyDc>0f`=5!sjr2Ncl>$23?ExBznRhbXd%$$v1n!V!#+d#3aKXy5U z#@pOr9^&L-G8R2chT?hLt7tG9TO0jKm~$`^_D7|XWGEUq%7w5oywyb50su%M(o{-Y z!Z8^Mhx--80E|`^{(91Gcqo;!R%vIg)jCR&N+y#s%12e6o$CE)-yA*?x<8Nr1VZSN zHkWkhoJfN4O$j`GI<7Jw64fk$2BRHRH~ zEd-Cq;qyGvB6CV+Re6y=|Mt_<)qpfGkT|UexaeU>a3B~81S8)95KR8nCWJsEeZ7%M zlzo~22!LR~%LoG%U@I_$fv`q!NCHq zmjn0=piMxHli$Al*otx+-QyR z3mwjxKOg7U-?jK&_>30I=DYoOOy|{iGkf!W+Fmw3hslqhJ=p#6YCzCX*W6%zQ)KMy zM&_VQSN_$Z%pBCL2Y4<2bgW@sACwnI4|YGkE+FmRS%lJ44b0o~N@;+v1tn1YECK*X zy|Z%2EGp!>fP~VouiF|vOeNjn+jd`_;WPlL7s{z(1|aVkkR?ybg{PBO%1tUHc=S%6 zGV3m?Fn{{^?enB*TR__vRT2Gl^!4tY^%m9kJcQk7lQYytToa6GL3*8!-51V^?|%K} z&JRSZj;3WVtYug+$1_!&wzIP(d4-C{#<`MIyR;Q+Jaxxx6)ROt-El5uteCn(;wyN~ z5@xNwmhqWtlg&a>7-p_y8dSa3#Y#hgRN6Sot&Xr^GTBO^?CDqcUakxzEaiFXes;bg zdD>1euuP{C9aDD#ffcK+V85whuzo=hSf%!@VL*eB%0r#g)G!KCb?a*zOygl2Sixlh z85FXRx%SGHLFVv&d7>iT6?**YlTWGs{eiJ>}peFOEQx6?o!;{XVpSz--? zg`IF>qPNcT^fWE6R_)@IgV4c4yp2c29v%<7S{O!nJPak?U&T~@xBMC$ydg# z7$jg$R9-#ga0PWQ0+B+Mr7Me#O5_(Gq(zavuI`RLH&5=vgkI|4Cxur>xE7Jh_^mH(4%KbMD|F04f-ANWX*zE%(XlZ6 zI5g_6c_2;Sl)7xZ!`224+lM$WO^hv7Y4Uh%cA^W7?Zcy=4ooy_G_ToH?UL7J-E=;$ zrRf~DBzYeer-qH^Wv$6+xImK`8_n2cJ~^3K-!jC``@huY&bC#@QmtM9V1WkKOf%I9&y2vd5dGnS4xl|UtPZ)p% zs0JVdkmb=cD5Omx!#|m4REB>c4hre9h72JygiNPQhBc%s4_Wo^i@kHZ*e UKdj+M#sB~S07*qoM6N<$g7K>pasU7T literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/progress_secondary_shadow.9.png b/src/main/res/drawable-xxhdpi/progress_secondary_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..1a7fb5894700701c6119792de9f2e7a36ed1e66b GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^d_Zi(!3HFAKD=TFQYoG;jv*f2$tevD{{v=4bWIdo z#pyDc>0f`=5!sjr2NcE?Br0004}Nklwe7eqEW2#GIX$b) z-+|VYfMlY808$Pa6T*ZrA)<|l$PgJKLu5n(L}ooQ>4h5Q`f$1>2teLL14tGiKmaLs zDiiW)LiTLi-qzkHgd^K!00Cri28ax$TCwfYA#?~GQkw!wl~SctYt!<6gGjW(`N?z$ z9YTkQLQZ6e43Qx+A^{>pWJCkQE<@(VK=5Fmh*GsA>1Axwzq**uXUGDL>Rhy;jCpUAlV!<|2^ WwBQ??e^N&P0000E?Br0004~Nklj&33nm0J*%MI29JCv*Ap9Ha0t=a`$|df9e77M5MN-JG6P z=I=mjNLjy<_AV2^q zcPbO|X+rjF+uqjxP6$V~%K!q%;tUWOO0{C!r9fnf#C+E6^09tmKf$iT4R_7>49Muq!)%ske(RkKzd`C0yzT1 z49HO!CP0qFP!Do6hH8*AFw}yag`pDUObm4(XJe=W(SV@_L<@!r5KR~=K+;7RKm2{A zYUcw2NCpT9AmvOkAxy|h>+%aT84w_VlrzJGFddU$cO}pOrOZO{llFf Xw_ZsqNG1&A00000NkvXXu0mjfpQ6BT literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/spinner_ab_focused_shadow.9.png b/src/main/res/drawable-xxhdpi/spinner_ab_focused_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..125bbda7de652de65e84724c3853b85317e070d6 GIT binary patch literal 805 zcmV+=1KRwFP)E?Br0008)Nkl!>*wvbsal)>|}QLpJOE3}@|Ka8CkxBh9tk$=>=XYF` z35d&#_P{(<+MJOadUKJn(LV=m{lsNT0&=;(cUKeNY3`8n_iRYL{?u7|m4IC7?LJnD zF31nNxd@r*>&Nc$vjpU7Z*QFxx0^eh2YY5U*z7LZ8tOp$yU#O2Hmc{rsgw^+!GfdG<9R)7E`zkW@UA#A(Mi*a2hvZ8w5bs2#C%Ldza z0Wvx=0FtT`009V5L6=EtNbYZ$7`qHWQe6fh02%x9A2lTFJ_JJsLk2_UXk_3%q}=lm z6jc<}{D;iQ5M&54Zv=5DvBzKDvD}u5kZ$hmqC{)^>z-142H~K0cGeK zYxAa!5_15y`85FmA8cn?xHhSwlX zV0a7C6o!`|O=5Tl(lmxwAhW>m24q$kUVzLJLp;c=F+_vR14Asxyf8$9%o9T#$h7OXyG0VFs07>Zp1R(iU3>kt9nJPmtTjnSqrVmXe6F>k` zIBi#P4Uv8;UMar98Fw*Bwf*bF$RyR6#@u?OrZK-~r!ntTO21GxV%4|Pn7_nQ2=;=W zSPH>iP)E?Br00087NklbDcX{%<1N?-nskZ zJMbmky!&*{xlS(UTBX$vKjAcMwadwK*31obyIs4}=^S{Tw^ylDwk^x5$TL)NBk_Iz zhmH^1wqJX_-m~kvUU>C?kilTETP~N6>E(#~X!)-+old{$_0ViK-`Hpa5EdEjcKd`P z!j}IQ#E+07#_RX{_bgHZknwnYM1MRK|555(k%Hl=R;xV*Ae1g{wOZX#XZYerI+;w~ zDQ&s|$Z$A3*R_CVrDKJ*(P-QTAfwUfBI}7dzpq}e-vA`?9|lM)+yMfR^a_XwNr(`i zW|>Q!XOFD+MiFw&W*LC|i2-CjWe_1z6GR9iWa+dUqzs;AVnr1o09l+mVNpedAVLr! znZCUvWfH!JpoXA^poXA^WD-CP!LtlkpkUfX${=NsGF$>k8KewXz+jd^${=NsGF$>k z8G}=X780J)BDy=Ch|zYIVHmW`@~qWrT^SD&VlW8fL82JOgTyh623dq*EJzZDksxUp z#(^xuFbX6KhA|*nF^mA=!O$Lr7ei~1RWP&#SrtP|kaaM$16dbCD-aPF+JK0{&;mpx zhVmeyF_Z?$14CJmyfBmm$rD34ki0RJ0@(zHG9a76Py%F=7}A4m8bfN3A~2){DGEbM zkRmap11TCqDi9ekqydoyLkbX?Fr)xsgWx%6*^@<$8FOn!={U|8&v>+5W5$CJeJ?;_ zasUBHdNLtG5Ftw=1l=-YvkX80l9DxO4mn>`kunQYh91h$q&nK98g0x=rI|M7Xmn3o zAVeG8V=IK%RtT)HV6%+KW*K3n4YyOFeA=g7M7DI@4S;p|ryr(1Y5Rwl#O+i#e^k+S a!<}D^H{dx)7DpHW0000I@ytX`IZ{@Yp#;^Kyb6|aNW+_QPDdzRtT(G^V>3m8_#xX8ib)G5#1M16NfT^F;F#@jwF@JYD@< J);T3K0RS0iA!+~s literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/tab_unselected_focused_shadow.9.png b/src/main/res/drawable-xxhdpi/tab_unselected_focused_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..cf9c97a2edc31c40e4a2d20e9f1b6cf51f09dc8e GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^96-#+!3HFS!eXZZDP2z&#}J9|FVdQ&MBb@0J|m| AIsgCw literal 0 HcmV?d00001 diff --git a/src/main/res/drawable-xxhdpi/tab_unselected_shadow.9.png b/src/main/res/drawable-xxhdpi/tab_unselected_shadow.9.png new file mode 100755 index 0000000000000000000000000000000000000000..7b5c16da0eb84eab9fe3f422b447c4324e2c9f0d GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^96-#+!3HFS!eXZZDN|1u#}J9| - - - - - diff --git a/src/main/res/drawable/selectable_background_shadow.xml b/src/main/res/drawable/selectable_background_shadow.xml index e0a3f0da..6feb6539 100755 --- a/src/main/res/drawable/selectable_background_shadow.xml +++ b/src/main/res/drawable/selectable_background_shadow.xml @@ -20,6 +20,6 @@ - + \ No newline at end of file diff --git a/src/main/res/layout/layout_apps.xml b/src/main/res/layout/layout_apps.xml index 20871800..99256204 100644 --- a/src/main/res/layout/layout_apps.xml +++ b/src/main/res/layout/layout_apps.xml @@ -21,7 +21,7 @@ android:layout_alignParentLeft="true" android:layout_centerVertical="true"/> - - - - + - - - + + center_vertical + 16dp + @drawable/md__category_background - + true + end + + + + + \ No newline at end of file diff --git a/src/main/scala/com/github/shadowsocks/AppManager.scala b/src/main/scala/com/github/shadowsocks/AppManager.scala index fc8d63ed..775ae827 100644 --- a/src/main/scala/com/github/shadowsocks/AppManager.scala +++ b/src/main/scala/com/github/shadowsocks/AppManager.scala @@ -39,7 +39,7 @@ package com.github.shadowsocks -import android.app.ProgressDialog +import android.app.{Activity, ProgressDialog} import android.content.Context import android.content.SharedPreferences import android.content.pm.PackageManager @@ -53,22 +53,13 @@ import android.view.View.OnClickListener import android.view.ViewGroup import android.view.ViewGroup.LayoutParams import android.view.WindowManager -import android.widget.AbsListView +import android.widget._ import android.widget.AbsListView.OnScrollListener -import android.widget.ArrayAdapter -import android.widget.CheckBox -import android.widget.CompoundButton import android.widget.CompoundButton.OnCheckedChangeListener -import android.widget.ImageView -import android.widget.ListAdapter -import android.widget.ListView -import android.widget.TextView -import com.actionbarsherlock.app.SherlockActivity import com.nostra13.universalimageloader.core.download.BaseImageDownloader import java.io.{ByteArrayOutputStream, ByteArrayInputStream, InputStream} import com.nostra13.universalimageloader.core.{DisplayImageOptions, ImageLoader, ImageLoaderConfiguration} import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer -import org.jraf.android.backport.switchwidget.Switch import com.github.shadowsocks.utils.{Utils, Scheme, Key} case class ProxiedApp(uid: Int, name: String, var proxied: Boolean) @@ -105,7 +96,7 @@ object AppManager { } } -class AppManager extends SherlockActivity with OnCheckedChangeListener with OnClickListener { +class AppManager extends Activity with OnCheckedChangeListener with OnClickListener { val MSG_LOAD_START = 1 val MSG_LOAD_FINISH = 2 @@ -217,7 +208,7 @@ class AppManager extends SherlockActivity with OnCheckedChangeListener with OnCl protected override def onCreate(savedInstanceState: Bundle) { super.onCreate(savedInstanceState) - getSupportActionBar.setTitle(R.string.proxied_help) + getActionBar.setTitle(R.string.proxied_help) this.setContentView(R.layout.layout_apps) this.overlay = View.inflate(this, R.layout.overlay, null).asInstanceOf[TextView] getWindowManager.addView(overlay, new @@ -232,7 +223,7 @@ class AppManager extends SherlockActivity with OnCheckedChangeListener with OnCl .build() ImageLoader.getInstance().init(config) - val bypassSwitch: Switch = findViewById(R.id.bypassSwitch).asInstanceOf[Switch] + val bypassSwitch = findViewById(R.id.bypassSwitch).asInstanceOf[Switch] val prefs: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext) bypassSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener { def onCheckedChanged(button: CompoundButton, checked: Boolean) { diff --git a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala index 7f98b010..c268cecd 100644 --- a/src/main/scala/com/github/shadowsocks/Shadowsocks.scala +++ b/src/main/scala/com/github/shadowsocks/Shadowsocks.scala @@ -225,18 +225,19 @@ class Shadowsocks } } - lazy val settings = PreferenceManager.getDefaultSharedPreferences(this) - lazy val status = getSharedPreferences(Key.status, Context.MODE_PRIVATE) - lazy val preferenceReceiver = new PreferenceBroadcastReceiver - lazy val drawer = MenuDrawer.attach(this) - lazy val menuAdapter = new MenuAdapter(this, getMenuList) - lazy val listView = new ListView(this) - lazy val profileManager = + private lazy val settings = PreferenceManager.getDefaultSharedPreferences(this) + private lazy val status = getSharedPreferences(Key.status, Context.MODE_PRIVATE) + private lazy val preferenceReceiver = new PreferenceBroadcastReceiver + private lazy val drawer = MenuDrawer.attach(this) + private lazy val menuAdapter = new MenuAdapter(this, getMenuList) + private lazy val listView = new ListView(this) + private lazy val profileManager = new ProfileManager(settings, getApplication.asInstanceOf[ShadowsocksApplication].dbHelper) - private lazy val handler = new Handler() private lazy val application = getApplication.asInstanceOf[ShadowsocksApplication] + val handler = new Handler() + def isSinglePane: Boolean = { if (singlePane == -1) { val metrics = new DisplayMetrics() @@ -518,8 +519,8 @@ class Shadowsocks case ignored: RemoteException => // Nothing } bgService = null + unbindService(connection) } - unbindService(connection) } override def onRestoreInstanceState(inState: Bundle) { diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala index f757278c..48cb6f45 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala @@ -39,19 +39,16 @@ package com.github.shadowsocks +import java.util import java.util.concurrent.TimeUnit import android.app.Application import com.github.shadowsocks.database.DBHelper -import com.google.android.gms.analytics.{GoogleAnalytics, Tracker} +import com.github.shadowsocks.utils.Utils +import com.google.android.gms.analytics.GoogleAnalytics import com.google.android.gms.common.api.ResultCallback import com.google.android.gms.tagmanager.Container.FunctionCallMacroCallback -import com.google.android.gms.tagmanager.{ContainerHolder, TagManager, Container} -import com.google.tagmanager.{Container, ContainerOpener, TagManager} -import com.google.tagmanager.ContainerOpener.{Notifier, OpenType} -import com.google.tagmanager.Container.FunctionCallMacroHandler -import java.util -import com.github.shadowsocks.utils.Utils +import com.google.android.gms.tagmanager.{ContainerHolder, TagManager} class ShadowsocksApplication extends Application { lazy val dbHelper = new DBHelper(this) @@ -64,7 +61,7 @@ class ShadowsocksApplication extends Application { val pending = tm.loadContainerPreferNonDefault("GTM-NT8WS8", R.raw.gtm_default_container) val callback = new ResultCallback[ContainerHolder] { override def onResult(holder: ContainerHolder): Unit = { - if (!containerHolder.getStatus.isSuccess) { + if (!holder.getStatus.isSuccess) { return } containerHolder = holder diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksBackupAgent.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksBackupAgent.scala index 062e03c5..5640ef7c 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksBackupAgent.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksBackupAgent.scala @@ -39,8 +39,7 @@ package com.github.shadowsocks -import android.app.backup.{FileBackupHelper, SharedPreferencesBackupHelper, BackupAgentHelper} -import android.content.Context +import android.app.backup.{BackupAgentHelper, FileBackupHelper, SharedPreferencesBackupHelper} import com.github.shadowsocks.database.DBHelper class ShadowsocksBackupAgent extends BackupAgentHelper { diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala index 08d46bc8..ba9e4794 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksNatService.scala @@ -39,30 +39,26 @@ package com.github.shadowsocks -import android.app.Notification -import android.app.NotificationManager -import android.app.PendingIntent -import android.app.Service +import java.io.File +import java.lang.reflect.{InvocationTargetException, Method} +import java.util.{Timer, TimerTask} + +import android.app.{Notification, NotificationManager, PendingIntent, Service} import android.content._ -import android.content.pm.PackageInfo -import android.content.pm.PackageManager +import android.content.pm.{PackageInfo, PackageManager} +import android.graphics.Color +import android.net.TrafficStats import android.os._ import android.support.v4.app.NotificationCompat import android.util.Log -import java.lang.reflect.InvocationTargetException -import java.lang.reflect.Method +import com.github.shadowsocks.aidl.Config +import com.github.shadowsocks.utils._ import com.google.android.gms.analytics.HitBuilders import org.apache.http.conn.util.InetAddressUtils + import scala.collection._ -import java.util.{TimerTask, Timer} -import android.net.TrafficStats -import scala.concurrent.ops._ -import com.github.shadowsocks.utils._ -import scala.Some -import android.graphics.Color -import com.github.shadowsocks.aidl.Config import scala.collection.mutable.ArrayBuffer -import java.io.File +import scala.concurrent.ops._ case class TrafficStat(tx: Long, rx: Long, timestamp: Long) @@ -275,6 +271,7 @@ class ShadowsocksNatService extends Service with BaseService { } def onBind(intent: Intent): IBinder = { + Log.d(TAG, "onBind") if (Action.SERVICE == intent.getAction) { binder } else {