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

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

Issue 2702963002: Migrating media notifications to ChromeNotificationBuilder (Closed)
Patch Set: rebase Created 3 years, 10 months 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/notifications/ChromeNotificationBuilder.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java b/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java
index a83e0f314b87724a7d4bf8f4b308e0871d9bb403..7b845fe28ebfc9477dfa1fc47c6967f34d5fe817 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaNotificationManager.java
@@ -36,6 +36,8 @@ import org.chromium.base.SysUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.blink.mojom.MediaSessionAction;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.ChromeApplication;
+import org.chromium.chrome.browser.notifications.ChromeNotificationBuilder;
import org.chromium.chrome.browser.notifications.NotificationConstants;
import org.chromium.content_public.common.MediaMetadata;
@@ -84,7 +86,7 @@ public class MediaNotificationManager {
private SparseArray<MediaButtonInfo> mActionToButtonInfo;
- private NotificationCompat.Builder mNotificationBuilder;
+ private ChromeNotificationBuilder mNotificationBuilder;
private Bitmap mDefaultNotificationLargeIcon;
@@ -538,8 +540,7 @@ public class MediaNotificationManager {
@VisibleForTesting
@Nullable
- static NotificationCompat.Builder getNotificationBuilderForTesting(
- int notificationId) {
+ static ChromeNotificationBuilder getNotificationBuilderForTesting(int notificationId) {
MediaNotificationManager manager = getManager(notificationId);
if (manager == null) return null;
@@ -716,7 +717,11 @@ public class MediaNotificationManager {
updateMediaSession();
- mNotificationBuilder = new NotificationCompat.Builder(mContext);
+ mNotificationBuilder =
+ ((ChromeApplication) mContext)
nyquist 2017/02/28 07:33:17 I think you need to do mContext.getApplicationCont
mlamouri (slow - plz ping) 2017/02/28 15:23:11 +1. The context you are getting here is probably n
awdf 2017/02/28 18:09:05 Done.
+ .createChromeNotificationBuilder(true,
+ NotificationConstants.CATEGORY_ID_GENERAL,
mlamouri (slow - plz ping) 2017/02/28 15:23:11 Should this be media?
awdf 2017/02/28 18:09:05 As discussed, we're going with GENERAL for now.
+ mContext.getString(R.string.notification_category_general));
setMediaStyleLayoutForNotificationBuilder(mNotificationBuilder);
mNotificationBuilder.setSmallIcon(mMediaNotificationInfo.notificationSmallIcon);
@@ -848,7 +853,7 @@ public class MediaNotificationManager {
mMediaSession.setActive(true);
}
- private void setMediaStyleLayoutForNotificationBuilder(NotificationCompat.Builder builder) {
+ private void setMediaStyleLayoutForNotificationBuilder(ChromeNotificationBuilder builder) {
setMediaStyleNotificationText(builder);
if (!mMediaNotificationInfo.supportsPlayPause()) {
builder.setLargeIcon(null);
@@ -871,7 +876,7 @@ public class MediaNotificationManager {
addNotificationButtons(builder);
}
- private void addNotificationButtons(NotificationCompat.Builder builder) {
+ private void addNotificationButtons(ChromeNotificationBuilder builder) {
Set<Integer> actions = new HashSet<>();
// TODO(zqzhang): handle other actions when play/pause is not supported? See
@@ -902,15 +907,8 @@ public class MediaNotificationManager {
// Only apply MediaStyle when NotificationInfo supports play/pause.
if (mMediaNotificationInfo.supportsPlayPause()) {
- NotificationCompat.MediaStyle style = new NotificationCompat.MediaStyle();
- style.setMediaSession(mMediaSession.getSessionToken());
-
- int[] compactViewActionIndices = computeCompactViewActionIndices(bigViewActions);
-
- style.setShowActionsInCompactView(compactViewActionIndices);
- style.setCancelButtonIntent(createPendingIntent(ListenerService.ACTION_CANCEL));
- style.setShowCancelButton(true);
- builder.setStyle(style);
+ builder.setMediaStyle(mMediaSession, computeCompactViewActionIndices(bigViewActions),
+ createPendingIntent(ListenerService.ACTION_CANCEL), true);
}
}
@@ -921,7 +919,7 @@ public class MediaNotificationManager {
return bitmapDrawable.getBitmap();
}
- private void setMediaStyleNotificationText(NotificationCompat.Builder builder) {
+ private void setMediaStyleNotificationText(ChromeNotificationBuilder builder) {
builder.setContentTitle(mMediaNotificationInfo.metadata.getTitle());
String artistAndAlbumText = getArtistAndAlbumText(mMediaNotificationInfo.metadata);
if (isRunningN() || !artistAndAlbumText.isEmpty()) {
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/notifications/ChromeNotificationBuilder.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698