From 2e0758f7ae8f54fc5c23792d26e7d4f39569e43b Mon Sep 17 00:00:00 2001 From: Jason Chiu Date: Sun, 21 Jun 2020 21:34:31 +0800 Subject: [PATCH] Decrease memory usage for sleep idle test Postpone setTheme to decrease memory usage of Settings for the test android.platform.test.scenario.sleep.Idle Bug: 156631776 Test: forrest test Change-Id: I4178eae0832e15c9d6da4a0f1f2898f5c797d388 --- .../android/settings/slices/SettingsSliceProvider.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java index 75061a5dac5..c22d001a2d8 100644 --- a/src/com/android/settings/slices/SettingsSliceProvider.java +++ b/src/com/android/settings/slices/SettingsSliceProvider.java @@ -143,7 +143,7 @@ public class SettingsSliceProvider extends SliceProvider { @VisibleForTesting final Map mPinnedWorkers = new ArrayMap<>(); - private boolean mNightMode; + private Boolean mNightMode; public SettingsSliceProvider() { super(READ_SEARCH_INDEXABLES); @@ -153,8 +153,6 @@ public class SettingsSliceProvider extends SliceProvider { public boolean onCreateSliceProvider() { mSlicesDatabaseAccessor = new SlicesDatabaseAccessor(getContext()); mSliceWeakDataCache = new WeakHashMap<>(); - mNightMode = Utils.isNightMode(getContext()); - getContext().setTheme(R.style.Theme_SettingsBase); return true; } @@ -207,7 +205,10 @@ public class SettingsSliceProvider extends SliceProvider { } final boolean nightMode = Utils.isNightMode(getContext()); - if (mNightMode != nightMode) { + if (mNightMode == null) { + mNightMode = nightMode; + getContext().setTheme(R.style.Theme_SettingsBase); + } else if (mNightMode != nightMode) { Log.d(TAG, "Night mode changed, reload theme"); mNightMode = nightMode; getContext().getTheme().rebase();