Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ebde2110 authored by Matías Hernández's avatar Matías Hernández Committed by Android (Google) Code Review
Browse files

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

parents 3e34c995 89f93a9b
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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;
    }
}
+3 −8
Original line number Diff line number Diff line
@@ -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();
                        }
            });
        }