add download feature to detail activities

This commit is contained in:
dkanada 2021-05-19 02:18:28 +09:00
commit 1b3a85f40e
8 changed files with 35 additions and 8 deletions

View file

@ -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<Song> 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);

View file

@ -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<Song> 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;

View file

@ -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;

View file

@ -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;

View file

@ -27,4 +27,9 @@
android:title="@string/action_go_to_artist"
app:showAsAction="never" />
<item
android:id="@+id/action_download"
android:title="@string/action_download"
app:showAsAction="never" />
</menu>

View file

@ -28,4 +28,9 @@
android:title="@string/colored_footers"
app:showAsAction="never" />
<item
android:id="@+id/action_download"
android:title="@string/action_download"
app:showAsAction="never" />
</menu>

View file

@ -7,4 +7,9 @@
android:title="@string/action_shuffle_all"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_download"
android:title="@string/action_download"
app:showAsAction="never" />
</menu>

View file

@ -37,4 +37,9 @@
android:title="@string/action_delete"
app:showAsAction="never" />
<item
android:id="@+id/action_download"
android:title="@string/action_download"
app:showAsAction="never" />
</menu>