Add SSID to Network Details page for Passpoint
Added SSID to Network Details page under the Advanced portion only when the network is for Passpoint, whose network title is not the SSID of the underlying connected AP. Bug: 129092023 Test: atest RunSettingsRoboTests Change-Id: I13308d46e727fc01fec7a079d8e32ab9f1763e21
This commit is contained in:
@@ -2284,6 +2284,8 @@
|
||||
</plurals>
|
||||
<!-- Wi-Fi settings screen, advanced, settings section. This is a header shown above advanced wifi settings. [CHAR LIMIT=30] -->
|
||||
<string name="wifi_advanced_titlebar">Advanced Wi\u2011Fi</string>
|
||||
<!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's SSID. [CHAR LIMIT=20] -->
|
||||
<string name="wifi_advanced_ssid_title">SSID</string>
|
||||
<!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's MAC address. -->
|
||||
<string name="wifi_advanced_mac_address_title">MAC address</string>
|
||||
<!-- Title of the screen to adjust IP settings -->
|
||||
|
@@ -84,6 +84,11 @@
|
||||
<PreferenceCategory
|
||||
android:key="ip_details_category"
|
||||
android:title="@string/wifi_setup_detail">
|
||||
<Preference
|
||||
android:key="ssid"
|
||||
android:title="@string/wifi_advanced_ssid_title"
|
||||
android:selectable="false"
|
||||
settings:enableCopying="true"/>
|
||||
<Preference
|
||||
android:key="mac_address"
|
||||
android:title="@string/wifi_advanced_mac_address_title"
|
||||
|
@@ -115,6 +115,8 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
@VisibleForTesting
|
||||
static final String KEY_SECURITY_PREF = "security";
|
||||
@VisibleForTesting
|
||||
static final String KEY_SSID_PREF = "ssid";
|
||||
@VisibleForTesting
|
||||
static final String KEY_MAC_ADDRESS_PREF = "mac_address";
|
||||
@VisibleForTesting
|
||||
static final String KEY_IP_ADDRESS_PREF = "ip_address";
|
||||
@@ -170,6 +172,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
private Preference mRxLinkSpeedPref;
|
||||
private Preference mFrequencyPref;
|
||||
private Preference mSecurityPref;
|
||||
private Preference mSsidPref;
|
||||
private Preference mMacAddressPref;
|
||||
private Preference mIpAddressPref;
|
||||
private Preference mGatewayPref;
|
||||
@@ -399,6 +402,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
mFrequencyPref = screen.findPreference(KEY_FREQUENCY_PREF);
|
||||
mSecurityPref = screen.findPreference(KEY_SECURITY_PREF);
|
||||
|
||||
mSsidPref = screen.findPreference(KEY_SSID_PREF);
|
||||
mMacAddressPref = screen.findPreference(KEY_MAC_ADDRESS_PREF);
|
||||
mIpAddressPref = screen.findPreference(KEY_IP_ADDRESS_PREF);
|
||||
mGatewayPref = screen.findPreference(KEY_GATEWAY_PREF);
|
||||
@@ -497,6 +501,8 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
refreshRxSpeed();
|
||||
// IP related information
|
||||
refreshIpLayerInfo();
|
||||
// SSID Pref
|
||||
refreshSsid();
|
||||
// MAC Address Pref
|
||||
refreshMacAddress();
|
||||
}
|
||||
@@ -645,6 +651,15 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
R.string.rx_link_speed, mWifiInfo.getRxLinkSpeedMbps()));
|
||||
}
|
||||
|
||||
private void refreshSsid() {
|
||||
if (mAccessPoint.isPasspoint() || mAccessPoint.isOsuProvider()) {
|
||||
mSsidPref.setVisible(true);
|
||||
mSsidPref.setSummary(mAccessPoint.getSsidStr());
|
||||
} else {
|
||||
mSsidPref.setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void refreshMacAddress() {
|
||||
String macAddress = getMacAddress();
|
||||
if (macAddress == null) {
|
||||
|
@@ -105,6 +105,7 @@ public class WifiDetailPreferenceControllerTest {
|
||||
private static final int RSSI = -55;
|
||||
private static final int TX_LINK_SPEED = 123;
|
||||
private static final int RX_LINK_SPEED = 54;
|
||||
private static final String SSID = "ssid";
|
||||
private static final String MAC_ADDRESS = WifiInfo.DEFAULT_MAC_ADDRESS;
|
||||
private static final String SECURITY = "None";
|
||||
|
||||
@@ -154,6 +155,8 @@ public class WifiDetailPreferenceControllerTest {
|
||||
@Mock
|
||||
private Preference mockSecurityPref;
|
||||
@Mock
|
||||
private Preference mockSsidPref;
|
||||
@Mock
|
||||
private Preference mockMacAddressPref;
|
||||
@Mock
|
||||
private Preference mockIpAddressPref;
|
||||
@@ -245,6 +248,7 @@ public class WifiDetailPreferenceControllerTest {
|
||||
when(mockAccessPoint.getConfig()).thenReturn(mockWifiConfig);
|
||||
when(mockAccessPoint.getLevel()).thenReturn(LEVEL);
|
||||
when(mockAccessPoint.getSecurityString(false)).thenReturn(SECURITY);
|
||||
when(mockAccessPoint.getSsidStr()).thenReturn(SSID);
|
||||
when(mockConnectivityManager.getNetworkInfo(any(Network.class)))
|
||||
.thenReturn(mockNetworkInfo);
|
||||
doNothing().when(mockConnectivityManager).registerNetworkCallback(
|
||||
@@ -314,6 +318,8 @@ public class WifiDetailPreferenceControllerTest {
|
||||
.thenReturn(mockFrequencyPref);
|
||||
when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_SECURITY_PREF))
|
||||
.thenReturn(mockSecurityPref);
|
||||
when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_SSID_PREF))
|
||||
.thenReturn(mockSsidPref);
|
||||
when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_MAC_ADDRESS_PREF))
|
||||
.thenReturn(mockMacAddressPref);
|
||||
when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_IP_ADDRESS_PREF))
|
||||
@@ -462,6 +468,50 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockRxLinkSpeedPref).setVisible(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ssidPref_shouldHaveDetailTextSet() {
|
||||
when(mockAccessPoint.isPasspoint()).thenReturn(true);
|
||||
when(mockAccessPoint.isOsuProvider()).thenReturn(false);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSsidPref, times(1)).setSummary(SSID);
|
||||
|
||||
when(mockAccessPoint.isPasspoint()).thenReturn(false);
|
||||
when(mockAccessPoint.isOsuProvider()).thenReturn(true);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSsidPref, times(2)).setSummary(SSID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ssidPref_shouldShowIfPasspointOrOsu() {
|
||||
when(mockAccessPoint.isPasspoint()).thenReturn(true);
|
||||
when(mockAccessPoint.isOsuProvider()).thenReturn(false);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSsidPref, times(1)).setVisible(true);
|
||||
|
||||
when(mockAccessPoint.isPasspoint()).thenReturn(false);
|
||||
when(mockAccessPoint.isOsuProvider()).thenReturn(true);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSsidPref, times(2)).setVisible(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ssidPref_shouldNotShowIfNotPasspoint() {
|
||||
when(mockAccessPoint.isPasspoint()).thenReturn(false);
|
||||
when(mockAccessPoint.isOsuProvider()).thenReturn(false);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSsidPref).setVisible(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void macAddressPref_shouldHaveDetailTextSet() {
|
||||
displayAndResume();
|
||||
|
Reference in New Issue
Block a user