Display WiFi Version number
- Display these type and hide the item in other case WIFI_STANDARD_11AX(6) WiFi 6 WIFI_STANDARD_11AC(5) WiFi 5 WIFI_STANDARD_11N (4) WiFi 4 -Screenshot https://photos.app.goo.gl/BbyZEQFyganEPfuw8 Bug: 117216087 Test: manual test make RunSettingsRoboTests ROBOTEST_FILTER=WifiDetailPreferenceController2Test Change-Id: Ic360e501d2e3bd80ce3bcb3ddf529ec5d00c1bcc
This commit is contained in:
@@ -2314,6 +2314,8 @@
|
|||||||
<string name="wifi_details_title">Network details</string>
|
<string name="wifi_details_title">Network details</string>
|
||||||
<!-- Wifi details preference title to display router IP subnet mask -->
|
<!-- Wifi details preference title to display router IP subnet mask -->
|
||||||
<string name="wifi_details_subnet_mask">Subnet mask</string>
|
<string name="wifi_details_subnet_mask">Subnet mask</string>
|
||||||
|
<!-- Wifi details preference title to display wifi type info [CHAR LIMIT=50]-->
|
||||||
|
<string name="wifi_type_title">TYPE</string>
|
||||||
<!-- Wifi details preference title to display router DNS info -->
|
<!-- Wifi details preference title to display router DNS info -->
|
||||||
<string name="wifi_details_dns">DNS</string>
|
<string name="wifi_details_dns">DNS</string>
|
||||||
<!-- Wifi details preference category title for IPv6 information -->
|
<!-- Wifi details preference category title for IPv6 information -->
|
||||||
@@ -2349,6 +2351,12 @@
|
|||||||
<string name="wifi_gateway">Gateway</string>
|
<string name="wifi_gateway">Gateway</string>
|
||||||
<!-- Label for the network prefix of the network [CHAR LIMIT=25]-->
|
<!-- Label for the network prefix of the network [CHAR LIMIT=25]-->
|
||||||
<string name="wifi_network_prefix_length">Network prefix length</string>
|
<string name="wifi_network_prefix_length">Network prefix length</string>
|
||||||
|
<!-- Summary for the WiFi Type WIFI_STANDARD_11AX [CHAR LIMIT=50]-->
|
||||||
|
<string name="wifi_type_11AX">Wi\u2011Fi 6</string>
|
||||||
|
<!-- Summary for the WiFi Type WIFI_STANDARD_11AC [CHAR LIMIT=50]-->
|
||||||
|
<string name="wifi_type_11AC">Wi\u2011Fi 5</string>
|
||||||
|
<!-- Summary for the WiFi Type WIFI_STANDARD_11N [CHAR LIMIT=50]-->
|
||||||
|
<string name="wifi_type_11N">Wi\u2011Fi 4</string>
|
||||||
|
|
||||||
<!-- Wi-Fi p2p / Wi-Fi Direct settings -->
|
<!-- Wi-Fi p2p / Wi-Fi Direct settings -->
|
||||||
<!-- Used in the 1st-level settings screen to launch Wi-fi Direct settings [CHAR LIMIT=25] -->
|
<!-- Used in the 1st-level settings screen to launch Wi-fi Direct settings [CHAR LIMIT=25] -->
|
||||||
|
@@ -100,6 +100,11 @@
|
|||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="ip_details_category"
|
android:key="ip_details_category"
|
||||||
android:title="@string/wifi_setup_detail">
|
android:title="@string/wifi_setup_detail">
|
||||||
|
<Preference
|
||||||
|
android:key="type"
|
||||||
|
android:title="@string/wifi_type_title"
|
||||||
|
android:selectable="false"
|
||||||
|
settings:enableCopying="true"/>
|
||||||
<Preference
|
<Preference
|
||||||
android:key="ssid"
|
android:key="ssid"
|
||||||
android:title="@string/wifi_advanced_ssid_title"
|
android:title="@string/wifi_advanced_ssid_title"
|
||||||
|
@@ -42,6 +42,7 @@ import android.net.NetworkInfo;
|
|||||||
import android.net.NetworkRequest;
|
import android.net.NetworkRequest;
|
||||||
import android.net.RouteInfo;
|
import android.net.RouteInfo;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.net.wifi.ScanResult;
|
||||||
import android.net.wifi.WifiConfiguration;
|
import android.net.wifi.WifiConfiguration;
|
||||||
import android.net.wifi.WifiInfo;
|
import android.net.wifi.WifiInfo;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
@@ -155,6 +156,8 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
static final String KEY_IPV6_CATEGORY = "ipv6_category";
|
static final String KEY_IPV6_CATEGORY = "ipv6_category";
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final String KEY_IPV6_ADDRESSES_PREF = "ipv6_addresses";
|
static final String KEY_IPV6_ADDRESSES_PREF = "ipv6_addresses";
|
||||||
|
@VisibleForTesting
|
||||||
|
static final String KEY_WIFI_TYPE_PREF = "type";
|
||||||
|
|
||||||
private final WifiEntry mWifiEntry;
|
private final WifiEntry mWifiEntry;
|
||||||
private final ConnectivityManager mConnectivityManager;
|
private final ConnectivityManager mConnectivityManager;
|
||||||
@@ -186,6 +189,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
private Preference mGatewayPref;
|
private Preference mGatewayPref;
|
||||||
private Preference mSubnetPref;
|
private Preference mSubnetPref;
|
||||||
private Preference mDnsPref;
|
private Preference mDnsPref;
|
||||||
|
private Preference mTypePref;
|
||||||
private PreferenceCategory mIpv6Category;
|
private PreferenceCategory mIpv6Category;
|
||||||
private Preference mIpv6AddressPref;
|
private Preference mIpv6AddressPref;
|
||||||
private Lifecycle mLifecycle;
|
private Lifecycle mLifecycle;
|
||||||
@@ -382,6 +386,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
mGatewayPref = screen.findPreference(KEY_GATEWAY_PREF);
|
mGatewayPref = screen.findPreference(KEY_GATEWAY_PREF);
|
||||||
mSubnetPref = screen.findPreference(KEY_SUBNET_MASK_PREF);
|
mSubnetPref = screen.findPreference(KEY_SUBNET_MASK_PREF);
|
||||||
mDnsPref = screen.findPreference(KEY_DNS_PREF);
|
mDnsPref = screen.findPreference(KEY_DNS_PREF);
|
||||||
|
mTypePref = screen.findPreference(KEY_WIFI_TYPE_PREF);
|
||||||
|
|
||||||
mIpv6Category = screen.findPreference(KEY_IPV6_CATEGORY);
|
mIpv6Category = screen.findPreference(KEY_IPV6_CATEGORY);
|
||||||
mIpv6AddressPref = screen.findPreference(KEY_IPV6_ADDRESSES_PREF);
|
mIpv6AddressPref = screen.findPreference(KEY_IPV6_ADDRESSES_PREF);
|
||||||
@@ -552,6 +557,8 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
refreshEapSimSubscription();
|
refreshEapSimSubscription();
|
||||||
// MAC Address Pref
|
// MAC Address Pref
|
||||||
refreshMacAddress();
|
refreshMacAddress();
|
||||||
|
// Wifi Type
|
||||||
|
refreshWifiType();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshRssiViews() {
|
private void refreshRssiViews() {
|
||||||
@@ -749,6 +756,36 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void refreshWifiType() {
|
||||||
|
final ConnectedInfo connectedInfo = mWifiEntry.getConnectedInfo();
|
||||||
|
if (connectedInfo == null) {
|
||||||
|
mTypePref.setVisible(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final int typeString = getWifiStandardTypeString(connectedInfo.wifiStandard);
|
||||||
|
if (typeString != -1) {
|
||||||
|
mTypePref.setSummary(typeString);
|
||||||
|
mTypePref.setVisible(true);
|
||||||
|
} else {
|
||||||
|
mTypePref.setVisible(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getWifiStandardTypeString(int wifiStandardType) {
|
||||||
|
Log.d(TAG, "Wifi Type " + wifiStandardType);
|
||||||
|
switch (wifiStandardType) {
|
||||||
|
case ScanResult.WIFI_STANDARD_11AX:
|
||||||
|
return R.string.wifi_type_11AX;
|
||||||
|
case ScanResult.WIFI_STANDARD_11AC:
|
||||||
|
return R.string.wifi_type_11AC;
|
||||||
|
case ScanResult.WIFI_STANDARD_11N:
|
||||||
|
return R.string.wifi_type_11N;
|
||||||
|
default:
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private int getMacAddressTitle() {
|
private int getMacAddressTitle() {
|
||||||
if (mWifiEntry.getPrivacy() == WifiEntry.PRIVACY_RANDOMIZED_MAC) {
|
if (mWifiEntry.getPrivacy() == WifiEntry.PRIVACY_RANDOMIZED_MAC) {
|
||||||
return mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED
|
return mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED
|
||||||
|
@@ -52,6 +52,7 @@ import android.net.NetworkInfo;
|
|||||||
import android.net.NetworkRequest;
|
import android.net.NetworkRequest;
|
||||||
import android.net.RouteInfo;
|
import android.net.RouteInfo;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.net.wifi.ScanResult;
|
||||||
import android.net.wifi.WifiConfiguration;
|
import android.net.wifi.WifiConfiguration;
|
||||||
import android.net.wifi.WifiEnterpriseConfig;
|
import android.net.wifi.WifiEnterpriseConfig;
|
||||||
import android.net.wifi.WifiInfo;
|
import android.net.wifi.WifiInfo;
|
||||||
@@ -83,6 +84,7 @@ import com.android.settingslib.widget.LayoutPreference;
|
|||||||
import com.android.wifitrackerlib.NetworkDetailsTracker;
|
import com.android.wifitrackerlib.NetworkDetailsTracker;
|
||||||
import com.android.wifitrackerlib.WifiEntry;
|
import com.android.wifitrackerlib.WifiEntry;
|
||||||
import com.android.wifitrackerlib.WifiEntry.ConnectCallback;
|
import com.android.wifitrackerlib.WifiEntry.ConnectCallback;
|
||||||
|
import com.android.wifitrackerlib.WifiEntry.ConnectedInfo;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -189,6 +191,8 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
@Mock
|
@Mock
|
||||||
private Preference mMockDnsPref;
|
private Preference mMockDnsPref;
|
||||||
@Mock
|
@Mock
|
||||||
|
private Preference mMockTypePref;
|
||||||
|
@Mock
|
||||||
private PreferenceCategory mMockIpv6Category;
|
private PreferenceCategory mMockIpv6Category;
|
||||||
@Mock
|
@Mock
|
||||||
private Preference mMockIpv6AddressesPref;
|
private Preference mMockIpv6AddressesPref;
|
||||||
@@ -390,6 +394,8 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
.thenReturn(mMockSubnetPref);
|
.thenReturn(mMockSubnetPref);
|
||||||
when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_DNS_PREF))
|
when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_DNS_PREF))
|
||||||
.thenReturn(mMockDnsPref);
|
.thenReturn(mMockDnsPref);
|
||||||
|
when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_WIFI_TYPE_PREF))
|
||||||
|
.thenReturn(mMockTypePref);
|
||||||
when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_IPV6_CATEGORY))
|
when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_IPV6_CATEGORY))
|
||||||
.thenReturn(mMockIpv6Category);
|
.thenReturn(mMockIpv6Category);
|
||||||
when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_IPV6_ADDRESSES_PREF))
|
when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_IPV6_ADDRESSES_PREF))
|
||||||
@@ -930,6 +936,44 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
verify(mMockDnsPref).setVisible(false);
|
verify(mMockDnsPref).setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onConnectedNetwork_getKnownNetworkType_visibleWifiTypePref() {
|
||||||
|
setUpForConnectedNetwork();
|
||||||
|
setUpSpyController();
|
||||||
|
setWifiType(ScanResult.WIFI_STANDARD_11AX);
|
||||||
|
|
||||||
|
displayAndResume();
|
||||||
|
|
||||||
|
verify(mMockTypePref).setSummary(R.string.wifi_type_11AX);
|
||||||
|
verify(mMockTypePref).setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onConnectedNetwork_getUnKnownNetworkType_invisibleWifiTypePref() {
|
||||||
|
setUpForConnectedNetwork();
|
||||||
|
setUpSpyController();
|
||||||
|
setWifiType(ScanResult.WIFI_STANDARD_UNKNOWN);
|
||||||
|
|
||||||
|
displayAndResume();
|
||||||
|
|
||||||
|
verify(mMockTypePref).setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onDisconnectedNetwork_resumeUI_invisibleWifiTypePref() {
|
||||||
|
setUpForDisconnectedNetwork();
|
||||||
|
|
||||||
|
displayAndResume();
|
||||||
|
|
||||||
|
verify(mMockTypePref).setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setWifiType(int type) {
|
||||||
|
ConnectedInfo connectedInfo = new ConnectedInfo();
|
||||||
|
connectedInfo.wifiStandard = type;
|
||||||
|
when(mMockWifiEntry.getConnectedInfo()).thenReturn(connectedInfo);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void noCurrentNetwork_shouldNotFinishActivityForConnectedNetwork() {
|
public void noCurrentNetwork_shouldNotFinishActivityForConnectedNetwork() {
|
||||||
setUpForConnectedNetwork();
|
setUpForConnectedNetwork();
|
||||||
|
Reference in New Issue
Block a user