diff options
author | Fengjiang Li <fengjial@google.com> | 2023-12-12 13:24:10 -0800 |
---|---|---|
committer | Fengjiang Li <fengjial@google.com> | 2023-12-12 22:41:03 -0800 |
commit | 09c3c214728f84260c657595e491d6ea0a28da6a (patch) | |
tree | d6a2b307e0cf3319dee6a4726b1853e1ac6c6bc8 | |
parent | 7808efbba1fe3d3ad40f682fefd92dc27c4ee4f4 (diff) | |
download | Launcher3-09c3c214728f84260c657595e491d6ea0a28da6a.tar.gz |
Remove duplicated widget host view reinflation on screen rotation
Don't reinflate from LauncherAppWidgetHostView#onConfigurat#onConfigurationChanged because Launcher activity will rebind app widgets on configuraiton change. This will reduce lock contention to inflate complex widget views and reduce flicker.
Bug: 285279824
Flag: None
Test: Rotate screen and verify widget are rendered correctly
Change-Id: I69abc7f1fe0ca5704ac887142c73b8d245fead4e
-rw-r--r-- | src/com/android/launcher3/widget/LauncherAppWidgetHostView.java | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java b/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java index 1aa49c73c7..5d069ed264 100644 --- a/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java +++ b/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java @@ -19,7 +19,6 @@ package com.android.launcher3.widget; import android.annotation.TargetApi; import android.appwidget.AppWidgetProviderInfo; import android.content.Context; -import android.content.res.Configuration; import android.graphics.Rect; import android.os.Build; import android.os.Handler; @@ -32,7 +31,6 @@ import android.util.SparseBooleanArray; import android.util.SparseIntArray; import android.view.MotionEvent; import android.view.View; -import android.view.ViewDebug; import android.view.ViewGroup; import android.view.accessibility.AccessibilityNodeInfo; import android.widget.AdapterView; @@ -79,9 +77,6 @@ public class LauncherAppWidgetHostView extends BaseLauncherAppWidgetHostView private final CheckLongPressHelper mLongPressHelper; protected final Launcher mLauncher; - @ViewDebug.ExportedProperty(category = "launcher") - private boolean mReinflateOnConfigChange; - // Maintain the color manager. private final LocalColorExtractor mColorExtractor; @@ -176,17 +171,6 @@ public class LauncherAppWidgetHostView extends BaseLauncherAppWidgetHostView // The provider info or the views might have changed. checkIfAutoAdvance(); - - // It is possible that widgets can receive updates while launcher is not in the foreground. - // Consequently, the widgets will be inflated for the orientation of the foreground activity - // (framework issue). On resuming, we ensure that any widgets are inflated for the current - // orientation. - mReinflateOnConfigChange = !isSameOrientation(); - } - - private boolean isSameOrientation() { - return mLauncher.getResources().getConfiguration().orientation == - mLauncher.getOrientation(); } private boolean checkScrollableRecursively(ViewGroup viewGroup) { @@ -450,17 +434,6 @@ public class LauncherAppWidgetHostView extends BaseLauncherAppWidgetHostView scheduleNextAdvance(); } - @Override - protected void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - - // Only reinflate when the final configuration is same as the required configuration - if (mReinflateOnConfigChange && isSameOrientation()) { - mReinflateOnConfigChange = false; - reInflate(); - } - } - public void reInflate() { if (!isAttachedToWindow()) { return; |