Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4850)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java

Issue 1491943002: Refactoring media notification (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: added two MediaSessionBrowserTests to test MediaSession.Stop() Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java
index 4b1ceb728355042502570dae07625c459d0e2691..4dce275145e12262ab48b4e9f507118a269db701 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaSessionTabHelper.java
@@ -35,6 +35,7 @@ public class MediaSessionTabHelper {
private WebContents mWebContents;
private WebContentsObserver mWebContentsObserver;
private int mPreviousVolumeControlStream = AudioManager.USE_DEFAULT_STREAM_TYPE;
+ private MediaNotificationInfo.Builder mNotificationInfoBuilder = null;
private MediaNotificationListener mControlsListener = new MediaNotificationListener() {
@Override
@@ -71,18 +72,14 @@ public class MediaSessionTabHelper {
if (activity != null) {
activity.setVolumeControlStream(mPreviousVolumeControlStream);
}
+ mNotificationInfoBuilder = null;
}
private WebContentsObserver createWebContentsObserver(WebContents webContents) {
return new WebContentsObserver(webContents) {
@Override
public void destroy() {
- if (mTab == null) {
whywhat 2015/12/09 16:59:27 Shouldn't we move this logic into hideNotification
Zhiqiang Zhang (Slow) 2015/12/09 18:02:55 The reason I removed clear() is that sometimes if
- MediaNotificationManager.clear(R.id.media_playback_notification);
- } else {
- hideNotification();
- }
-
+ hideNotification();
super.destroy();
}
@@ -100,25 +97,27 @@ public class MediaSessionTabHelper {
+ "Showing the full URL instead.");
}
+ mNotificationInfoBuilder = new MediaNotificationInfo.Builder()
+ .setTitle(sanitizeMediaTitle(mTab.getTitle()))
+ .setPaused(isPaused)
+ .setOrigin(origin)
+ .setTabId(mTab.getId())
+ .setPrivate(mTab.isIncognito())
+ .setIcon(R.drawable.audio_playing)
+ .setActions(MediaNotificationInfo.ACTION_PLAY_PAUSE
+ | MediaNotificationInfo.ACTION_SWIPEAWAY)
+ .setId(R.id.media_playback_notification)
+ .setListener(mControlsListener);
+
MediaNotificationManager.show(ApplicationStatus.getApplicationContext(),
- new MediaNotificationInfo.Builder()
- .setTitle(sanitizeMediaTitle(mTab.getTitle()))
- .setPaused(isPaused)
- .setOrigin(origin)
- .setTabId(mTab.getId())
- .setPrivate(mTab.isIncognito())
- .setIcon(R.drawable.audio_playing)
- .setActions(MediaNotificationInfo.ACTION_PLAY_PAUSE
- | MediaNotificationInfo.ACTION_SWIPEAWAY)
- .setId(R.id.media_playback_notification)
- .setListener(mControlsListener));
+ mNotificationInfoBuilder.build());
+
Activity activity = getActivityFromTab(mTab);
if (activity != null) {
activity.setVolumeControlStream(AudioManager.STREAM_MUSIC);
}
}
};
-
}
private void setWebContents(WebContents webContents) {

Powered by Google App Engine
This is Rietveld 408576698