From 4554bcd1bcd4a0459e4107bc826b3a5673f55e61 Mon Sep 17 00:00:00 2001 From: Pierre Barbier de Reuille Date: Tue, 9 Mar 2021 22:13:23 +0000 Subject: [PATCH] Correct invalidation of layout when new color resources are provided. The mViewMode variable is only used if there is no RemoteViews object. But we still want to update the colors in that case. Bug: 179783721 Test: atest CtsWidgetTestCases:android.widget.cts.RemoteViewsThemeColorsTest Change-Id: I078d21422a6300e7aaecb0baa2a49b9e14cae9e9 --- core/java/android/appwidget/AppWidgetHostView.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/java/android/appwidget/AppWidgetHostView.java b/core/java/android/appwidget/AppWidgetHostView.java index d79fac58cf12b..8fd0de7dbb39d 100644 --- a/core/java/android/appwidget/AppWidgetHostView.java +++ b/core/java/android/appwidget/AppWidgetHostView.java @@ -849,6 +849,7 @@ public class AppWidgetHostView extends FrameLayout { public void setColorResources(@NonNull SparseIntArray colorMapping) { mColorResources = RemoteViews.ColorResources.create(mContext, colorMapping); mLayoutId = -1; + mViewMode = VIEW_MODE_NOINIT; reapplyLastRemoteViews(); } @@ -863,6 +864,7 @@ public class AppWidgetHostView extends FrameLayout { if (mColorResources != null) { mColorResources = null; mLayoutId = -1; + mViewMode = VIEW_MODE_NOINIT; reapplyLastRemoteViews(); } }