Merge "Keep setting of "TurnOff hotspot automatically" when AP is changed" am: 79e1afbdfa am: bef728d2ff am: 3682ed9fca am: 5b27a4e24c am: 6d36425f67

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2123300

Change-Id: I9369175ae744f146b41454e9835007664eb5296c
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 aea7078..f0cc09d 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -72,6 +72,7 @@
     private WifiTetherPasswordPreferenceController mPasswordPreferenceController;
     private WifiTetherSecurityPreferenceController mSecurityPreferenceController;
     private WifiTetherMaximizeCompatibilityPreferenceController mMaxCompatibilityPrefController;
+    private WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController;
 
     private WifiManager mWifiManager;
     private boolean mRestartWifiApAfterConfigChange;
@@ -122,6 +123,7 @@
         mPasswordPreferenceController = use(WifiTetherPasswordPreferenceController.class);
         mMaxCompatibilityPrefController =
                 use(WifiTetherMaximizeCompatibilityPreferenceController.class);
+        mWifiTetherAutoOffPreferenceController = use(WifiTetherAutoOffPreferenceController.class);
     }
 
     @Override
@@ -226,6 +228,8 @@
                     securityType);
         }
         mMaxCompatibilityPrefController.setupMaximizeCompatibility(configBuilder);
+        configBuilder.setAutoShutdownEnabled(
+                mWifiTetherAutoOffPreferenceController.isEnabled());
         return configBuilder.build();
     }