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

Commit a6a74e22 authored by Irfan Sheriff's avatar Irfan Sheriff
Browse files

Disable tethering to enable Wifi

We need to explicitly disable wifi while enabling
tethering and disable tethering while enabling wifi

Bug: 2539071
Change-Id: I7fda6e4d9d1bb804e81561d52b5f3a982a674b0e
parent 305b0fb4
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -248,6 +248,15 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider {
            if (withToast) {
                Toast.makeText(context, R.string.gadget_toggle_wifi, Toast.LENGTH_SHORT).show();
            }
            /**
             * Disable tethering if enabling Wifi
             */
            int wifiApState = wifiManager.getWifiApState();
            if (desiredState && ((wifiApState == WifiManager.WIFI_AP_STATE_ENABLING) ||
                        (wifiApState == WifiManager.WIFI_AP_STATE_ENABLED))) {
                wifiManager.setWifiApEnabled(null, false);
            }

            wifiManager.setWifiEnabled(desiredState);
        }

+9 −0
Original line number Diff line number Diff line
@@ -97,6 +97,15 @@ public class WifiApEnabler implements Preference.OnPreferenceChangeListener {

    public boolean onPreferenceChange(Preference preference, Object enable) {

        /**
         * Disable Wifi if enabling tethering
         */
        int wifiState = mWifiManager.getWifiState();
        if ((Boolean)enable && ((wifiState == WifiManager.WIFI_STATE_ENABLING) ||
                    (wifiState == WifiManager.WIFI_STATE_ENABLED))) {
            mWifiManager.setWifiEnabled(false);
        }

        if (mWifiManager.setWifiApEnabled(null, (Boolean)enable)) {
            /* Disable here, enabled on receiving success broadcast */
            mCheckBox.setEnabled(false);
+8 −0
Original line number Diff line number Diff line
@@ -92,6 +92,14 @@ public class WifiEnabler implements Preference.OnPreferenceChangeListener {
            return false;
        }

        /**
         * Disable tethering if enabling Wifi
         */
        int wifiApState = mWifiManager.getWifiApState();
        if (enable && ((wifiApState == WifiManager.WIFI_AP_STATE_ENABLING) ||
                (wifiApState == WifiManager.WIFI_AP_STATE_ENABLED))) {
            mWifiManager.setWifiApEnabled(null, false);
        }
        if (mWifiManager.setWifiEnabled(enable)) {
            mCheckBox.setEnabled(false);
        } else {