summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-05-19 22:02:48 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-05-19 22:02:48 +0000
commit872470d14b0d74dd3aa347f6ba633571356f3f51 (patch)
treefcdaa1610f4d10f0d7eee01efdd4127351fdb089
parenteeeef7df175d926bca1ef59ef903a707b8728282 (diff)
parent3da0cb395dc284dff51f6dccb5564524800c4cb9 (diff)
downloadwifi-872470d14b0d74dd3aa347f6ba633571356f3f51.tar.gz
Snap for 8617783 from 3da0cb395dc284dff51f6dccb5564524800c4cb9 to tm-frc-adbd-release
Change-Id: I1b56873775ceaa2f4e6a2694ff7457b8f3e12a3d
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java7
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/UtilsTest.java38
2 files changed, 44 insertions, 1 deletions
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
index 26807b039..7c59e9043 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
@@ -595,6 +595,10 @@ public class Utils {
return name.toString();
}
+ static boolean isServerCertUsedNetwork(@NonNull WifiConfiguration config) {
+ return config.enterpriseConfig != null && config.enterpriseConfig
+ .isEapMethodServerCertUsed();
+ }
static boolean isSimCredential(@NonNull WifiConfiguration config) {
return config.enterpriseConfig != null
&& config.enterpriseConfig.isAuthenticationSimBased();
@@ -651,7 +655,8 @@ public class Utils {
static CharSequence getImsiProtectionDescription(Context context,
@Nullable WifiConfiguration wifiConfig) {
- if (context == null || wifiConfig == null || !isSimCredential(wifiConfig)) {
+ if (context == null || wifiConfig == null || !isSimCredential(wifiConfig)
+ || isServerCertUsedNetwork(wifiConfig)) {
return "";
}
int subId;
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/UtilsTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/UtilsTest.java
index 6b2a7e365..5d4d495e5 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/UtilsTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/UtilsTest.java
@@ -114,6 +114,8 @@ public class UtilsTest {
mTestHandler = new Handler(testLooper.getLooper());
when(mMockContext.getResources()).thenReturn(mMockResources);
when(mMockContext.getString(R.string.wifitrackerlib_summary_separator)).thenReturn("/");
+ when(mMockContext.getText(R.string.wifitrackerlib_imsi_protection_warning))
+ .thenReturn("IMSI");
when(mMockContext.getSystemService(Context.CARRIER_CONFIG_SERVICE))
.thenReturn(mCarrierConfigManager);
when(mMockContext.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE))
@@ -355,12 +357,48 @@ public class UtilsTest {
final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class);
final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
when(mockWifiEnterpriseConfig.isAuthenticationSimBased()).thenReturn(true);
+ when(mockWifiEnterpriseConfig.getEapMethod()).thenReturn(WifiEnterpriseConfig.Eap.AKA);
mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig;
assertEquals(getImsiProtectionDescription(mMockContext, mockWifiConfig).toString(), "");
}
@Test
+ public void testGetImsiProtectionDescription() {
+ List<SubscriptionInfo> subscriptionInfoList = new ArrayList<>();
+ SubscriptionInfo subscriptionInfo = mock(SubscriptionInfo.class);
+ when(subscriptionInfo.getCarrierId()).thenReturn(TEST_CARRIER_ID);
+ subscriptionInfoList.add(subscriptionInfo);
+ when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(subscriptionInfoList);
+ final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class);
+ final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
+ when(mockWifiEnterpriseConfig.isAuthenticationSimBased()).thenReturn(true);
+ when(mockWifiEnterpriseConfig.getEapMethod()).thenReturn(WifiEnterpriseConfig.Eap.AKA);
+ mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig;
+ mockWifiConfig.carrierId = TEST_CARRIER_ID;
+
+ assertFalse(getImsiProtectionDescription(mMockContext, mockWifiConfig).toString()
+ .isEmpty());
+ }
+
+ @Test
+ public void testGetImsiProtectionDescription_serverCertNetwork_returnEmptyString() {
+ List<SubscriptionInfo> subscriptionInfoList = new ArrayList<>();
+ SubscriptionInfo subscriptionInfo = mock(SubscriptionInfo.class);
+ when(subscriptionInfo.getCarrierId()).thenReturn(TEST_CARRIER_ID);
+ subscriptionInfoList.add(subscriptionInfo);
+ when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(subscriptionInfoList);
+ final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class);
+ final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
+ when(mockWifiEnterpriseConfig.isAuthenticationSimBased()).thenReturn(true);
+ when(mockWifiEnterpriseConfig.isEapMethodServerCertUsed()).thenReturn(true);
+ mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig;
+ mockWifiConfig.carrierId = TEST_CARRIER_ID;
+
+ assertEquals("", getImsiProtectionDescription(mMockContext, mockWifiConfig).toString());
+ }
+
+ @Test
public void testLinkifyAnnotation_noAnnotation_returnOriginalText() {
final CharSequence testText = "test text";