diff --git a/res/xml/wifi_tether_settings.xml b/res/xml/wifi_tether_settings.xml
index 8962d6201d9..c9dbafd67a9 100644
--- a/res/xml/wifi_tether_settings.xml
+++ b/res/xml/wifi_tether_settings.xml
@@ -44,10 +44,12 @@
android:persistent="false"
android:title="@string/wifi_hotspot_password_title"/>
-
+ android:summary="%s"
+ android:entries="@array/custom_timeout_entries"
+ android:entryValues="@array/custom_timeout_values" />
0);
}
- mSettingsOn = settingsOn;
return mWifiManager.setSoftApConfiguration(configBuilder.build());
}
- public boolean isEnabled() {
- return mSettingsOn;
+ public void updateConfig(SoftApConfiguration.Builder builder) {
+ if (builder == null) return;
+ final long timeout = getAutoOffTimeout();
+ setShutdownTimeout(builder, timeout);
+ }
+
+ private void setShutdownTimeout(SoftApConfiguration.Builder builder, long timeout) {
+ builder.setAutoShutdownEnabled(timeout > 0);
+ if (timeout > 0) {
+ builder.setShutdownTimeoutMillis(timeout);
+ }
+ updateDisplay(timeout);
+ }
+
+ public void updateDisplay() {
+ updateDisplay(getAutoOffTimeout());
+ }
+
+ private void updateDisplay(long timeout) {
+ if (mPreference != null) {
+ mPreference.setValue(String.valueOf(timeout));
+ if (timeout > 0) {
+ int index = mPreference.findIndexOfValue(String.valueOf(timeout));
+ mPreference.setSummary(mPreference.getEntries()[index]);
+ } else {
+ mPreference.setSummary(mContext.getResources().getString(
+ R.string.wifi_hotspot_auto_off_summary));
+ }
+ }
}
}
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index 40285574a51..e9b5ac86a26 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -336,8 +336,7 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
if (!mWifiTetherViewModel.isSpeedFeatureAvailable()) {
mMaxCompatibilityPrefController.setupMaximizeCompatibility(configBuilder);
}
- configBuilder.setAutoShutdownEnabled(
- mWifiTetherAutoOffPreferenceController.isEnabled());
+ mWifiTetherAutoOffPreferenceController.updateConfig(configBuilder);
mClientPrefController.updateConfig(configBuilder);
return configBuilder.build();
}
@@ -347,6 +346,7 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
use(WifiTetherSecurityPreferenceController.class).updateDisplay();
use(WifiTetherPasswordPreferenceController.class).updateDisplay();
use(WifiTetherMaximizeCompatibilityPreferenceController.class).updateDisplay();
+ use(WifiTetherAutoOffPreferenceController.class).updateDisplay();
}
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =