diff options
author | Nate Jiang <qiangjiang@google.com> | 2022-05-18 12:51:24 -0700 |
---|---|---|
committer | Nate Jiang <qiangjiang@google.com> | 2022-05-19 09:56:30 -0700 |
commit | 3da0cb395dc284dff51f6dccb5564524800c4cb9 (patch) | |
tree | fcdaa1610f4d10f0d7eee01efdd4127351fdb089 | |
parent | 5bf5eeb4bc77e60ee27a2b9f1b0c7252f00a08ea (diff) | |
download | wifi-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.java | 7 | ||||
-rw-r--r-- | libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/UtilsTest.java | 38 |
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"; |