Use a different string for vpn summary.

- for legacy vpn config, we do not get the vpn name to show in the
preference summary, and we used to simply show "Connected" as the summary
text. However, the string was changed to include the connected device
name as the parameter. Change to use connected summary string that does
not requires any parameter.

Change-Id: Ia6191eb315f5f23e0e6bf8da2a9537c211e8188e
Fixes: 77618408
Test: make RunSettingsRoboTests
This commit is contained in:
Doris Ling
2018-04-12 14:04:10 -07:00
parent e6750d6c2d
commit 0a66946d6b
2 changed files with 19 additions and 2 deletions

View File

@@ -159,9 +159,10 @@ public class VpnPreferenceController extends AbstractPreferenceController
ThreadUtils.postOnMainThread(() -> mPreference.setSummary(summary)); ThreadUtils.postOnMainThread(() -> mPreference.setSummary(summary));
} }
private String getNameForVpnConfig(VpnConfig cfg, UserHandle user) { @VisibleForTesting
String getNameForVpnConfig(VpnConfig cfg, UserHandle user) {
if (cfg.legacy) { if (cfg.legacy) {
return mContext.getString(R.string.bluetooth_connected); return mContext.getString(R.string.wifi_display_status_connected);
} }
// The package name for an active VPN is stored in the 'user' field of its VpnConfig // The package name for an active VPN is stored in the 'user' field of its VpnConfig
final String vpnPackage = cfg.user; final String vpnPackage = cfg.user;

View File

@@ -16,6 +16,7 @@
package com.android.settings.network; package com.android.settings.network;
import static com.google.common.truth.Truth.assertThat;
import static android.arch.lifecycle.Lifecycle.Event.ON_PAUSE; import static android.arch.lifecycle.Lifecycle.Event.ON_PAUSE;
import static android.arch.lifecycle.Lifecycle.Event.ON_RESUME; import static android.arch.lifecycle.Lifecycle.Event.ON_RESUME;
import static org.mockito.Matchers.any; import static org.mockito.Matchers.any;
@@ -31,9 +32,11 @@ import android.net.ConnectivityManager;
import android.net.IConnectivityManager; import android.net.IConnectivityManager;
import android.net.NetworkRequest; import android.net.NetworkRequest;
import android.os.IBinder; import android.os.IBinder;
import android.os.UserHandle;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.internal.net.VpnConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -42,6 +45,7 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.shadows.ShadowServiceManager; import org.robolectric.shadows.ShadowServiceManager;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@@ -99,4 +103,16 @@ public class VpnPreferenceControllerTest {
verify(mConnectivityManager).unregisterNetworkCallback( verify(mConnectivityManager).unregisterNetworkCallback(
any(ConnectivityManager.NetworkCallback.class)); any(ConnectivityManager.NetworkCallback.class));
} }
@Test
public void getNameForVpnConfig_legacyVPNConfig_shouldSetSummaryToConnected() {
final VpnConfig config = new VpnConfig();
config.legacy = true;
final VpnPreferenceController controller =
new VpnPreferenceController(RuntimeEnvironment.application);
final String summary = controller.getNameForVpnConfig(config, UserHandle.CURRENT);
assertThat(summary).isEqualTo("Connected");
}
} }