Merge "Close ZenModeScheduleRuleSettingsActivity when rule is deleted" into udc-dev

This commit is contained in:
Matías Hernández
2023-03-14 12:46:38 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 8 deletions

View File

@@ -48,6 +48,7 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase {
protected boolean mDisableListeners;
protected AutomaticZenRule mRule;
protected String mId;
private boolean mRuleRemoved;
protected ZenAutomaticRuleHeaderPreferenceController mHeader;
protected ZenRuleButtonsPreferenceController mActionButtons;
@@ -162,6 +163,10 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase {
}
private boolean refreshRuleOrFinish() {
if (mRuleRemoved && getActivity() != null) {
getActivity().finish();
return true;
}
mRule = getZenRule();
if (DEBUG) Log.d(TAG, "mRule=" + mRule);
mHeader.setRule(mRule);
@@ -196,4 +201,8 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase {
}
mDisableListeners = false;
}
void onRuleRemoved() {
mRuleRemoved = true;
}
}

View File

@@ -39,11 +39,11 @@ public class ZenRuleButtonsPreferenceController extends AbstractZenModePreferenc
implements PreferenceControllerMixin {
public static final String KEY = "zen_action_buttons";
private final PreferenceFragmentCompat mFragment;
private final ZenModeRuleSettingsBase mFragment;
private String mId;
private AutomaticZenRule mRule;
public ZenRuleButtonsPreferenceController(Context context, PreferenceFragmentCompat fragment,
public ZenRuleButtonsPreferenceController(Context context, ZenModeRuleSettingsBase fragment,
Lifecycle lc) {
super(context, KEY, lc);
mFragment = fragment;
@@ -106,12 +106,7 @@ public class ZenRuleButtonsPreferenceController extends AbstractZenModePreferenc
mBackend.removeZenRule(id);
mMetricsFeatureProvider.action(mContext,
SettingsEnums.ACTION_ZEN_DELETE_RULE_OK);
new SubSettingLauncher(mContext)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
.setDestination(ZenModeAutomationSettings.class.getName())
.setSourceMetricsCategory(MetricsProto.MetricsEvent
.NOTIFICATION_ZEN_MODE_AUTOMATION)
.launch();
mFragment.onRuleRemoved();
}
});
}