78 lines
3.0 KiB
Java
78 lines
3.0 KiB
Java
package code.name.monkey.retromusic.appshortcuts;
|
|
|
|
import android.app.Activity;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
|
|
import code.name.monkey.retromusic.model.Playlist;
|
|
import code.name.monkey.retromusic.model.smartplaylist.LastAddedPlaylist;
|
|
import code.name.monkey.retromusic.model.smartplaylist.MyTopTracksPlaylist;
|
|
import code.name.monkey.retromusic.model.smartplaylist.ShuffleAllPlaylist;
|
|
|
|
import code.name.monkey.retromusic.appshortcuts.shortcuttype.LastAddedShortcutType;
|
|
import code.name.monkey.retromusic.appshortcuts.shortcuttype.ShuffleAllShortcutType;
|
|
import code.name.monkey.retromusic.appshortcuts.shortcuttype.TopTracksShortcutType;
|
|
import code.name.monkey.retromusic.service.MusicService;
|
|
|
|
import static code.name.monkey.retromusic.Constants.*;
|
|
|
|
/**
|
|
* @author Adrian Campos
|
|
*/
|
|
|
|
public class AppShortcutLauncherActivity extends Activity {
|
|
public static final String KEY_SHORTCUT_TYPE = "code.name.monkey.retromusic.appshortcuts.ShortcutType";
|
|
|
|
public static final int SHORTCUT_TYPE_SHUFFLE_ALL = 0;
|
|
public static final int SHORTCUT_TYPE_TOP_TRACKS = 1;
|
|
public static final int SHORTCUT_TYPE_LAST_ADDED = 2;
|
|
public static final int SHORTCUT_TYPE_NONE = 3;
|
|
|
|
@Override
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
|
|
int shortcutType = SHORTCUT_TYPE_NONE;
|
|
|
|
// Set shortcutType from the intent extras
|
|
Bundle extras = getIntent().getExtras();
|
|
if (extras != null) {
|
|
//noinspection WrongConstant
|
|
shortcutType = extras.getInt(KEY_SHORTCUT_TYPE, SHORTCUT_TYPE_NONE);
|
|
}
|
|
|
|
switch (shortcutType) {
|
|
case SHORTCUT_TYPE_SHUFFLE_ALL:
|
|
startServiceWithPlaylist(MusicService.SHUFFLE_MODE_SHUFFLE,
|
|
new ShuffleAllPlaylist(getApplicationContext()));
|
|
DynamicShortcutManager.reportShortcutUsed(this, ShuffleAllShortcutType.getId());
|
|
break;
|
|
case SHORTCUT_TYPE_TOP_TRACKS:
|
|
startServiceWithPlaylist(MusicService.SHUFFLE_MODE_NONE,
|
|
new MyTopTracksPlaylist(getApplicationContext()));
|
|
DynamicShortcutManager.reportShortcutUsed(this, TopTracksShortcutType.getId());
|
|
break;
|
|
case SHORTCUT_TYPE_LAST_ADDED:
|
|
startServiceWithPlaylist(MusicService.SHUFFLE_MODE_NONE,
|
|
new LastAddedPlaylist(getApplicationContext()));
|
|
DynamicShortcutManager.reportShortcutUsed(this, LastAddedShortcutType.getId());
|
|
break;
|
|
}
|
|
|
|
finish();
|
|
}
|
|
|
|
private void startServiceWithPlaylist(int shuffleMode, Playlist playlist) {
|
|
Intent intent = new Intent(this, MusicService.class);
|
|
intent.setAction(ACTION_PLAY_PLAYLIST);
|
|
|
|
Bundle bundle = new Bundle();
|
|
bundle.putParcelable(INTENT_EXTRA_PLAYLIST, playlist);
|
|
bundle.putInt(INTENT_EXTRA_SHUFFLE_MODE, shuffleMode);
|
|
|
|
intent.putExtras(bundle);
|
|
|
|
startService(intent);
|
|
}
|
|
}
|