From c1093ef1604f80ed261373141c1a921542b8cc03 Mon Sep 17 00:00:00 2001 From: fr3ts0n Date: Fri, 6 Jan 2017 15:31:19 +0100 Subject: [PATCH] optimize resources * remove redundant resources * remove redundant code * code optimization --- project.properties | 2 + res/drawable-hdpi/drawer_shadow.9.png | Bin 161 -> 0 bytes res/drawable-hdpi/ic_drawer.png | Bin 2829 -> 0 bytes res/drawable-hdpi/ic_launcher.png | Bin 9058 -> 0 bytes res/drawable-mdpi/drawer_shadow.9.png | Bin 142 -> 0 bytes res/drawable-mdpi/ic_drawer.png | Bin 2820 -> 0 bytes res/drawable-mdpi/ic_launcher.png | Bin 4577 -> 0 bytes res/drawable-xhdpi/drawer_shadow.9.png | Bin 174 -> 0 bytes res/drawable-xhdpi/ic_drawer.png | Bin 2836 -> 0 bytes res/drawable-xhdpi/ic_launcher.png | Bin 14088 -> 0 bytes res/menu/global.xml | 9 - .../stagefever/NavigationDrawerFragment.java | 52 +---- .../stagefever/util/SystemUiHider.java | 191 ---------------- .../stagefever/util/SystemUiHiderBase.java | 72 ------ .../util/SystemUiHiderHoneycomb.java | 211 ------------------ 15 files changed, 10 insertions(+), 527 deletions(-) delete mode 100644 res/drawable-hdpi/drawer_shadow.9.png delete mode 100644 res/drawable-hdpi/ic_drawer.png delete mode 100644 res/drawable-hdpi/ic_launcher.png delete mode 100644 res/drawable-mdpi/drawer_shadow.9.png delete mode 100644 res/drawable-mdpi/ic_drawer.png delete mode 100644 res/drawable-mdpi/ic_launcher.png delete mode 100644 res/drawable-xhdpi/drawer_shadow.9.png delete mode 100644 res/drawable-xhdpi/ic_drawer.png delete mode 100644 res/drawable-xhdpi/ic_launcher.png delete mode 100644 res/menu/global.xml delete mode 100644 src/com/fr3ts0n/stagefever/util/SystemUiHider.java delete mode 100644 src/com/fr3ts0n/stagefever/util/SystemUiHiderBase.java delete mode 100644 src/com/fr3ts0n/stagefever/util/SystemUiHiderHoneycomb.java diff --git a/project.properties b/project.properties index f72b971..d5e20de 100644 --- a/project.properties +++ b/project.properties @@ -12,3 +12,5 @@ # Project target. target=android-25 +manifestmerger.enabled=false +android.package.excludes=info diff --git a/res/drawable-hdpi/drawer_shadow.9.png b/res/drawable-hdpi/drawer_shadow.9.png deleted file mode 100644 index 236bff558af07faa3921ba35e2515edf62d04bb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^JV0#3!3HEVSgovp6icy_X9x!n)NrJ90QsB+9+AZi z4BVX{%xHe{^je^xv!{z=h{y5dAOHW`Gf#YA@1xt%!KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0000uNkl6npQzYb3^~F>R7e zCS@}9%}i!Z`M-JZegEHm0SArAxoPaN)vV&YwRI33)BsZtUWsKRSE%?Ef`V6fFAe3@S6>}=^XAP4s^PQK zr%yxT%$YM^3iZ9m#ozn9yym`tCdZIt{mX#4fB*i7t5>hKa}j?zdGaKl6rzZ8=guk5 zJ!$oYP~TIZ`@?KI>5;8M0k(ZZ;l9CeC z)YPE4xmnq#=5ZwC*i64-IhP+4obK*!drJP@qeqWIje`ddV#9_FsH>|(ettgE($W+V zk&%&zii%P|OqntT(b3UL2oyEcZSuZ+PChT+i-?F&-cLzM!Jlqdm6wH1oH$WgTyHR{QX~YP8tOI`mL@3K zkL)ijEKJ#+k&%J2va(02lJk&|b7B?D`=^1SPdrC|*tdWGeyFi=<3=S7X3w7eXc4{P zXo3+KQ>RWRnzI-{-)6)?i9{%X0p9Dt*BQT~-o2G>LjT-7U6_)Bze-BbnP!K{xLy?-A zipt7LY}>X?QIv$7D|@JZ-y0mt_x`S3yCAV?(?a<-o0DA>7JbXcb-;< z4gvMIojb95^=id10|Nt*3>Joj7QX}a+Mr?+q44hcE1oUE^}FZ})eAE`$L)LT8` zC7Q}n!3Y$IS+iz63U!+bN>fR)pWZ4`0jVmI^YQWVftQz;a*k5%B<1A1ss1zH2^{8e zr5vQay=~3>A(5kzPkauDJSI1tp(Tl_cMPoQfWoW^&;K zkcWqd^1k$6a_$`+9XNLE*vfAe4m;WLg!5O~dHbd|)K)D;R(gtZA}Sz}_k;-(zLZ{? z>QPfmRG|q+z)0m&Lj|QmQdOj;nyRASX(q>)^H9%AE}#H%b8}M^R$X1KLi%s6X~MTP zQ}tyIf4XJM797~S2MgwAVfKu8;fR+>1(Ih? zNSZ3@4M~QOr%_v@!i^jT2lou5s zDPcOYQA4v=cp;zI(+ z-Q8UQuB}(plr}2? z3$oI%WI+xZYO7FDT7>wXk>W{!)bvu-qr#CsN`<7VsCSw@4v?l%_XZ?Bqylnwc7}t4 zgR;-Iwl+z(|B^L+V?gXgj}Q>*YiqD1cP=)!G$M5tyAp{5dT>sBKpc^2lR z&E{w3p?vWoG_R^fO?5evX3hMkDo8cz-hd>ecT;TRz=6Zx2+sNQ=S>OcuZIro!}QoG zh>wm$W>Ny$+t#5lF9+$OoXj-Ei)7oH`sIX|$e*)NRlFEAWyMt4O4Qd>BWF%F;-|)c z?;i9d1=-ozDcjbrStBa?D-GM^YXjoI*CmeMvZkKOS&gW$35c0A5ven0pt+$I8=F?s zgOV|aX_q~F7AlGhuxG~>)GsUN_Ssl8Z!T6Xt3)HyZcFnTtXsVT#fuBM(C@E`X?oDO zapM#Z5Yz%wq~@hYd~TC zA_DkZWB9l}sJD8)ZXeXUiuDF$X=w=?8yg%wv{#zQ&t=VD84w$(6ln_O;I=WlM|DP*;t`^q`6*`6w&MBhdBOu(p9!Zy8Eh;ffdK zVHMM@Ys&`ZJMC>P$mh0H`c7|9njQ7m?W9!&iT`N!K`t&X3Lr@@QI7z!u&`iJDMTmN zdi?nD)UOPP6YzzVD_1Hzk#MlLLsWPOme6}TH@6^}eNf8G>Bvf+iHxL~*xI@ln_AXl z;haol(y$BW&qZB%F`B8SU7cG|x2ytfO$}JTW+hfsmZP@3OaXQ7*naHk+>Anknypc> zG{+20@A-SPn5Kd>4O#$+dQ|@r^@wt;tgMu^IojLe*x`LL^Gdqt^GCU2rlzI} zWg+h7I*#cTf`#mRc6V;X+_Ypw)0493L%B>PNvR!MTT#BG02M{~Ot(xF(1+?P%dod| z6ZUkqi{4q8v@D>Tu!YA)G$CpB`19q*-F(Log~F&D83xp5FfR zxE@GNFME6YM+#B_$@*$4N~F8~qpba@fG9N|xs7RVZms~5XW5aEci~l-oe+<_IT`es zHWcUQDh8c2eJaa*3YJqf`*wDqlqr=@6*bgWqjb>%6z9#ys_HVFJ$?W?+Bfoh3sF&0 zjO_%qnFd}*RSB@O#}42;VU-mx!K|5yOs&7&6MEeJAWcBM=P*tG5%mZlM@Pp;fK*5V zXxunwY~R))Y3B1)I_C!D%7?_xtz|71{0VF$=D-FEbq_`FYq#h;>xcQhL#{k|o&RwN>#aNwK9g>W|+YnvD#Jg{ndnfm`Xi! zXcx}&bB*=2^r(a{+$8JWJ&S_W60cds{5{MIudAMRGMnx)XU7Q)Wz4l(f5Ri_#CJvJH@OUrDnqBA~oESxOsl zz5J5qnq=WOP}^ zXkqH!d*vKnyKxR{R@NbgY1ccwR6t*75}m1fw{eIJ84q`!yR(foT}=q`i*HA- zU0PD~o2LTeMEzG4kSIt1iHgLm)snBNB7qddt2d7m{i1nU*x9*7xuI6JWD)YR(lI|H zO=%!2OA3^#CTd#8MXo29nzAKW!fIEVw*c)M)}eu|!aAzu!ioJjLhm_5;48{Y*?2C( za>6;hyB(eEx#}xQ8D%(iUjvZz8@Q#8x?rV%8Hb`1nW7gl@mlQQ?I?H0lT(tz?Cyc&_v(q z-nRrIOT2fNUAt10oMp-akL zIDHtaYAdmUpDU)?=Ceg8;EdPBk!CFyU%}p~c||qubzj13*Uw>fWeKXdt%0hP6gx$* zH6@EtvM?6~Y$q}jV$oh#fZdy$u(G@ei6McAa&tk1izA|(9T4eghd?U}Ode;8;uu#H zN4vq#(iHv{V=;*h<5K~R7%@Uo(CE>lp{J*(gru4Pl2Dt+C;5@0Z)p=G0g$U%CV}ON%j=?}@4!Yb$W|!f|xcM{?L$R&lZ0`FdNA*HqEVwl=Lq zb6pj>HZ`OB>KPoN$)7vah1C_sDCdPJqAF*^OhJ5j0Cv|Tqop7L(O&LYFf$GZ+FQ`F ztPGPq-4X6+izx)-Z)t%UzIF(AFh`8D1t!^9!r$B&Q8t!e4UmMYA^{{Sk~Gt79#ufn zmG-V|UhZy~5go;$mA*su$Vkz-sReaarOGXl40hbvvy;)hsz$ltCSG)aW&9?6M7AAa zx?I0>9Bpe?(v;VsBsT|(bF#6lr~pU1Hsk8)gSdL`D5}|OW%EMBga)HLGa9?Ald+4D z6CHqAA^wPRb-@&>XJJANc5Q4xLuE0hu+00=CPM5i5MgV9iB@Lt9Xkf&j11s9#_<0= z6%Zl(K}$>P5hO`72}!dj`H_H9A*pH#@%KdP^jPKA?EH+`1i)c+?{?&HELlh+Z(6yG z@Y2{Xr7O2hs!Q_Gx~2|yx-T;IDmm0Ppo&1|FfB!G8wqQB>lzgDyNel(RK?9JC$Xui z9=q$aaJqR88sN2;0xlA3akjMz{g%qAqM zB-!kXc5Q3Jxf2JlmT8qSbB1!OMD8E0=3?j2o8)Inxd*RZRuq+$G)sZGeNz)E7B9pc z?jxTHOp51Z9~O+&1v7E`_UH#BQXJ4T)g;G z9=A(co<6!8w{M)q4wm>iR9!khGnZYG6femFTnA&*{GkNi1P=x;o^}U z$e%G83kWJD&;t`4#b@lO3@e1#SRlyK90BI0@GvokJJTv*ycagFD#x1Y5`?)qV@Ak? zyH5oaA0K~o$dDlrNTMQvqo$hbNos#2fW)+WD@iJx3d*0&Svox-H!GD3Oj68Sy5sw= zUPdK{TD>jMAViR;@+#56tCG< zm5P&1bFs538O4cV$e0v>94a(5%ol4H&BDBh@rYr^+`POL*Uuip{8`fx>|l=xEbrdt zW*BEY23~~Y!x(3z4_BsEh>0P5`8w28AIIC*u6Qb-j*gCmL4yWCg(PX#+mCv8+K&UJ zd5a{M9@Kqi2llouLq%aOlH+5!_yioZdI0afdIEdv=VC!zFlGdKVtRl((!zbPY)&!_*$c65ju_7wE6BzQ(}VqS za7QclvdqT>_+h-AH3I2Dj;vNTdZXb%D4vFT2pFReZzCPpjv9&G+qWltmEVLn6hIPc znu(I+SuOpdCV`~sN$Oy$nR2!^wpf&#jn6*1kNdaIupePnN|>Vj>ugqXB64OYVq4o< zym9B6l4A4Il8`ht2FZ*`!GQ?#c17KsNE~a-#Nn0c*xy!*2X`)_aY+_tPw>W!@%~5* z4@LMmCw9p68G9QVvz?MsUOc`JRg*h=IR%G2EygH$xqS+Zez_ ze-x~=wb0$&ZS0Qtkotgskb2YzmW+7#q!MHXXa$*W>-SZec0a6&n!-KYGWU*zst}jlrhEsc0{o zf!vrtWQKdAdR{W#xqBHMOu4Lx5JZe~KoF}|Fe8YQxvzzp0>_I=cIN=|0W8dol#+`N|V9u*!0Dfyx#we+j~ zkqSvuNou-Taym|&5`lz?p$KLr339MSpuH_yekTO-wZD@sW=#%5COhs~(_)Z1Ef!mv zS8_7H%85D^D{>}d-|{51QQG8aG}bcZP>}4y%<1&Dhn@08__%Gwn8DCx_fg?k=#^(}BId9xMo`ASY+j zR|a(Z_Vo$xJh+Pcubo5dx*8Z88Db~_2_&`ri<-XBZ4;0QD@16ZFG};WG1=b-0c_o; zP%$&Soe}TGE6qjt)3|-aC!Fn(5g&;ZR5;R1Gd zG{f55%tUEHX3@`aFp4=#j9s zGDqB$a5S!}#M}3;;`86UkJqoCKxR~^;swFhls&_fUf{t9AfWNqmI$`BuCfCCLZ z$eB}hLLiE!1)?xE0ExcN*jlrYK63?a%M0Mg&&qea*~hpsl_t=T{i#fMdW#1=#)}b6 zwO%;B3&;1ib0~F%=NLn{FnoA?Hmc z1A@Aa^QR9{zB|!SmXDeAFsUwnyt3Yue~6t_7E`#f%83FTnUc6 za0(Ys9>gkEu~1nQueK+zyeFUC*sM9xKm)DKs1P$md)Of>#2J$bDVRp?N*K9p14K!Z zJ^@thcxzMG(=$w182oAao=kfWWBLoXIn!$#nNkJWsknXZBv$eQ`I;HQl3wXzpu^HW z2Hq^|-bSO~tTP;Ah7N%q6*X_(yjEH3Hv#mcw6rv{x9(m0y+Hc-gF6o)ef$8w{@FuF z0!W3_8?rc)WD<@ZPHT-nn)Z`{E3%coIYFrOvZNJ)>f^l6wIKT&D@y=8!;8tiDQ4g!fj zHqp@v0qj|dW>3RCHkzGHb^M+Q7pVtZozbwOw>WcO4pgEIz0r<8+h~uVLbMTVXNk>g zYjEaJC+71QVOBaY7(5We1`S02e*MsoQCz&FO4j&~{F>r_^zGYMyZgr3cN9qP{teR4 zKYD}d_U0o8$5R!ssk5o&D62h9Sut^ z-pN3pCEHR_**F4AiHX9!SI%J9rZoyA>rvV;VI>_)^R?i>=|EN4uv$5>fVdKr^~mAy zGtog+UK&mx+K$CJX&A-N3YeGr_LYC_ct_SIYy3xl(Y4Rw#kt}4?_B!RyKh`ql=RX2 zH0%%W64L!Is7WBH-lVB2HGcQY_wWe;ceSnIByGU{#1NjGi6%Qrn&`lSiw-h3f;|C= zLM+*cdRv+)M(o5sCLuB$cW$2Ml;47J?1XJNKbdjSCTu^Xml-FY)755m8mgp~lMXA^ z(7_yA{5c#qW970EINDf9Tk@xjjErzu+qdzn(vqJ;H?%ZYKY0Bz1kwj@-(vZHRZ-Jt zKfO<1dgDuJr>aU5nEJEa=kaEWnR8K6f}Ql(qwwlmalv+6pf&x(ny+1`CfV*|!HQ*S zzyVVivnGb%)|F#8$ezoU`>>Mo&2nwZ(rrpGK4u1pw%1oGmC>-l7{%>FIe0tUTVdlm z`PIP{@+Vu>vZjB;dwM^fXBZsXzw785cP`7XTJ)L$1Ny_5-LpB>I+m?~In%XjX~{8JOV66V)knV< zUUUXu!dU)nG-MDAh75+Sz7C>n^)S^*50m}eaEeuGPe%(p*rgBe&+7EjOX$<5j}rX} z%8ZTZpn-$n>*M{VoV%>y+c4%QJ>*x^v^a+a9NM@2_H7#G>)q!d-t_jphoIhn`(f&d zsvauqHN}`eB{Ydo*oD8v&pNX-o3L549l>_rMi0?kv-l({4(DgiZMfE z+dwL#A1sCsMw*8a3PLz?n2#dZ!3c11#KE1L(An02arV~e`%)jO=Os`nN<8=6bMmV( zx8cQ)m2`&TZ7L_+f+lP*45Qh@XfsAoA)~l`*vtKyJ}+Z5dmdMgGMiiKv7vD} zyxp8JaNxkd#K*_WAFFuvoa^(?e9w>PdL%n;Vp!P1BZs;^x_0p}ZeBf#Zcg>Dy>g1G zqOxwE#r-?y8BE2y7nEpPu@sg=24aHoNQ@m!l~5sL31=*oq05DjB$z>cUV!1t{SZXu z*bE!U*Znbq{xX8zGPKW&==b7_c#+Y+|4VS-;A+qQ#(}Y>z5)&PRUi5J`7PqPx%Qmn zbI<&f9+J<488**8`)t&*%Cep3Pwn~Bl?(fE{n8=AI)Yo*kD>dxuLeYp7H0^r3LU^VPzOtT*icOCXJd{2uok zD0gRjSg;=&B9pn1;hz!{6L-qF$T{_#+q2L7lOO-lQ#K75ekLX+S!>sX&VZO=Kp@XQbNAy-WP%yAUMq35J$#>dCi zx3;dmd2sKR-yYt#MY)SO$=v}_6MPZqQU^=8fVLXo^gf)afh7gFr8A?z? zXvWWTyPlrjZ$m>vZ-#_~)XTnmj^WUA%)UP~)jTcjWLman_%mV{Nt~jK7R<}p*3`J_ ze0llO2PKOa|9tt9yg!uZ&iiY2Y6@~vQ~zf{cJ^QL7cBVQ;=H_{mlPI0Se&1KJ}WD0 zn~RG}k?f;qU;aJ&*8U-;)7Jqd6Y~&;eoqQ`Gh~vEV5Pn?NblK}-1C{Z zp6__~>_fk2pMCyS!Tdc~((229grvtX>G3S5o|5d=6RthmYX_5c6?07*qoM6N<$g1()asQ>@~ diff --git a/res/drawable-mdpi/drawer_shadow.9.png b/res/drawable-mdpi/drawer_shadow.9.png deleted file mode 100644 index ffe3a28d77c72094021013c6442560803b3d344c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^96+qZ!3HFgEN0vWQY^(zo*^7SP{WbZ0pxQQctjR6 zFmQK*Fr)d&(`$i(2A(dCAr_~TfBgS%&&>BhUX5L;x$y=|hic;t)=0q~!&M0(2Uj#r iT+R^X@#lD(V-Z7IzK5^$KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0000lNkl)HFiry~4#d$|ph7GRd^8UISO5Sz W=YbME=S@_z68Joi5L-uFwMdg}j={{zR>t5+A_ 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 F2>^8yH@N@+ diff --git a/res/drawable-xhdpi/ic_drawer.png b/res/drawable-xhdpi/ic_drawer.png deleted file mode 100644 index a5fa74def4b40d7eb6826da05bd5e12b836cb999..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2836 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 - - - - diff --git a/src/com/fr3ts0n/stagefever/NavigationDrawerFragment.java b/src/com/fr3ts0n/stagefever/NavigationDrawerFragment.java index f59dd7a..5fe3d78 100644 --- a/src/com/fr3ts0n/stagefever/NavigationDrawerFragment.java +++ b/src/com/fr3ts0n/stagefever/NavigationDrawerFragment.java @@ -11,8 +11,6 @@ import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; @@ -145,9 +143,12 @@ public void setUp(int fragmentId, DrawerLayout drawerLayout) .setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); // set up the drawer's list view with items and click listener - ActionBar actionBar = getActionBar(); - actionBar.setDisplayHomeAsUpEnabled(true); - actionBar.setHomeButtonEnabled(true); + ActionBar actionBar = getActivity().getActionBar(); + if (actionBar != null) + { + actionBar.setDisplayHomeAsUpEnabled(true); + actionBar.setHomeButtonEnabled(true); + } // ActionBarDrawerToggle ties together the the proper interactions // between the navigation drawer and the action bar app icon. @@ -257,8 +258,8 @@ public void onAttach(Activity activity) @Override public void onDetach() { - super.onDetach(); mCallbacks = null; + super.onDetach(); } @Override @@ -276,47 +277,10 @@ public void onConfigurationChanged(Configuration newConfig) mDrawerToggle.onConfigurationChanged(newConfig); } - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) - { - // If the drawer is open, show the global app actions in the action bar. See - // also - // showGlobalContextActionBar, which controls the top-left area of the - // action bar. - if (mDrawerLayout != null && isDrawerOpen()) - { - inflater.inflate(R.menu.global, menu); - showGlobalContextActionBar(); - } - super.onCreateOptionsMenu(menu, inflater); - } - @Override public boolean onOptionsItemSelected(MenuItem item) { - if (mDrawerToggle.onOptionsItemSelected(item)) - { - return true; - } - - return super.onOptionsItemSelected(item); - } - - /** - * Per the navigation drawer design guidelines, updates the action bar to show - * the global app 'context', rather than just what's in the current screen. - */ - private void showGlobalContextActionBar() - { - ActionBar actionBar = getActionBar(); - actionBar.setDisplayShowTitleEnabled(true); - actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); - actionBar.setTitle(R.string.app_name); - } - - private ActionBar getActionBar() - { - return getActivity().getActionBar(); + return mDrawerToggle.onOptionsItemSelected(item) || super.onOptionsItemSelected(item); } /** diff --git a/src/com/fr3ts0n/stagefever/util/SystemUiHider.java b/src/com/fr3ts0n/stagefever/util/SystemUiHider.java deleted file mode 100644 index 3cc81d8..0000000 --- a/src/com/fr3ts0n/stagefever/util/SystemUiHider.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.fr3ts0n.stagefever.util; - -import android.app.Activity; -import android.os.Build; -import android.view.View; - -/** - * A utility class that helps with showing and hiding system UI such as the - * status bar and navigation/system bar. This class uses backward-compatibility - * techniques described in - * Creating Backward-Compatible UIs to ensure that devices running any - * version of ndroid OS are supported. More specifically, there are separate - * implementations of this abstract class: for newer devices, - * {@link #getInstance} will return a {@link SystemUiHiderHoneycomb} instance, - * while on older devices {@link #getInstance} will return a - * {@link SystemUiHiderBase} instance. - *

