diff --git a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java index b54a80f6b41..5dc5758dc90 100644 --- a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java +++ b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java @@ -29,6 +29,7 @@ public class WifiTetherAutoOffPreferenceController extends BasePreferenceControl Preference.OnPreferenceChangeListener { private final WifiManager mWifiManager; + private boolean mSettingsOn; public WifiTetherAutoOffPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); @@ -43,9 +44,9 @@ public class WifiTetherAutoOffPreferenceController extends BasePreferenceControl @Override public void updateState(Preference preference) { SoftApConfiguration softApConfiguration = mWifiManager.getSoftApConfiguration(); - final boolean settingsOn = softApConfiguration.isAutoShutdownEnabled(); + mSettingsOn = softApConfiguration.isAutoShutdownEnabled(); - ((SwitchPreference) preference).setChecked(settingsOn); + ((SwitchPreference) preference).setChecked(mSettingsOn); } @Override @@ -56,6 +57,11 @@ public class WifiTetherAutoOffPreferenceController extends BasePreferenceControl new SoftApConfiguration.Builder(softApConfiguration) .setAutoShutdownEnabled(settingsOn) .build(); + mSettingsOn = settingsOn; return mWifiManager.setSoftApConfiguration(newSoftApConfiguration); } + + public boolean isEnabled() { + return mSettingsOn; + } } diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java index aea7078f144..f0cc09d0cad 100644 --- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java +++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java @@ -72,6 +72,7 @@ public class WifiTetherSettings extends RestrictedDashboardFragment private WifiTetherPasswordPreferenceController mPasswordPreferenceController; private WifiTetherSecurityPreferenceController mSecurityPreferenceController; private WifiTetherMaximizeCompatibilityPreferenceController mMaxCompatibilityPrefController; + private WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController; private WifiManager mWifiManager; private boolean mRestartWifiApAfterConfigChange; @@ -122,6 +123,7 @@ public class WifiTetherSettings extends RestrictedDashboardFragment mPasswordPreferenceController = use(WifiTetherPasswordPreferenceController.class); mMaxCompatibilityPrefController = use(WifiTetherMaximizeCompatibilityPreferenceController.class); + mWifiTetherAutoOffPreferenceController = use(WifiTetherAutoOffPreferenceController.class); } @Override @@ -226,6 +228,8 @@ public class WifiTetherSettings extends RestrictedDashboardFragment securityType); } mMaxCompatibilityPrefController.setupMaximizeCompatibility(configBuilder); + configBuilder.setAutoShutdownEnabled( + mWifiTetherAutoOffPreferenceController.isEnabled()); return configBuilder.build(); }