[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) {
|
||||
return;
|
||||
}
|
||||
|
||||
final @IdRes int icon = sIconMap.get(mInternetType);
|
||||
if (icon != 0) {
|
||||
final Drawable drawable = mContext.getDrawable(icon);
|
||||
@@ -112,10 +113,17 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
||||
mPreference.setIcon(drawable);
|
||||
}
|
||||
}
|
||||
|
||||
if (mustUseWiFiHelperSummary(mSummaryHelper.isWifiConnected(),
|
||||
mSummaryHelper.getSummary())) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mInternetType == INTERNET_CELLULAR) {
|
||||
updateCellularSummary();
|
||||
return;
|
||||
}
|
||||
|
||||
final @IdRes int summary = sSummaryMap.get(mInternetType);
|
||||
if (summary != 0) {
|
||||
mPreference.setSummary(summary);
|
||||
@@ -161,9 +169,17 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
||||
|
||||
@Override
|
||||
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);
|
||||
}
|
||||
return needUpdate;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
@@ -98,4 +98,11 @@ public final class WifiSummaryUpdater extends SummaryUpdater {
|
||||
com.android.settingslib.R.string.preference_summary_default_combination,
|
||||
ssid, mWifiTracker.statusLabel);
|
||||
}
|
||||
|
||||
/**
|
||||
* return true if Wi-Fi connected.
|
||||
*/
|
||||
public boolean isWifiConnected() {
|
||||
return mWifiTracker.connected;
|
||||
}
|
||||
}
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
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.google.common.truth.Truth.assertThat;
|
||||
@@ -57,6 +58,7 @@ import org.mockito.junit.MockitoRule;
|
||||
public class InternetPreferenceControllerTest {
|
||||
|
||||
private static final String TEST_SUMMARY = "test summary";
|
||||
private static final String NOT_CONNECTED = "Not connected";
|
||||
|
||||
@Rule
|
||||
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
|
||||
@@ -117,13 +119,37 @@ public class InternetPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onSummaryChanged_shouldUpdatePreferenceSummary() {
|
||||
public void mustUseWiFiHelperSummary_internetWifi_updateSummary() {
|
||||
mController.onInternetTypeChanged(INTERNET_WIFI);
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
mController.onSummaryChanged(TEST_SUMMARY);
|
||||
mController.mustUseWiFiHelperSummary(true /* isWifiConnected */, 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
|
||||
|
Reference in New Issue
Block a user