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 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user