From 0de4590a87624a8b9ab55810e4ffaa8b6234bc5f Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Sat, 12 Dec 2015 01:16:48 +0100 Subject: [PATCH] Great progress with the new now playing screen. Almost done now. --- .../adapter/base/AbsMultiSelectAdapter.java | 5 +- .../adapter/base/MediaEntryViewHolder.java | 2 +- .../adapter/song/PlayingQueueAdapter.java | 67 ++++++++++++-- .../gramophone/adapter/song/SongAdapter.java | 79 ++++++++-------- .../interfaces/MusicServiceEventListener.java | 2 + .../gramophone/service/MusicService.java | 1 + .../base/AbsMusicServiceActivity.java | 13 +++ .../AbsMainActivityRecyclerViewFragment.java | 5 + .../fragments/player/MiniPlayerFragment.java | 5 + .../player/PlaybackControlsFragment.java | 13 ++- .../player/PlayerAlbumCoverFragment.java | 5 + .../ui/fragments/player/PlayerFragment.java | 87 +++++++++++++----- .../ic_drag_vertical_white_24dp.png | Bin 0 -> 220 bytes .../res/drawable-hdpi/ic_equal_white_24dp.png | Bin 172 -> 0 bytes .../ic_trending_flat_white_36dp.png | Bin 167 -> 0 bytes .../ic_drag_vertical_white_24dp.png | Bin 0 -> 161 bytes .../res/drawable-mdpi/ic_equal_white_24dp.png | Bin 162 -> 0 bytes .../ic_trending_flat_white_36dp.png | Bin 126 -> 0 bytes .../ic_drag_vertical_white_24dp.png | Bin 0 -> 193 bytes .../drawable-xhdpi/ic_equal_white_24dp.png | Bin 176 -> 0 bytes .../ic_trending_flat_white_36dp.png | Bin 160 -> 0 bytes .../ic_drag_vertical_white_24dp.png | Bin 0 -> 242 bytes .../drawable-xxhdpi/ic_equal_white_24dp.png | Bin 206 -> 0 bytes .../ic_trending_flat_white_36dp.png | Bin 210 -> 0 bytes .../ic_drag_vertical_white_24dp.png | Bin 0 -> 286 bytes .../drawable-xxxhdpi/ic_equal_white_24dp.png | Bin 231 -> 0 bytes .../ic_shuffle_off_white_24dp.png | Bin 0 -> 624 bytes .../ic_trending_flat_white_36dp.png | Bin 235 -> 0 bytes app/src/main/res/layout/fragment_player.xml | 62 ++++++++----- app/src/main/res/layout/item_list.xml | 6 +- .../main/res/layout/item_list_single_row.xml | 6 +- app/src/main/res/values/strings.xml | 4 +- 32 files changed, 260 insertions(+), 102 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/ic_drag_vertical_white_24dp.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_equal_white_24dp.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_trending_flat_white_36dp.png create mode 100644 app/src/main/res/drawable-mdpi/ic_drag_vertical_white_24dp.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_equal_white_24dp.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_trending_flat_white_36dp.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_drag_vertical_white_24dp.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_equal_white_24dp.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_trending_flat_white_36dp.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_drag_vertical_white_24dp.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_equal_white_24dp.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_trending_flat_white_36dp.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_drag_vertical_white_24dp.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_equal_white_24dp.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_shuffle_off_white_24dp.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_trending_flat_white_36dp.png diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java index db95ed9d..f313c376 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java @@ -35,7 +35,7 @@ public abstract class AbsMultiSelectAdapter 1) cab.setTitle(context.getString(R.string.x_selected, size)); + + return true; } + return false; } private void openCabIfNecessary() { diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/base/MediaEntryViewHolder.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/base/MediaEntryViewHolder.java index 578dd13b..7cf3ab33 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/base/MediaEntryViewHolder.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/base/MediaEntryViewHolder.java @@ -16,7 +16,7 @@ import butterknife.ButterKnife; /** * @author Karim Abou Zeid (kabouzeid) */ -public abstract class MediaEntryViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { +public class MediaEntryViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { @Nullable @Bind(R.id.image) public ImageView image; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java index 2315aeaf..c1396efe 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java @@ -15,20 +15,75 @@ import java.util.ArrayList; * @author Karim Abou Zeid (kabouzeid) */ public class PlayingQueueAdapter extends SongAdapter { + + private static final int HISTORY = 0; + private static final int CURRENT = 1; + private static final int UP_NEXT = 2; + + private int current; + public PlayingQueueAdapter(AppCompatActivity activity, ArrayList dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { super(activity, dataSet, itemLayoutRes, usePalette, cabHolder); } @Override - protected SongAdapter.ViewHolder createViewHolder(View view) { - return new ViewHolder(view); + public void onBindViewHolder(@NonNull SongAdapter.ViewHolder holder, int position) { + super.onBindViewHolder(holder, position); + if (holder.imageText != null) { + holder.imageText.setVisibility(View.VISIBLE); + holder.imageText.setText("" + (position - current)); + } + if (holder.image != null) { + holder.image.setVisibility(View.GONE); + } + if (holder.getItemViewType() == HISTORY) { + setAlpha(holder, 0.5f); + } else if (holder.getItemViewType() == CURRENT) { + holder.itemView.setActivated(true); + } } - public class ViewHolder extends SongAdapter.ViewHolder { + @Override + public int getItemViewType(int position) { + if (position < current) { + return HISTORY; + } else if (position > current) { + return UP_NEXT; + } + return CURRENT; + } - public ViewHolder(@NonNull View itemView) { - super(itemView); - image = null; + @Override + protected void loadAlbumCover(Song song, ViewHolder holder) { + //super.loadAlbumCover(song, holder); + } + + public void swapDataSet(ArrayList dataSet, int position) { + this.dataSet = dataSet; + current = position; + notifyDataSetChanged(); + } + + public void setCurrent(int current) { + this.current = current; + notifyDataSetChanged(); + } + + protected void setAlpha(SongAdapter.ViewHolder holder, float alpha) { + if (holder.image != null) { + holder.image.setAlpha(alpha); + } + if (holder.title != null) { + holder.title.setAlpha(alpha); + } + if (holder.text != null) { + holder.text.setAlpha(alpha); + } + if (holder.imageText != null) { + holder.imageText.setAlpha(alpha); + } + if (holder.paletteColorContainer != null) { + holder.paletteColorContainer.setAlpha(alpha); } } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java index ce4c39b2..f291ab7d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java @@ -93,8 +93,7 @@ public class SongAdapter extends AbsMultiSelectAdapterJ4mJh`hKCF@W-u@?uqAoByD)&kPv_nB3=9mM z1s;*b3=9k&VC;4>+YTgHR^XTp(hJ5F?9%-V3=HX>E{-7)hu>b_$lGAR!+J6QNI=P& zqih`;FQsZ8qm;nNmQxd4Qw6n{-K-gVHSajpXx^L$a;2xMpUXO@ GgeCw-eMl1k literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/ic_equal_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_equal_white_24dp.png deleted file mode 100644 index 01b51e8afed82a390fcebadba58f980fa7fb4a15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0y~yU{C>J4mJh`hKCF@W-u@?uqAoByD)&kPv_nB3=9mM z1s;*b3=9k&VC;4>+YTgHR^XTp(hJ5F?9%-V3=HO;E{-7)hu>atJ)XT-x((s*>lVx|W%S;;Ywelo3s`)H+gBtuxs= zsoaun+4b~BcT2S>>+`h&*5|*OV diff --git a/app/src/main/res/drawable-mdpi/ic_drag_vertical_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_drag_vertical_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..aca0945b8f0f19b9046112f8fe62c7bf115e6a1a GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0y~yV2}V|4mJh`h6m-gKNuJo*pj^6T^PXNr}OT51_lPs z0*}aI1_lNXFm^kcZ3hx8D{xE)=>_8opQXzf7#MUsT^vI^jwdHbuwG&KzmP#(UOqu8 v<2b*tffPG4zuV)42M04`cx)tkn-}sj?A-6ayCkCr_8opQXzf7#MUtT^vI^jwdHbur5vzF-Q{r^Z)<< x`b|8^DMt+YGZ)laaAokj1z*&VU_H#pz;JU82mASbFK>YC@^tlcS?83{1OVM#Dfa*X diff --git a/app/src/main/res/drawable-mdpi/ic_trending_flat_white_36dp.png b/app/src/main/res/drawable-mdpi/ic_trending_flat_white_36dp.png deleted file mode 100644 index ea5d1e1868c1de6f9526196034d0616a581cbd81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0y~yU{C>J4i*Lm25-&)VFm^US5Ftm5Rc<;FB@_(DDbd2 z&VP3K-Sh11$w~!DU9+bgY7)HO)p2lwc8ezKGLb2oW?4L`udLo&+&tlR*0$9D)pcio eDG6RIVW|H6X5&On?T-u$3=E#GelF{r5}E-0U@V{j diff --git a/app/src/main/res/drawable-xhdpi/ic_drag_vertical_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_drag_vertical_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..1c0e89e60429cd89cf52107cf230a50d4a6c03bc GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?F$U?evke9?0t%? z1J;W!%I{<$Fg2uC7qB{i{HF7cv5kl-@C84)$}RHen(G`0n^zh-*@@6{gI_J0|Ntt Mr>mdKI;Vst01T}?YybcN diff --git a/app/src/main/res/drawable-xxhdpi/ic_drag_vertical_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_drag_vertical_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..48e221b86382f2d4b08b25f8cc68b66382b7b124 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0y~yVDJE84mJh`hS0a0-5D4d*pj^6T^PXNr}OT51_lPs z0*}aIkTNiKJDF_<5-cllOa}{q%s5y1ft7)Qq1MyIF{I+w+v|>84F)_6j<5g!kFi(K z=@8Q~e(rQ?-lWG23=PuBPd8XT-}Co~#N*!Y@fP8{zqA{h92^%Y2r%TF))jl>=(s>3 zKtO|oh2eHlH)}PBDZ;|V#CTxaouq?uASP>LlLNyB-R%(@*g;INRtB3w#wmIl7BU$P Q|3Gf{boFyt=akR{0MPFVdQ&MBb@00g}}OaK4? diff --git a/app/src/main/res/drawable-xxhdpi/ic_trending_flat_white_36dp.png b/app/src/main/res/drawable-xxhdpi/ic_trending_flat_white_36dp.png deleted file mode 100644 index cdf966ee2fcdb0a00478a247645c783dea9cc5ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmeAS@N?(olHy`uVBq!ia0y~yV8{VsCT0c(hEE*(;}{qicmjMvTp1V`{=*7>Yby978JN-d|KZQr?d{tlbdw^Ad+4)SeaD=RZ#mQLUklRa~QZAP=}|Lv9q`{V8!vgds~dvH;+ z2R{A-&cBB$9(uf3(6nDn!hfq{X+)78&q Iol`;+06MW&SO5S3 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_drag_vertical_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_drag_vertical_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..38a3dc3f4b62c9aa950fd99028ca773c7a9b650e GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^RW*pj^6T^PXNr}OT51_lPs z0*}aI1_lNXFm^kcZ3hx8D{xE)=>_A8+c&>3Ffgq2ba4!+xb^m?A(xXQkHf(=-}isM z6@6po_k%O-1S(>Um>C!t4(zx1$~6Do-tVsuJ)aYQF2DLJ_aAG_A8+c&>3FfbH(x;TbZ+FVdQ&MBb@0CVO&vH$=8 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_shuffle_off_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_shuffle_off_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..dd7e71d07db939f293a398764a3ba7b07016d15a GIT binary patch literal 624 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^RW7>k44ofy`glX=O&z@+8r z;uuoF`1a1jye0#Yw#1vgw_`0AOCG!B@LTqfrRj%H=_|I%p4Tq+F6d{MX5vt2V1N?` z+7H;AfBBd%?+BL;<0rS4h;QGs{{M5S=w^8@%J?adD{kJ?RSYg2b)Gpa3Qj34a~WJZ zx-M`yv~+OHWpMe>r@*4nl+I$vAh<_Kf=Q;!Aaei5JzZZd&87ca`vwQ~|8$oUoz)|hFyM|dnJVrs5i9CpRRV`Cu7Q=&(rrk z=sCT9$~4{B2?=i$CBGc}?xD)YaG%-!ye137eeQS;hJEUF>I^^b{pe+Q;Qrt}3xhpZ zy)wg(i9bRaJ}my&&G4ZAKswF-(urbcwg{7ZkYti#Kbeo%QQ0BF+Sm7 z`M|Ak)`y|<?eLaoB94n%Q^YDuZLguxve`M!)>0| y{626IW1Jn!KK8nKn?vs1WG6cWcC0ucU-$X->b;Mf4Hy_07(8A5T-G@yGywo=viQ0H literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_trending_flat_white_36dp.png b/app/src/main/res/drawable-xxxhdpi/ic_trending_flat_white_36dp.png deleted file mode 100644 index 0da7c18542735cc463338cb876227669ae8785d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmeAS@N?(olHy`uVBq!ia0y~yV3+{HOw0@n46`)2v>6x}cmjMvTp1V`{=v z{bmT4=u|u|7qfDD=9fm!pjQ_x%LJ$Fn$ySI7Nq>_#s)3ZZ+(9oTrT`oUI7L#cniPh Wa6SI7(#gQUz~JfX=d#Wzp$PyVzFu7b diff --git a/app/src/main/res/layout/fragment_player.xml b/app/src/main/res/layout/fragment_player.xml index ceec1f32..dda94774 100644 --- a/app/src/main/res/layout/fragment_player.xml +++ b/app/src/main/res/layout/fragment_player.xml @@ -1,8 +1,9 @@ - - + android:layout_height="wrap_content"> - - - - - + - + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_list.xml b/app/src/main/res/layout/item_list.xml index 7a35de56..87125fcf 100644 --- a/app/src/main/res/layout/item_list.xml +++ b/app/src/main/res/layout/item_list.xml @@ -12,9 +12,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|start" - android:layout_marginLeft="-12dp" - android:layout_marginStart="-12dp" - android:src="@drawable/ic_equal_white_24dp" + android:layout_marginLeft="-8dp" + android:layout_marginStart="-8dp" + android:src="@drawable/ic_drag_vertical_white_24dp" android:tint="?icon_color" tools:ignore="ContentDescription" /> diff --git a/app/src/main/res/layout/item_list_single_row.xml b/app/src/main/res/layout/item_list_single_row.xml index f76dc3dc..86bb99b0 100644 --- a/app/src/main/res/layout/item_list_single_row.xml +++ b/app/src/main/res/layout/item_list_single_row.xml @@ -12,9 +12,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|start" - android:layout_marginLeft="-12dp" - android:layout_marginStart="-12dp" - android:src="@drawable/ic_equal_white_24dp" + android:layout_marginLeft="-8dp" + android:layout_marginStart="-8dp" + android:src="@drawable/ic_drag_vertical_white_24dp" android:tint="?icon_color" tools:ignore="ContentDescription" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a9844830..2ba5a816 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -205,7 +205,5 @@ For helping me with the design. Website Loading products… - - - Hello blank fragment + Up next