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
final Map<Uri, SliceBackgroundWorker> 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();