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

Commit 3aa73f6a authored by Sean Francis-Lyon's avatar Sean Francis-Lyon Committed by Android (Google) Code Review
Browse files

Merge "show correct backup status after dismissing are-you-sure dialog for turnning off backup"

parents ee127ed1 f833588d
Loading
Loading
Loading
Loading
+20 −3
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ import com.android.settings.widget.ToggleSwitch;
 * disable it.
 */
public class ToggleBackupSettingFragment extends SettingsPreferenceFragment
        implements DialogInterface.OnClickListener {
        implements DialogInterface.OnClickListener, DialogInterface.OnDismissListener {
    private static final String TAG = "ToggleBackupSettingFragment";

    private static final String BACKUP_TOGGLE = "toggle_backup";
@@ -40,6 +40,8 @@ public class ToggleBackupSettingFragment extends SettingsPreferenceFragment

    private Dialog mConfirmDialog;

    private boolean mWaitingForConfirmationDialog = false;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -105,9 +107,9 @@ public class ToggleBackupSettingFragment extends SettingsPreferenceFragment
                            ToggleSwitch toggleSwitch, boolean checked) {
                        if (!checked) {
                            // Don't change Switch status until user makes choice in dialog
                            // so return false here.
                            // so return true here.
                            showEraseBackupDialog();
                            return false;
                            return true;
                        } else {
                            setBackupEnabled(true);
                            mSwitchBar.setCheckedInternal(true);
@@ -132,10 +134,21 @@ public class ToggleBackupSettingFragment extends SettingsPreferenceFragment
    public void onClick(DialogInterface dialog, int which) {
        // Accept turning off backup
        if (which == DialogInterface.BUTTON_POSITIVE) {
            mWaitingForConfirmationDialog = false;
            setBackupEnabled(false);
            mSwitchBar.setCheckedInternal(false);
        } else if (which == DialogInterface.BUTTON_NEGATIVE) {
            // Reject turning off backup
            mWaitingForConfirmationDialog = false;
            setBackupEnabled(true);
            mSwitchBar.setCheckedInternal(true);
        }
    }

    @Override
    public void onDismiss(DialogInterface dialog) {
        if (mWaitingForConfirmationDialog) {
            // dismiss turning off backup
            setBackupEnabled(true);
            mSwitchBar.setCheckedInternal(true);
        }
@@ -143,11 +156,15 @@ public class ToggleBackupSettingFragment extends SettingsPreferenceFragment

    private void showEraseBackupDialog() {
        CharSequence msg = getResources().getText(R.string.fullbackup_erase_dialog_message);

        mWaitingForConfirmationDialog = true;

        // TODO: DialogFragment?
        mConfirmDialog = new AlertDialog.Builder(getActivity()).setMessage(msg)
                .setTitle(R.string.backup_erase_dialog_title)
                .setPositiveButton(android.R.string.ok, this)
                .setNegativeButton(android.R.string.cancel, this)
                .setOnDismissListener(this)
                .show();
    }