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

Unverified Commit 51f3d94f authored by Cristoforo Cataldo's avatar Cristoforo Cataldo Committed by Michael Bestas
Browse files

GlobalActions: Set the initial status of airplane mode toggle

Actually, the initial status of airplane mode toggle is set to false
when the power menu dialog is initialized.
This causes an issue if you set airplane mode and then reboot.
After the reboot, the dialog displays the wrong airplane mode status,
eg. "Airplane mode is not active", and if you toggle that option, a wrong
intent is sent again to put ON the airplane mode, instead of OFF, the
toggle (that is in transition state) will be set disabled.

This commit fixes this issue.

Change-Id: Id30355c1e090355645c437086c79ab59093c27a8
parent 453aced5
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -166,6 +166,9 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac

        mEmergencyAffordanceManager = new EmergencyAffordanceManager(context);

        // Set the initial status of airplane mode toggle
        mAirplaneState = getUpdatedAirplaneToggleState();

        updatePowerMenuActions();
    }

@@ -1294,15 +1297,17 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac
        }
    };

    private ToggleAction.State getUpdatedAirplaneToggleState() {
        return (Settings.Global.getInt(mContext.getContentResolver(),
                    Settings.Global.AIRPLANE_MODE_ON, 0) == 1) ?
                ToggleAction.State.On : ToggleAction.State.Off;
    }

    private void onAirplaneModeChanged() {
        // Let the service state callbacks handle the state.
        if (mHasTelephony) return;

        boolean airplaneModeOn = Settings.Global.getInt(
                mContext.getContentResolver(),
                Settings.Global.AIRPLANE_MODE_ON,
                0) == 1;
        mAirplaneState = airplaneModeOn ? ToggleAction.State.On : ToggleAction.State.Off;
        mAirplaneState = getUpdatedAirplaneToggleState();
        mAirplaneModeOn.updateState(mAirplaneState);
    }