Merge "Close ZenModeScheduleRuleSettingsActivity when rule is deleted" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ebde211060
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user