Fix the flow for ZenCustomRuleSettingsBase

updateRule() should be called before super.onResume() because rule will
be used in updatePreferenceStates() in super.onResume().

This is follow up of Change: Ief9963091847d58654f26851616563ae910716a5

Bug: 226523115
Test: manual
Change-Id: I2fe0cfb2b4a76273283bb2d3aca629b5d647db91
This commit is contained in:
Chaohui Wang
2022-04-06 17:22:12 +08:00
parent ab8467e872
commit 3b3e66c780

View File

@@ -59,6 +59,10 @@ abstract class ZenCustomRuleSettingsBase extends ZenModeSettingsBase {
@Override @Override
public void onResume() { public void onResume() {
if (!mIsFirstLaunch) {
// Rule will be used in updatePreferenceStates() in super.onResume().
updateRule();
}
super.onResume(); super.onResume();
updatePreferences(); updatePreferences();
} }
@@ -66,6 +70,7 @@ abstract class ZenCustomRuleSettingsBase extends ZenModeSettingsBase {
@Override @Override
public void onZenModeConfigChanged() { public void onZenModeConfigChanged() {
super.onZenModeConfigChanged(); super.onZenModeConfigChanged();
updateRule();
updatePreferences(); updatePreferences();
updatePreferenceStates(); updatePreferenceStates();
} }
@@ -80,10 +85,6 @@ abstract class ZenCustomRuleSettingsBase extends ZenModeSettingsBase {
} }
public void updatePreferences() { public void updatePreferences() {
if (!mIsFirstLaunch) {
updateRule();
}
final PreferenceScreen screen = getPreferenceScreen(); final PreferenceScreen screen = getPreferenceScreen();
String categoryKey = getPreferenceCategoryKey(); String categoryKey = getPreferenceCategoryKey();
if (categoryKey != null) { if (categoryKey != null) {