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) { |