From 1b3a85f40e402e65b62956121d2a22b4964b0b1e Mon Sep 17 00:00:00 2001 From: dkanada Date: Wed, 19 May 2021 02:18:28 +0900 Subject: [PATCH] add download feature to detail activities --- .../activities/details/AlbumDetailActivity.java | 7 +++---- .../activities/details/ArtistDetailActivity.java | 8 ++++---- .../activities/details/GenreDetailActivity.java | 4 ++++ .../activities/details/PlaylistDetailActivity.java | 4 ++++ app/src/main/res/menu/menu_detail_album.xml | 5 +++++ app/src/main/res/menu/menu_detail_artist.xml | 5 +++++ app/src/main/res/menu/menu_detail_genre.xml | 5 +++++ app/src/main/res/menu/menu_detail_playlist.xml | 5 +++++ 8 files changed, 35 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/dkanada/gramophone/activities/details/AlbumDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/details/AlbumDetailActivity.java index 50b3bba1..677dc5e8 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/details/AlbumDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/details/AlbumDetailActivity.java @@ -21,7 +21,6 @@ import com.kabouzeid.appthemehelper.util.MaterialValueHelper; import com.dkanada.gramophone.R; import com.dkanada.gramophone.adapter.song.AlbumSongAdapter; import com.dkanada.gramophone.dialogs.AddToPlaylistDialog; -import com.dkanada.gramophone.dialogs.SleepTimerDialog; import com.dkanada.gramophone.glide.CustomGlideRequest; import com.dkanada.gramophone.glide.CustomPaletteTarget; import com.dkanada.gramophone.helper.MusicPlayerRemote; @@ -180,9 +179,6 @@ public class AlbumDetailActivity extends AbsMusicContentActivity implements Pale int id = item.getItemId(); final List songs = adapter.getDataSet(); switch (id) { - case R.id.action_sleep_timer: - new SleepTimerDialog().show(getSupportFragmentManager(), "SET_SLEEP_TIMER"); - return true; case R.id.action_shuffle_album: MusicPlayerRemote.openAndShuffleQueue(songs, true); return true; @@ -201,6 +197,9 @@ public class AlbumDetailActivity extends AbsMusicContentActivity implements Pale case R.id.action_go_to_artist: NavigationUtil.startArtist(this, new Artist(album), null); return true; + case R.id.action_download: + NavigationUtil.startDownload(this, songs); + return true; } return super.onOptionsItemSelected(item); diff --git a/app/src/main/java/com/dkanada/gramophone/activities/details/ArtistDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/details/ArtistDetailActivity.java index 1422f1a4..fa48f8c9 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/details/ArtistDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/details/ArtistDetailActivity.java @@ -17,13 +17,13 @@ import com.dkanada.gramophone.BuildConfig; import com.dkanada.gramophone.activities.base.AbsMusicContentActivity; import com.dkanada.gramophone.adapter.song.SongAdapter; import com.dkanada.gramophone.databinding.ActivityArtistDetailBinding; +import com.dkanada.gramophone.util.NavigationUtil; import com.google.android.material.appbar.AppBarLayout; import com.kabouzeid.appthemehelper.util.ColorUtil; import com.kabouzeid.appthemehelper.util.MaterialValueHelper; import com.dkanada.gramophone.R; import com.dkanada.gramophone.adapter.album.HorizontalAlbumAdapter; import com.dkanada.gramophone.dialogs.AddToPlaylistDialog; -import com.dkanada.gramophone.dialogs.SleepTimerDialog; import com.dkanada.gramophone.glide.CustomGlideRequest; import com.dkanada.gramophone.glide.CustomPaletteTarget; import com.dkanada.gramophone.helper.MusicPlayerRemote; @@ -206,9 +206,6 @@ public class ArtistDetailActivity extends AbsMusicContentActivity implements Pal int id = item.getItemId(); final List songs = songAdapter.getDataSet(); switch (id) { - case R.id.action_sleep_timer: - new SleepTimerDialog().show(getSupportFragmentManager(), "SET_SLEEP_TIMER"); - return true; case R.id.action_shuffle_artist: MusicPlayerRemote.openAndShuffleQueue(songs, true); return true; @@ -221,6 +218,9 @@ public class ArtistDetailActivity extends AbsMusicContentActivity implements Pal case R.id.action_add_to_playlist: AddToPlaylistDialog.create(songs).show(getSupportFragmentManager(), "ADD_PLAYLIST"); return true; + case R.id.action_download: + NavigationUtil.startDownload(this, songs); + return true; case android.R.id.home: super.onBackPressed(); return true; diff --git a/app/src/main/java/com/dkanada/gramophone/activities/details/GenreDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/details/GenreDetailActivity.java index 365f81a2..17974150 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/details/GenreDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/details/GenreDetailActivity.java @@ -13,6 +13,7 @@ import com.afollestad.materialcab.MaterialCab; import com.dkanada.gramophone.BuildConfig; import com.dkanada.gramophone.activities.base.AbsMusicContentActivity; import com.dkanada.gramophone.databinding.ActivityGenreDetailBinding; +import com.dkanada.gramophone.util.NavigationUtil; import com.kabouzeid.appthemehelper.ThemeStore; import com.dkanada.gramophone.R; import com.dkanada.gramophone.adapter.song.SongAdapter; @@ -108,6 +109,9 @@ public class GenreDetailActivity extends AbsMusicContentActivity implements CabH case R.id.action_shuffle_genre: MusicPlayerRemote.openAndShuffleQueue(adapter.getDataSet(), true); return true; + case R.id.action_download: + NavigationUtil.startDownload(this, adapter.getDataSet()); + return true; case android.R.id.home: onBackPressed(); return true; diff --git a/app/src/main/java/com/dkanada/gramophone/activities/details/PlaylistDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/details/PlaylistDetailActivity.java index defb38f6..576e0e17 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/details/PlaylistDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/details/PlaylistDetailActivity.java @@ -13,6 +13,7 @@ import com.afollestad.materialcab.MaterialCab; import com.dkanada.gramophone.BuildConfig; import com.dkanada.gramophone.activities.base.AbsMusicContentActivity; import com.dkanada.gramophone.databinding.ActivityPlaylistDetailBinding; +import com.dkanada.gramophone.util.NavigationUtil; import com.h6ah4i.android.widget.advrecyclerview.animator.GeneralItemAnimator; import com.h6ah4i.android.widget.advrecyclerview.animator.RefactoredDefaultItemAnimator; import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager; @@ -132,6 +133,9 @@ public class PlaylistDetailActivity extends AbsMusicContentActivity implements C case R.id.action_shuffle_playlist: MusicPlayerRemote.openAndShuffleQueue(adapter.getDataSet(), true); return true; + case R.id.action_download: + NavigationUtil.startDownload(this, adapter.getDataSet()); + return true; case android.R.id.home: onBackPressed(); return true; diff --git a/app/src/main/res/menu/menu_detail_album.xml b/app/src/main/res/menu/menu_detail_album.xml index a0a20375..fa2dc636 100644 --- a/app/src/main/res/menu/menu_detail_album.xml +++ b/app/src/main/res/menu/menu_detail_album.xml @@ -27,4 +27,9 @@ android:title="@string/action_go_to_artist" app:showAsAction="never" /> + + diff --git a/app/src/main/res/menu/menu_detail_artist.xml b/app/src/main/res/menu/menu_detail_artist.xml index a19b96ac..d03c5227 100644 --- a/app/src/main/res/menu/menu_detail_artist.xml +++ b/app/src/main/res/menu/menu_detail_artist.xml @@ -28,4 +28,9 @@ android:title="@string/colored_footers" app:showAsAction="never" /> + + diff --git a/app/src/main/res/menu/menu_detail_genre.xml b/app/src/main/res/menu/menu_detail_genre.xml index c7c5fe94..4f64f856 100644 --- a/app/src/main/res/menu/menu_detail_genre.xml +++ b/app/src/main/res/menu/menu_detail_genre.xml @@ -7,4 +7,9 @@ android:title="@string/action_shuffle_all" app:showAsAction="ifRoom" /> + + diff --git a/app/src/main/res/menu/menu_detail_playlist.xml b/app/src/main/res/menu/menu_detail_playlist.xml index 16d56b2e..7e910634 100644 --- a/app/src/main/res/menu/menu_detail_playlist.xml +++ b/app/src/main/res/menu/menu_detail_playlist.xml @@ -37,4 +37,9 @@ android:title="@string/action_delete" app:showAsAction="never" /> + +