Folders and files got all menu items now. Added play next option for all bulk actions.

This commit is contained in:
Karim Abou Zeid 2016-03-27 18:44:16 +02:00
commit da7867c32d
19 changed files with 416 additions and 284 deletions

View file

@ -292,6 +292,20 @@ public class MusicPlayerRemote {
return false;
}
public static boolean playNext(@NonNull ArrayList<Song> songs) {
if (musicService != null) {
if (getPlayingQueue().size() > 0) {
musicService.addSongs(getPosition() + 1, songs);
} else {
openQueue(songs, 0, false);
}
final String toast = songs.size() == 1 ? musicService.getResources().getString(R.string.added_title_to_playing_queue) : musicService.getResources().getString(R.string.added_x_titles_to_playing_queue, songs.size());
Toast.makeText(musicService, toast, Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
public static boolean enqueue(Song song) {
if (musicService != null) {
if (getPlayingQueue().size() > 0) {

View file

@ -2,6 +2,7 @@ package com.kabouzeid.gramophone.helper.menu;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.view.View;
@ -25,8 +26,8 @@ import com.kabouzeid.gramophone.util.NavigationUtil;
public class SongMenuHelper {
public static final int MENU_RES = R.menu.menu_item_song;
public static boolean handleMenuClick(@NonNull AppCompatActivity activity, @NonNull Song song, @NonNull MenuItem item) {
switch (item.getItemId()) {
public static boolean handleMenuClick(@NonNull FragmentActivity activity, @NonNull Song song, int menuItemId) {
switch (menuItemId) {
case R.id.action_set_as_ringtone:
MusicUtil.setRingtone(activity, song.id);
return true;
@ -86,7 +87,7 @@ public class SongMenuHelper {
@Override
public boolean onMenuItemClick(MenuItem item) {
return handleMenuClick(activity, getSong(), item);
return handleMenuClick(activity, getSong(), item.getItemId());
}
public abstract Song getSong();

View file

@ -0,0 +1,35 @@
package com.kabouzeid.gramophone.helper.menu;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentActivity;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.dialogs.AddToPlaylistDialog;
import com.kabouzeid.gramophone.dialogs.DeleteSongsDialog;
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
import com.kabouzeid.gramophone.model.Song;
import java.util.ArrayList;
/**
* @author Karim Abou Zeid (kabouzeid)
*/
public class SongsMenuHelper {
public static boolean handleMenuClick(@NonNull FragmentActivity activity, @NonNull ArrayList<Song> songs, int menuItemId) {
switch (menuItemId) {
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(activity.getSupportFragmentManager(), "ADD_PLAYLIST");
return true;
case R.id.action_delete_from_device:
DeleteSongsDialog.create(songs).show(activity.getSupportFragmentManager(), "DELETE_SONGS");
return true;
}
return false;
}
}