From 2b36ff3114c796a407eff6f5664e0a5c4765c95c Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Fri, 11 Aug 2017 21:49:31 +0200 Subject: [PATCH] Add 'shortcuts' support --- AndroidManifest.xml | 13 ++++- orig/random_active.svgz | Bin 1504 -> 1579 bytes orig/shortcut_play.svgz | Bin 0 -> 1515 bytes orig/shortcut_random.svgz | Bin 0 -> 1889 bytes res/drawable-hdpi/shortcut_play.png | Bin 0 -> 2615 bytes res/drawable-hdpi/shortcut_random.png | Bin 0 -> 3173 bytes res/drawable-mdpi/shortcut_play.png | Bin 0 -> 1728 bytes res/drawable-mdpi/shortcut_random.png | Bin 0 -> 2069 bytes res/drawable-xhdpi/shortcut_play.png | Bin 0 -> 3556 bytes res/drawable-xhdpi/shortcut_random.png | Bin 0 -> 4200 bytes res/drawable-xxhdpi/shortcut_play.png | Bin 0 -> 5509 bytes res/drawable-xxhdpi/shortcut_random.png | Bin 0 -> 6382 bytes .../android/vanilla/PlaybackService.java | 12 +++++ .../vanilla/ShortcutPseudoActivity.java | 46 ++++++++++++++++++ 14 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 orig/shortcut_play.svgz create mode 100644 orig/shortcut_random.svgz create mode 100644 res/drawable-hdpi/shortcut_play.png create mode 100644 res/drawable-hdpi/shortcut_random.png create mode 100644 res/drawable-mdpi/shortcut_play.png create mode 100644 res/drawable-mdpi/shortcut_random.png create mode 100644 res/drawable-xhdpi/shortcut_play.png create mode 100644 res/drawable-xhdpi/shortcut_random.png create mode 100644 res/drawable-xxhdpi/shortcut_play.png create mode 100644 res/drawable-xxhdpi/shortcut_random.png create mode 100644 src/ch/blinkenlights/android/vanilla/ShortcutPseudoActivity.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index e9830b4f..94b90e6a 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -38,8 +38,8 @@ THE SOFTWARE. android:label="@string/app_name"> + android:name="com.mirrorlink.android.rockscout.allow-offline-access" + android:value="true" /> + + + + + diff --git a/orig/random_active.svgz b/orig/random_active.svgz index 05c658ef676787499d4ee620da51e01b54eba85c..0941ce84f31f48c7e1d5195dae29bf7bcf8e7bd9 100644 GIT binary patch literal 1579 zcmV+`2Gsc2Z`-me9Qw24`2ODJRV7&izc(f}dL|+cf@T(LzB|dR4jqH|1Sf zsexp$(X|SytkuD74qY6q8xZ&e7d(JIH`_j_RZ(VsTV;<`*&Dx8Ei@5n zoAr4Zy*2ID{7`$Nnjs0O?WE9FjU^#xMczZQ?cTmVo?drlVKxglOb+9XD%Tq`5j>P? z_nSszhdN;bzg7$xt}5lPviyGC>1_iO)~KCx4uZaz+4)|$ZKrzGJt%iMua(J)%w&id zrh1gH1k}*>vp?Q{SkCi&_LuJN2N-@(ldT}Xg$uYMpFv~RnOT-~wpQ5Fzd*owa8e+~ zJhtlOVsHXnY-3+t-9=uPXcT-kWmVmxZ`TQy^WeY--i{Q5kvW7?cl{|N95HF_jy;Dx zQD8X-*z?L?sr}$Ijy zHi}ck5s`1Z4gt`Ps$01BAA1g3cV*$PR@fh=+g{K_4*ezrstcE2*lx>09gOd?>cu31 zessbApaWATE?6CuV?EPEynr~&0i!a0j?k;WRc`z?Gn@Veem415myLM|(Qou_T7xOb zrf+lwM_Gfd$S!isA-k9eDx)|$=mu8TtT5C{cLmPXwW-LVjDixD^6;P<(7CQOn7qyI z@aLdH&ZFYaekM^c?HBTW(z*stj0h%TnoNx_+h=7O2poHKoJRCN%`k#PVX};@r*TCi z6Dx>CJWe6d*L`X1&X^D>IgJu_)akB-uFeMa21ZXBhSgDj%%#%#y*eg(wvu0@kY1r6 zUn6vw@++YQTyZ21!&jj|Ct*$$qF1Rr7vf56pT#74o$%4M@H~Bm;4)6H1rI|Kg>lT| z*P(E2?ZHhvjcFvsYfwm8c!dHNBw|d^|D_4f_Wco$H-&|}e?*x(rS%a6A39xs=@hJt zugVzsX49W|98YF)TDjwv3s-b{+;T1Fb=gc#@lmv&id5ZBoSv$I7cdBo*vV=D^g(et znUC1V3+yvy_C9oZv02X7r)$eg7Y4m;Yh9=V;JLoaR;pUKpHS!EzK;j+w5}bTe>_bh zKf0VVxK}rz)}0TRmj}30cWPQ8xR_TqhcvypIZDCjXC4xsh8_!vWMSpw`4xGRBs{A8 zl*lOY7=bOeVxW&a2IY-HFs+6+pABa4RU_fPBtk}?1Sc|1JRVmZzGgBXkRp+v&H_C- zp9Os5q0EDgN+vR=gr>}+9vst21W!s6c=8yZluPUoO5zYzECegUMGEhU0FU4YpHV1# zAd-YgnZ*LQMHrA!!E@hQ`_>v19G+;+eYBPc4Kb}7o|4pK31M7#aAyc5w+vJ7j4sgU z5lLv|aqyKUmOekw4=sIZ=}SvLwA|&1dw5A5Gemjh3*iA(CSx24%DpqZSxR^U05~&423%!|{%MHR1j8u^Iko|p$RR}tV*^hF zhFBLOQjCs00vnGUXyOzxjs>@jg~ZoLB9O-Mn6h;eTZh&?03K008pn^vwVO literal 1504 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 R5_{S#{{by`9(g(u002OS|GEGG literal 0 HcmV?d00001 diff --git a/orig/shortcut_random.svgz b/orig/shortcut_random.svgz new file mode 100644 index 0000000000000000000000000000000000000000..ad595ca185b823f97db6c51318f8ea3db39ec323 GIT binary patch literal 1889 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 Z_%AUK&JTL;34H(n002ovPDHLkV1hO(;nM&B literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/shortcut_random.png b/res/drawable-hdpi/shortcut_random.png new file mode 100644 index 0000000000000000000000000000000000000000..74b88a8304c78b1fb5e15c130ff98158657d8429 GIT binary patch literal 3173 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 z⁡*X_rlC7yuwskWhu|5gHL6SX;SzwzRPA!Mt5Zo2DXX&zg&^gAQu!vj7|Wk$iXB z2rEPd2gtKs8?)&dwfCpPcYB1{b^z>ra3rUznij2%1LFhx> zdzO}#UwI{D0A2p-AJ?~8fg((`U|gx^QQqR}G)4E7)_j;mhm)VJw|yRT~NSgTb0Cc(SjZP%Prz5KP0X1>K(rovserx#d=T;B+q z#m&t&#xKxv%F0hDv*Fys1=`%clrzFgSk5zQz90I#?YDKVrO6w6K3dbMc8xI=LKc zgbTuch)y=TnL3JkkR3}QPzcMvYin_9YdYF;FEQ1){xqqv2c{&Y#|sNC&y5Av&4rsz zIDqHf=iIP5=*9m!lVC9l3gUQP=h9Bqx1W}h3} z-&$t-3-K2ZwI}I}+P8m_&Ws_!Fa$CC7TBuNLV}r;1y%uGol+aE)@i(>DV21(RGNCT;Pe$+6WSgNCK|C?F*zABGtRIrRICc4vB0MA) z>H-vGie+vtE@*yV|HRW!B~Fly)-g6VM@p)S7JxX-frlE+0ZFSvx3(f;^osXfXvt@b zC+p>|>(*cn@AMl!oqAp;fUvQ%QRIiRbUHl<4%|!6`^?zx##E0J^PaG8_`u%NqUi>S z!b=^z24)1!nRC@uRneC;w8jKgKm<^N0~ZafkgBTE>8&r#yxp>EWHSav1kMT+)Yo1V zOIlaRFzG!Y>{rFPR|6(xX`t7zLTR%%l2e~P5$;a6_;i=!52XGU02v8Tz;FhAVW9;e zwX}Fb)@RwCP+7oK`s%9&YTThO0ien}PAM-hKNBBq+9v&a%yag4c;`ryVs7aFqS#&O zf?QC@x8U|gm4mgJ_Dh?65lWy!?Cy0|&-}If64Kn?@sMFr8JhZ%W+G+~jO*X=$k+azAql3K^NvX;jp9 zRS~_blKnG9Tw{}F6F?sr-Pze;jE|3JUPIi-*4#N_*X5U$m-mWV@7zt>iF83ne5ARm z9E17qIjHHj1uY$$#9*;svwV-5tJ7OrRDEaK?%%P7lP|)#h7MlXxI=iT;_u$QyEPlR zHPlQBzEnjA8v^w<_aQMEbGl`aIB948vj+K!E}nX&qTMDm&cuAe`vX>rTlfFS6u&ms=s@a zs800J-t-i<@IIxnscGvYD0Ihro&C2Xg>>aJ0)-Qo{{6j3dyq;_!U~LzkKZo_Z4}FT z4MkQbcQF{u&Axa+j-ZAYTRj85lsm6$Yb8qX;j5AOtfj!PQE%1ttDx~QtPf13kvzS6 zTQ#>v4bF8OrY_!9(f&##PD4?6Fxgw|t3IbHd30)OsuMhrIg_%FM(8xf(*tYXEMQKF zB{6T=+walu(vsb_yR!5-H7Q%;c6X9|C+p{_U@>tM`SClV?Dlh$vS(A?(RD9he)ljp zH~0P9Co%Z@dob?Q1fT(;!|s&;hmD ziNE^MBsO9tMXy*y4n$E&LE$i$;C`h^N?DmO+a9vM3nT8e&aKbAN16@a``|(>@w`?y zQ8?y#`N>?^a=x4qFSohV9sKO% z@LZ)VBuvPe7{$M&$d;y9YQ>*3XEeLgkDu(UM+H@VNoE!^>7Z)3h7vI1ua z%>s2v`~+hL3F>meOt*Wiu`#yZ7eR&~J4V_4e{+bxoC7wLBax o@-bD(nH=-pqwJZ*u6%MjAHEY3 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 literal 0 HcmV?d00001 diff --git a/res/drawable-xxhdpi/shortcut_random.png b/res/drawable-xxhdpi/shortcut_random.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc2dc40be12a68bc6d73158853a0f8d5825d3cd GIT binary patch literal 6382 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
    L<|YR)+?U?3$aK z(@}P+YDrDcrdtBVx%@D?@5&wRir@P|kstp%cEx2kUvZW^hl=jB70-8Y=wR0+HL9?%{n5X+qEsl>^%5x!F z1|DPD-mE?su};>(;+8ehTvkz`v!bleKqkgwcaon3k5R6W^w}6sL2T=jqNJoufXArE zDf}R=XB@-`K9R2+;|WZdmvF|_3eHydrQK0N^*(`*dH_0^*gPCb?kk3NFYk>!J5`)? ze(6NyfMS;L-DXFceev!U&DNp#`SYiGwr|Tt?p^x~RmHr)lpg~6tcz+0PW*v?&dgKV zAC|&x^bci-aszfLy-8M?oR>zJ0*<~ZjG0ZS1lME8{>I= z#-NhQCh4hszY3`%Z(do)O$S9BZ81WuX=Xo7IEO_xo?iT&1DaINl~d0VSF~Dr7j`>C zbLCjM-00gUu%VP3Kj@A%a3 zl)S7oY0*0=@Wsgk;8p5EW032?>{?G%D#p`#>!|SGlSPnOF zT_@W-?=MN*7q3U>e@Ke4^&pM~uJt^lgBsALhNk9MXE9I)>-E^LmTF(VNYf9<9{pk1 ziJSFl%quJ;%LzO*e$%%|Io(65cm(hd-0s8kO9`U8Ft2N^OYdo8^K}gjQ23WA7)-*Y zalw$yXTjH9B*Dk+Y(;@~-rfxOz$3HqPaLzDp)4z7BL?D(vP21@@78yNmMW_O*gB~1 z(fiZ4z;6N8D`dDoG&S`zJ%p8pg7oFL>1t`?+sR}IwNdIAWnvW-6-yK|s8z|qVf8q- z#$;9r`~6M2lKrI}3}ZWwN)lhq3$yU5*#1U!Ct8uW=R;Xp`1$$y4gZkR%B3wwy1Ot7 z2&C#UQYeMp^=7o~#Ddcb>zub#guR%pJ8P6Qp~-9V#lD~HAHVhTtO<5TA|iQHogWfJ z98gX*3qfVyZ_X2+9q0koa#=;IpwU-l&bQmM`rDLI;om9kv9u}lgDB_emYYW9CS=7r z*kPr^3Qbl+@Yxpjq9zdR9CV47B+#%9vRB$Z`D9lIXJ+29qkSe6N1;#!I)z%l8mbkvw3yPCCjU#s_7MUge!c|7Mxv7a2bI0O- z@yjsoWCxA(X+jj$b)mKhs_UJ7DH@Buw1#LjktPO7R4@dEtDn|6?xc2d8G>PE?thDD znd8ju$6h*e#l^+N{bYBs-V?Msu*VrK7xpQX~J%9H+NG?k*_*Q?eoSZp# zs)p6h+;@*}CZFxmy)2)t*Fj;gG^yZ6`e1~i2xAY6YcQ|89&q1cGB3}yj^%J`ipurq zw~jY*rnJ0Vu>7qZgUVM+;gAu>?1Q>QHPSDQjd_iY(iJVBDhafpd6RFiks1Pib&B~$ z!n_B?*&es7Oq3OqCOU=PV~B)=#DQSndN}Ds`CXJ;dwBbo=AExCfoH!yPTPnSa=lXq z)8WeIX8eSOKxDCgket$^;XXSmm^hI4o+W; zI3CP&cS8xSoHSTv7JvJf=zfxjc z7N2uc8On>K#~GCvxN-jz#PafT#(34??3Ej1(f>UP%Ioj=?RXGDLP2vbIaD1^tVkE0 z+GA7Pa8KZ_HKVSF$6ZS%vAtJ&ae#X&Y{ai~$BPa+*0{|`^!vws22OO-Yy%!c3L}3x z_-y-1!aR7k6I<-EI@#}Ezjmd|jRd+=lzuc1DzbEXOHFkN3JR+0CnK)Wfl*zf&~drr z;|;p%5XOw#<+{B1?5(*e2c^Z&CYyItHNN|&F&t#d>eZWb*MfrhP& z*rPD3_}MU1S_I8+$LACZbi-Tm{Y+)0L-s+y6IT}h?f63?$UtPp#AsMLGK?RGL4@Z$ z1woi_)OvX#)Hs#1-NGvboI~6jNY6Na|ZWbwo1GbIk-*1nE|YtJ4A@ z0TIY@j1QhZ5u2Q+%bSBlBAeQ0-2-k1?&V|h{q;rRIYfrhCqJKos2044i5gCJ`+5j1ZD9#L({r0P^N8I1e# z+^JVI+?e*kKi|DMGc)sLB1rs+J1a$U58{~YHdPF0yJ=RrpnwbKmh^+X&C-f5Yl-LQ z0sZq*e6eA8JU+|USFyw(!LerYqWZ#hl-LjGx-`)Ipsy+&7Bp7!bfn;!Eo6MREx*0Z zT~!ls3D+t1|McO*%AX%@OWowLv9b4&0s^??{yGQBX!huL=9O-#eT$*qEdw04Y(&x@ zmX2%%&xBGat_I}d?`lIY4yXPE|UBjNDBgzyz_DKM(z($`|WM1I}+ z)(I}pYFg)-jUyaYS}{GFRmrmB5J^W`ie+Zf+?3kKHH_Y~BLblr6657GT6Wj38K3c| z_fx$BIz>=GKzgSG__&Oi(O9w#<~p6lEw6ng>pI1p zs!=$7j|rwPBC$Y6!JWMN5QI9oXVqi(=x^KrWvs2`i#v}G-g@=jh=Q0%;n%{VnwGkH zk7V^k(|^D)S7?o9qCp*>>+1YRE6n`)8DCAoVdSqw%z_gp3dYv&FkZVh-p63$=2=H zGP{&%o9_JVkdXfV{@I_I;+KpHZRpf;(1K!}&u3oJx>n;h%Mt2A@cfIDNTbr48!+;@ zoi4WE96~LKe7LZ#(qcNoYW#Un>ohW)dM~u~OgcLvA_7MXR+)vvnNC?A^2leW z^{AQ9j7U`bJ?rj!Lwi^+&$&l+!Lwo7Sxl~SY@Oif;&Kg{rOF_ktF5h_IpzAIx_$OT zzvTGv-Vx-u)e)6J5=G0V^HwtTA?bQ3w{_KHA=f|kJ1Xf~MFkFDlJY<76NY=4fl`9ztDAnl<5hKvu|4a$#5j2o{5j$JS|Yfrfgh zh!ed!L}?#aR8-U`duxF9CQTQ$^_QC04|N%AUxB_FT=jm)Cgr`-8eYqDHUAnN1OlS7 zJYD-J+-6JPtov^v1`ZIY@*;~d@3>8m*eNKxc{STzuA-2_RiP!gh5J!zq-zD={- zsL_z$@PUHDR{EVP)3_nLsc=E4x1k(9{ZoFrzn!|Fk7o85cLSh0^r-Q`hpfxYzl4 zd3~Q={=FFH-svaDn#(6UxVoAvBrSBhO9X(FxgipvPOm*2cAmu)Sp}v={^TB^?!{eN zL;jIWAYgXkpCSa7vO~B%H^%Rl^evibgOE#)!BBnJTT%sW3ue>sA_s(iDIOXINtiEF z%= + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package ch.blinkenlights.android.vanilla; + + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; + + +public class ShortcutPseudoActivity extends Activity { + + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + final String action = getIntent().getAction(); + switch (action) { + case PlaybackService.ACTION_TOGGLE_PLAYBACK: + case PlaybackService.ACTION_RANDOM_MIX_AUTOPLAY: + Intent intent = new Intent(this, PlaybackService.class); + intent.setAction(action); + startService(intent); + break; + default: + throw new IllegalArgumentException("No such action: " + action); + } + + finish(); + } +}