From 35db7792bbc8afa985aea0c4c32d5e3de48e39c5 Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Tue, 5 Jan 2021 08:29:29 -0700 Subject: [PATCH] Update album artist navigation Make it so that when an album is navigated to from an artist, navigation to the parent artist is disabled. --- .../drawable-v24/ic_launcher_foreground.xml | 27 ++++++++ .../res/drawable/ic_launcher_background.xml | 65 +++++++++--------- .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 ++ app/src/debug/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2008 bytes app/src/debug/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1592 bytes .../debug/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2823 bytes .../debug/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 4445 bytes .../debug/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 6271 bytes .../auxio/detail/AlbumDetailFragment.kt | 4 +- .../oxycblt/auxio/detail/DetailViewModel.kt | 1 + .../oxycblt/auxio/loading/LoadingFragment.kt | 5 +- .../oxycblt/auxio/loading/LoadingViewModel.kt | 2 +- .../java/org/oxycblt/auxio/ui/ActionMenu.kt | 16 +++-- app/src/main/res/layout/item_album_header.xml | 3 - 14 files changed, 80 insertions(+), 48 deletions(-) create mode 100644 app/src/debug/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/debug/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/debug/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/debug/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/debug/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/app/src/debug/res/drawable-v24/ic_launcher_foreground.xml b/app/src/debug/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 000000000..de78f6455 --- /dev/null +++ b/app/src/debug/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/app/src/debug/res/drawable/ic_launcher_background.xml b/app/src/debug/res/drawable/ic_launcher_background.xml index c5c410485..8b589ff81 100644 --- a/app/src/debug/res/drawable/ic_launcher_background.xml +++ b/app/src/debug/res/drawable/ic_launcher_background.xml @@ -4,72 +4,71 @@ android:width="108dp" android:viewportHeight="108" android:viewportWidth="108" - android:alpha="0.5" xmlns:android="http://schemas.android.com/apk/res/android"> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> + android:strokeColor="#15FFFFFF" android:strokeWidth="0.8"/> diff --git a/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..bbd3e0212 --- /dev/null +++ b/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/debug/res/mipmap-hdpi/ic_launcher.png b/app/src/debug/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..6ac18a10aab86665c1d429e04b7b3c7336efa7bc GIT binary patch literal 2008 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 literal 0 HcmV?d00001 diff --git a/app/src/debug/res/mipmap-xhdpi/ic_launcher.png b/app/src/debug/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..5870e90298697f8937048c697fba67d211426d13 GIT binary patch literal 2823 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 literal 0 HcmV?d00001 diff --git a/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..dee580c7ee318227f46e5d9c3e2337216cb4faad GIT binary patch literal 6271 zcmb7o1yodDwD%cc=#q{h{nOGN!XP2tAs~n#-KC%igOs3zNQpxzskD?xqcpM(t-dpeczV+R;X70>6`|f?u*}uKdZ|@ibz3XJeOvC^HGEEItBk10W{Se|q z-$q~E2>@VF*Hl$D37lTfB=R?1uIcJi!0*=e71x)pCt}p-2LB*^ITA&>d8^Few90Bo zHD!E8glkPa`@jy0o!nO7q3f9C!{%2Ho0}c1XxrV)i_613987R-x11>*k=M(9{YUz% zu=MxYUrpnomF*v<)`I8GF9r@WpEnF1%^v*o|9@G=36*%3{4QZVFUrgNl-QEJQG|A! zHRy2(mt8Mw#N>;o&mu}9BFaVdW3AhV4s|)Xxw!|vc`vD{tCMeC*VNQhxhXV}I5|1V zael6MeMz;fEu0`)RqrW_ALg0tH&|d>v{yS$M46U4DMF?qmY^wR@6sAY$zqAzc+7Y* z8Xe4e`SPNwzyB^#sNzNf6*aZ~9Y@D3Z@J8A-_DMXOz(yno=MVaUru^o&bl%*gLr4W zEGC7zMmf$vKq-`<=E5upmNiM7An`prF;>=Z1wHk1Gs5KEthT1+D?d|DPa#@5I-~pd z<={zOR#Q_`68=977OGNf(e5Vv{QR6!k807~k?8JH0iMpMmGp*mq+;%6*h?# z7W=e0oX)GOt98>EgfkZ|+^V9;nD6#3ZlUd{(IXotR4;#yrirnfYnLT%qUDN69c_q9~fCD*a2x#ENKsV@SjJ1YheImHu-p>8H7G<=!1 znfu4}y1hL;uZD+>7CbP4m?NN*>gji@}EZTAD+4<=&zMwxD*#!sH@An?|`jDT3Ru*bqUZ}RdY0+n>a zR>UGp;n}6Uii$Q?1EZrROrmypTah{c>jr44C_`I4m2WX6BJr1%E4^_d^KAuqL&Q`314yat? zw?&^3kRxuyUE>3KBmf7={wR8$t6y1F^^=anIqO|`4l~>CU3e>B4V((#p^%XJ2xb^A zK55{8?jpsdLfP)eOn+Gr(*!jz=;}h|r?BWCG;rL`)%i-s_fF1n6 z12*lGLGZ)3p%>@%uCx_nQbj!Ej}I>LN!#w>pa4b>1b2a_rYjo`JiuGzYETS+*MU3@ z*n{SBh*0;RX6je)ob0Wc=jy$0TKAPMdLoxTOWLXdLjq@E5C{i=I%V#7k_@Ft+UkrQ z)Cb4=>+%*a=FGsn?Xei3#Tpp^=)&K4do?7$niiZL;^Z3vN-)ic;@ixaST}$kqXcqH zsAfo%@*hyZ500ncC?OjVhzDTogkaYk_*YVcGdTDoiH91%M_#-32!{0cua16V8eQO= z_4vMys+n0TT^y5SY-a+S{?XCVv~RnKq@<*YfkBQS52?uQcD&qgH_iVyEanRo%59B( zH1_fF;bA1k1yP?vz$WbeO(AoZEK&nQL&Jn~%))}5;M=mY0+*2jM)*jI->=C^iHFDj z5WXi;tKPj!avVUrr03)hw)N94az87)ua)Z>Tq?;jHJ~dcvI%Ygj2q!7e z;j0oB2`NKJKhwe~p?3{udS&)ug_`wI+WecPrKRV=Ni}R>h0Yn1qs*$diKloLS#kqEo7cdR_UyR%q5W%U8&ym;63b20Xr zJD@Cdo!uk&LdN4XC|AnjPGqhra=JRx74MGZtq5!^8NlAh!zNn+Qu+j=Zv0{1`S#xX zEn0kbT?k~42wQv2DTa>^;?M| z(#0Pn5LElRZ&&)>6b6K#4d3?YcX)M_F2&59AVBcyKyAM`wBI77PsP# zlc06q%E5TRtQ^T>`}JD8n`cRXm(oGn8e137Xt`Qi$4n!F@VFsbHq8MoLK%PlU7D-Q zQ47KiV-;t4`x$M#+ZR}T{$Ga(%@}I;O`aB%ZE*;&m$nW4?A@x}aEs#-4pHC2O6UMO zQDAUxwy2Gc`@wa`dy79cplu+Nj%=J(yRp+#S9cPC1E}95OwL&kSq7B{Sf#T+!~+ z5iiVJSRs*9nTtIy^4%1_aRd@&#m2-`h8inmo33rrg!lIL-fw)&sQXziqL8ycUG(FR zZ(}KbU*G#UF--<6Bg7p^KW9ji#C;VE@jUD%{^0+e&AI1g7pdUPy;}d)%6Atfov?xG;Dpqku@M3H$^oI%~Viu{`>t0Qhh8CquNCE2eJ zz6*w|B1!``Q0R${snIuiC(>0Nm2bY{qN~C0N(pHl8vg0Cx|40}YG(64lrMYBTXOWzC})V8Jc4dpBA*^qUr}nhdUl5WDRi@%sMC2l0%u6 zkQq3NgSk1sQH&a9R^9rS3Q7gi)Q*p`(4QENEN9CnIgt2yqPRqMJr%+n6nx*6OtncE zfHD1zJCV3pbXUM^@gb`7v}Gw5dN5RAgbeIse)@C> zi%o8zbH60ju`xK=@s}q?hwWYaA7i+!pSs8~)oBS8@x%U490U7EDF2#sWxa|tzQ^M7 z+NHooaeM6PW{ZM=Q^ z_W0d9vD`Nn(cF6Iz=AMqbG^o)ukN-JDb)He(yu1=+O;qOVqVlMq3 zYfR1-E~#)6&Thli_9ufZC1q>Wd}YuebAP+l31TNRH zun+oOXW9)8?>xlZ5YET?|2;5h-UFuZj&y@EMt0)<0xidVErjXp*X_3={&_L{*;f~+ zV1f3+kN%K<;P<5U{UudH5vat7K=X&z-y`zzFL1OuEC}h zF|#I33oD55%^fi=f4$)8eYokBe9qUK*9f<-N zk{4|Mp4EpZuoPS~PLOsjQsYKo<0lxre$6*+iqv#pc)G`inO_erL|-SDH1woqkxD*r zHeU8T5wACIQR^`_H`Lh|>1}FAjjGscGPQ+{kU;EOSpj*h7K@JN&PHCp{DJZK$7tR! zuiF$y#SmmD((@r$?}Hy~PV?OduQ(F2$gpm}BLLTFI^xkPt5%Ay`lHF8eTjb8xQrX` zt~9?{bN_}pxfgOloepn zD~pfv+r{}}eF$-Vq&M(ZH5^Wnzcz3Rxhw~cD(dIdYFe*@{$ONb-l>BHy9CX20HVl5 z$kP%*4wpX~aF7ebELaf>n72Xi^et=<@xa-+%5!vbn#g@4D@^K%kj z^J`T39_QtWaQ538k*P-#%#(h8el=r+f67y9**_=vyNAXKY!%TI)#Uo{qLPvl>5P7D z?HcFy2qFplPEz|vxSvyM&YKb?TGnQT-%N^Y_628<{aWmd8!@{)iZ6Ms)PFewDwYCc zVO37XjYNPA9i28VcO@(`GO{!G%H|;%OFOPpS3Jv;D&^Mt;WP!>B#`HE6mc_%%W{R< z>HO_me*3=H#p*?5t`U~2y+jmk+M6^RLVDY^-Oc)ugegi99lFhm|G+dXE2B9xw;*rR zw}mao@?{`h4uWZY!9N4_reA`IK_&xGz~ORO6jmWYdCVCYO_^X_HA4B^dkB{Uj$H9* zDM;=|V8?KgI)-HVk(d$oZF;ZV(P|0o;3y3nwRX=$BNY?)y2C|QTq4Cv%?o+rc=o%g z>|h{Hbrb9`>Ly9u@Z(DkSVteV-LQ~NZtzVjg|!}}Ce5fkeXxcdKO1_?wdiPcOcCNV zs1!VNVII48MJ($XmaVSudVl?vY*dpt{QIP;2}~YSXuUsFj(r+`33BP(5QY18Vja5H z_Sx!39v69e%jL|sW;%Va7&~dXe1$(_;rr~+7G=fJ^YSm(4d28aoMLmFjBpPwo}cI9 zI_8$#@BS7$FX|mEfIW&j#`MatcYyiU^6f@Iw` z7qn)>fk13&eUxxureXs2aF<(Bn~KlV(Mk_BZwT?Dx#bf-z*nddojbLNrN89&jTOpB z?0Dtw(QsV}POno79j%@@lIOBMq4teO+bb00*Zh%-$8DwY(trJxi$?k(3s-r_;ACxe z&n`ui^ zoaa*Kp6L1*2cJ7@F}0){2~TOQ7VjG#M+}GzjiJvp*T)FsXLU+SxnpWR% zd(@QXmO_@D_;wHDmwj1L=E)(}BDY_TxbiDVb3JO4Q7v=5Kjjny;fZv|PT2UjF5O4r((F|H&-r{iO9 zHKK5;H9pN?jYvJ@NPGNEqH+PJjCBzovmgMlLpRy^<$}~V#0cJu~{mI8l?3(;B2zsdS~I}lxKn;WSl|p z?(gB}e_8@WsFvN;kwP69rb`I;JM5Wg8};WXhlg-Mfc^k$ou~_n-m==i@p{`*c=@Uo zz+_4yVVhToBg3)pWese}kN4K<=vj?z);y&F{=)nryD(0vv+aDik|3l3hU3j-)Bc6? z!QRh+I2_wV$ogw?{5~TIfjEl&v_^P)+XS}wL;;4nG1&vJNh`))`?Hkq?tYiP>RKnu zSoA>HNn6Yrqbst3usdMbDJ3T=`Yh0`2{CKe!CxLw#SGq4)4U-cW}&A)c*^w2g@qDI zuH+zaMS__v=w6#~uhp|&w^~^1i5{hp9@PyYvvU*-ceWKE$fGNhZz~bJ9#n(4n0hF0 zM&6)gw5ey^m%vNn10o-M?bgiA%%aXs|Mb1aYK@+VI6@7@908s`?E~17Y-!`8Dn-wS z&2V8peJ=ilJ(H{|T5z?04K>^JV9~b90xl{lD({W|F;XtReF#Va@izy^;{H zv`H*i=e|IO0?ajVj4tEK+x{as#!jQ2dhO=n2713fM- zrA+bdoO5E`p+GT|tg>8$^vm3DhAZ zt1Y+Sxly>uk}&=WWG-pS_4F-hVq2aP?>TJ0?@ZVRsbI;&J zE)bSw>(%&~)uPLWv8-Q7HHcR;s5jLqbd4X?f>A3vsd?|*W7NmM&TB_|Z)3KpQ9oO; z3Tk~lkadeuS`cri5}KyU%H#UC2W-$ABm1Kjtqt{mVOc2Y`AZ|hz4AT1+LwB*Y86hb zF1RsYPWvjDklX?Zk|xTw=T=v!f*w4&YLwTQwCZpU>ouNPcMqXPmC+Ht9?N_s5g_1J zVL2W3F4lspWO)43bNlY>!Q=%~0ZLLS!@pVTH(=0#$uW9tw zI_DT$k2kYGN=g~wy0DR5JSBg)?33}nBPjY}8Qw_4_mgJ3> create(modelClass: Class): T { if (modelClass.isAssignableFrom(LoadingViewModel::class.java)) { return LoadingViewModel(application) as T diff --git a/app/src/main/java/org/oxycblt/auxio/ui/ActionMenu.kt b/app/src/main/java/org/oxycblt/auxio/ui/ActionMenu.kt index b0c955498..1be12518e 100644 --- a/app/src/main/java/org/oxycblt/auxio/ui/ActionMenu.kt +++ b/app/src/main/java/org/oxycblt/auxio/ui/ActionMenu.kt @@ -17,12 +17,13 @@ import org.oxycblt.auxio.playback.PlaybackViewModel import org.oxycblt.auxio.playback.state.PlaybackMode /** - * A wrapper around [PopupMenu] that automates a ton of things across all the menus in Auxio + * A wrapper around [PopupMenu] that automates the menu creation for nearly every datatype in Auxio. * @param activity [AppCompatActivity] required as both a context and ViewModelStore owner. * @param anchor [View] This should be centered around * @param data [BaseModel] this menu corresponds to - * @param flag Any extra flags to accompany the data. + * @param flag (Optional, defaults to [FLAG_NONE]) Any extra flags to accompany the data. * See [FLAG_NONE], [FLAG_IN_ALBUM], [FLAG_IN_ARTIST] and [FLAG_IN_GENRE] for more details. + * @throws IllegalArgumentException When there is no menu for this specific datatype/flag */ class ActionMenu( activity: AppCompatActivity, @@ -32,6 +33,7 @@ class ActionMenu( ) : PopupMenu(activity, anchor) { private val context = activity.applicationContext + // Get viewmodels using the activity as the store owner private val detailModel: DetailViewModel by lazy { ViewModelProvider(activity).get(DetailViewModel::class.java) } @@ -43,7 +45,9 @@ class ActionMenu( init { val menuRes = determineMenu() - check(menuRes != -1) { "There is no menu associated with this configuration." } + check(menuRes != -1) { + "There is no menu associated with datatype ${data::class.simpleName} and flag $flag" + } inflate(menuRes) setOnMenuItemClickListener { @@ -158,11 +162,11 @@ class ActionMenu( companion object { /** No Flags **/ const val FLAG_NONE = -1 - /** Flag for when an item is accessed from an artist **/ + /** Flag for when a menu is opened from an artist (See [org.oxycblt.auxio.detail.ArtistDetailFragment]) **/ const val FLAG_IN_ARTIST = 0 - /** Flag for when an item is accessed from an album **/ + /** Flag for when a menu is opened from an album (See [org.oxycblt.auxio.detail.AlbumDetailFragment]) **/ const val FLAG_IN_ALBUM = 1 - /** Flag or when an item is accessed from a genre **/ + /** Flag for when a menu is opened from a genre (See [org.oxycblt.auxio.detail.GenreDetailFragment]) **/ const val FLAG_IN_GENRE = 2 } } diff --git a/app/src/main/res/layout/item_album_header.xml b/app/src/main/res/layout/item_album_header.xml index 1c45430a1..dbc0b1886 100644 --- a/app/src/main/res/layout/item_album_header.xml +++ b/app/src/main/res/layout/item_album_header.xml @@ -55,9 +55,6 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="@dimen/margin_medium" - android:background="@drawable/ui_ripple" - android:clickable="true" - android:focusable="true" android:onClick="@{() -> detailModel.navToParent()}" android:text="@{album.artist.name}" android:textAppearance="?android:attr/textAppearanceListItem"