diff --git a/res/xml/wifi_network_details_fragment.xml b/res/xml/wifi_network_details_fragment.xml
index dbbf0c37708..09bcf863747 100644
--- a/res/xml/wifi_network_details_fragment.xml
+++ b/res/xml/wifi_network_details_fragment.xml
@@ -34,40 +34,52 @@
+ android:title="@string/wifi_signal"
+ android:selectable="false"/>
+ android:title="@string/wifi_frequency"
+ android:selectable="false"/>
+ android:title="@string/wifi_security"
+ android:selectable="false"/>
-
+
+ android:title="@string/wifi_setup_detail">
+ android:title="@string/wifi_ip_address"
+ android:selectable="false"/>
+ android:title="@string/wifi_gateway"
+ android:selectable="false"/>
+ android:title="@string/wifi_details_subnet_mask"
+ android:selectable="false"/>
+ android:title="@string/wifi_details_dns"
+ android:selectable="false"/>
+
+ android:title="@string/wifi_details_ipv6_address_header"
+ android:selectable="false"/>
diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
index d0e21e9269a..85c0929912f 100644
--- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
@@ -59,6 +59,8 @@ public class WifiDetailPreferenceController extends PreferenceController impleme
@VisibleForTesting
static final String KEY_SIGNAL_STRENGTH_PREF = "signal_strength";
@VisibleForTesting
+ static final String KEY_LINK_SPEED = "link_speed";
+ @VisibleForTesting
static final String KEY_FREQUENCY_PREF = "frequency";
@VisibleForTesting
static final String KEY_SECURITY_PREF = "security";
@@ -85,6 +87,7 @@ public class WifiDetailPreferenceController extends PreferenceController impleme
// Preferences - in order of appearance
private Preference mConnectionDetailPref;
private WifiDetailPreference mSignalStrengthPref;
+ private WifiDetailPreference mLinkSpeedPref;
private WifiDetailPreference mFrequencyPref;
private WifiDetailPreference mSecurityPref;
private WifiDetailPreference mIpAddressPref;
@@ -128,6 +131,7 @@ public class WifiDetailPreferenceController extends PreferenceController impleme
mSignalStrengthPref =
(WifiDetailPreference) screen.findPreference(KEY_SIGNAL_STRENGTH_PREF);
+ mLinkSpeedPref = (WifiDetailPreference) screen.findPreference(KEY_LINK_SPEED);
mFrequencyPref = (WifiDetailPreference) screen.findPreference(KEY_FREQUENCY_PREF);
mSecurityPref = (WifiDetailPreference) screen.findPreference(KEY_SECURITY_PREF);
@@ -178,6 +182,10 @@ public class WifiDetailPreferenceController extends PreferenceController impleme
int summarySignalLevel = mAccessPoint.getLevel();
mSignalStrengthPref.setDetailText(mSignalStr[summarySignalLevel]);
+ // Link Speed Pref
+ mLinkSpeedPref.setDetailText(mContext.getString(
+ R.string.link_speed, mWifiInfo.getLinkSpeed()));
+
// Frequency Pref
final int frequency = mWifiInfo.getFrequency();
String band = null;
diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
index 88a63b37f3e..0a12ebfbf47 100644
--- a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
@@ -54,6 +54,7 @@ public class WifiDetailPreferenceControllerTest {
private static final int LEVEL = 1;
private static final int RSSI = -55;
+ private static final int LINK_SPEED = 123;
private static final String SECURITY = "None";
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -67,6 +68,7 @@ public class WifiDetailPreferenceControllerTest {
@Mock private Preference mockConnectionDetailPref;
@Mock private WifiDetailPreference mockSignalStrengthPref;
+ @Mock private WifiDetailPreference mockLinkSpeedPref;
@Mock private WifiDetailPreference mockFrequencyPref;
@Mock private WifiDetailPreference mockSecurityPref;
@Mock private WifiDetailPreference mockIpAddressPref;
@@ -97,6 +99,7 @@ public class WifiDetailPreferenceControllerTest {
setupMockedPreferenceScreen();
when(mockWifiInfo.getRssi()).thenReturn(RSSI);
+ when(mockWifiInfo.getLinkSpeed()).thenReturn(LINK_SPEED);
when(mockWifiManager.getConnectionInfo()).thenReturn(mockWifiInfo);
}
@@ -106,6 +109,8 @@ public class WifiDetailPreferenceControllerTest {
.thenReturn(mockConnectionDetailPref);
when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_SIGNAL_STRENGTH_PREF))
.thenReturn(mockSignalStrengthPref);
+ when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_LINK_SPEED))
+ .thenReturn(mockLinkSpeedPref);
when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_FREQUENCY_PREF))
.thenReturn(mockFrequencyPref);
when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_SECURITY_PREF))
@@ -178,6 +183,15 @@ public class WifiDetailPreferenceControllerTest {
verify(mockSignalStrengthPref).setDetailText(expectedStrength);
}
+ @Test
+ public void linkSpeedPref_shouldHaveDetailTextSet() {
+ String expectedLinkSpeed = mContext.getString(R.string.link_speed, LINK_SPEED);
+
+ mController.onResume();
+
+ verify(mockLinkSpeedPref).setDetailText(expectedLinkSpeed);
+ }
+
@Test
public void forgetNetwork_ephemeral() {
WifiConfiguration wifiConfiguration = new WifiConfiguration();