Merge "Fix Calls/SMS default SIM selector" into qt-dev am: 7af299c604
am: 24ebff2ff3
am: 40a63920f5
Change-Id: Icd3286369b6ff0abd9eccfc75cedc2b8acc8f544
This commit is contained in:
@@ -121,6 +121,11 @@ public abstract class DefaultSubscriptionController extends BasePreferenceContro
|
|||||||
}
|
}
|
||||||
mPreference.setVisible(true);
|
mPreference.setVisible(true);
|
||||||
|
|
||||||
|
// TODO(b/135142209) - for now we need to manually ensure we're registered as a change
|
||||||
|
// listener, because this might not have happened during displayPreference if
|
||||||
|
// getAvailabilityStatus returned CONDITIONALLY_UNAVAILABLE at the time.
|
||||||
|
mPreference.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
|
final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
|
||||||
|
|
||||||
// We'll have one entry for each available subscription, plus one for a "ask me every
|
// We'll have one entry for each available subscription, plus one for a "ask me every
|
||||||
|
@@ -203,6 +203,28 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
eq(SubscriptionManager.INVALID_SUBSCRIPTION_ID));
|
eq(SubscriptionManager.INVALID_SUBSCRIPTION_ID));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onPreferenceChange_prefBecomesAvailable_onPreferenceChangeCallbackNotNull() {
|
||||||
|
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||||
|
final SubscriptionInfo sub2 = createMockSub(222, "sub2");
|
||||||
|
|
||||||
|
// Start with only one sub active, so the pref is not available
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
||||||
|
doReturn(sub1.getSubscriptionId()).when(mController).getDefaultSubscriptionId();
|
||||||
|
|
||||||
|
mController.displayPreference(mScreen);
|
||||||
|
assertThat(mController.isAvailable()).isFalse();
|
||||||
|
|
||||||
|
// Now make two subs be active - the pref should become available, and the
|
||||||
|
// onPreferenceChange callback should be properly wired up.
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||||
|
mController.onSubscriptionsChanged();
|
||||||
|
assertThat(mController.isAvailable()).isTrue();
|
||||||
|
assertThat(mListPreference.getOnPreferenceChangeListener()).isEqualTo(mController);
|
||||||
|
mListPreference.callChangeListener("222");
|
||||||
|
verify(mController).setDefaultSubscription(eq(222));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onSubscriptionsChanged_twoSubscriptionsDefaultChanges_selectedEntryGetsUpdated() {
|
public void onSubscriptionsChanged_twoSubscriptionsDefaultChanges_selectedEntryGetsUpdated() {
|
||||||
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
final SubscriptionInfo sub1 = createMockSub(111, "sub1");
|
||||||
|
Reference in New Issue
Block a user