From 71ae342f520e155c097798b4edb5d738cf399331 Mon Sep 17 00:00:00 2001 From: Mauricio Colli Date: Mon, 27 Mar 2017 10:12:22 -0300 Subject: [PATCH] Implement screen orientation toggle --- .../schabi/newpipe/player/AbstractPlayer.java | 6 ++--- .../newpipe/player/ExoPlayerActivity.java | 17 +++++++++++++- .../ic_screen_rotation_white.png | Bin 0 -> 976 bytes .../ic_screen_rotation_white_24dp.png | Bin 858 -> 0 bytes .../ic_screen_rotation_white.png | Bin 0 -> 673 bytes .../ic_screen_rotation_white_24dp.png | Bin 639 -> 0 bytes .../ic_screen_rotation_white.png | Bin 0 -> 1256 bytes .../ic_screen_rotation_white_24dp.png | Bin 1191 -> 0 bytes .../ic_screen_rotation_white.png | Bin 0 -> 1897 bytes .../ic_screen_rotation_white_24dp.png | Bin 1873 -> 0 bytes .../ic_screen_rotation_white.png | Bin 0 -> 2553 bytes .../ic_screen_rotation_white_24dp.png | Bin 2611 -> 0 bytes .../main/res/layout/activity_exo_player.xml | 22 ++++++++++++++---- 13 files changed, 36 insertions(+), 9 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/ic_screen_rotation_white.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_screen_rotation_white_24dp.png create mode 100644 app/src/main/res/drawable-mdpi/ic_screen_rotation_white.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_screen_rotation_white_24dp.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_screen_rotation_white.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_screen_rotation_white_24dp.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_screen_rotation_white.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_screen_rotation_white_24dp.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_screen_rotation_white.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_screen_rotation_white_24dp.png diff --git a/app/src/main/java/org/schabi/newpipe/player/AbstractPlayer.java b/app/src/main/java/org/schabi/newpipe/player/AbstractPlayer.java index a9987bee9..1c6d4822b 100644 --- a/app/src/main/java/org/schabi/newpipe/player/AbstractPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/AbstractPlayer.java @@ -18,7 +18,6 @@ import android.preference.PreferenceManager; import android.support.v4.content.ContextCompat; import android.text.TextUtils; import android.util.Log; -import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; import android.view.SurfaceView; @@ -232,8 +231,7 @@ public abstract class AbstractPlayer implements StateInterface, SeekBar.OnSeekBa if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) playbackSeekBar.getThumb().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN); this.playbackSeekBar.getProgressDrawable().setColorFilter(Color.RED, PorterDuff.Mode.MULTIPLY); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) this.qualityPopupMenu = new PopupMenu(context, qualityTextView, Gravity.CENTER | Gravity.BOTTOM); - else this.qualityPopupMenu = new PopupMenu(context, qualityTextView); + this.qualityPopupMenu = new PopupMenu(context, qualityTextView); ((ProgressBar) this.loadingPanel.findViewById(R.id.progressBarLoadingPanel)).getIndeterminateDrawable().setColorFilter(Color.WHITE, PorterDuff.Mode.MULTIPLY); @@ -419,7 +417,7 @@ public abstract class AbstractPlayer implements StateInterface, SeekBar.OnSeekBa if (DEBUG) Log.d(TAG, "onBuffering() called"); loadingPanel.setBackgroundColor(Color.TRANSPARENT); animateView(loadingPanel, true, 500, 0); - animateView(controlsRoot, false, 0, 0); + animateView(controlsRoot, false, 0, 0, true); } @Override diff --git a/app/src/main/java/org/schabi/newpipe/player/ExoPlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/ExoPlayerActivity.java index 58e93fc61..3a7c5e085 100644 --- a/app/src/main/java/org/schabi/newpipe/player/ExoPlayerActivity.java +++ b/app/src/main/java/org/schabi/newpipe/player/ExoPlayerActivity.java @@ -5,6 +5,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.ActivityInfo; import android.graphics.Color; import android.media.AudioManager; import android.net.Uri; @@ -173,6 +174,12 @@ public class ExoPlayerActivity extends Activity { getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); } + private void toggleOrientation() { + setRequestedOrientation(getResources().getDisplayMetrics().heightPixels > getResources().getDisplayMetrics().widthPixels + ? ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE + : ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT); + } + /////////////////////////////////////////////////////////////////////////// @SuppressWarnings({"unused", "WeakerAccess"}) @@ -183,6 +190,7 @@ public class ExoPlayerActivity extends Activity { private TextView brightnessTextView; private ImageButton repeatButton; + private ImageButton screenRotationButton; private ImageButton playPauseButton; AbstractPlayerImpl() { @@ -198,6 +206,7 @@ public class ExoPlayerActivity extends Activity { this.brightnessTextView = (TextView) rootView.findViewById(R.id.brightnessTextView); this.repeatButton = (ImageButton) rootView.findViewById(R.id.repeatButton); + this.screenRotationButton = (ImageButton) rootView.findViewById(R.id.screenRotationButton); this.playPauseButton = (ImageButton) rootView.findViewById(R.id.playPauseButton); // Due to a bug on lower API, lets set the alpha instead of using a drawable @@ -219,6 +228,7 @@ public class ExoPlayerActivity extends Activity { repeatButton.setOnClickListener(this); playPauseButton.setOnClickListener(this); + screenRotationButton.setOnClickListener(this); } @Override @@ -285,6 +295,7 @@ public class ExoPlayerActivity extends Activity { super.onClick(v); if (v.getId() == repeatButton.getId()) onRepeatClicked(); else if (v.getId() == playPauseButton.getId()) onVideoPlayPause(); + else if (v.getId() == screenRotationButton.getId()) onScreenRotationClicked(); if (getCurrentState() != STATE_COMPLETED) { animateView(playerImpl.getControlsRoot(), true, 300, 0, new Runnable() { @@ -298,6 +309,11 @@ public class ExoPlayerActivity extends Activity { } } + private void onScreenRotationClicked() { + if (DEBUG) Log.d(TAG, "onScreenRotationClicked() called"); + toggleOrientation(); + } + @Override public void onVideoPlayPause() { super.onVideoPlayPause(); @@ -348,7 +364,6 @@ public class ExoPlayerActivity extends Activity { @Override public void onLoading() { super.onLoading(); - hideSystemUi(); playPauseButton.setImageResource(R.drawable.ic_pause_white); } diff --git a/app/src/main/res/drawable-hdpi/ic_screen_rotation_white.png b/app/src/main/res/drawable-hdpi/ic_screen_rotation_white.png new file mode 100644 index 0000000000000000000000000000000000000000..b81f222469787abac93f5b3731e9e9330d337039 GIT binary patch literal 976 zcmV;>126oEP)#O+>seA~{r=l!UwF~V&VZVv(l?&fnrTpv#d;d21E%U%Z(2B0phXTC!=LtB z6ee-OPQCR(OAILuTN)=}#KUz#OPn;hQw`D{)77?5s|u*WiIYBeMTtSHqo6qFV3@Q^ zvckvON~0c$fa09(lI_!y_5xm$Pu3Y$8uxSr6z8N6=~YQtOTW^D=K`Q8Cq&vHHTI;7 z3hAi;D8dPlrrsK7<;Ja#fa09%BdzkI+y!^WK~r!lkXHLy?zp}HD9&k+MuLC1i*oNZ zL2*t!(&KUy)+wMkr#fl3+>p5i6z9|?^*Pymk057;NDpcQ&bhIG;+*=VkK}e1P@Ger zwA^LD8S@G#&Z$q@E4N9K>T{Z;Wzsae!vx^iWY9uGAx?eL5x`ZqDj@rVocg3qa$5_i z$5@b4pLBzZfWrlJv)n;Rnq|_bfKfe>PiW>zJLK*zhX?2wX|3Fra=6HF$4Gs~0sl|R zmKy08>3hJTq&rB*0N*B^Af0ZK@{%qiC0#~Jx{Q=`87b*9QgR${q&rCEi)~2rh0A82 zRDK=(ZEnX%BNi9XR=Inmj*&hnpfz&aq>hpPFeiiN8Uq}XW}S3cZb1empUKL;Sth+A zcU~%>?Q$EX`lJAdeg)(yx6K0!ntteJIr@ML7jD-*12kYwMGuoB~Q-lKW0?Wm16C1kH0w?p>)W zDZpuhl83bAHdZHvIMP(lxyIaEmDJ>fKrJWa&RA8A)Z_#~$!eo=KZHojo1`!&07^C( zmpkjeYbV7yF;Mc1w%nK}q{beLk^-CnD0#k+FrX!sc?)|&q!=dvN;Vr;8ZOUk{0~B; zI41x~9yO}e_KB5}cOXPM9OuM9$z2AOxZ+Eb8 y!%>$Sq}`nWmCbX%7YsOJ&`&P8>WVjNfc^#TcLVM>+zAT+0000lR!QAms~3=4d3Iv*F$x%POyb7!Vgy_?CL^E>DF zooDWSo^!Ws8REhMp5ZGj;W}Q!&SCnt8NPs*u{Ficq2r&|uK{ylGtE!p_b~VrBPqAg z03q~mW5=-OvsjC!Pvi48b|=kzg1CzhQ_Ve0Y}EWzYIF@VcoN?~t3k|R8GGXU@wh+W zCmbHs{B$zEn&LBf+y&yfT8~kD658)EIf!|+q*og9(+Oe;qbas-W2{B{ zZs^6yuHZ6SuQad1e8L-;28eOZUVvB<6D;9h0R{4XF@G6Y8O5fw) z?hps#$H0B;>!;}dg}`DgM?PN1W7)(q9@<2Rd)S+kcO!AER+Lv_vmutTtxDX8;Cw^T zczQY>+312sSQr1H`~LCN5at z>gVdo#c2LcOM@}xpcxnf7rUB=;3fPSt8k>H(Wr9dQjXxMKFlvA^RsQjH>2?by$6d7 zG2NoQ9J&t9^djA*j7#t_w)cQo3hm=22wX|#r(4Za(WEjs!mavBNCPK!D+6f-F_Usv zBfi$Rc`81vjL?*k`gp|mD0{+O(q@P!%3N_RnV%ZSJT;!Melo5pFB#R2*^xG_fVdsG zr>SOkL*}XR4!nim{QK%)A!$dH*EP!P*vX;HYasja9)4+nIG1!=aRkqAnt2UmCtg*i k+7fj()`=8jQXj;@k zG^Wzr>R>U!zd*6Mh1kN$$Ki6ggAaK*$+_=ue!rjni6+m}?s?*GTfTO~+nyJtg=Xuz z4*=F(b^36?5f@xCn-k!X8=gBTaMBv6ER6{R002Wh$C?8teFuP*eF^TG%YkzK!9GOa zs|J7_uN8naf7JC z`Gn}@gemLbq1hZr@(qb;+u$di9LV$I9WN5+?1H5X$nwpJMevWV5aoPxqT@dJyar17 z=EOXB=qXXkmx)!8Y!iG~14pbC@=b}$;M*FwP|WAVZF0hCPf+QG5H5iSPKefs@4@RK zgjp51(<1RP_$-XJM9ah*;Hyxt*8*`()bk?vHB5-87uq7$aw1Ha2oom4?_h3HM7Ra! z#dua*AeL+33(yxW6P2?g;7xE_v`B1$iz8sh9v(Z@8qo)w9|7S9@Q!GO=mTzw8n^;} z5iJnc0N*%122L4*SMo18QO=Kna2;&wG$so98hF+YSQHJ3LcRvV3fOh-fW&H^9|K2i zfNj%dqL5F4@PZxiv#Bys$frP9P=O88Iia5ry)2&t;eC7HPcMslK5`}_(tH63AE>~; zmK_zsC)mu1G+zM1f+65H3qFOMu$AXaK$x=u0DwV40YHSX;;O6=Xyaq=92Hq6p3OE3Ub0qJ8OW+(>NP)Km zSOsQ)vq&-vtn2p(u&4Z`ZtyCwspOSlydg;&7|D6=t|s*xSS*8Y#qc0rm*i`Kqzdc; zKYXQea9i-@k_ziUN0M6|1Pp0C-W0*h-=WK&mgKNN@(lQOT_x~b@W zWr<#L_TMD9&Fe*QUsJg!z~nzjYJPAB_!uR6$tf_EC>dA7w9L%znAyIWHGqDfRH;-B z&FsFJU6|QUqU3>@-7~YcH)iVDr#Z99)aM;wx`){>>3iA+s$t-*KJTFdN!RWImUH0> z4&yec-CIGs-i`~q3s@0+EAM%qw20eknP) z6p5em5X{d;NZld^2s_K2X@G9NiZGQ^g!OQ95+InLCak$+!W2#uwwH!9 zKsR4SXyF`TThajKd=+6KCBkN>0m}I*!c&CxFeVL9&Q}q36826Spq;NFjOGYo_rw7G zd_7?rCA{ybivjxidcv!OEsX*C`Fg@A{=z%VRWU$6Ur$&;*s>U)pRXqrIDmH`1<=pe z5LyYF8Uyt6^@IZ5c-tKyou7fQ7Q4t>g*U+HO28!jd?{fhr|?#k0~$D_pD!kC!~3)x z(59a+C(OVbU}Ox~p`R}&)YFSMCkE`n+o+!`BD{z9QViIIcbo~sl<)}NH!)xXOz(1Uk}5nemwfba?4!$y2-azJ<#xu`uPs1{0&~g)CB$f7*Njvyb>*Hf_{DsFs2iBgvOc^)+XjB0DkWi zwiCNdLJt$w^V5JE=_BlE1wlJM4KN-cti&P(K|4PUFy18W94!ihc77UgE#DG$ntQW9 z!knO-p9UDs^b&T8X;mbwNzcy$Fz%wCumM^X1m*lRz?esouo9h#C*Ext2#NU$fU%4r z;y%2n6CgBODPg}jG2}50WuI0^Hl(29{t3Xc!M$J^D__<^OXQ&GJTYH zf)46^eg?wk#C$QpXl6f^{mc@c1IR*1&DR5r5o{%0W5!yL}w~uD5wg97^M>&?AKojffVmI5EO987Tz^{Q0e#uObo{{zHxSx+G z>Ir&4>Y8|hFBrOV1VeFSX=N)vFjRYjp}bK{VI?oJgT4I9N%}cYkzOWO5AYvvcZv9C SVTN7+0000;*9}C?!)Sb)_t?1|A+zTt~?sLxG zx#!&5H9YI}{r2m;3X+onb46r8MAnGNGZA?zA`eAmQba~YWT;RmJkG0sCI&13?htR| zKo_vM)}WsN+kq7hUz!Mje}SJ|`FVrS1%6c^Q$V{Tt`(R_5drWV=mF+b3;t#dNLK|S z0R99%&KrJMHGBg+FcAAzPUaHe3b`$3ov5fzXO_qK?Bk4$e$0~F8WWZ z>-9i4@Y2-YpEdj~(_pXiHvu<{h%$hph_;v>>m0LLxrieCXdJwXYXk-iz@flit)>^i z*OkD}bHH~d#5V!g4ZwlGo-M$T%AW$(Wd*;-Bd-y-W<(qg?A;1Xs{DIELn!>1fiFAf zQ$*P1bTClF2f*Jd|8xlaZ@$YWp-uyE)rdF}SffMbz69P)OVCGM34V7de2NI~jSbY9 z!914~Y;QJih&l3RAmWM<;k_q-PgUN3z;a*sU6sP8h&URMukS&<)>+5&JLzj+XIAh= z#APF*$1``k%DHcyTMYb;tl?F!Ilv_&;+RKX1JM&}$v)K1PUV;Y>hltyL|il?dOh;` zReZa4tS*jx$@+jqtiMJgP9(%{(ksOkaKaS30L;!=#4O-v z)7N>&1(vFqCvgQ`B65ArixKfdB?XVyNJM|0A}-cQ#E+E}v>UrxBKo{U08drWlK;7g zGp@k9D&X^kg0X z0K14@s!BEvw7LRU0IyWw#(*Y=^AG{FdBLj$eHx9HO;d8SLq^2aN<;v=4g76jep=Ey zzzdc1ZD7-GBVrI}o&mgF^LKy+zR71);$Oh~fz1yZ5d%PDKz_R!`7vN#2tXsz=ev?U z0u}{|*k?ox`OF068+L-EHJ?yuJ<*3$4bT!;BRWn88eR znHo1;GeP-jb1QVf;sEv=fJtC&Ol%vDQ^HZ>hMoyvZ!Yi#KsR_%9NBsmbF%1j9(BZ= zPDH<@bnTH$;T6D_ME`NM-6Q%jcgkFM-fSq}*bfZ+Fwvj=d<<9x{Ena91r|DLd><1( zk}JFdm`(KT^E?JboAU@HI_LEX_e)ja4a9QbtcMWi9kiIg4cJgsa0keu;<6YE6_KSC zvM2&96OqqEWTS|@Cn76FWU+`ei^v}$vbj(wJjI@ diff --git a/app/src/main/res/drawable-xxhdpi/ic_screen_rotation_white.png b/app/src/main/res/drawable-xxhdpi/ic_screen_rotation_white.png new file mode 100644 index 0000000000000000000000000000000000000000..a160572a4efdb1d436bde5350b2f4a7e68ce81d7 GIT binary patch literal 1897 zcmY*adpy(YAOCL4<euA9xs@EF z8F>lm(CJtq$*jn1$R#tZTvilTA&xW7U%x+|=lOiz&-?xPyr1XwdR|YOkGCsaZHF2F z0B|=l=%-j28$)%AV)mj~+5>=!jT?B7ngE#{Ii8Uhq1!QEkE>^N#YIQApLMg^PI4pn zet~A}INcMa8&s~(-_{_u`i1qe+r}}N# z^!HUpW_6g!xsHE`pAC&>5Nz$m)3IwR*jJbgT_+ zOvt{$U;MlA>RoXA2jzMgK%!L{Z?jSaGIRibdO z8gE6o`G+?n$bySeXd!j*Ah)ec2Y5jXqEIJPI7z9CTSymJuaWx4$dA%9cz(*MFJE-@T>|AW&@(d23BR!EN2BKUM3~7DnZ>ZIkG(v#uanG zm)N%CZRZbg#=avp*evfzns$fH&?b;#x2iWH1$PPjY3sx{r>VQCa{PSSo{88?nh^>D z8(H(*U)nUJU`&H8&%f4VjR}-XZ2gQ~bIo`ZS%55#RBtw~SBQjZiTd6nc&GnB-Dacz z)f!)G=V<>sq>G^=bL(#2eGj|Pq7Hamj+EoK!`iQlZDr#xJ;pT8nI#+OQ z$VhY;GdwdFPy!tWl+3sT;!mJjWwwiw*-9R6Jw%NkaHxp^ZZmhT=$z?4R*1z2PsXnh z0`I}DVG@Unn_lnLEu6N!EK0BfJKtnQzWSwD@}XNC5kp@vgc450&@XgMBOIZ9CUytF zOdyt?q2X&vGC;ey$P4T9`TxIVKEgz)d%aCDe7UUYvXHhL$~^Bn+OqHgp4L)!4(BIwGsV^2_4yML?(X0{1S|G3Z$>4pRHz+4=qH>L_aTLeu z0F$MH%YEOH;aEJa{9-NoC_a!RUj0t8MLkrZ_%kJgmNAa1AlfMkq4?&2#4%MDfxGV|hB-J^BQHBJ@yq8F9jtMIA;!Fx*`GW>2 zWL}wyUH8;E&Nr=cJ;ZNw*2Ep;h3V9cz$Ztz2Q6!iMH`9I>dhEIaclfxGYIplt7aHB zBroRvJhPWO{{D2CD+x0$gy|319O3SW7sk39l1Lb-0!Y_4yC<=iQt=^d$Sx(kpRv?3 zE4N?u-eQ6S7_?!;WO$MJ*I3w@Pd>FNL4SNFR2=S%=^19tVfl(F#^R?ew^3qPZF!CI_Y{)+I*pg%D ztb16)sg)&+WW4>0sa+7R_wRz5)dGJPEhS*#qM^|VrQ`3CPDg0&{gocN^X`#i%k_{S dbV}DDF4vE~o&CV0D85j@?XWjkd+5ZKe*x-?e6j!l literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_screen_rotation_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_screen_rotation_white_24dp.png deleted file mode 100644 index cc0fa87f734d97a79834304f0ce6fe2b9c4ff88e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1873 zcmV-X2d?;uP)yHO;!4MIKWnc!zfuIsZLp0uv2i%B& zEF$}+C`%v+F%pfk%65<_#)}uXaPWY7Ga5}ixGM_Gz#vP;i7XYAQE#xI%7VP1XTd*4)dS9ibalBo~?FBxN28)GoWoHfRrHpZMc#xxjX8sp#J8e_gM zl}fE$m1ma$C;{7X<8R;-U@1`D)p-|+*raVKOln6f@HsFC=+V{r=LXO#MNA3Un!%)Y zv;b>>K1I|L3_x#SCvZA07)YCC;i-$?XIxB(hMb+pHpc>e(6!H^Lupci2?XMP;BJcmge5@Xg2G4}yK zDjKc8lFq8%ir5_KuxbOIPQ)%%3fKn>aOk`e$8NC1^dP!YYO`rosJc@Dr~#Uk|JYn* z%rYhUG$-x{Qsy-dIH~9?^{F*8upd?n9b=a$|K)waz(Dzp0FEm8O$wo56CX^p-pFiD z8OH*}r2PR+szpBh&jVvZXh@<%fJ1_4D=;e~*Wv@d(fghshojb-L6@Z_9t znMpzJ+JWJ~DM91i5d7^THgo3Z%b7+{fN zQbWL*v{K-20dCGiT8n-upB^IdGOf9aNrytrB%mAcmB7Ewmryh3a%gkPH0Q?VOC}8o zz&{eWnBe{gsL4uH4;)d=})XMtPN4DNDs%5s^Fe7OBi&ch9OS>Rpi8Z-v`j9-o8XD z>T)#L1`M*8GsQQN5I{e1H<9D&2D~9~-mL}iR?L~~n?Ohqz2ecXZnd7A_X~U-FZn

