From 67376462c3c43c181d8f1c5967246e74333a2e91 Mon Sep 17 00:00:00 2001 From: Sihua Ma Date: Fri, 2 Jun 2023 16:35:51 -0700 Subject: [PATCH] Fix widget foreground disappearing when swiping back Test: Manual Bug: 285914177 Change-Id: Ib080f59571b67a720b9d5440cbac17c02fc5c2d4 --- .../launcher3/uioverrides/QuickstepWidgetHolder.java | 1 + .../launcher3/widget/LauncherAppWidgetHostView.java | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java index 39543b0d7d..f7bef031c7 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java +++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java @@ -243,6 +243,7 @@ public final class QuickstepWidgetHolder extends LauncherWidgetHolder { } else { widgetView = new LauncherAppWidgetHostView(context); } + widgetView.setIsWidgetCachingDisabled(true); widgetView.setInteractionHandler(mInteractionHandler); widgetView.setAppWidget(appWidgetId, appWidget); mViews.put(appWidgetId, widgetView); diff --git a/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java b/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java index bc3889fd26..98d854ed5d 100644 --- a/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java +++ b/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java @@ -95,6 +95,8 @@ public class LauncherAppWidgetHostView extends BaseLauncherAppWidgetHostView private boolean mTrackingWidgetUpdate = false; + private boolean mIsWidgetCachingDisabled = false; + public LauncherAppWidgetHostView(Context context) { super(context); mLauncher = Launcher.getLauncher(context); @@ -138,6 +140,10 @@ public class LauncherAppWidgetHostView extends BaseLauncherAppWidgetHostView } } + public void setIsWidgetCachingDisabled(boolean isWidgetCachingDisabled) { + mIsWidgetCachingDisabled = isWidgetCachingDisabled; + } + @Override @TargetApi(Build.VERSION_CODES.Q) public void updateAppWidget(RemoteViews remoteViews) { @@ -147,7 +153,8 @@ public class LauncherAppWidgetHostView extends BaseLauncherAppWidgetHostView TRACE_METHOD_NAME + getAppWidgetInfo().provider, getAppWidgetId()); mTrackingWidgetUpdate = false; } - if (FeatureFlags.ENABLE_CACHED_WIDGET.get()) { + if (FeatureFlags.ENABLE_CACHED_WIDGET.get() + && !mIsWidgetCachingDisabled) { mLastRemoteViews = remoteViews; if (isDeferringUpdates()) { return;