From 20ea9226b58a753b1771b0b4ac1c2729b6c28138 Mon Sep 17 00:00:00 2001 From: kaipoethkow <git@tarsius.net> Date: Sat, 27 Feb 2021 08:41:37 +0100 Subject: [PATCH] Add "Move to top" and "Move to bottom" to the queue context menu (#1073) * Add move-to-top and move-to-bottom items to queue context menu. * Add german translation for move-to-top/bottom menu items. * Add icon images for move-to-top/bottom menu items. --- .../android/vanilla/ShowQueueFragment.java | 12 ++++++++++++ .../res/drawable-hdpi/menu_move_to_bottom.png | Bin 0 -> 1352 bytes .../main/res/drawable-hdpi/menu_move_to_top.png | Bin 0 -> 1314 bytes .../res/drawable-mdpi/menu_move_to_bottom.png | Bin 0 -> 1134 bytes .../main/res/drawable-mdpi/menu_move_to_top.png | Bin 0 -> 1150 bytes .../res/drawable-xhdpi/menu_move_to_bottom.png | Bin 0 -> 1608 bytes .../main/res/drawable-xhdpi/menu_move_to_top.png | Bin 0 -> 1563 bytes .../res/drawable-xxhdpi/menu_move_to_bottom.png | Bin 0 -> 2139 bytes .../res/drawable-xxhdpi/menu_move_to_top.png | Bin 0 -> 2060 bytes app/src/main/res/values-de/translatable.xml | 2 ++ app/src/main/res/values/translatable.xml | 2 ++ 11 files changed, 16 insertions(+) create mode 100644 app/src/main/res/drawable-hdpi/menu_move_to_bottom.png create mode 100644 app/src/main/res/drawable-hdpi/menu_move_to_top.png create mode 100644 app/src/main/res/drawable-mdpi/menu_move_to_bottom.png create mode 100644 app/src/main/res/drawable-mdpi/menu_move_to_top.png create mode 100644 app/src/main/res/drawable-xhdpi/menu_move_to_bottom.png create mode 100644 app/src/main/res/drawable-xhdpi/menu_move_to_top.png create mode 100644 app/src/main/res/drawable-xxhdpi/menu_move_to_bottom.png create mode 100644 app/src/main/res/drawable-xxhdpi/menu_move_to_top.png diff --git a/app/src/main/java/ch/blinkenlights/android/vanilla/ShowQueueFragment.java b/app/src/main/java/ch/blinkenlights/android/vanilla/ShowQueueFragment.java index 682d705c..b1e4a4ea 100644 --- a/app/src/main/java/ch/blinkenlights/android/vanilla/ShowQueueFragment.java +++ b/app/src/main/java/ch/blinkenlights/android/vanilla/ShowQueueFragment.java @@ -94,6 +94,8 @@ public class ShowQueueFragment extends Fragment private final static int CTX_MENU_REMOVE = 104; private final static int CTX_MENU_SHOW_DETAILS = 105; private final static int CTX_MENU_ADD_TO_PLAYLIST = 106; + private final static int CTX_MENU_MOVE_TO_TOP = 107; + private final static int CTX_MENU_MOVE_TO_BOTTOM = 108; /** * Called on long-click on a adapeter row @@ -117,10 +119,14 @@ public class ShowQueueFragment extends Fragment fm.add(CTX_MENU_ENQUEUE_ARTIST, 0, R.drawable.menu_enqueue, R.string.enqueue_current_artist).setIntent(intent); fm.add(CTX_MENU_ENQUEUE_GENRE, 0, R.drawable.menu_enqueue, R.string.enqueue_current_genre).setIntent(intent); fm.add(CTX_MENU_ADD_TO_PLAYLIST, 0, R.drawable.menu_add_to_playlist, R.string.add_to_playlist).setIntent(intent); + fm.addSpacer(0); + fm.add(CTX_MENU_MOVE_TO_TOP, 0, R.drawable.menu_move_to_top, R.string.move_to_top).setIntent(intent); + fm.add(CTX_MENU_MOVE_TO_BOTTOM, 0, R.drawable.menu_move_to_bottom, R.string.move_to_bottom).setIntent(intent); fm.addSpacer(0); fm.add(CTX_MENU_SHOW_DETAILS, 0, R.drawable.menu_details, R.string.details).setIntent(intent); fm.add(CTX_MENU_REMOVE, 90, R.drawable.menu_remove, R.string.remove).setIntent(intent); + fm.show(view, x, y); return true; } @@ -161,6 +167,12 @@ public class ShowQueueFragment extends Fragment PlaylistDialog dialog = PlaylistDialog.newInstance(callback, intent, null); dialog.show(getFragmentManager(), "PlaylistDialog"); break; + case CTX_MENU_MOVE_TO_TOP: + service.moveSongPosition(pos, 0); + break; + case CTX_MENU_MOVE_TO_BOTTOM: + service.moveSongPosition(pos, service.getTimelineLength() - 1); + break; default: throw new IllegalArgumentException("Unhandled menu id received!"); // we could actually dispatch this to the hosting activity, but we do not need this for now. diff --git a/app/src/main/res/drawable-hdpi/menu_move_to_bottom.png b/app/src/main/res/drawable-hdpi/menu_move_to_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..b3df3721f0c70f0b68ba464b4bc07720fb507281 GIT binary patch literal 1352 zcmV-O1-JT%P)<h;3K|Lk000e1NJLTq002k;002k`1^@s6RqeA!0004RX+uL$X=7sm z04R}lk-ba9Kp4h<t%{;89dr<J$e`j-p(u!>)}c!gsR~wI(wMYDQ$x}s#Z_=|5FA7o zzXtyUT?JPKK~Mw{7ykjj7Af&PBUD5$T;3ng-Scwy9E8(F!}b~zV3*2nCY97?vvXSW z6JgqkGDw?lc+S}5WSW1+`wbyguLo4G|M&el+7?aEfKZF@u;I96;ZfoAO4(7oA>3gU z^hM!);kYXY6uwY;F5pMS`G8*)yVIF*2&<l2{s-rNuu*Vr;eO#ByI3*4&!cV<F-tR3 zQoCe!<B=gn5{(=cmMBtYKx#=c``efJ@=dTT9z*^PRa|l8DTp^NYDK!5QZ3O<`HECk z?!WW&tf9f6dn5@>55E7>3(Z?l+w}d91K+P5Lc=|rmFoUw$!X+G^v$}~vj?#?I61Ft zxotRIht4}kcl9r+L1x&p;Q1J$S!ln4*7+c-?{$uDVR}`b=n{5zp-=Y57Cr&k?PvHK z0E2`8000SaNLh0L02U<x02U<yNm3;6000AjNkl<Zc-rlo&1xGl5XWt=?cyE^#l3}q z`zEDO=%J6$m*}PV&<9w0=`-}0V{i3GNt!@R<M<IATte#vVnR-)Uhi&aKnkjBQb#Mz z$YuT@cJr~T(O*A}MqrmpB9TZW5{X12kw_$>R@wH!IF6feX+diSKE@feNxR*i**sje z?R7q%zk<t$YPI?xWOtU!<uACrf%cKqphlxHO_HQitJNL`PEZ0dPHi8q6zMsNqO;I* zNYNOJ7&NO?D#JX_m!X=2v0;oV50M)*fi{8`GDT-9#t92S*m=2JK7g4@0;DIw*pxvm z1ep|#1EgnMlpYrbX^IX*qDawmSd<<Y25E{q5Y$nYW$fl)3>XW>RFobk2B`}5E9@3~ z5ZFxs^xR-97?W-F?3y5L5-znqCq>vd#(=T7FsD!@4FUYM)L`biX_`KV`^QZ5Tti{l zHJ8?!IOz#mN!UFOiWEIP7m3-IL7Jj3IFlUoVBanhvrmIGMIB0t6g?f+^!PAHQ?w5= zIwPb9&xQN0>G5Kav7?dXA~W~6+PQoaWKwiRK+lygdb}B=DT2U1!wlyh>B+GVU-T5J zgEpy)0DU}uyoCEF9&^u;%eseZiQVpKIKwcI+=Dr{^tj%+s0=bGy7aKTF7e&Iau1b3 znxc+NiWEH^-}F!zq$xUfNs*%G*f%{S2AMmW3yRF#<7?-lCP-5>fU#XTFz5o`ML`dl zK}L05C>P<g`piW^kJCD6!@6hy`Qrs#cPtJ13CnBXv+m(qVt<_UVW63XIhn5$dng8J zioU^MrxpfH@mZ?e!)1`Uqh<G@hoWi@!Jv{N-~<N!;~oa#|DI6O!(xz87j-wGNYT@! z+_|_3GATOWz@T$3de{syDC*rsk)o%^MUS;XaU5IKMJqK65;44sBK5c7YTaW~``E<H zxx`j;QM$&Qlr#6R8)Q&)3TAv?V-WuClq>fHVUR&l-=s*<)90oq1cEe0Ba<R^KjNk* z2!jlY_L3yI!KOaG!cI?-(|i+lg;vSkr|cg=!)p1H`Wf$^s!#K~I^s-hjw!YVwHAxT zd$>OHF>CPd*N$I#P_NhDQX15ZqG%Ud2s!MZO4D@LmiDa};5O!<8O+K!%d(wq7$oe9 zW1yY%+ddOm)9*^*e-&yqNz=&oT*Iktj9DZSi9{liNF);dxB3kftS7+?56N%<0000< KMNUMnLSTYd#(7Bq literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/menu_move_to_top.png b/app/src/main/res/drawable-hdpi/menu_move_to_top.png new file mode 100644 index 0000000000000000000000000000000000000000..993269d42920cca778a04b9582c4d7c81ebef926 GIT binary patch literal 1314 zcmV+-1>O3IP)<h;3K|Lk000e1NJLTq002k;002k`1^@s6RqeA!0004RX+uL$X=7sm z04R}lk-ba9Kp4h<t%{;89dr<J$e`j-p(u!>)}c!gsR~wI(wMYDQ$x}s#Z_=|5FA7o zzXtyUT?JPKK~Mw{7ykjj7Af&PBUD5$T;3ng-Scwy9E8(F!}b~zV3*2nCY97?vvXSW z6JgqkGDw?lc+S}5WSW1+`wbyguLo4G|M&el+7?aEfKZF@u;I96;ZfoAO4(7oA>3gU z^hM!);kYXY6uwY;F5pMS`G8*)yVIF*2&<l2{s-rNuu*Vr;eO#ByI3*4&!cV<F-tR3 zQoCe!<B=gn5{(=cmMBtYKx#=c``efJ@=dTT9z*^PRa|l8DTp^NYDK!5QZ3O<`HECk z?!WW&tf9f6dn5@>55E7>3(Z?l+w}d91K+P5Lc=|rmFoUw$!X+G^v$}~vj?#?I61Ft zxotRIht4}kcl9r+L1x&p;Q1J$S!ln4*7+c-?{$uDVR}`b=n{5zp-=Y57Cr&k?PvHK z0E2`8000SaNLh0L02U<x02U<yNm3;6000A7Nkl<Zc-rloy>1gh5XbMvzDTAZLPiP! zA*}cfaAE|KlOSTp9VKsqTu@T@fp`KcghWS45fo8SxJiK}e;qT@9$KxO$hn)HU6c7s zt8>oYkNfZMX7=n&lBiTFl}e>jsZ=Ue92$?ucV^7>lKnNY!xkO4#GeV43v(1Ps5P6- zKBj4UybbQ;dH#84XXk^YLCspN*2Z#g8w^@5m+i8&gGN+81Wj;OF3rqrgD#QwiKIan zcu&7)4AS?p?9J!%F8z^Z*;hRL#&X3Rq~!=2jYbo$>BWrL!NYSbZ_TM+SiWE%-$JMP z;4ugXP84=ltJOOsXO{}SrgP@Kpo$?#(|W3dONM8~3G=#R-n+X7S@fKtDK*QW8l8)Q zB8Y&VLz^ClqQlS>K?L*+Y<e7u2B9e`We{eUQdz{wBt*s$8u9eHI_AA2o1!)CcpGyt zf-HLaXad||5YT5rQUn2GPxmHz9E!T3Vi5$6J+Og65Hc1)Kzg2RTEToa2u0Ec74!@@ zp~s<UXcmvn|Jk5cp64&{g7<G*k?K%gX^KFa9=yo&+t6cEM0KSp@@CMwbq`+POT5s> zW!t2>)CR}8C@O-A%w_0FD;Sg(6iH<?5R5%U&!eghQ5!BrTWyfF?ip60$EK*rXc82G z5IwH|V2^Fk*cP=ZL6L8R3VO~t=y50#$!H)zPmhxxhoYWuia>y#AtycSVv$dZ*bKU6 z-P6PC@HTjA+ogzmUF3xzJ9FW!kb0Y4Y}<E6^L2~0aNw_Th9COQGSmn4<tr9}FM1ID zKF+ZJg&g)lefgpYJklffKuLZ1qKMm|f6rVJ^f(lGSr>r^dfwoSK1hT`eNx}t6oChN z`jYgli$$CimA;a7>mKt(yf{4$MFY-t5zACtnd>YBJq|^zzv%;$IVZGb1!r(K2`n0e z**<f^VN#u8OoTH%t@k`Ua+Rfs9zT9y`I(g1*~&>!acdo;Iav~kXe=})j(`me^w1z; z+|1cd7&c)613jlP(c@5bT9qPTpywcoR|i!oszeZG3)<gPkJTL-8;vm(LA1p`W_no0 zSbFxS(<%MFzQXb+W`h=s#R|*5xIv9Z;}agfCz1b4RF-9>ciF2{DwRs5QmIrbl`4$> Y0x`j7@72W=1^@s607*qoM6N<$g1?nr<p2Nx literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/menu_move_to_bottom.png b/app/src/main/res/drawable-mdpi/menu_move_to_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..efb6b0063fbca4abbd98a2da11600c342d511351 GIT binary patch literal 1134 zcmV-!1d;oRP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0004RX+uL$X=7sm z04R}lk-ba9Kp4h<t%{;89dr<J$e`j-p(u!>)}c!gsR~wI(wMYDQ$x}s#Z_=|5FA7o zzXtyUT?JPKK~Mw{7ykjj7Af&PBUD5$T;3ng-Scwy9E8(F!}b~zV3*2nCY97?vvXSW z6JgqkGDw?lc+S}5WSW1+`wbyguLo4G|M&el+7?aEfKZF@u;I96;ZfoAO4(7oA>3gU z^hM!);kYXY6uwY;F5pMS`G8*)yVIF*2&<l2{s-rNuu*Vr;eO#ByI3*4&!cV<F-tR3 zQoCe!<B=gn5{(=cmMBtYKx#=c``efJ@=dTT9z*^PRa|l8DTp^NYDK!5QZ3O<`HECk z?!WW&tf9f6dn5@>55E7>3(Z?l+w}d91K+P5Lc=|rmFoUw$!X+G^v$}~vj?#?I61Ft zxotRIht4}kcl9r+L1x&p;Q1J$S!ln4*7+c-?{$uDVR}`b=n{5zp-=Y57Cr&k?PvHK z0E2`8000SaNLh0L01m_e01m_fl`9S#0007|Nkl<ZXx{BuJ&O}T7~anWl6az>=r8aO z*a&H~&_AP)B43(RA=#)!yy_0UBCTMdaE%@+T#?%1tb)}Ul!S0+74zlu$S$mcWOjFE zgE$WiJ8b5CpLw2lW;45np`oFnq47V%6d6=5moM73ebaT_E0$&LsGQJhwK|{A=cDCv zdF*-K*{1Q1NYWobHk<9Q*XzrsX)1LT927AH<yDdKw#cBtV6Z3_i`N{-xq&JexEiR4 z^hR?qd5U<}?RH;_%*_&YCZErD7K_D{1PYgrK@M_>#s~|j)oNeh%mD}t6(an})BOW- zNf$t5GMOhJnJ5%6AxD(BNCKM8<_He$$*w}k{XKFh6F?LSg{L4JD-bYd?x?Ym1yrlm zuW)K#Ruw|-?=!b@0sda-fpjEMz=%2H#K#hVb@~mC^^#U0<bIDiQxibopZPh+PbCOA zWv;k6Vhd<A8e=%O8@CD}_jj2qbpb&YaOnCRR{&#^xSv>n?_A_61nx67iTjBK_-CX( zoE%0Kz!=6R<xec2QmIUEihL|ug}{BrFm~$#h+HoB0+Sj>5HMtn3~ng`{3>{xst|JD zli|KJ0sdZiiFN&HlK_t4SXsQ%1o%~G|E&rk_uI1Emny*D3x{|i|A_XR2=;l8zj2IA zPN@RuESAVUypXT|6u^7v-k0gVbOA)C(|L~x9|cP(SUR{Kw_2@tviYP7`1P^LG#_HQ ztOEh;<KBa<eb|ZvyqvsoUH2CI5b(C$Zr@hHW2q8g+jea>n=RPbH~vMGN~J!VN)DkV zRIk^sTb6Yf?Lw5~IO|{X_rx^fQTsdEAvXQVrm>FTro4mph@bz`0KbodkB{Axt?hxd zAXEW7O<tj-XK-dGjY+}%b8vnzG&D3cG&DBgC$f<HMMm@`5C8xG07*qoM6N<$f_bGA AY5)KL literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/menu_move_to_top.png b/app/src/main/res/drawable-mdpi/menu_move_to_top.png new file mode 100644 index 0000000000000000000000000000000000000000..30184ee3f208609765261eb21d1891f3095d68b9 GIT binary patch literal 1150 zcmV-^1cCdBP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0004RX+uL$X=7sm z04R}lk-ba9Kp4h<t%{;89dr<J$e`j-p(u!>)}c!gsR~wI(wMYDQ$x}s#Z_=|5FA7o zzXtyUT?JPKK~Mw{7ykjj7Af&PBUD5$T;3ng-Scwy9E8(F!}b~zV3*2nCY97?vvXSW z6JgqkGDw?lc+S}5WSW1+`wbyguLo4G|M&el+7?aEfKZF@u;I96;ZfoAO4(7oA>3gU z^hM!);kYXY6uwY;F5pMS`G8*)yVIF*2&<l2{s-rNuu*Vr;eO#ByI3*4&!cV<F-tR3 zQoCe!<B=gn5{(=cmMBtYKx#=c``efJ@=dTT9z*^PRa|l8DTp^NYDK!5QZ3O<`HECk z?!WW&tf9f6dn5@>55E7>3(Z?l+w}d91K+P5Lc=|rmFoUw$!X+G^v$}~vj?#?I61Ft zxotRIht4}kcl9r+L1x&p;Q1J$S!ln4*7+c-?{$uDVR}`b=n{5zp-=Y57Cr&k?PvHK z0E2`8000SaNLh0L01m_e01m_fl`9S#0008DNkl<ZXx{BuJBt%h6rPz(GO<ty3Cb9o zC0JM}+Xy0y54N+g5G=J=!A>P4urUc4CWa)168#JQ32Pf08^O|A0^$QS$>truv&@QI zvzeLX-pK^-fy>-X&b{Y+-}%nG6h)deY0{+q&!&2DvTghPbUMARY1*kEl0vMXi1pU8 ztWR#fx|a<{qtR___*_-hKv<p4W)w4z=?gbsZPO*Bdt~GdhB}!{PWograi~*O{o!-n zFN(Q#c5=DgYZ_~B;$^H{E?<U@-_bl8jb5$QYVSqF5!M5cTiq}Wod(TC#SsFaSS(({ zRckjEizzf{j&oNw1^^nc2HB`coRTLAsW|s+BLI|2rJG24N7r@b2!J!+EffkjLJgqV zY$kDd3E3R7|0f9MbS@H!ymEZP382^O-GW>$VJIvBI!FJJPbdKpv(Wj|BkBAT$dMBH z@T>wi0Nrl)4kU76Uh;o~ARqD#6#$3*{o~l5Q-ytARnRzT|1J{CEJ~gMk)buA0N}8n zcVmA}74kf)pmEUtedyW~`%EunXzf}7RIAk#4v)OD&sKrfI(w`Kz+f<V04BHmB+pb~ zi}qN{<1{fh91cIk<MFh^rf(aM$4bB7|BSozcBNAJ8fXQGIV7H5hJ8j#=~b$*R0V9? zK8=?ZV&7breWnU+JZ5ZLmh~l&3P3tfkhr-D`%D!~+A|OdH5!dGcu9Zg_sZjTMWQ`v zZ{Ywsoz7zfOz}vb0g<A;h4uinZ$kSYq5b5l+CQcjzM&T`q8HjiDgd44ka&_O`%D#* z6hnxF>h=0r=yZ>l_80WR9>wAg0M9K21W1TTo&k}dSX_G`o6Vju41?~N3EtYD*9(x* zcii00wOXwMH-AsrAn_R3xrg$acnlW$i5)TM(|Vg?;^%=PO`0@m(xff0-)r*+U=}1v QqyPW_07*qoM6N<$f~~p}H2?qr literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/menu_move_to_bottom.png b/app/src/main/res/drawable-xhdpi/menu_move_to_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..6e6c89a9d9bc7cdcf5e6fccbe56e1fefccf4a18e GIT binary patch literal 1608 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 GLSTZ>SNaqH literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/menu_move_to_top.png b/app/src/main/res/drawable-xhdpi/menu_move_to_top.png new file mode 100644 index 0000000000000000000000000000000000000000..c7bc2c07864bbf6efe4396c7d9791dbf3086fca2 GIT binary patch literal 1563 zcmV+$2ITpPP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h0004RX+uL$X=7sm z04R}lk-ba9Kp4h<t%{;89dr<J$e`j-p(u!>)}c!gsR~wI(wMYDQ$x}s#Z_=|5FA7o zzXtyUT?JPKK~Mw{7ykjj7Af&PBUD5$T;3ng-Scwy9E8(F!}b~zV3*2nCY97?vvXSW z6JgqkGDw?lc+S}5WSW1+`wbyguLo4G|M&el+7?aEfKZF@u;I96;ZfoAO4(7oA>3gU z^hM!);kYXY6uwY;F5pMS`G8*)yVIF*2&<l2{s-rNuu*Vr;eO#ByI3*4&!cV<F-tR3 zQoCe!<B=gn5{(=cmMBtYKx#=c``efJ@=dTT9z*^PRa|l8DTp^NYDK!5QZ3O<`HECk z?!WW&tf9f6dn5@>55E7>3(Z?l+w}d91K+P5Lc=|rmFoUw$!X+G^v$}~vj?#?I61Ft zxotRIht4}kcl9r+L1x&p;Q1J$S!ln4*7+c-?{$uDVR}`b=n{5zp-=Y57Cr&k?PvHK z0E2`8000SaNLh0L03C+_03C+`kLB@Y000D1Nkl<Zc-rk;yKdA#6!l*3DhdS%1qdNR ztdcK4BmqJ;Bq94K=n?z_HEHNW%|Fo6@CE5nl%66K6clObHm~L0$d1h5Ja#jWJI*<h z<z25mW6wEf=8o;VNdf=>000000000000000002PMQL|Oh=H})EubR9}RJ_ghc-h_9 z*x0jCSl!}@H4hFBJ`mC4D!2ae@$q(}(fE`Rp^AWsTCMgXP16TeCSWia+_33#LN6Q^ zAOHkhZ`d3I_PBrCIXpZJ5ycHWjsZKi24LF+>~eJQ(Nh?Dlb6YUzyDgkjE#+b<JE6o z{`d+*)y)H3g69|~YmUA1?@w5X@7QhcPgGQ|f94463;+JTY=4XacF7Qj2?1{#8RWBU z%YMTk>=;dM@aL@f`=>VM&$2C>iGu*w>gU;Lj~l&KAfP7OVsrsTsQyJFn*8rVc$@qd zn+swhAXk64sD8r*UD+pz=!PIgrv6r$`VAMfVsZgRrv6@;`pd?GSX`iz0Ey%CSiY!! zZr=+VRrWDmP*NTU7$x%IF6P3CqwEt?L=;08)Z_+TWo6&F^z@$h<zrT27z-!{^>dff zW@TUgqIh3ErW1n;C=&G#-H39G9IM?0nhD6&-yKH%h6~is3rM;8U$K&Jk6M5n%Vn%- zb^$3@e|r@5myHElU7&)1vbdj>+qsJR4HtB@&I{Bzpb+`2Uq$_f3)ZzpM5M6sU$SD~ zuySwNDp$&qGNo*7B-E7&Lb?gL+u1tjmd~gzklPbKc=?%Fe5hU}2jpGPGB<w1cHvT{ zl&x(*CS~fE#+h|k$81(d69km2f5nCR4Hv9vaseq*|BQ#aW;D4V2m!?yybyM-u|k~( z1yYC9Wrn4p<^`lk{mqKksgHod!<Ka)>My!L>eMhfBMs{326^PW;;hc#E+8f9PXiE; zYH$GsR{vZG^&2jj3+aMT1mx;(hfu%af_BJx0R>k7!_ZMkb`HT@;Dvy)xIeq!pDG|A z&7KzonHNwX_0MZizu|)U5H9daKtcV|_md(5C?5-aM?@4r{R^7ZZ@6H=w+kqM`a7D` zZ@9qw%UnJiLSC?a$`?AFD21GxoTE<{_#)u+B`b~UFS@|@%UtA9{m=LUrxN9mbCh%S z<pL)JoN>Rur&;}m3wplh1>{Nn|D=^hK!UflSEmG=l~x)70p5~4$b<S9&r7V+3SVij z<U#%2nAC5$pzGQN<XHVnF{<Bi!IDcCxFR5G^_RK8)x3Zls$bskyqiQ0xdxZX-_{8j zHmx**Zpdjw<iY`xT(LY%T4@9>khIrj7cL+d>K`?+PO%G46aH+wfE=iQwMyzYTwp!z z)iwbqxw%zRf6)b5H)PcTR$m9)-`|(NExwmj6imQWc8xj-I66A2vr@KrJzYftcpUh} zB-GUsFg`y1l~>zIMgPJ+O;fA?843UZ000000000000000006-Cz+VX<-qgoPc;o;8 N002ovPDHLkV1kg>+?)Ua literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/menu_move_to_bottom.png b/app/src/main/res/drawable-xxhdpi/menu_move_to_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..f3f78b8d4a20dd7a1ee50d0e26bc59180a7ba925 GIT binary patch literal 2139 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/menu_move_to_top.png b/app/src/main/res/drawable-xxhdpi/menu_move_to_top.png new file mode 100644 index 0000000000000000000000000000000000000000..b28de4147575908e04917844bc31762678cc14d1 GIT binary patch literal 2060 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 aemm>0#Z>e@m9V!j^EP;U%a^z-xBd&1kH>!i literal 0 HcmV?d00001 diff --git a/app/src/main/res/values-de/translatable.xml b/app/src/main/res/values-de/translatable.xml index 9c9aebf0..84a65b22 100644 --- a/app/src/main/res/values-de/translatable.xml +++ b/app/src/main/res/values-de/translatable.xml @@ -265,6 +265,8 @@ <string name="toggle_controls">Steuerelemente ein-/ausblenden</string> <string name="seek_10s_backward">10 Sekunden zurück springen</string> <string name="seek_10s_forward">10 Sekunden vorwärts springen</string> + <string name="move_to_top">Nach oben schieben</string> + <string name="move_to_bottom">Nach unten schieben</string> <string name="preferences_action_show_queue">Warteschlange anzeigen</string> <string name="preferences_action_clear_queue">Warteschlange leeren</string> <string name="preferences_action_enqueue_current_album">Album einreihen</string> diff --git a/app/src/main/res/values/translatable.xml b/app/src/main/res/values/translatable.xml index 9e6be0ec..065f9a98 100644 --- a/app/src/main/res/values/translatable.xml +++ b/app/src/main/res/values/translatable.xml @@ -326,6 +326,8 @@ THE SOFTWARE. <string name="toggle_controls">Toggle controls</string> <string name="seek_10s_backward">Seek 10 seconds backward</string> <string name="seek_10s_forward">Seek 10 seconds forward</string> + <string name="move_to_top">Move to top</string> + <string name="move_to_bottom">Move to bottom</string> <string name="preferences_action_show_queue">Show queue</string> <string name="preferences_action_clear_queue">Clear queue</string> <string name="preferences_action_enqueue_current_album">Enqueue album</string>