Chromium Code Reviews| 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..66ac5486c31525d3e7097700efbeb0a6fd394d8d 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()) { |
| + int resourceId = (mMediaNotificationInfo.defaultLargeIcon != -1) |
|
gone
2016/05/17 17:53:46
Put this inside the conditional.
Zhiqiang Zhang (Slow)
2016/05/17 18:27:47
Done.
|
| + ? mMediaNotificationInfo.defaultLargeIcon : R.drawable.audio_playing_square; |
| + if (mDefaultLargeIcon == null) { |
| + 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; |
| + } |
| } |