Merge "Close ZenModeScheduleRuleSettingsActivity when rule is deleted" into udc-dev am: ebde211060 am: bf2b85bf46

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21986562

Change-Id: Ic67427ac1e7162727b261e5308c6dcb312202bdc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Matías Hernández
2023-03-14 13:49:57 +00:00
committed by Automerger Merge Worker
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 boolean mDisableListeners;
protected AutomaticZenRule mRule; protected AutomaticZenRule mRule;
protected String mId; protected String mId;
private boolean mRuleRemoved;
protected ZenAutomaticRuleHeaderPreferenceController mHeader; protected ZenAutomaticRuleHeaderPreferenceController mHeader;
protected ZenRuleButtonsPreferenceController mActionButtons; protected ZenRuleButtonsPreferenceController mActionButtons;
@@ -162,6 +163,10 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase {
} }
private boolean refreshRuleOrFinish() { private boolean refreshRuleOrFinish() {
if (mRuleRemoved && getActivity() != null) {
getActivity().finish();
return true;
}
mRule = getZenRule(); mRule = getZenRule();
if (DEBUG) Log.d(TAG, "mRule=" + mRule); if (DEBUG) Log.d(TAG, "mRule=" + mRule);
mHeader.setRule(mRule); mHeader.setRule(mRule);
@@ -196,4 +201,8 @@ public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase {
} }
mDisableListeners = false; mDisableListeners = false;
} }
void onRuleRemoved() {
mRuleRemoved = true;
}
} }

View File

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