Merge "Keep setting of "TurnOff hotspot automatically" when AP is changed" am: 79e1afbdfa
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2123300
Change-Id: Icf6b8698aa4f01e89076fc0566f5d71ef35c1742
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
index b54a80f..5dc5758 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
@@ -29,6 +29,7 @@
Preference.OnPreferenceChangeListener {
private final WifiManager mWifiManager;
+ private boolean mSettingsOn;
public WifiTetherAutoOffPreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
@@ -43,9 +44,9 @@
@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 @@
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 23601fa..0524ef5 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -32,7 +32,6 @@
import android.util.Log;
import androidx.annotation.VisibleForTesting;
-import androidx.preference.PreferenceGroup;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
@@ -70,6 +69,7 @@
private WifiTetherPasswordPreferenceController mPasswordPreferenceController;
private WifiTetherSecurityPreferenceController mSecurityPreferenceController;
private WifiTetherMaximizeCompatibilityPreferenceController mMaxCompatibilityPrefController;
+ private WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController;
private WifiManager mWifiManager;
private boolean mRestartWifiApAfterConfigChange;
@@ -117,6 +117,7 @@
mPasswordPreferenceController = use(WifiTetherPasswordPreferenceController.class);
mMaxCompatibilityPrefController =
use(WifiTetherMaximizeCompatibilityPreferenceController.class);
+ mWifiTetherAutoOffPreferenceController = use(WifiTetherAutoOffPreferenceController.class);
}
@Override
@@ -215,6 +216,8 @@
securityType);
}
mMaxCompatibilityPrefController.setupMaximizeCompatibility(configBuilder);
+ configBuilder.setAutoShutdownEnabled(
+ mWifiTetherAutoOffPreferenceController.isEnabled());
return configBuilder.build();
}