Use active instead of available subscriptions in 2 places
In a couple of places we were showing DSDS UI using the list of *available* subscriptions instead of the list of *active* ones. This difference is relevant for instance if you have multiple eSIM profiles - in typical hardware only one of those can be active at one time. This CL fixes that problem in two places: 1) The header at the top of the Network & internet page 2) The ListPreference's on the mobile network detail page for selecting the default subscription for Calls / SMS. Fixes: 129673046 Test: make RunSettingsRoboTests Change-Id: I891c856bdd4516286fcee1067684d9161ceaca80
This commit is contained in:
@@ -27,16 +27,33 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public class SubscriptionUtil {
|
||||
private static List<SubscriptionInfo> sResultsForTesting;
|
||||
private static List<SubscriptionInfo> sAvailableResultsForTesting;
|
||||
private static List<SubscriptionInfo> sActiveResultsForTesting;
|
||||
|
||||
@VisibleForTesting
|
||||
public static void setAvailableSubscriptionsForTesting(List<SubscriptionInfo> results) {
|
||||
sResultsForTesting = results;
|
||||
sAvailableResultsForTesting = results;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
public static void setActiveSubscriptionsForTesting(List<SubscriptionInfo> results) {
|
||||
sActiveResultsForTesting = results;
|
||||
}
|
||||
|
||||
public static List<SubscriptionInfo> getActiveSubscriptions(SubscriptionManager manager) {
|
||||
if (sActiveResultsForTesting != null) {
|
||||
return sActiveResultsForTesting;
|
||||
}
|
||||
List<SubscriptionInfo> subscriptions = manager.getActiveSubscriptionInfoList(true);
|
||||
if (subscriptions == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return subscriptions;
|
||||
}
|
||||
|
||||
public static List<SubscriptionInfo> getAvailableSubscriptions(SubscriptionManager manager) {
|
||||
if (sResultsForTesting != null) {
|
||||
return sResultsForTesting;
|
||||
if (sAvailableResultsForTesting != null) {
|
||||
return sAvailableResultsForTesting;
|
||||
}
|
||||
List<SubscriptionInfo> subscriptions = manager.getSelectableSubscriptionInfoList();
|
||||
if (subscriptions == null) {
|
||||
|
@@ -129,7 +129,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
||||
mSubscriptionPreferences = new ArrayMap<>();
|
||||
|
||||
int order = mStartOrder;
|
||||
for (SubscriptionInfo info : SubscriptionUtil.getAvailableSubscriptions(mManager)) {
|
||||
for (SubscriptionInfo info : SubscriptionUtil.getActiveSubscriptions(mManager)) {
|
||||
final int subId = info.getSubscriptionId();
|
||||
Preference pref = existingPrefs.remove(subId);
|
||||
if (pref == null) {
|
||||
@@ -216,7 +216,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
||||
if (mSubscriptionsListener.isAirplaneModeOn()) {
|
||||
return false;
|
||||
}
|
||||
return SubscriptionUtil.getAvailableSubscriptions(mManager).size() >= 2;
|
||||
return SubscriptionUtil.getActiveSubscriptions(mManager).size() >= 2;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -75,7 +75,7 @@ public abstract class DefaultSubscriptionController extends BasePreferenceContro
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
final List<SubscriptionInfo> subs = SubscriptionUtil.getAvailableSubscriptions(mManager);
|
||||
final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
|
||||
if (subs.size() > 1) {
|
||||
return AVAILABLE;
|
||||
} else {
|
||||
@@ -121,7 +121,7 @@ public abstract class DefaultSubscriptionController extends BasePreferenceContro
|
||||
}
|
||||
mPreference.setVisible(true);
|
||||
|
||||
final List<SubscriptionInfo> subs = SubscriptionUtil.getAvailableSubscriptions(mManager);
|
||||
final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
|
||||
|
||||
// We'll have one entry for each available subscription, plus one for a "ask me every
|
||||
// time" entry at the end.
|
||||
|
@@ -18,6 +18,7 @@ package com.android.settings.network;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -108,4 +109,32 @@ public class SubscriptionUtilTest {
|
||||
assertThat(subs.get(0).getSubscriptionId()).isEqualTo(1);
|
||||
assertThat(subs.get(1).getSubscriptionId()).isEqualTo(4);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getActiveSubscriptions_nullInfoFromSubscriptionManager_nonNullResult() {
|
||||
when(mManager.getActiveSubscriptionInfoList(anyBoolean())).thenReturn(null);
|
||||
final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
|
||||
assertThat(subs).isNotNull();
|
||||
assertThat(subs).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getActiveSubscriptions_oneSubscription_oneResult() {
|
||||
final SubscriptionInfo info = mock(SubscriptionInfo.class);
|
||||
when(mManager.getActiveSubscriptionInfoList(anyBoolean())).thenReturn(Arrays.asList(info));
|
||||
final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
|
||||
assertThat(subs).isNotNull();
|
||||
assertThat(subs).hasSize(1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getActiveSubscriptions_twoSubscriptions_twoResults() {
|
||||
final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
|
||||
final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
|
||||
when(mManager.getActiveSubscriptionInfoList(anyBoolean())).thenReturn(
|
||||
Arrays.asList(info1, info2));
|
||||
final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
|
||||
assertThat(subs).isNotNull();
|
||||
assertThat(subs).hasSize(2);
|
||||
}
|
||||
}
|
||||
|
@@ -103,19 +103,19 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(null);
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAvailable_oneSubscription_availableFalse() {
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(
|
||||
Arrays.asList(mock(SubscriptionInfo.class)));
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAvailable_twoSubscriptions_availableTrue() {
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(
|
||||
Arrays.asList(mock(SubscriptionInfo.class), mock(SubscriptionInfo.class)));
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
}
|
||||
@@ -126,13 +126,13 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
subs.add(mock(SubscriptionInfo.class));
|
||||
}
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(subs);
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(subs);
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAvailable_airplaneModeOn_availableFalse() {
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(
|
||||
Arrays.asList(mock(SubscriptionInfo.class), mock(SubscriptionInfo.class)));
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1);
|
||||
@@ -141,7 +141,7 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void onAirplaneModeChanged_airplaneModeTurnedOn_eventFired() {
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(
|
||||
Arrays.asList(mock(SubscriptionInfo.class), mock(SubscriptionInfo.class)));
|
||||
mController.onResume();
|
||||
mController.displayPreference(mScreen);
|
||||
@@ -157,7 +157,7 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
@Test
|
||||
public void onAirplaneModeChanged_airplaneModeTurnedOff_eventFired() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1);
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(
|
||||
Arrays.asList(mock(SubscriptionInfo.class), mock(SubscriptionInfo.class)));
|
||||
mController.onResume();
|
||||
mController.displayPreference(mScreen);
|
||||
@@ -174,13 +174,13 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
public void onSubscriptionsChanged_countBecameTwo_eventFired() {
|
||||
final SubscriptionInfo sub1 = mock(SubscriptionInfo.class);
|
||||
final SubscriptionInfo sub2 = mock(SubscriptionInfo.class);
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
||||
mController.onResume();
|
||||
mController.displayPreference(mScreen);
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
|
||||
final int updateCountBeforeSubscriptionChange = mOnChildUpdatedCount;
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
mController.onSubscriptionsChanged();
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
assertThat(mOnChildUpdatedCount).isEqualTo(updateCountBeforeSubscriptionChange + 1);
|
||||
@@ -192,14 +192,14 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
final SubscriptionInfo sub2 = mock(SubscriptionInfo.class);
|
||||
when(sub1.getSubscriptionId()).thenReturn(1);
|
||||
when(sub2.getSubscriptionId()).thenReturn(2);
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
mController.onResume();
|
||||
mController.displayPreference(mScreen);
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
verify(mPreferenceCategory, times(2)).addPreference(any(Preference.class));
|
||||
|
||||
final int updateCountBeforeSubscriptionChange = mOnChildUpdatedCount;
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
||||
mController.onSubscriptionsChanged();
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
assertThat(mOnChildUpdatedCount).isEqualTo(updateCountBeforeSubscriptionChange + 1);
|
||||
@@ -221,7 +221,7 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
when(sub3.getSubscriptionId()).thenReturn(3);
|
||||
|
||||
// Start out with only sub1 and sub2.
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
mController.onResume();
|
||||
mController.displayPreference(mScreen);
|
||||
final ArgumentCaptor<Preference> captor = ArgumentCaptor.forClass(Preference.class);
|
||||
@@ -233,7 +233,7 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
// Now replace sub2 with sub3, and make sure the old preference was removed and the new
|
||||
// preference was added.
|
||||
final int updateCountBeforeSubscriptionChange = mOnChildUpdatedCount;
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub3));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub3));
|
||||
mController.onSubscriptionsChanged();
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
assertThat(mOnChildUpdatedCount).isEqualTo(updateCountBeforeSubscriptionChange + 1);
|
||||
@@ -259,7 +259,7 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
doReturn(i + 1).when(sub).getSubscriptionId();
|
||||
subscriptions.add(sub);
|
||||
}
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(subscriptions);
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(subscriptions);
|
||||
mController.displayPreference(mScreen);
|
||||
final ArgumentCaptor<Preference> prefCaptor = ArgumentCaptor.forClass(Preference.class);
|
||||
verify(mPreferenceCategory, times(subscriptionCount)).addPreference(prefCaptor.capture());
|
||||
@@ -303,7 +303,7 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
final SubscriptionInfo sub2 = mock(SubscriptionInfo.class);
|
||||
when(sub1.getSubscriptionId()).thenReturn(11);
|
||||
when(sub2.getSubscriptionId()).thenReturn(22);
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
|
||||
ShadowSubscriptionManager.setDefaultDataSubscriptionId(11);
|
||||
ShadowSubscriptionManager.setDefaultSmsSubscriptionId(11);
|
||||
@@ -324,7 +324,7 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
final SubscriptionInfo sub2 = mock(SubscriptionInfo.class);
|
||||
when(sub1.getSubscriptionId()).thenReturn(11);
|
||||
when(sub2.getSubscriptionId()).thenReturn(22);
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
|
||||
ShadowSubscriptionManager.setDefaultVoiceSubscriptionId(11);
|
||||
ShadowSubscriptionManager.setDefaultSmsSubscriptionId(11);
|
||||
@@ -346,7 +346,7 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
final SubscriptionInfo sub2 = mock(SubscriptionInfo.class);
|
||||
when(sub1.getSubscriptionId()).thenReturn(11);
|
||||
when(sub2.getSubscriptionId()).thenReturn(22);
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
|
||||
ShadowSubscriptionManager.setDefaultDataSubscriptionId(11);
|
||||
ShadowSubscriptionManager.setDefaultSmsSubscriptionId(22);
|
||||
|
@@ -73,19 +73,19 @@ public class DefaultSubscriptionControllerTest {
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(null);
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_onlyOneSubscription_notAvailable() {
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(
|
||||
createMockSub(1, "sub1")));
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_twoSubscriptions_isAvailable() {
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(
|
||||
createMockSub(1, "sub1"),
|
||||
createMockSub(2, "sub2")));
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
|
||||
@@ -95,7 +95,7 @@ public class DefaultSubscriptionControllerTest {
|
||||
public void displayPreference_twoSubscriptionsSub1Default_correctListPreferenceValues() {
|
||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
doReturn(sub1.getSubscriptionId()).when(mController).getDefaultSubscriptionId();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
@@ -123,7 +123,7 @@ public class DefaultSubscriptionControllerTest {
|
||||
public void displayPreference_twoSubscriptionsSub2Default_correctListPreferenceValues() {
|
||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
doReturn(sub2.getSubscriptionId()).when(mController).getDefaultSubscriptionId();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
@@ -156,7 +156,7 @@ public class DefaultSubscriptionControllerTest {
|
||||
// Mark sub2 as opportunistic; then it should not appear in the list of entries/entryValues.
|
||||
when(sub2.isOpportunistic()).thenReturn(true);
|
||||
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2, sub3));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2, sub3));
|
||||
doReturn(sub1.getSubscriptionId()).when(mController).getDefaultSubscriptionId();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
@@ -179,7 +179,7 @@ public class DefaultSubscriptionControllerTest {
|
||||
public void onPreferenceChange_prefChangedToSub2_callbackCalledCorrectly() {
|
||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
doReturn(sub1.getSubscriptionId()).when(mController).getDefaultSubscriptionId();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
@@ -192,7 +192,7 @@ public class DefaultSubscriptionControllerTest {
|
||||
public void onPreferenceChange_prefChangedToAlwaysAsk_callbackCalledCorrectly() {
|
||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
doReturn(sub1.getSubscriptionId()).when(mController).getDefaultSubscriptionId();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
@@ -207,7 +207,7 @@ public class DefaultSubscriptionControllerTest {
|
||||
public void onSubscriptionsChanged_twoSubscriptionsDefaultChanges_selectedEntryGetsUpdated() {
|
||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
doReturn(sub1.getSubscriptionId()).when(mController).getDefaultSubscriptionId();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
@@ -224,14 +224,14 @@ public class DefaultSubscriptionControllerTest {
|
||||
public void onSubscriptionsChanged_goFromTwoSubscriptionsToOne_prefDisappears() {
|
||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
doReturn(sub1.getSubscriptionId()).when(mController).getDefaultSubscriptionId();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
assertThat(mListPreference.isVisible()).isTrue();
|
||||
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
||||
mController.onSubscriptionsChanged();
|
||||
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
@@ -242,14 +242,14 @@ public class DefaultSubscriptionControllerTest {
|
||||
public void onSubscriptionsChanged_goFromOneSubscriptionToTwo_prefAppears() {
|
||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
||||
doReturn(sub1.getSubscriptionId()).when(mController).getDefaultSubscriptionId();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
assertThat(mListPreference.isVisible()).isFalse();
|
||||
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
mController.onSubscriptionsChanged();
|
||||
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
@@ -261,13 +261,13 @@ public class DefaultSubscriptionControllerTest {
|
||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||
final SubscriptionInfo sub3 = createMockSub(333, "sub3");
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||
doReturn(sub1.getSubscriptionId()).when(mController).getDefaultSubscriptionId();
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
assertThat(mListPreference.getEntries().length).isEqualTo(3);
|
||||
|
||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2, sub3));
|
||||
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2, sub3));
|
||||
mController.onSubscriptionsChanged();
|
||||
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
|
Reference in New Issue
Block a user