Back to project page EnklawaPlayer.
The source code is released under:
GNU General Public License
If you think the Android project EnklawaPlayer listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package macbury.pod.managers; //w w w .java 2 s. co m import android.app.PendingIntent; import android.content.Intent; import android.net.Uri; import macbury.pod.activities.player.PlayerActivity; import macbury.pod.activities.ProgramEpisodesActivity; import macbury.pod.activities.SettingsActivity; import macbury.pod.activities.player.RadioActivity; import macbury.pod.db.models.Episode; import macbury.pod.db.models.EpisodeFile; import macbury.pod.db.models.Program; import macbury.pod.managers.download.DownloadEpisode; import macbury.pod.services.DownloadService; import macbury.pod.services.PlayerService; import macbury.pod.services.SyncPodService; /** * Created by macbury on 09.09.14. */ public class IntentManager { public static final String EXTRA_ACTION_KEYCODE = "EXTRA_ACTION_KEYCODE"; public static final String EXTRA_ACTION_RADIO = "EXTRA_ACTION_RADIO"; public static final String EXTRA_ACTION_PENDING = "EXTRA_ACTION_PENDING"; public static final String EXTRA_ACTION_PLAY = "EXTRA_ACTION_PLAY"; public static final String EXTRA_ACTION_PAUSE = "EXTRA_ACTION_PAUSE"; public static final String EXTRA_ACTION_CANCEL = "EXTRA_ACTION_CANCEL"; public static final String EXTRA_PROGRESS = "EXTRA_PROGRESS"; public static final String EXTRA_EPISODE_FILE_ID = "EXTRA_EPISODE_FILE_ID"; public static final String EXTRA_EPISODE = "EXTRA_EPISODE"; public static final String EXTRA_PROGRAM_ID = "EXTRA_PROGRAM_ID"; private final App context; public IntentManager(App app) { this.context = app; } public Intent showSettingsActivity() { Intent intent = new Intent(context, SettingsActivity.class); return intent; } public PendingIntent cancelDownloadService() { Intent intent = new Intent(context, DownloadService.class); intent.putExtra(EXTRA_ACTION_CANCEL, true); return PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); } public Intent cancelEpisodeDownloadService(Episode episode) { Intent intent = new Intent(context, DownloadService.class); intent.putExtra(EXTRA_ACTION_CANCEL, true); intent.putExtra(EXTRA_EPISODE, episode.id); return intent; } public boolean haveCancelExtra(Intent intent){ return intent != null && intent.hasExtra(EXTRA_ACTION_CANCEL) && intent.getBooleanExtra(EXTRA_ACTION_CANCEL, false) == true; } public PendingIntent syncPod() { Intent intent = new Intent(context, SyncPodService.class); return PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); } public boolean haveKeyCode(Intent intent) { return intent != null && intent.hasExtra(EXTRA_ACTION_KEYCODE); } public boolean havePauseExtra(Intent intent) { return intent != null && intent.hasExtra(EXTRA_ACTION_PAUSE); } public boolean haveEpisode(Intent intent) { return intent != null && intent.hasExtra(EXTRA_EPISODE); } public boolean haveProgram(Intent intent) { return intent != null && intent.hasExtra(EXTRA_PROGRAM_ID); } public int getKeyCode(Intent intent) { return intent.getIntExtra(EXTRA_ACTION_KEYCODE, -1); } public int getProgramId(Intent intent) { return intent.getIntExtra(EXTRA_PROGRAM_ID, -1); } public int getEpisodeId(Intent intent) { return intent.getIntExtra(EXTRA_EPISODE, -1); } public Intent downloadStatus(DownloadEpisode download) { Intent intent = new Intent(BroadcastsManager.BROADCAST_ACTION_DOWNLOADING); intent.putExtra(EXTRA_EPISODE_FILE_ID, download.getEpisodeFile().id); intent.putExtra(EXTRA_PROGRESS, download.progress); return intent; } public Intent activityForProgramEpisodes(Program program) { Intent intent = new Intent(context, ProgramEpisodesActivity.class); intent.putExtra(EXTRA_PROGRAM_ID, program.id); return intent; } public Intent favoriteProgram(Program program) { Intent intent = new Intent(BroadcastsManager.BROADCAST_FAVORITE_PROGRAM); intent.putExtra(EXTRA_PROGRAM_ID, program.id); return intent; } public Intent openURL(String link) { return new Intent(Intent.ACTION_VIEW).setData(Uri.parse(link)); } public Intent openPlayerForEpisode(Episode episode) { Intent intent = new Intent(context, PlayerActivity.class); intent.putExtra(EXTRA_EPISODE, episode.id); return intent; } public Intent shareUrl(String link) { Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, link); sendIntent.setType("text/plain"); return sendIntent; } public Intent playEpisodeFile(EpisodeFile epf) { Intent intent = new Intent(context, PlayerService.class); intent.putExtra(EXTRA_EPISODE_FILE_ID, epf.id); return intent; } public Intent playRadio() { Intent intent = new Intent(context, PlayerService.class); intent.putExtra(EXTRA_ACTION_RADIO, true); return intent; } public Intent playEpisodeStream(Episode episode) { Intent intent = new Intent(context, PlayerService.class); intent.putExtra(EXTRA_EPISODE, episode.id); return intent; } public Intent pausePlayer() { Intent intent = new Intent(context, PlayerService.class); intent.putExtra(EXTRA_ACTION_PAUSE, true); return intent; } public Intent stopPlayer() { Intent intent = new Intent(context, PlayerService.class); intent.putExtra(EXTRA_ACTION_CANCEL, true); return intent; } public PendingIntent downloadPendingEpisodes() { Intent intent = new Intent(context, DownloadService.class); return PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); } public PendingIntent pendingPlayEpisodeFile(EpisodeFile file) { return PendingIntent.getService(context, 0, playEpisodeFile(file), PendingIntent.FLAG_UPDATE_CURRENT); } public PendingIntent pendingOpenPlayerForEpisode(Episode episode) { Intent intent = openPlayerForEpisode(episode); intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); } public Intent player() { return new Intent(context, PlayerService.class); } public PendingIntent pendingPlayPlayer() { Intent intent = player(); intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); return PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); } public PendingIntent pendingPausePlayer() { Intent intent = pausePlayer(); intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); return PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); } public PendingIntent pendingStopPlayer() { Intent intent = stopPlayer(); intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); return PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); } public Intent playerHandleRemoteControlClient(int keycode) { Intent intent = player(); intent.putExtra(EXTRA_ACTION_KEYCODE, keycode); return intent; } public Intent playEpisode(Episode episode) { Intent intent = player(); intent.putExtra(EXTRA_EPISODE, episode.id); return intent; } public PendingIntent pendingPlayEpisode(Episode episode) { return PendingIntent.getService(context, 0, playEpisode(episode), PendingIntent.FLAG_UPDATE_CURRENT); } public boolean haveRadioExtra(Intent intent) { return intent.hasExtra(EXTRA_ACTION_RADIO); } public Intent playRadioActivity() { Intent intent = new Intent(context, RadioActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); return intent; } }