From 0fea07f1b2c0823c284d182c4c9e3d5561f2ddb5 Mon Sep 17 00:00:00 2001 From: xocko Date: Thu, 15 Oct 2026 08:02:53 +0200 Subject: [PATCH] MiniABS 1.4: smaller player controls - Play/pause becomes a rounded rectangle (58x46dp) instead of a 78dp circle, with 32dp icons and wider spacing (play_w/play_h/play_gap in dimens.xml) - Skip buttons shrink from 82x56dp to 62x42dp, with 16sp text - Version 1.4 (versionCode 5); there was no public 1.3 Co-Authored-By: Claude Opus 5.5 --- AndroidManifest.xml | 4 ++-- res/drawable-hdpi/ic_pause.png | Bin 513 -> 312 bytes res/drawable-hdpi/ic_play.png | Bin 994 -> 760 bytes res/drawable-ldpi/ic_pause.png | Bin 365 -> 354 bytes res/drawable-ldpi/ic_play.png | Bin 656 -> 467 bytes res/drawable-mdpi/ic_pause.png | Bin 312 -> 355 bytes res/drawable-mdpi/ic_play.png | Bin 760 -> 561 bytes res/drawable/btn_round.xml | 4 ++-- res/layout/activity_player.xml | 8 ++++---- res/values/dimens.xml | 10 ++++++---- res/xml/settings.xml | 2 +- src/com/miniabs/Api.java | 2 +- tools/make_icons.py | 4 ++-- 13 files changed, 18 insertions(+), 16 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 3e7a527..7bd23ac 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ diff --git a/res/drawable-hdpi/ic_pause.png b/res/drawable-hdpi/ic_pause.png index 73c215f73f4656c09c3a5f5a02504852a12a0750..6415bccb5f8ef778c63619e534416ee364b7d95c 100644 GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUt|DG<6Ar*7p-aP2bY$($5P_kN@ zLr6UDii2Z_gK3C^=n>h7o*4$WIk!QPIJZ*yNRMpuHj5l*{NS>Tt z#uQ+7BW}6seFnxC&%V8zcwz4eEzR2fo?%{|5B@#=`!>~P|DkW;hc7WW`fEOC_fRMgnZ`}OdbM~g(z9PIK*^7C}%Q6MdDVuI*+}@(%z~Jy9a;b@a sMqswmj{lW)t#3;|%gdyt{lBgLlB=^rakBU?U{El4y85}Sb4q9e08V6l{{R30 literal 513 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@Zgyv2U_9aJ;uumf=k0C7ENMrHqaVMg zZDkQ8 z;mfnwJ?B4szkqp(Xye~Gd-tbpbeP0-lJ9u;27ANJ&vxcj?Q~$e;5qB}@_&ntvi)5z zbizYHxv_`Eh+2$k)@(juGW@yyAJhXoE7|w>7r%A<^f>Isua4%ecMKB}Vo&fLUwoi$ zZ;4)L^@ZxF;&a<}%6f)m-rdwL=FK9+5U^wQ)_*zmB8Q$8iwE;CDX*E?X;GI+ZBxvXCAuMZ)aZ?C@3f>D98~5fb!mi3pno$ zTm+sBrf;KHfh$!F1^};I+nlO|>%L#T)i+kkd?Ob}4~TdUhS$9yd{wPhD*!r(E0Kv- zBQ8QlRV)C*O!p3jzxhFU7k~l~#MMYuD;HPE08mx21PaN}TfZ{>$*Wdp5m!T#-=u=8 zG7|t3=MYQaJ0!g2m1|Et&zk^XleL^{<@yf^fKgQoV2qg;>Du*8F9;V9DHsR;nVT)a4H!;@dm#P0lE+XQB@G}B!D?%7s zJ0FIbn0EjH0Ae;Oav&lv(fR!%ilPI=c4+cBk-P#Z03jj+04nmHgqGX;J3o_ggSaYZ zl1G59E=EPZtLlTOwfnJeKNdr7zB?f+{?kR(K5sYuXTXm`^bV7uj?R9v2yjdnR$6K` z>)XICa1LDtk#>L%KqX=_BC`J52*h>Zt9C>~kBL<)eRrv}l_oH@WGx;(#U0ide qU+x~|GPULB;!0ojf`WpA0{jI!HZ9>bG3w3$00001*;7(mbW%{WFv0quByyelC$0SSo`DG!ha-XJX$bZJsVLIkA<6hxs(MMK*72{46I zr2-PUi9pH&U@taaS+Wo^JKsk!Gg=2$iL>#}-dWuvZR0C>?;hWC=kDwpB9TZW5{X12 zkw_%6Y$SjzdJ;__S@Z-#LI5sa9IUn4>({w-X|?>hmXAg;w+XAJCL-Uqj{e$db=E%u ztbC;Ndd_(;@4x823h%4vR@Ui1XtxLN0poJ45!uaIkf-i$?w*V4RTKX?>#pAfR)Cyh zH3hwi*Rdxkpl+4}Z;K?iTb=%+weH{w#cFZ_zS`BfX(oWX*;qv`J8ZYw{rhWc?+hqb zQza@W>b|N7kh;6!?waT)uK7;Z>0cwz>=t#|RY2Tq40J{HUZ~kE`dpHNyPM^qX18cT zP^^;VCD|=(HH9Fk;zik2tEu)wW=Mi6p34r{ZnX#Zdc9tkVt*29oOg(V;8b?*ZmM$a z#B?WX4?d+>Nk&cCg(|3`IAprzf(#^)@3T&SJL~l>Q&V=K3#v%U?8YK;1=mM)W!Drz zFgaxAI4gB!*Cas|#aosaXLoLArzQ%5auc7H-J3;rIp=hPuBn15{+HdV>rSgZxXR=P z-D_pnbU_tWc4I*XsyxU#{U2Jr-Uqy9cFQ6NCacNa-9+SLF@4hN^lxWb_7;VxS7w<6 zRS2N&o&y(D^d{-*<5su-*~Z4k8@%FcUPeI`3XH)K2aeDj~2 zjLCi^T`2b~nqhbIWNOp$n=tr)h*L=w&(0bf%ew5Cxqjr&{DdSb`Rw(=p@G>y6iImMgG1i;-kUG3{oa+*e+f~uSnH+$;tH%140Tc_rc z6PO&RN00$tiaB!6?;h@Fci`6(COOUJ6nq}cS&)oHL;>7vQ(bNy?C(BBx6B>(^b diff --git a/res/drawable-ldpi/ic_pause.png b/res/drawable-ldpi/ic_pause.png index 270b0e6cbdb3014cd74d89eedeb4cd394ecc36e3..1826b2e102a6bc900c0262ed7e6f8b1798775e83 100644 GIT binary patch literal 354 zcmV-o0iFJdP)*))qIK{3-SU`+$AG z_JG`^h?J+Gu5*ju4=~FD^hHEPq$eV3nO@N|y`~2A>z*~VUsD4JVH^g-$%V_w17@O< zU7D5AT)I`0J5n}4vSF_Xt2!LBHyo@?Jz5ldBm;>X^$5falIV)iEy~^@>l@G&KMPpdlGmqTc{K*gJn~ z$g%}^_cKKRvKi5CS}pt9txu!K(@=%>LE5tfASCO)(B#gVUhQOtI2Ix@c!MT)DJC=Y zX9Pnof*}{dkc(i*MKI(d7;+H|x$re4V?lDTMVQ>BaN;|{YP18E)h_@*MAX2!h$2a= z>C|}j@-=h-_g6Wyb~aBXK^tx?0UW<}8tD(aCavQP_>5 znm#Mb@+{B-0bMsBVm(Acii-rIafVt;Vd?azd{=V^ehjCg|yeq&YnRzB+Dxp(I6EX*|1On5*p8=|ja5O--5L{~^F^+#E) zzA^+;x?AVnWn5Gw^=@u0t2RDld43lNfC0(0feIe!scJyv9_HSsmFCMl&uc)hfSx$U zkqVfZAb8AvW6U`x50BJ+%__|YM5mPK*4QzQyCWa@GziiZFR!y&{cW1(cZhCTF=uK( z5MA(*OM~E+MBV4K+E`7~be?#={HSY`adidoW)^^J&bgM%-Plg^=5hfwQjBHxk{F|E zPmo1tY-ZKQW~I_xWP}*YZf*i3W~OEq#JOb^+s2P@ zS+)Bmtu~ez^scD_^)-l5iNJjbjiIr>R9eeF zLkb|yc~d)Gh(cr>kxN_kQJcGCJ9Nxk+cmvlth6{-V63n7A^VN^dyt;k@ZUhzeSDK-@d3=~or*nYucsx`Q zo`nqo0d7zNlaKee$2M!zA-!Dyg1fRPZl!L&q*aXl(AF{bL+@;LUzn})%#6zYJk9zo zK&yqMO47Omz|5>z2R7@Oq>JVtr|!UFSNJ{vMHAMpEvZwL&7;J#?Z^BUepF?E43Ggb zKnBPF``m_3J&aUzH(j;CmwG(edoaMj%-X9K07)ast*hODQR4&ZfdpxA2!H?#Ufuok z`$)z-gk@}vAuOW^FD`W>nN%7~(yWtI9?P?it}ixDZBB1mZtVa7002ovPDHLkV1l^n Bp=n>h7o*4$WIk!QPIJZ*yNRMpuHj5l*{NS>Tt z#uQ+7BW}6seFnxC&%V8zcwz4eEzR2fo?%{|5B@#=`!>~P|DkW;hc7WW`fEOC_fRMgnZ`}OdbM~g(z9PIK*^7C}%Q6MdDVuI*+}@(%z~Jy9a;b@a sMqswmj{lW)t#3;|%gdyt{lBgLlB=^rakBU?U{El4y85}Sb4q9e08V6l{{R30 diff --git a/res/drawable-mdpi/ic_play.png b/res/drawable-mdpi/ic_play.png index 468d4379930db3b22ba92eac5a9ed9a7e6c80c6f..369cad9489aa7a9ff67a5e7f0d1a800a015d5b5b 100644 GIT binary patch literal 561 zcmV-10?z%3P)8QB6o%h(?5He7vYpu263S8rcBEcFCGGIhO6BqVO2 ztq8R$MF>^)c^T{wQxU~+oPtoE_4_%G-g9hyz=jR=aRA8QmH-No8$$qKdpild?wx(? z>}*veT1i7|ZBo}n z=p$-A@_X?BK&KRGl*Td%O!o`TG612d4!vG{5`@VfW@)(V6qw=yB+YUa*#&Uyb(3Kf zMInF;MH2PqtDykOA`VF-X{s`~G9CHd9|)EkW54r07yHc+KWoubBC-&0rZUc4A_49_3Uls zeBQKp9p*jB6zltmE#yWYrPmAp6VLJu{}(?2NhZLsUL_FT00000NkvXXu0mjf`{MV= literal 760 zcmVCAuMZ)aZ?C@3f>D98~5fb!mi3pno$ zTm+sBrf;KHfh$!F1^};I+nlO|>%L#T)i+kkd?Ob}4~TdUhS$9yd{wPhD*!r(E0Kv- zBQ8QlRV)C*O!p3jzxhFU7k~l~#MMYuD;HPE08mx21PaN}TfZ{>$*Wdp5m!T#-=u=8 zG7|t3=MYQaJ0!g2m1|Et&zk^XleL^{<@yf^fKgQoV2qg;>Du*8F9;V9DHsR;nVT)a4H!;@dm#P0lE+XQB@G}B!D?%7s zJ0FIbn0EjH0Ae;Oav&lv(fR!%ilPI=c4+cBk-P#Z03jj+04nmHgqGX;J3o_ggSaYZ zl1G59E=EPZtLlTOwfnJeKNdr7zB?f+{?kR(K5sYuXTXm`^bV7uj?R9v2yjdnR$6K` z>)XICa1LDtk#>L%KqX=_BC`J52*h>Zt9C>~kBL<)eRrv}l_oH@WGx;(#U0ide qU+x~|GPULB;!0ojf`WpA0{jI!HZ9>bG3w3$0000 - + - + diff --git a/res/layout/activity_player.xml b/res/layout/activity_player.xml index 25709de..02fb0e6 100644 --- a/res/layout/activity_player.xml +++ b/res/layout/activity_player.xml @@ -129,10 +129,10 @@ diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 2c5e902..6c803fb 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -41,10 +41,12 @@ 13sp 15sp 15sp - 82dp - 56dp - 20sp - 78dp + 62dp + 42dp + 16sp + 58dp + 46dp + 28dp 26dp 7dp diff --git a/res/xml/settings.xml b/res/xml/settings.xml index 738e25d..a7969eb 100644 --- a/res/xml/settings.xml +++ b/res/xml/settings.xml @@ -50,7 +50,7 @@ diff --git a/src/com/miniabs/Api.java b/src/com/miniabs/Api.java index fdf6b4d..591d55b 100644 --- a/src/com/miniabs/Api.java +++ b/src/com/miniabs/Api.java @@ -26,7 +26,7 @@ import android.os.Build; /** Audiobookshelf REST client (API as of server 2.x, including the 2.26+ token system). */ final class Api { - static final String VERSION = "1.2"; + static final String VERSION = "1.4"; static class ApiException extends IOException { final int code; diff --git a/tools/make_icons.py b/tools/make_icons.py index 4b0cec6..3dec256 100644 --- a/tools/make_icons.py +++ b/tools/make_icons.py @@ -88,8 +88,8 @@ def refresh(px, folder): for folder, k in DENS.items(): launcher(round(48 * k), folder) status(round(25 * k), folder) - play(round(48 * k), folder, "ic_play", DARK) - pause(round(48 * k), folder, "ic_pause", DARK) + play(round(32 * k), folder, "ic_play", DARK) + pause(round(32 * k), folder, "ic_pause", DARK) play(round(38 * k), folder, "ic_play_small", AMBER) pause(round(38 * k), folder, "ic_pause_small", AMBER) refresh(round(30 * k), folder)