From 95d3aa31738bcc150be2c8d5e1d6c14707b5c919 Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Thu, 26 Jan 2017 16:09:26 -0800 Subject: [PATCH] AOD: Fix in-place ambient layout updates Change-Id: I7863bd5690476b76456182ee37527548f4acb54d Fixes: 34734890 Test: Post notification, post update to notification, enter ambient display, observe that ambient display is up to date. --- .../src/com/android/systemui/statusbar/NotificationData.java | 4 ++++ .../src/com/android/systemui/statusbar/phone/StatusBar.java | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java index bbfcf31e7c2ff..b49ba0cde7538 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java @@ -121,6 +121,10 @@ public class NotificationData { return row.getPublicLayout().getContractedChild(); } + public View getAmbientContentView() { + return row.getPrivateLayout().getAmbientChild(); + } + public boolean cacheContentViews(Context ctx, Notification updatedNotification, boolean isLowPriority) { boolean applyInPlace = false; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 45fd7ec460467..663afe9e3cfc0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -7019,6 +7019,7 @@ public class StatusBar extends SystemUI implements DemoMode, final RemoteViews bigContentView = entry.cachedBigContentView; final RemoteViews headsUpContentView = entry.cachedHeadsUpContentView; final RemoteViews publicContentView = entry.cachedPublicContentView; + final RemoteViews ambientContentView = entry.cachedAmbientContentView; // Reapply the RemoteViews contentView.reapply(mContext, entry.getContentView(), mOnClickHandler); @@ -7036,6 +7037,10 @@ public class StatusBar extends SystemUI implements DemoMode, publicContentView.reapply(sbn.getPackageContext(mContext), entry.getPublicContentView(), mOnClickHandler); } + if (ambientContentView != null && entry.getAmbientContentView() != null) { + ambientContentView.reapply(sbn.getPackageContext(mContext), + entry.getAmbientContentView(), mOnClickHandler); + } // update the contentIntent mNotificationClicker.register(entry.row, sbn);