Avoid launching captive portal pages when uri is empty

- If uri is empty it will cause ActivityNotFoundException when calling startActivity

Bug: 363782926
Flag: EXEMPT bugfix
Test: Manual testing
atest -c WifiDetailPreferenceController2Test

Change-Id: I48b9a53afe08a7c5e8e512c1961d6aea22a12a21
This commit is contained in:
Weng Su
2024-09-16 16:51:12 +08:00
parent d88ab26776
commit 0256fe816d
2 changed files with 32 additions and 6 deletions

View File

@@ -137,6 +137,7 @@ public class WifiDetailPreferenceController2Test {
private static final String FACTORY_MAC_ADDRESS = "FACTORY_MAC_ADDRESS";
private static final String SECURITY = "None";
private static final String FQDN = "fqdn";
private static final Uri TEST_URI = Uri.parse("content://test/test");
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private PreferenceScreen mMockScreen;
@@ -1876,6 +1877,24 @@ public class WifiDetailPreferenceController2Test {
verify(mMockSignalStrengthPref).setTitle(R.string.hotspot_connection_strength);
}
@Test
public void launchCaptivePortal_uriNull_doNothing() {
setUpSpyController();
mController.launchCaptivePortal(null);
verify(mContext, never()).startActivity(any());
}
@Test
public void launchCaptivePortal_uriNotNull_startActivity() {
setUpSpyController();
mController.launchCaptivePortal(TEST_URI);
verify(mContext).startActivity(any());
}
private SubscriptionInfo mockSubscriptionInfo(int subId, String displayName, int carrierId) {
SubscriptionInfo info = mock(SubscriptionInfo.class);
when(info.getSubscriptionId()).thenReturn(subId);