summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNate Jiang <qiangjiang@google.com>2022-05-18 12:51:24 -0700
committerNate Jiang <qiangjiang@google.com>2022-05-19 09:56:30 -0700
commit3da0cb395dc284dff51f6dccb5564524800c4cb9 (patch)
treefcdaa1610f4d10f0d7eee01efdd4127351fdb089
parent5bf5eeb4bc77e60ee27a2b9f1b0c7252f00a08ea (diff)
downloadwifi-3da0cb395dc284dff51f6dccb5564524800c4cb9.tar.gz
Do not show IMSI encryption warning for PEAP network
Bug: 233085666 Test: atest WifiTrackerLibTests Change-Id: Ide3c34f04eda04638df8a46028c4dd268647ce74
-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";