>U7s3pO*M+zJ*h;9#3RbT+K6qCG8+`!ujo;H#a(tN>`;9HwX3~?vDhmjUNzK5B6ytX$#+`Hx zu&t;o)ubo#nB*fk4E>(0Qcap@G3oZs5UiLR*R-&h^vC}u#i%rso(e7)0KkN1J<*#f1Pgygofp7(#iSOiNx*lB0bisPEbJ{uD8wcuAJn&-bf-2b+0=AA zgP`p_S*4n!9d6A?PbPtNLU7*{F*GbQ>0>GQ5g{;BcPKEF=n;ct(#&9$1%zT! zD{yNvun!%d0lnoRIK*O7rf!d-fV}l#loa?|BB&YY<{@ZniJ2Xwsz5-#vAvA+PK=Jt zkpTC43fEdpnv=V-001TM>6TToZQ;$=rHD#3B4zXoF>p?N{2~{JvoapCl>3C{Ae}g z_JDygUv87oyFG$*#cHCXiJBTEQU4R&)f!bq+cG6QpOVAY3X`eJ!>549k$VH1fsuhU zyiMv-bIOv?b_kvzJc8dbnA zipHu$Y|u8mARyWyC?y5(1Hv;TV0|J^-D?`hYgadb<#CL*bt*^)el8F_!#<-F&<4Cu zeC*@c%5BlGnY627&1nZP3j0?TE)Z?@w_%e*!*=3Mq7fKWRQ;&{T#tS0bsB7OX!Hes zc5pNiXtQ0X02oX9&rnF%?BK5=`VfkQeOwD4SpvEPD}cW|O>)hoooO!`j&7(lcyem7UXLS@7D zN;0X?M1bpzF{6wz_ZVa9w4 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_screen_rotation_white.png b/app/src/main/res/drawable-xxxhdpi/ic_screen_rotation_white.png new file mode 100644 index 0000000000000000000000000000000000000000..3cde2bfef0b48b1884f2676bc59071875531d3e7 GIT binary patch literal 2553 zcmZuzX;_oT7M>)ZkRVGSAUgzE0xl2=0%9NpSp*Sq0~9O4sH8;^P&BMrhzc4OE43hy zq?N6e&5CUly(EY`lxWq0Y(Zp~#Rh>ug7>4hKktv3dCxoVnKS3i^UO?ccxa%OhKU9M zKr3j6-yV1ruQoIU_ls{TcmQC;L4K5d48&9)^Thto#!o&~|JM5||E=XC?P3x8dU4)+ zKW_VZ3NL|n>%^bVQBxNV+UOCiP=;z}Jfg%#HZ=PqZoK8#>tpU`AEh{hhq*^rT{*bn)SWN*R_+ZXhR=^3$)JcK#)m&y-S}q=8P= z<1*sr6LD+9X7LNjYg6`FkCO*`?|Z(>tgR|>XTwBMuq{0hqo1_vkK1A%CX|+O>s50ECS1= zHnvTH34aca{QBL+0|C}II?%!&K5LR&z_$ndO}`9ST(@^w537U|8HnPC4xISd`^E^f zq2{9F=E9;p?)TM_LNK4a{Td=T^?Hp)@3G);S&(Cg9m|_}4=pS=?nX&R3&N!AWw+g> zwjgt5POoXNzyJnkaN>i>>%hFc`Xbdm@*PT4KES6M%jq||LjN|{1{UN!xJ~}p4R-}+ zFWoG7WCt+qU%aDnc2Soy82erS+?C|D{k#`zS<#Z;m;f+y3bN=5X=l=u@UewhrF>r| zGx3~Lpl0m)D~h#=&sVu1-A(?lP22YL6Ykx}c#DM@RFJTUBDe-)*^$H6wKN`2hq@K^_?A)Lc=juM zZ`LsEQZszAHI3-anp$hGm3-LPv>%e2?yDV+kr%$+nfbv4Y8Pf8QSY{IU=S@Fr_upX)n=v*^{qL zB{JPG&%5&af8V#N4h|2rsEgR3zlwKCdHpI4mPFZYYd^H5DSvMrFlrZk&B@i59;{!5 z$2c)RzVXjP7XGN1!URb3-hQ>`BqN4l_s_FHXO!`GigAH@ANa6k=7~TH~ zg)WEOwLU@lXpPqs0M4{J2d-Fn1B!m?;i>hjmCi7i9dGg;#4KepZA9?B^c_jk;Y*^l zOecK)-tjepI|VJ6w&6TVEUPBLQebX#&5lBI02_<3dBz5qmqL0y2&97%FQgBw}khuD{RU3NHtM5$Fo;$MPR zC#lIK=16;swu83pGX10viG5R%0#v3qnrr5v`jNj7+&AA3TSJR6BT|(lP7HuLo zv}v8yZ%}thj5;<#_~ub!Jm+J314^^fw2pA)qn=Sl>W?ci#r6iGem;Jqd=eNYA?x~z zx^YKoS>`@byneklKHe1OEr-wtQy(AA7H7fyqFY+C{R_ZWCA0m zbOYL=x{bO5f#=R@l)Qa83Hx-^Yc7{%dXg#`^x@x1dAZ-66>G1c zB~*P<7?s=-4`SDU?RO_zcSlRY8mS~|0h*ULt6{4WFVy5G)5xO)3g^JQ{0RbUmjpj| zO0MKlrvML!xrN~7mf`QI4n->ASE8$P2J#VIJC{36-ehg)#XJJ9vJHg|ke|CW4q`L} zWM??XawK}Y!sXGOk{6#9xb=;Kfvv1?$!-0=j4gx*OUc5sPax*6f*AFjb34awi1Kge z1Rq;L5O&bBP+)Lf=$;dSC7r<_9l0QnMxY~al`bC8Z4(Tb`8>Vlrh=A~ZlL~@$<)sT z>1Zclg}VDccT*Vn=0sr~hcOy|U?z@W?d5U6=YeS#Em-QqZ;Zfqt6_uh z{y@6`4Kd1P2Y(Ly6%xi6ycl=0wy$JI+RwJ!Aqs+R(!r7z&3wkzNBH&T&+XME=R@N3 ze~MWL&T!wHF~wFaagR1!Q1_U?=(D(vf!55=kcQ6@cYfg3(EItjM-lH2<@a>?&L~3g zT`>kOsTb;P&?Ht?_T7?;T|2EXNF8C!=06WS)K0sKp9M?9BEH?*#ysn1SO!pCnEj?I zS!bhSYiVk3W>Yfn>RjSA?|a|S$SsuKq9E%JfK7b z!2zvGDH@|d;#ii!3CD8EgBc!Us#2*KlS(Rsi4UntDnnI91!EL0;J_fre1XewzC83f z1a8ji)xCH3-us;JKb|_h*1y)@ySsOH@9vsuLjYrqF+VZJ3~cY!}Z2lbq;9_8#rwDxo`8_ZP zIHK%0+8V$m0Z&3J>;!%ZTnY3mJD#=#a8br5p)VF=pNaux$5beQ1A*&-?*Xp^uLARc zPY2k@+8njQN5GxHfhpsz1c2ed+d?AN16KvuiuEKk@h{-gl<}7eU<~lFl7u>NOMuM_ zfvpim0NY0#lQI{D0~igg^-Mq=xIMu31qnphNI*rXG=Niqb%6<}1G58sq!0n%2L$v@ zl>=}Z;mL2J4%`~x>wNq~cmbFWEb`>B7#N;1Pe}lrj_p__>;@hN);RuC2W|`Sc^=T? zu=gBLYy7t#a3iqNLxlCfh3T>t8NeAH$-k-b-;vm%pi6|1K4Fp|!ZX7E4{ZpuOA%ow z0hOUNppSNT12^_5GaPqKtOIujaF_sW){@_+%$dNy6%hdL&61Zw0E`7TILPk;W(j3S zpg#$B1aO%MYylPolsO1^SrH(pG8BeJ4bqZ-gJR{O!SAZP~5AS9%Inali zV$E-1YZ$OX34TriF-^iEpVxRQTepv{wkRTU6nw8CREFd{V%7r`%h zB;VQWIBXBa{UiX~7ds|_hiiba3^+VBk5^VZO`8$9wCWs|7fWg30MTD;>@;wUq zDezuWZ5q>-^m>6QDFVq0-~`}3MT8{H5%5#N-&^=jQ2=M-uKATseiOj4K(`{o`~-d{ zIsBdOV_*XA9R6|sq@0B}68yhss%8n(8#!qZyefw-3fdx6O@38#jq2oFW}`BlMB zH?C#~yER0@_I68t6TorUxq27kyf9gRM`1S{w8Ckwf`4-)|MFM_%Ydf{k3{tMJHdzC z`6KVy^jgEMI`A8!J{rl_eS-a8xe7_--k^-7wgkYAjx-S-i{NLBV0#177dhAuB_zDr zVIpWl)a=s-X3usEqXeU3r}VSfG$vNQZpx*$`og z67Q2a>^~vce9Bd*2E3$@TGT-z9F5&}?t+{!w{2U=ZYq^UxbQ?@Pda3 zpDUDDA~ZzMz8ibK3}Vu-s)=_xNQ6N?B2eT$&<3&nBJ7KAmLbC9`$gCX->RwzM-@sc z5gH;aRO0=186s%Y7E6J_g_25y=prD0yBjpw_J1bA;T|G<$4dm{)vvJ`h&`r|TGnAA zyy+o=`xGwV6`^pZPl?|Flpr^Fjphq(W*59diB-etm-c zVK^{bDD+xRV%mE`cL#}}^$B(045{!aq0m}#4yVwEsNKM^d3;m_=zYS=Qo;Vn-}R1; zKuqhHmv)#4ZwPTNaTR<`D0FuuVvl-=FgS*t&Z%hD};%;_& zfb)Hg)v!nPw!*840(j6vgcDNu&I@1)?wa2NoEK{JR>4>u_s@5tPyD#_mhoEyuT>xC)l!Fb4Dlr-^S(INm>dn7;J zND(*~`3#;O61T^=PaOe!X52|BIqbznOMbpK-{JUXhtofh_<9fY(a{QEXkrf2v4>7c z*o@ChRz~OjvBzymNWL!;xXVL?VTpWSQ(E%(BGH9>PDGsoj;8StVP$L)fEh~iHv!{g z`gD=G!$G8%6z$*ta+s%xuo^fek}s{ZdZcu1-_iow)b)*c5slZ zIRb9LUGq0oD)~)d?^$#O5Aa>!pa7c-uRB?Mys{xplMz7W^s=Qz)iUOvGqvX z2&)L}m4UAN!J1fsy(Fz)qg)MpSC@p)C*d|lgf-Y%UM>0hfqGQ~_858X>+&WRVaMFs z=dNIP6!|mY);CF5hwB)zsslI-_ zu^qT9fWwz?H#K{sJ)0dDut&fAJhBK|3Aj8HeRKr2qKrwIi&BBT=UqE*Aq3liivs*l zMIIn5q8+cK4Fzxj_8LI#>ZuSByr(;`ebZdvN5JdY7sQ#s0V(6I9I*GS%);1}pGaV~5JE-5>nwg$F&m<9YSqZn;-fOzErd_y=3_zxq4hNx9T zv4=_o0QjUaX1Fn?%NR4n7;~aAX0S2l5M#^$W6Y + +