From 4e90170d22f964d9b67e87a814ca0d26d86480f7 Mon Sep 17 00:00:00 2001 From: Nicolo' Mazzucato Date: Tue, 18 Jan 2022 13:27:46 +0100 Subject: [PATCH] Remove CONFIG_SCREEN_LAYOUT from InterestingConfigChanges params This bit was causing a bunch of reinflations each time a foldable device was unfolded/folded. From some manual testing, it seems everything still works as expected after the change. Instead, CONFIG_LAYOUT_DIRECTION has been added, to cover the RTL change case. This change saves ~295 ms when the device is unfolded. Bug: 197515205 Test: Manually tested Change-Id: I4a1943f56716100027c0aafb6746ba4e8aec02ae --- .../settingslib/applications/InterestingConfigChanges.java | 5 ++--- .../com/android/systemui/fragments/FragmentHostManager.java | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/InterestingConfigChanges.java b/packages/SettingsLib/src/com/android/settingslib/applications/InterestingConfigChanges.java index 5f2bef723cd90..64a0781c4643c 100644 --- a/packages/SettingsLib/src/com/android/settingslib/applications/InterestingConfigChanges.java +++ b/packages/SettingsLib/src/com/android/settingslib/applications/InterestingConfigChanges.java @@ -31,9 +31,8 @@ public class InterestingConfigChanges { private int mLastDensity; public InterestingConfigChanges() { - this(ActivityInfo.CONFIG_LOCALE - | ActivityInfo.CONFIG_UI_MODE | ActivityInfo.CONFIG_SCREEN_LAYOUT - | ActivityInfo.CONFIG_ASSETS_PATHS); + this(ActivityInfo.CONFIG_LOCALE | ActivityInfo.CONFIG_LAYOUT_DIRECTION + | ActivityInfo.CONFIG_UI_MODE | ActivityInfo.CONFIG_ASSETS_PATHS); } public InterestingConfigChanges(int flags) { diff --git a/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java b/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java index b24d08d3f8bbd..3ae11ff283456 100644 --- a/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java +++ b/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java @@ -54,7 +54,7 @@ public class FragmentHostManager { private final View mRootView; private final InterestingConfigChanges mConfigChanges = new InterestingConfigChanges( ActivityInfo.CONFIG_FONT_SCALE | ActivityInfo.CONFIG_LOCALE - | ActivityInfo.CONFIG_SCREEN_LAYOUT | ActivityInfo.CONFIG_ASSETS_PATHS); + | ActivityInfo.CONFIG_LAYOUT_DIRECTION | ActivityInfo.CONFIG_ASSETS_PATHS); private final FragmentService mManager; private final ExtensionFragmentManager mPlugins = new ExtensionFragmentManager();