Merge "Check isWfcProvisionedOnDevice in WifiCallingSettings" into qt-dev am: 3288037bd2
am: e4e1f08781
Change-Id: I5142d6a71e16dca999c4370ab65a371d90563aed
This commit is contained in:
@@ -199,6 +199,12 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
|
|||||||
return imsManager.isWfcEnabledByPlatform();
|
return imsManager.isWfcEnabledByPlatform();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
boolean isWfcProvisionedOnDevice(SubscriptionInfo info) {
|
||||||
|
ImsManager imsManager = ImsManager.getInstance(getActivity(), info.getSimSlotIndex());
|
||||||
|
return imsManager.isWfcProvisionedOnDevice();
|
||||||
|
}
|
||||||
|
|
||||||
private void updateSubList() {
|
private void updateSubList() {
|
||||||
mSil = SubscriptionUtil.getActiveSubscriptions(
|
mSil = SubscriptionUtil.getActiveSubscriptions(
|
||||||
getContext().getSystemService(SubscriptionManager.class));
|
getContext().getSystemService(SubscriptionManager.class));
|
||||||
@@ -208,7 +214,8 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < mSil.size(); ) {
|
for (int i = 0; i < mSil.size(); ) {
|
||||||
if (!isWfcEnabledByPlatform(mSil.get(i))) {
|
final SubscriptionInfo info = mSil.get(i);
|
||||||
|
if (!isWfcEnabledByPlatform(info) || !isWfcProvisionedOnDevice(info)) {
|
||||||
mSil.remove(i);
|
mSil.remove(i);
|
||||||
} else {
|
} else {
|
||||||
i++;
|
i++;
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings.wifi.calling;
|
|||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.ArgumentMatchers.eq;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
@@ -106,4 +107,30 @@ public class WifiCallingSettingsTest {
|
|||||||
(WifiCallingSettings.WifiCallingViewPagerAdapter) pager.getAdapter();
|
(WifiCallingSettings.WifiCallingViewPagerAdapter) pager.getAdapter();
|
||||||
assertThat(adapter.getCount()).isEqualTo(2);
|
assertThat(adapter.getCount()).isEqualTo(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setupFragment_twoSubscriptionsOneNotProvisionedOnDevice_oneResult() {
|
||||||
|
SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
||||||
|
SubscriptionInfo info2 = mock(SubscriptionInfo.class);
|
||||||
|
when(info1.getSubscriptionId()).thenReturn(111);
|
||||||
|
when(info2.getSubscriptionId()).thenReturn(222);
|
||||||
|
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(new ArrayList<>(
|
||||||
|
Arrays.asList(info1, info2)));
|
||||||
|
doReturn(true).when(mFragment).isWfcEnabledByPlatform(any(SubscriptionInfo.class));
|
||||||
|
doReturn(false).when(mFragment).isWfcProvisionedOnDevice(eq(info2));
|
||||||
|
|
||||||
|
Intent intent = new Intent();
|
||||||
|
intent.putExtra(Settings.EXTRA_SUB_ID, info1.getSubscriptionId());
|
||||||
|
FragmentController.of(mFragment, intent).create(0 /* containerViewId*/,
|
||||||
|
null /* bundle */).start().resume().visible().get();
|
||||||
|
|
||||||
|
View view = mFragment.getView();
|
||||||
|
RtlCompatibleViewPager pager = view.findViewById(R.id.view_pager);
|
||||||
|
assertThat(pager.getCurrentItem()).isEqualTo(0);
|
||||||
|
|
||||||
|
WifiCallingSettings.WifiCallingViewPagerAdapter adapter =
|
||||||
|
(WifiCallingSettings.WifiCallingViewPagerAdapter) pager.getAdapter();
|
||||||
|
assertThat(adapter.getCount()).isEqualTo(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user