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