private static final String MY_PACKAGE = MediaService.class.getPackage() != null ? MediaService.class.getPackage().getName() : "com.owncloud.android.media";
/// Intent actions that we are prepared to handle
- public static final String ACTION_PLAY_FILE = MY_PACKAGE + ".android.media.action.PLAY_FILE";
+ public static final String ACTION_PLAY_FILE = MY_PACKAGE + ".action.PLAY_FILE";
+ public static final String ACTION_STOP_ALL = MY_PACKAGE + ".action.STOP_ALL";
/// Keys to add extras to the action
public static final String EXTRA_FILE = MY_PACKAGE + ".extra.FILE";
public static final int OC_MEDIA_ERROR = 0;
/** Time To keep the control panel visible when the user does not use it */
- public static final int MEDIA_CONTROL_LIFE = 5000;
+ public static final int MEDIA_CONTROL_SHORT_LIFE = 5000;
+
+ /** Time To keep the control panel visible when the user does not use it */
+ public static final int MEDIA_CONTROL_PERMANENT = 0;
/** Volume to set when audio focus is lost and ducking is allowed */
private static final float DUCK_VOLUME = 0.1f;
private IBinder mBinder;
/** Control panel shown to the user to control the playback, to register through binding */
- private MediaController mMediaController;
+ private MediaControlView mMediaController;
String action = intent.getAction();
if (action.equals(ACTION_PLAY_FILE)) {
processPlayFileRequest(intent);
+
+ } else if (action.equals(ACTION_STOP_ALL)) {
+ processStopRequest(true);
}
return START_NOT_STICKY; // don't want it to restart in case it's killed.
/** Called when media player is done playing current song. */
public void onCompletion(MediaPlayer player) {
- if (mMediaController != null) {
- mMediaController.hide();
- }
Toast.makeText(this, String.format(getString(R.string.media_event_done, mFile.getFileName())), Toast.LENGTH_LONG).show();
processStopRequest(true);
return;
}
configAndStartMediaPlayer();
if (mMediaController != null) {
- mMediaController.show(MEDIA_CONTROL_LIFE);
+ mMediaController.updatePausePlay();
}
}
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.e(TAG, "Error in audio playback, what = " + what + ", extra = " + extra);
- if (mMediaController != null) {
- mMediaController.hide();
- }
-
String message = getMessageForMediaError(this, what, extra);
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}
- protected void setMediaContoller(MediaController mediaController) {
- if (mMediaController != null) {
- mMediaController.hide();
- }
+ protected void setMediaContoller(MediaControlView mediaController) {
mMediaController = mediaController;
-
}
- protected MediaController getMediaController() {
+ protected MediaControlView getMediaController() {
return mMediaController;
}