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
This commit is contained in:
Jason Chiu
2020-06-21 21:34:31 +08:00
parent 02e311e537
commit 2e0758f7ae

View File

@@ -143,7 +143,7 @@ public class SettingsSliceProvider extends SliceProvider {
@VisibleForTesting @VisibleForTesting
final Map<Uri, SliceBackgroundWorker> mPinnedWorkers = new ArrayMap<>(); final Map<Uri, SliceBackgroundWorker> mPinnedWorkers = new ArrayMap<>();
private boolean mNightMode; private Boolean mNightMode;
public SettingsSliceProvider() { public SettingsSliceProvider() {
super(READ_SEARCH_INDEXABLES); super(READ_SEARCH_INDEXABLES);
@@ -153,8 +153,6 @@ public class SettingsSliceProvider extends SliceProvider {
public boolean onCreateSliceProvider() { public boolean onCreateSliceProvider() {
mSlicesDatabaseAccessor = new SlicesDatabaseAccessor(getContext()); mSlicesDatabaseAccessor = new SlicesDatabaseAccessor(getContext());
mSliceWeakDataCache = new WeakHashMap<>(); mSliceWeakDataCache = new WeakHashMap<>();
mNightMode = Utils.isNightMode(getContext());
getContext().setTheme(R.style.Theme_SettingsBase);
return true; return true;
} }
@@ -207,7 +205,10 @@ public class SettingsSliceProvider extends SliceProvider {
} }
final boolean nightMode = Utils.isNightMode(getContext()); 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"); Log.d(TAG, "Night mode changed, reload theme");
mNightMode = nightMode; mNightMode = nightMode;
getContext().getTheme().rebase(); getContext().getTheme().rebase();