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

Commit 31b92e28 authored by Irfan Sheriff's avatar Irfan Sheriff
Browse files

Remember wifi disable due to airplane

Add the wifi disabled due to airplane mode as a seperate settings so
that wifi is restored after a reboot when airplane mode is turned off

Bug: 5365718
Change-Id: I36a9694bbcacd5bb5f89498e4adc47c81e611da6
parent ce0a7ade
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -149,6 +149,8 @@ public class WifiService extends IWifiManager.Stub {
    private static final int WIFI_ENABLED                   = 1;
    /* Wifi enabled while in airplane mode */
    private static final int WIFI_ENABLED_AIRPLANE_OVERRIDE = 2;
    /* Wifi disabled due to airplane mode on */
    private static final int WIFI_DISABLED_AIRPLANE_ON      = 3;

    private AtomicInteger mWifiState = new AtomicInteger(WIFI_DISABLED);
    private AtomicBoolean mAirplaneModeOn = new AtomicBoolean(false);
@@ -478,15 +480,20 @@ public class WifiService extends IWifiManager.Stub {

    private void persistWifiEnabled(boolean enabled) {
        final ContentResolver cr = mContext.getContentResolver();
        boolean airplane = mAirplaneModeOn.get() && isAirplaneToggleable();
        if (enabled) {
            if (isAirplaneModeOn() && isAirplaneToggleable()) {
            if (airplane) {
                mWifiState.set(WIFI_ENABLED_AIRPLANE_OVERRIDE);
            } else {
                mWifiState.set(WIFI_ENABLED);
            }
        } else {
            if (airplane) {
                mWifiState.set(WIFI_DISABLED_AIRPLANE_ON);
            } else {
                mWifiState.set(WIFI_DISABLED);
            }
        }
        Settings.Secure.putInt(cr, Settings.Secure.WIFI_ON, mWifiState.get());
    }