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;