diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index aad9e7968e0af..4c72f48da87f1 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -77,6 +77,8 @@
Saved
+
+ Disconnected
Disabled
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
index 34d11b5ecbbcd..02bcc099a70d7 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
@@ -968,6 +968,13 @@ public class AccessPoint implements Comparable {
}
public String getSettingsSummary() {
+ return getSettingsSummary(false /*convertSavedAsDisconnected*/);
+ }
+
+ /**
+ * Returns the summary for the AccessPoint.
+ */
+ public String getSettingsSummary(boolean convertSavedAsDisconnected) {
// Update to new summary
StringBuilder summary = new StringBuilder();
@@ -1033,8 +1040,13 @@ public class AccessPoint implements Comparable {
R.string.wifi_ap_unable_to_handle_new_sta));
break;
default:
- // "Saved"
- summary.append(mContext.getString(R.string.wifi_remembered));
+ if (convertSavedAsDisconnected) {
+ // Disconnected
+ summary.append(mContext.getString(R.string.wifi_disconnected));
+ } else {
+ // "Saved"
+ summary.append(mContext.getString(R.string.wifi_remembered));
+ }
break;
}
}
diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
index 8e4027164587a..af4704c3618e7 100644
--- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
+++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
@@ -515,6 +515,30 @@ public class AccessPointTest {
R.string.connected_via_carrier), carrierName));
}
+ @Test
+ public void testSummaryString_showsDisconnected() {
+ AccessPoint ap = createAccessPointWithScanResultCache();
+ ap.update(new WifiConfiguration());
+
+ assertThat(ap.getSettingsSummary(true /*convertSavedAsDisconnected*/))
+ .isEqualTo(mContext.getString(R.string.wifi_disconnected));
+ }
+
+ @Test
+ public void testSummaryString_concatenatedMeteredAndDisconnected() {
+ AccessPoint ap = createAccessPointWithScanResultCache();
+ WifiConfiguration config = new WifiConfiguration();
+ config.meteredHint = true;
+ ap.update(config);
+
+ String expectedString =
+ mContext.getResources().getString(R.string.preference_summary_default_combination,
+ mContext.getString(R.string.wifi_metered_label),
+ mContext.getString(R.string.wifi_disconnected));
+ assertThat(ap.getSettingsSummary(true /*convertSavedAsDisconnected*/))
+ .isEqualTo(expectedString);
+ }
+
@Test
public void testSummaryString_showsConnectedViaSuggestionOrSpecifierApp() throws Exception {
final int rssi = -55;