- * For more on system bars, see System Bars. - * - * @see android.view.View#setSystemUiVisibility(int) - * @see android.view.WindowManager.LayoutParams#FLAG_FULLSCREEN - */ -public abstract class SystemUiHider -{ - /** - * When this flag is set, the - * {@link android.view.WindowManager.LayoutParams#FLAG_LAYOUT_IN_SCREEN} flag - * will be set on older devices, making the status bar "float" on top of the - * activity layout. This is most useful when there are no controls at the top - * of the activity layout. - *

- * This flag isn't used on newer devices because the action - * bar, the most important structural element of an Android app, should be - * visible and not obscured by the system UI. - */ - public static final int FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES = 0x1; - - /** - * When this flag is set, {@link #show()} and {@link #hide()} will toggle the - * visibility of the status bar. If there is a navigation bar, show and hide - * will toggle low profile mode. - */ - public static final int FLAG_FULLSCREEN = 0x2; - - /** - * When this flag is set, {@link #show()} and {@link #hide()} will toggle the - * visibility of the navigation bar, if it's present on the device and the - * device allows hiding it. In cases where the navigation bar is present but - * cannot be hidden, show and hide will toggle low profile mode. - */ - public static final int FLAG_HIDE_NAVIGATION = FLAG_FULLSCREEN | 0x4; - - /** - * The activity associated with this UI hider object. - */ - protected Activity mActivity; - - /** - * The view on which {@link View#setSystemUiVisibility(int)} will be called. - */ - protected View mAnchorView; - - /** - * The current UI hider flags. - * - * @see #FLAG_FULLSCREEN - * @see #FLAG_HIDE_NAVIGATION - * @see #FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES - */ - protected int mFlags; - - /** - * The current visibility callback. - */ - protected OnVisibilityChangeListener mOnVisibilityChangeListener = sDummyListener; - - /** - * Creates and returns an instance of {@link SystemUiHider} that is - * appropriate for this device. The object will be either a - * {@link SystemUiHiderBase} or {@link SystemUiHiderHoneycomb} depending on - * the device. - * - * @param activity - * The activity whose window's system UI should be controlled by this - * class. - * @param anchorView - * The view on which {@link View#setSystemUiVisibility(int)} will be - * called. - * @param flags - * Either 0 or any combination of {@link #FLAG_FULLSCREEN}, - * {@link #FLAG_HIDE_NAVIGATION}, and - * {@link #FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES}. - */ - public static SystemUiHider getInstance(Activity activity, View anchorView, - int flags) - { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) - { - return new SystemUiHiderHoneycomb(activity, anchorView, flags); - } else - { - return new SystemUiHiderBase(activity, anchorView, flags); - } - } - - protected SystemUiHider(Activity activity, View anchorView, int flags) - { - mActivity = activity; - mAnchorView = anchorView; - mFlags = flags; - } - - /** - * Sets up the system UI hider. Should be called from - * {@link Activity#onCreate}. - */ - public abstract void setup(); - - /** - * Returns whether or not the system UI is visible. - */ - public abstract boolean isVisible(); - - /** - * Hide the system UI. - */ - public abstract void hide(); - - /** - * Show the system UI. - */ - public abstract void show(); - - /** - * Toggle the visibility of the system UI. - */ - public void toggle() - { - if (isVisible()) - { - hide(); - } else - { - show(); - } - } - - /** - * Registers a callback, to be triggered when the system UI visibility - * changes. - */ - public void setOnVisibilityChangeListener(OnVisibilityChangeListener listener) - { - if (listener == null) - { - listener = sDummyListener; - } - - mOnVisibilityChangeListener = listener; - } - - /** - * A dummy no-op callback for use when there is no other listener set. - */ - private static OnVisibilityChangeListener sDummyListener = new OnVisibilityChangeListener() - { - @Override - public void onVisibilityChange( - boolean visible) - { - } - }; - - /** - * A callback interface used to listen for system UI visibility changes. - */ - public interface OnVisibilityChangeListener - { - /** - * Called when the system UI visibility has changed. - * - * @param visible - * True if the system UI is visible. - */ - void onVisibilityChange(boolean visible); - } -} diff --git a/src/com/fr3ts0n/stagefever/util/SystemUiHiderBase.java b/src/com/fr3ts0n/stagefever/util/SystemUiHiderBase.java deleted file mode 100644 index 80fe8fc..0000000 --- a/src/com/fr3ts0n/stagefever/util/SystemUiHiderBase.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.fr3ts0n.stagefever.util; - -import android.app.Activity; -import android.view.View; -import android.view.WindowManager; - -/** - * A base implementation of {@link SystemUiHider}. Uses APIs available in all - * API levels to show and hide the status bar. - */ -public class SystemUiHiderBase extends SystemUiHider -{ - /** - * Whether or not the system UI is currently visible. This is a cached value - * from calls to {@link #hide()} and {@link #show()}. - */ - private boolean mVisible = true; - - /** - * Constructor not intended to be called by clients. Use - * {@link SystemUiHider#getInstance} to obtain an instance. - */ - protected SystemUiHiderBase(Activity activity, View anchorView, int flags) - { - super(activity, anchorView, flags); - } - - @Override - public void setup() - { - if ((mFlags & FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES) == 0) - { - mActivity.getWindow().setFlags( - WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN - | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, - WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN - | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); - } - } - - @Override - public boolean isVisible() - { - return mVisible; - } - - @Override - public void hide() - { - if ((mFlags & FLAG_FULLSCREEN) != 0) - { - mActivity.getWindow().setFlags( - WindowManager.LayoutParams.FLAG_FULLSCREEN, - WindowManager.LayoutParams.FLAG_FULLSCREEN); - } - mOnVisibilityChangeListener.onVisibilityChange(false); - mVisible = false; - } - - @Override - public void show() - { - if ((mFlags & FLAG_FULLSCREEN) != 0) - { - mActivity.getWindow().setFlags( - 0, - WindowManager.LayoutParams.FLAG_FULLSCREEN); - } - mOnVisibilityChangeListener.onVisibilityChange(true); - mVisible = true; - } -} diff --git a/src/com/fr3ts0n/stagefever/util/SystemUiHiderHoneycomb.java b/src/com/fr3ts0n/stagefever/util/SystemUiHiderHoneycomb.java deleted file mode 100644 index 7a110f7..0000000 --- a/src/com/fr3ts0n/stagefever/util/SystemUiHiderHoneycomb.java +++ /dev/null @@ -1,211 +0,0 @@ -package com.fr3ts0n.stagefever.util; - -import android.annotation.TargetApi; -import android.app.Activity; -import android.os.Build; -import android.view.View; -import android.view.WindowManager; - -/** - * An API 11+ implementation of {@link SystemUiHider}. Uses APIs available in - * Honeycomb and later (specifically {@link View#setSystemUiVisibility(int)}) to - * show and hide the system UI. - */ -@TargetApi(Build.VERSION_CODES.HONEYCOMB) -public class SystemUiHiderHoneycomb extends SystemUiHiderBase -{ - /** - * Flags for {@link View#setSystemUiVisibility(int)} to use when showing the - * system UI. - */ - private int mShowFlags; - - /** - * Flags for {@link View#setSystemUiVisibility(int)} to use when hiding the - * system UI. - */ - private int mHideFlags; - - /** - * Flags to test against the first parameter in - * {@link android.view.View.OnSystemUiVisibilityChangeListener#onSystemUiVisibilityChange(int)} - * to determine the system UI visibility state. - */ - private int mTestFlags; - - /** - * Whether or not the system UI is currently visible. This is cached from - * {@link android.view.View.OnSystemUiVisibilityChangeListener}. - */ - private boolean mVisible = true; - - /** - * Constructor not intended to be called by clients. Use - * {@link SystemUiHider#getInstance} to obtain an instance. - */ - protected SystemUiHiderHoneycomb(Activity activity, View anchorView, int flags) - { - super(activity, anchorView, flags); - - mShowFlags = View.SYSTEM_UI_FLAG_VISIBLE; - mHideFlags = View.SYSTEM_UI_FLAG_LOW_PROFILE; - mTestFlags = View.SYSTEM_UI_FLAG_LOW_PROFILE; - - if ((mFlags & FLAG_FULLSCREEN) != 0) - { - // If the client requested fullscreen, add flags relevant to hiding - // the status bar. Note that some of these constants are new as of - // API 16 (Jelly Bean). It is safe to use them, as they are inlined - // at compile-time and do nothing on pre-Jelly Bean devices. - mShowFlags |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; - mHideFlags |= View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN - | View.SYSTEM_UI_FLAG_FULLSCREEN; - } - - if ((mFlags & FLAG_HIDE_NAVIGATION) != 0) - { - // If the client requested hiding navigation, add relevant flags. - mShowFlags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; - mHideFlags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION - | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; - mTestFlags |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; - } - } - - /** {@inheritDoc} */ - @Override - public void setup() - { - mAnchorView - .setOnSystemUiVisibilityChangeListener(mSystemUiVisibilityChangeListener); - } - - /** {@inheritDoc} */ - @Override - public void hide() - { - mAnchorView.setSystemUiVisibility(mHideFlags); - } - - /** {@inheritDoc} */ - @Override - public void show() - { - mAnchorView.setSystemUiVisibility(mShowFlags); - } - - /** {@inheritDoc} */ - @Override - public boolean isVisible() - { - return mVisible; - } - - private View.OnSystemUiVisibilityChangeListener mSystemUiVisibilityChangeListener = new View.OnSystemUiVisibilityChangeListener() - { - @Override - public void onSystemUiVisibilityChange( - int vis) - { - // Test - // against - // mTestFlags - // to - // see - // if - // the - // system - // UI - // is - // visible. - if ((vis & mTestFlags) != 0) - { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) - { - // Pre-Jelly - // Bean, - // we - // must - // manually - // hide - // the - // action - // bar - // and - // use - // the - // old - // window - // flags - // API. - mActivity - .getActionBar() - .hide(); - mActivity - .getWindow() - .setFlags( - WindowManager.LayoutParams.FLAG_FULLSCREEN, - WindowManager.LayoutParams.FLAG_FULLSCREEN); - } - - // Trigger - // the - // registered - // listener - // and - // cache - // the - // visibility - // state. - mOnVisibilityChangeListener - .onVisibilityChange(false); - mVisible = false; - - } else - { - mAnchorView - .setSystemUiVisibility(mShowFlags); - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) - { - // Pre-Jelly - // Bean, - // we - // must - // manually - // show - // the - // action - // bar - // and - // use - // the - // old - // window - // flags - // API. - mActivity - .getActionBar() - .show(); - mActivity - .getWindow() - .setFlags( - 0, - WindowManager.LayoutParams.FLAG_FULLSCREEN); - } - - // Trigger - // the - // registered - // listener - // and - // cache - // the - // visibility - // state. - mOnVisibilityChangeListener - .onVisibilityChange(true); - mVisible = true; - } - } - }; -}