From: David A. Velasco Date: Thu, 7 Mar 2013 16:07:58 +0000 (+0100) Subject: Stop audio playback in background when a video preview is started X-Git-Tag: oc-android-1.4.3~39^2~19 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/3aacc7c0fedce5d609fa705d5ab84eb3182da2e5?ds=inline;hp=-c Stop audio playback in background when a video preview is started --- 3aacc7c0fedce5d609fa705d5ab84eb3182da2e5 diff --git a/src/com/owncloud/android/media/MediaService.java b/src/com/owncloud/android/media/MediaService.java index 5f4e1ac4..e6365166 100644 --- a/src/com/owncloud/android/media/MediaService.java +++ b/src/com/owncloud/android/media/MediaService.java @@ -62,7 +62,8 @@ public class MediaService extends Service implements OnCompletionListener, OnPre 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"; @@ -231,6 +232,9 @@ public class MediaService extends Service implements OnCompletionListener, OnPre 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. diff --git a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java index 512becd9..d427bfda 100644 --- a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java @@ -70,8 +70,6 @@ import com.owncloud.android.ui.activity.TransferServiceGetter; import com.owncloud.android.ui.fragment.ConfirmationDialogFragment; import com.owncloud.android.ui.fragment.FileDetailFragment; import com.owncloud.android.ui.fragment.FileFragment; -import com.owncloud.android.ui.fragment.ConfirmationDialogFragment.ConfirmationDialogFragmentListener; -import com.owncloud.android.ui.fragment.FileFragment.ContainerActivity; import com.owncloud.android.R; import eu.alefzero.webdav.WebdavClient; @@ -246,12 +244,20 @@ public class PreviewMediaFragment extends SherlockFragment implements bindMediaService(); } else if (mFile.isVideo()) { + stopAudio(); playVideo(); } } } + private void stopAudio() { + Intent i = new Intent(getSherlockActivity(), MediaService.class); + i.setAction(MediaService.ACTION_STOP_ALL); + getSherlockActivity().startService(i); + } + + /** * {@inheritDoc} */