Bring back Wi-Fi sleep policy setting for wifi-only devices.

Have a different set of strings, since we cannot mention mobile data for
a wifi-only device.

Bug: 3487952
Change-Id: I486315da40f15807f75d85d2a077a6b234a1e3d7
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 3ef465a..6df4c90 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -313,6 +313,17 @@
         <item>Never (uses more battery power)</item>
     </string-array>
 
+    <!-- Wi-Fi settings. Presented as a list dialog to the user to choose the Wi-Fi sleep policy. Used when
+         the device is Wi-Fi-only. [CHAR LIMIT=30] -->
+    <string-array name="wifi_sleep_policy_entries_wifi_only">
+        <!-- Wi-Fi should go to sleep when the screen turns off, for Wi-Fi-only devices. -->
+        <item>When screen turns off</item>
+        <!-- When plugged in, never go to sleep.  When on battery, go to sleep when screen turns off. -->
+        <item>Never when plugged in</item>
+        <!-- Never go to sleep. -->
+        <item>Never (uses more battery power)</item>
+    </string-array>
+
     <!-- Match with wifi_sleep_policy_entries and the values of the settings in Settings class. --> <skip />
     <!-- Do not translate. -->
     <string-array name="wifi_sleep_policy_values">
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 5a2bf45..52bf366 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -213,14 +213,13 @@
             ListPreference pref = (ListPreference) findPreference(KEY_SLEEP_POLICY);
             if (pref != null) {
                 if (Utils.isWifiOnly()) {
-                    getPreferenceScreen().removePreference(pref);
-                } else {
-                    pref.setOnPreferenceChangeListener(this);
-                    int value = Settings.System.getInt(getContentResolver(),
-                            Settings.System.WIFI_SLEEP_POLICY,
-                            Settings.System.WIFI_SLEEP_POLICY_NEVER);
-                    pref.setValue(String.valueOf(value));
+                    pref.setEntries(R.array.wifi_sleep_policy_entries_wifi_only);
                 }
+                pref.setOnPreferenceChangeListener(this);
+                int value = Settings.System.getInt(getContentResolver(),
+                        Settings.System.WIFI_SLEEP_POLICY,
+                        Settings.System.WIFI_SLEEP_POLICY_NEVER);
+                pref.setValue(String.valueOf(value));
             }
 
             registerForContextMenu(getListView());