[Provider Model] Update Wi-Fi SSID in APM networks type
- Check Wi-Fi connected then update the SSID to summary - Screenshot https://screenshot.googleplex.com/BWHAAqb7q8XaK9T Bug: 178915286 Test: manual test - atest InternetPreferenceControllerTest Change-Id: I9efc2f62b7b241a4a63d0514158c8e76f0d6acc2
This commit is contained in:
@@ -103,6 +103,7 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
|||||||
if (mPreference == null) {
|
if (mPreference == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final @IdRes int icon = sIconMap.get(mInternetType);
|
final @IdRes int icon = sIconMap.get(mInternetType);
|
||||||
if (icon != 0) {
|
if (icon != 0) {
|
||||||
final Drawable drawable = mContext.getDrawable(icon);
|
final Drawable drawable = mContext.getDrawable(icon);
|
||||||
@@ -112,10 +113,17 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
|||||||
mPreference.setIcon(drawable);
|
mPreference.setIcon(drawable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mustUseWiFiHelperSummary(mSummaryHelper.isWifiConnected(),
|
||||||
|
mSummaryHelper.getSummary())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (mInternetType == INTERNET_CELLULAR) {
|
if (mInternetType == INTERNET_CELLULAR) {
|
||||||
updateCellularSummary();
|
updateCellularSummary();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final @IdRes int summary = sSummaryMap.get(mInternetType);
|
final @IdRes int summary = sSummaryMap.get(mInternetType);
|
||||||
if (summary != 0) {
|
if (summary != 0) {
|
||||||
mPreference.setSummary(summary);
|
mPreference.setSummary(summary);
|
||||||
@@ -161,9 +169,17 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSummaryChanged(String summary) {
|
public void onSummaryChanged(String summary) {
|
||||||
if (mPreference != null && mInternetType == INTERNET_WIFI) {
|
mustUseWiFiHelperSummary(mSummaryHelper.isWifiConnected(), summary);
|
||||||
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
boolean mustUseWiFiHelperSummary(boolean isWifiConnected, String summary) {
|
||||||
|
final boolean needUpdate = (mInternetType == INTERNET_WIFI)
|
||||||
|
|| (mInternetType == INTERNET_APM_NETWORKS && isWifiConnected);
|
||||||
|
if (needUpdate && mPreference != null) {
|
||||||
mPreference.setSummary(summary);
|
mPreference.setSummary(summary);
|
||||||
}
|
}
|
||||||
|
return needUpdate;
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
@@ -98,4 +98,11 @@ public final class WifiSummaryUpdater extends SummaryUpdater {
|
|||||||
com.android.settingslib.R.string.preference_summary_default_combination,
|
com.android.settingslib.R.string.preference_summary_default_combination,
|
||||||
ssid, mWifiTracker.statusLabel);
|
ssid, mWifiTracker.statusLabel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return true if Wi-Fi connected.
|
||||||
|
*/
|
||||||
|
public boolean isWifiConnected() {
|
||||||
|
return mWifiTracker.connected;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.network;
|
package com.android.settings.network;
|
||||||
|
|
||||||
|
import static com.android.settings.network.InternetUpdater.INTERNET_APM_NETWORKS;
|
||||||
import static com.android.settings.network.InternetUpdater.INTERNET_WIFI;
|
import static com.android.settings.network.InternetUpdater.INTERNET_WIFI;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
@@ -57,6 +58,7 @@ import org.mockito.junit.MockitoRule;
|
|||||||
public class InternetPreferenceControllerTest {
|
public class InternetPreferenceControllerTest {
|
||||||
|
|
||||||
private static final String TEST_SUMMARY = "test summary";
|
private static final String TEST_SUMMARY = "test summary";
|
||||||
|
private static final String NOT_CONNECTED = "Not connected";
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
|
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
|
||||||
@@ -117,13 +119,37 @@ public class InternetPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onSummaryChanged_shouldUpdatePreferenceSummary() {
|
public void mustUseWiFiHelperSummary_internetWifi_updateSummary() {
|
||||||
mController.onInternetTypeChanged(INTERNET_WIFI);
|
mController.onInternetTypeChanged(INTERNET_WIFI);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
|
|
||||||
mController.onSummaryChanged(TEST_SUMMARY);
|
mController.mustUseWiFiHelperSummary(true /* isWifiConnected */, TEST_SUMMARY);
|
||||||
|
|
||||||
assertThat(mPreference.getSummary()).isEqualTo(TEST_SUMMARY);
|
assertThat(mPreference.getSummary()).isEqualTo(TEST_SUMMARY);
|
||||||
|
|
||||||
|
mController.mustUseWiFiHelperSummary(false /* isWifiConnected */, NOT_CONNECTED);
|
||||||
|
|
||||||
|
assertThat(mPreference.getSummary()).isEqualTo(NOT_CONNECTED);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void mustUseWiFiHelperSummary_internetApmNetworksWifiConnected_updateSummary() {
|
||||||
|
mController.onInternetTypeChanged(INTERNET_APM_NETWORKS);
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
|
|
||||||
|
mController.mustUseWiFiHelperSummary(true /* isWifiConnected */, TEST_SUMMARY);
|
||||||
|
|
||||||
|
assertThat(mPreference.getSummary()).isEqualTo(TEST_SUMMARY);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void mustUseWiFiHelperSummary_internetApmNetworksWifiDisconnected_notUpdateSummary() {
|
||||||
|
mController.onInternetTypeChanged(INTERNET_APM_NETWORKS);
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
|
|
||||||
|
mController.mustUseWiFiHelperSummary(false /* isWifiConnected */, NOT_CONNECTED);
|
||||||
|
|
||||||
|
assertThat(mPreference.getSummary()).isNotEqualTo(NOT_CONNECTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user