Keep setting of "TurnOff hotspot automatically" when AP is changed

When AP config is changed, setting of "TurnOff hotspot automatically"
will be reset to default. Hence keep the setting when AP config changed.
Keep setting of whether auto shut down is enabled when AP
config changed.

Co-authored-by: Fangxiao Cao <fangxiao.x.cao@sony.com>

Test: manual test
Bug: 235370570
Change-Id: Ibd3d59b6a86edaf1253a2c9b035576e60a7beb96
This commit is contained in:
Bruno Kremp
2022-06-15 09:20:18 +02:00
committed by Bruno
parent 8be3ebd163
commit b16ac39ee1
2 changed files with 12 additions and 3 deletions

View File

@@ -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;
}
}

View File

@@ -32,7 +32,6 @@ import android.util.FeatureFlagUtils;
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 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
private WifiTetherPasswordPreferenceController mPasswordPreferenceController;
private WifiTetherSecurityPreferenceController mSecurityPreferenceController;
private WifiTetherMaximizeCompatibilityPreferenceController mMaxCompatibilityPrefController;
private WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController;
private WifiManager mWifiManager;
private boolean mRestartWifiApAfterConfigChange;
@@ -117,6 +117,7 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
mPasswordPreferenceController = use(WifiTetherPasswordPreferenceController.class);
mMaxCompatibilityPrefController =
use(WifiTetherMaximizeCompatibilityPreferenceController.class);
mWifiTetherAutoOffPreferenceController = use(WifiTetherAutoOffPreferenceController.class);
}
@Override
@@ -215,6 +216,8 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
securityType);
}
mMaxCompatibilityPrefController.setupMaximizeCompatibility(configBuilder);
configBuilder.setAutoShutdownEnabled(
mWifiTetherAutoOffPreferenceController.isEnabled());
return configBuilder.build();
}