Add album actions to album detail activity menu

This commit is contained in:
Eugene Cheung 2017-06-12 20:03:55 -04:00
commit 54221960d4
2 changed files with 39 additions and 1 deletions

View file

@ -26,6 +26,8 @@ import com.kabouzeid.appthemehelper.util.ColorUtil;
import com.kabouzeid.appthemehelper.util.MaterialValueHelper;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.song.AlbumSongAdapter;
import com.kabouzeid.gramophone.dialogs.AddToPlaylistDialog;
import com.kabouzeid.gramophone.dialogs.DeleteSongsDialog;
import com.kabouzeid.gramophone.dialogs.SleepTimerDialog;
import com.kabouzeid.gramophone.glide.PhonographColoredTarget;
import com.kabouzeid.gramophone.glide.SongGlideRequest;
@ -38,6 +40,7 @@ import com.kabouzeid.gramophone.loader.AlbumLoader;
import com.kabouzeid.gramophone.misc.SimpleObservableScrollViewCallbacks;
import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader;
import com.kabouzeid.gramophone.model.Album;
import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
import com.kabouzeid.gramophone.ui.activities.tageditor.AbsTagEditorActivity;
import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity;
@ -46,6 +49,8 @@ import com.kabouzeid.gramophone.util.PhonographColorUtil;
import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.util.ViewUtil;
import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
@ -240,6 +245,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
final ArrayList<Song> songs = adapter.getDataSet();
switch (id) {
case R.id.action_sleep_timer:
new SleepTimerDialog().show(getSupportFragmentManager(), "SET_SLEEP_TIMER");
@ -248,7 +254,19 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
NavigationUtil.openEqualizer(this);
return true;
case R.id.action_shuffle_album:
MusicPlayerRemote.openAndShuffleQueue(adapter.getDataSet(), true);
MusicPlayerRemote.openAndShuffleQueue(songs, true);
return true;
case R.id.action_play_next:
MusicPlayerRemote.playNext(songs);
return true;
case R.id.action_add_to_current_playing:
MusicPlayerRemote.enqueue(songs);
return true;
case R.id.action_add_to_playlist:
AddToPlaylistDialog.create(songs).show(getSupportFragmentManager(), "ADD_PLAYLIST");
return true;
case R.id.action_delete_from_device:
DeleteSongsDialog.create(songs).show(getSupportFragmentManager(), "DELETE_SONGS");
return true;
case android.R.id.home:
super.onBackPressed();

View file

@ -9,6 +9,21 @@
android:title="@string/action_shuffle_album"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_play_next"
android:title="@string/action_play_next"
app:showAsAction="never" />
<item
android:id="@+id/action_add_to_current_playing"
android:title="@string/action_add_to_playing_queue"
app:showAsAction="never" />
<item
android:id="@+id/action_add_to_playlist"
android:title="@string/action_add_to_playlist"
app:showAsAction="never" />
<item
android:id="@+id/action_go_to_artist"
android:title="@string/action_go_to_artist"
@ -19,6 +34,11 @@
android:title="@string/action_tag_editor"
app:showAsAction="never" />
<item
android:id="@+id/action_delete_from_device"
android:title="@string/action_delete_from_device"
app:showAsAction="never" />
<item
android:id="@+id/action_sleep_timer"
android:title="@string/action_sleep_timer"