| 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 b2233db03f9f78aac9d0747d30bdae4d99337399..4526b71d4eb5502e3ee73aea7860a96c896dd015 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
|
| @@ -381,8 +381,7 @@ public class MediaNotificationManager {
|
| private NotificationCompat.Builder mNotificationBuilder;
|
|
|
| private Bitmap mNotificationIcon;
|
| -
|
| - private final Bitmap mDefaultLargeIcon;
|
| + private Bitmap mDefaultLargeIcon;
|
|
|
| // |mMediaNotificationInfo| should be not null if and only if the notification is showing.
|
| private MediaNotificationInfo mMediaNotificationInfo;
|
| @@ -409,9 +408,6 @@ public class MediaNotificationManager {
|
| mPlayDescription = context.getResources().getString(R.string.accessibility_play);
|
| mPauseDescription = context.getResources().getString(R.string.accessibility_pause);
|
| mStopDescription = context.getResources().getString(R.string.accessibility_stop);
|
| -
|
| - mDefaultLargeIcon = BitmapFactory.decodeResource(
|
| - context.getResources(), R.drawable.ic_music_video);
|
| }
|
|
|
| /**
|
| @@ -619,10 +615,17 @@ public class MediaNotificationManager {
|
|
|
| private void setMediaStyleLayoutForNotificationBuilder(NotificationCompat.Builder builder) {
|
| setMediaStyleNotificationText(builder);
|
| - if (mMediaNotificationInfo.largeIcon != null) {
|
| + if (!mMediaNotificationInfo.supportsPlayPause()) {
|
| + builder.setLargeIcon(null);
|
| + } else if (mMediaNotificationInfo.largeIcon != null) {
|
| builder.setLargeIcon(mMediaNotificationInfo.largeIcon);
|
| - } else if (!TextUtils.equals(Build.VERSION.CODENAME, "N")
|
| - && mMediaNotificationInfo.supportsPlayPause()) {
|
| + } else if (!isRunningN()) {
|
| + if (mDefaultLargeIcon == null) {
|
| + int resourceId = (mMediaNotificationInfo.defaultLargeIcon != 0)
|
| + ? mMediaNotificationInfo.defaultLargeIcon : R.drawable.audio_playing_square;
|
| + mDefaultLargeIcon = BitmapFactory.decodeResource(
|
| + mContext.getResources(), resourceId);
|
| + }
|
| builder.setLargeIcon(mDefaultLargeIcon);
|
| }
|
| // TODO(zqzhang): It's weird that setShowWhen() don't work on K. Calling setWhen() to force
|
| @@ -726,8 +729,7 @@ public class MediaNotificationManager {
|
| private void setMediaStyleNotificationText(NotificationCompat.Builder builder) {
|
| builder.setContentTitle(mMediaNotificationInfo.metadata.getTitle());
|
| String artistAndAlbumText = getArtistAndAlbumText(mMediaNotificationInfo.metadata);
|
| - // TODO(zqzhang): update this when N is released.
|
| - if (TextUtils.equals(Build.VERSION.CODENAME, "N") || !artistAndAlbumText.isEmpty()) {
|
| + if (isRunningN() || !artistAndAlbumText.isEmpty()) {
|
| builder.setContentText(artistAndAlbumText);
|
| builder.setSubText(mMediaNotificationInfo.origin);
|
| } else {
|
| @@ -744,4 +746,14 @@ public class MediaNotificationManager {
|
| }
|
| return artist + " - " + album;
|
| }
|
| +
|
| + private boolean isRunningN() {
|
| + // TODO(zqzhang): update this when N is released.
|
| + if (TextUtils.equals(Build.VERSION.CODENAME, "N")) return true;
|
| + if (TextUtils.equals(Build.VERSION.CODENAME, "REL")
|
| + && Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
|
| + return true;
|
| + }
|
| + return false;
|
| + }
|
| }
|
|
|