Don't recreate remote views that already exist.
Bug: 25582071
Change-Id: Ie56225ec57ab43b2cab5ffb0198f283592e7bcd9
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index b5b77e6..390c280 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -3271,12 +3271,16 @@
* Construct a RemoteViews for the final big notification layout.
*/
public RemoteViews makeBigContentView() {
- if (mStyle != null) {
+ if (mN.bigContentView != null) {
+ return mN.bigContentView;
+ } else if (mStyle != null) {
final RemoteViews styleView = mStyle.makeBigContentView();
if (styleView != null) {
return styleView;
}
- } else if (mActions.size() == 0) return null;
+ } else if (mActions.size() == 0) {
+ return null;
+ }
return applyStandardTemplateWithActions(getBigBaseLayoutResource());
}
@@ -3285,12 +3289,17 @@
* Construct a RemoteViews for the final heads-up notification layout.
*/
public RemoteViews makeHeadsUpContentView() {
- if (mStyle != null) {
- final RemoteViews styleView = mStyle.makeHeadsUpContentView();
- if (styleView != null) {
- return styleView;
- }
- } else if (mActions.size() == 0) return null;
+ if (mN.headsUpContentView != null) {
+ return mN.headsUpContentView;
+ } else if (mStyle != null) {
+ final RemoteViews styleView = mStyle.makeHeadsUpContentView();
+ if (styleView != null) {
+ return styleView;
+ }
+ } else if (mActions.size() == 0) {
+ return null;
+ }
+
return applyStandardTemplateWithActions(getBigBaseLayoutResource());
}