diff --git a/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java b/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java index 249c85542b0..eb833b1ae1b 100644 --- a/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java +++ b/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java @@ -26,25 +26,17 @@ import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity; public class CallsDefaultSubscriptionController extends DefaultSubscriptionController { - private SubscriptionInfoEntity mSubscriptionInfoEntity; - public CallsDefaultSubscriptionController(Context context, String preferenceKey, Lifecycle lifecycle, LifecycleOwner lifecycleOwner) { super(context, preferenceKey, lifecycle, lifecycleOwner); } - @Override - protected SubscriptionInfoEntity getDefaultSubscriptionInfo() { - return mSubscriptionInfoEntity; - } - @Override protected int getDefaultSubscriptionId() { int defaultCallSubId = SubscriptionManager.getDefaultVoiceSubscriptionId(); for (SubscriptionInfoEntity subInfo : mSubInfoEntityList) { int subId = subInfo.getSubId(); if (subInfo.isActiveSubscriptionId && subId == defaultCallSubId) { - mSubscriptionInfoEntity = subInfo; return subId; } } diff --git a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java index cb18b331c2a..206b3a9cc08 100644 --- a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java +++ b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java @@ -19,11 +19,7 @@ package com.android.settings.network.telephony; import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE; import static androidx.lifecycle.Lifecycle.Event.ON_RESUME; -import android.content.ComponentName; import android.content.Context; -import android.telecom.PhoneAccount; -import android.telecom.PhoneAccountHandle; -import android.telecom.TelecomManager; import android.telephony.SubscriptionManager; import android.view.View; @@ -57,15 +53,10 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere protected ListPreference mPreference; protected SubscriptionManager mManager; - protected TelecomManager mTelecomManager; protected MobileNetworkRepository mMobileNetworkRepository; protected LifecycleOwner mLifecycleOwner; private DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver; - private static final String EMERGENCY_ACCOUNT_HANDLE_ID = "E"; - private static final ComponentName PSTN_CONNECTION_SERVICE_COMPONENT = - new ComponentName("com.android.phone", - "com.android.services.telephony.TelephonyConnectionService"); private boolean mIsRtlMode; List mSubInfoEntityList = new ArrayList<>(); @@ -84,10 +75,6 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere } } - /** @return SubscriptionInfo for the default subscription for the service, or null if there - * isn't one. */ - protected abstract SubscriptionInfoEntity getDefaultSubscriptionInfo(); - /** @return the id of the default subscription for the service, or * SubscriptionManager.INVALID_SUBSCRIPTION_ID if there isn't one. */ protected abstract int getDefaultSubscriptionId(); @@ -125,6 +112,8 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mPreference = screen.findPreference(getPreferenceKey()); + // Set a summary placeholder to reduce flicker. + mPreference.setSummaryProvider(pref -> mContext.getString(R.string.summary_placeholder)); updateEntries(); } @@ -133,31 +122,11 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere // Currently, cannot use ListPreference.setSummary() when the summary contains user // generated string, because ListPreference.getSummary() is using String.format() to format // the summary when the summary is set by ListPreference.setSummary(). - if (preference != null) { + if (preference != null && !mSubInfoEntityList.isEmpty()) { preference.setSummaryProvider(pref -> getSummary()); } } - @Override - public CharSequence getSummary() { - final PhoneAccountHandle handle = getDefaultCallingAccountHandle(); - if ((handle != null) && (!isCallingAccountBindToSubscription(handle))) { - // display VoIP account in summary when configured through settings within dialer - return getLabelFromCallingAccount(handle); - } - final SubscriptionInfoEntity info = getDefaultSubscriptionInfo(); - if (info != null) { - // display subscription based account - return info.uniqueName; - } else { - if (isAskEverytimeSupported()) { - return mContext.getString(R.string.calls_and_sms_ask_every_time); - } else { - return ""; - } - } - } - @VisibleForTesting void updateEntries() { if (mPreference == null) { @@ -179,6 +148,7 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere final ArrayList displayNames = new ArrayList<>(); final ArrayList subscriptionIds = new ArrayList<>(); List list = getSubscriptionInfoList(); + if (list.isEmpty()) return; if (list.size() == 1) { mPreference.setEnabled(false); @@ -218,76 +188,6 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere } } - /** - * Get default calling account - * - * @return current calling account {@link PhoneAccountHandle} - */ - public PhoneAccountHandle getDefaultCallingAccountHandle() { - final PhoneAccountHandle currentSelectPhoneAccount = - getTelecomManager().getUserSelectedOutgoingPhoneAccount(); - if (currentSelectPhoneAccount == null) { - return null; - } - final List accountHandles = - getTelecomManager().getCallCapablePhoneAccounts(false); - final PhoneAccountHandle emergencyAccountHandle = new PhoneAccountHandle( - PSTN_CONNECTION_SERVICE_COMPONENT, EMERGENCY_ACCOUNT_HANDLE_ID); - if (currentSelectPhoneAccount.equals(emergencyAccountHandle)) { - return null; - } - for (PhoneAccountHandle handle : accountHandles) { - if (currentSelectPhoneAccount.equals(handle)) { - return currentSelectPhoneAccount; - } - } - return null; - } - - @VisibleForTesting - TelecomManager getTelecomManager() { - if (mTelecomManager == null) { - mTelecomManager = mContext.getSystemService(TelecomManager.class); - } - return mTelecomManager; - } - - @VisibleForTesting - PhoneAccount getPhoneAccount(PhoneAccountHandle handle) { - return getTelecomManager().getPhoneAccount(handle); - } - - /** - * Check if calling account bind to subscription - * - * @param handle {@link PhoneAccountHandle} for specific calling account - */ - public boolean isCallingAccountBindToSubscription(PhoneAccountHandle handle) { - final PhoneAccount account = getPhoneAccount(handle); - if (account == null) { - return false; - } - return account.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION); - } - - /** - * Get label from calling account - * - * @param handle to get label from {@link PhoneAccountHandle} - * @return label of calling account - */ - public CharSequence getLabelFromCallingAccount(PhoneAccountHandle handle) { - CharSequence label = null; - final PhoneAccount account = getPhoneAccount(handle); - if (account != null) { - label = account.getLabel(); - } - if (label != null) { - label = mContext.getPackageManager().getUserBadgedLabel(label, handle.getUserHandle()); - } - return (label != null) ? label : ""; - } - @VisibleForTesting protected List getSubscriptionInfoList() { return mSubInfoEntityList; diff --git a/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java b/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java index be3751308dc..c49647dd105 100644 --- a/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java +++ b/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java @@ -17,7 +17,6 @@ package com.android.settings.network.telephony; import android.content.Context; -import android.telecom.PhoneAccountHandle; import android.telephony.SubscriptionManager; import androidx.lifecycle.LifecycleOwner; @@ -28,7 +27,6 @@ import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity; public class SmsDefaultSubscriptionController extends DefaultSubscriptionController { private final boolean mIsAskEverytimeSupported; - private SubscriptionInfoEntity mSubscriptionInfoEntity; public SmsDefaultSubscriptionController(Context context, String preferenceKey, Lifecycle lifecycle, LifecycleOwner lifecycleOwner) { @@ -37,18 +35,12 @@ public class SmsDefaultSubscriptionController extends DefaultSubscriptionControl .getBoolean(com.android.internal.R.bool.config_sms_ask_every_time_support); } - @Override - protected SubscriptionInfoEntity getDefaultSubscriptionInfo() { - return mSubscriptionInfoEntity; - } - @Override protected int getDefaultSubscriptionId() { int defaultSmsSubId = SubscriptionManager.getDefaultSmsSubscriptionId(); for (SubscriptionInfoEntity subInfo : mSubInfoEntityList) { int subId = subInfo.getSubId(); if (subInfo.isActiveSubscriptionId && subId == defaultSmsSubId) { - mSubscriptionInfoEntity = subInfo; return subId; } } @@ -65,12 +57,6 @@ public class SmsDefaultSubscriptionController extends DefaultSubscriptionControl return mIsAskEverytimeSupported; } - @Override - public PhoneAccountHandle getDefaultCallingAccountHandle() { - // Not supporting calling account override by VoIP - return null; - } - @Override public CharSequence getSummary() { return MobileNetworkUtils.getPreferredStatus(isRtlMode(), mContext, false, diff --git a/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java index bbec5bb5a9f..ef5d4a72718 100644 --- a/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java +++ b/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java @@ -16,15 +16,10 @@ package com.android.settings.network.telephony; -import static androidx.lifecycle.Lifecycle.Event; - import static com.android.settings.core.BasePreferenceController.AVAILABLE; -import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE; import static com.google.common.truth.Truth.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; @@ -52,7 +47,6 @@ import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; @@ -133,14 +127,12 @@ public class DefaultSubscriptionControllerTest { SubscriptionUtil.setActiveSubscriptionsForTesting(null); } - private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId, - int carrierId, String displayName, String mcc, String mnc, String countryIso, - int cardId, boolean isValid, boolean isActive, boolean isAvailable) { - return new SubscriptionInfoEntity(subId, slotId, carrierId, - displayName, displayName, 0, mcc, mnc, countryIso, false, cardId, - TelephonyManager.DEFAULT_PORT_INDEX, false, null, - SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false, - "1234567890", true, false, isValid, true, isActive, isAvailable, false); + private SubscriptionInfoEntity setupSubscriptionInfoEntity( + String subId, String displayName, String mcc, String mnc, String countryIso) { + return new SubscriptionInfoEntity(subId, 1, 1, displayName, displayName, 0, mcc, mnc, + countryIso, false, 1, TelephonyManager.DEFAULT_PORT_INDEX, false, null, + SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false, "1234567890", + true, false, true, true, true, true, false); } @Test @@ -152,22 +144,44 @@ public class DefaultSubscriptionControllerTest { } @Test - public void isCallingAccountBindToSubscription_invalidAccount_withoutCrash() { - doReturn(null).when(mTelecomManager).getPhoneAccount(any()); + public void getSummary_singleSub() { + mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, + SUB_COUNTRY_ISO_1); + mSubscriptionInfoEntityList.add(mSubInfo1); + mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId)); + mController.displayPreference(mScreen); - mController.isCallingAccountBindToSubscription(null); + mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList); + + assertThat(mListPreference.getSummary().toString()).isEqualTo(SUB_ID_1); + } + + @Test + public void getSummary_twoSubs() { + mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, + SUB_COUNTRY_ISO_1); + mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2, + SUB_COUNTRY_ISO_2); + mSubscriptionInfoEntityList.add(mSubInfo1); + mSubscriptionInfoEntityList.add(mSubInfo2); + mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId)); + mController.displayPreference(mScreen); + + mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList); + + assertThat(mListPreference.getSummary().toString()).isEqualTo(SUB_ID_1); } @Test public void onPreferenceChange_prefChangedToSub2_callbackCalledCorrectly() { - mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1, - SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true); - mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2, - SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true); + mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, + SUB_COUNTRY_ISO_1); + mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2, + SUB_COUNTRY_ISO_2); mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId)); mSubscriptionInfoEntityList.add(mSubInfo1); mSubscriptionInfoEntityList.add(mSubInfo2); - mController.setSubscriptionInfoList(mSubscriptionInfoEntityList); + mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList); mController.displayPreference(mScreen); mListPreference.setValue("222"); @@ -177,14 +191,14 @@ public class DefaultSubscriptionControllerTest { @Test public void onPreferenceChange_prefChangedToAlwaysAsk_callbackCalledCorrectly() { - mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1, - SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true); - mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2, - SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true); + mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, + SUB_COUNTRY_ISO_1); + mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2, + SUB_COUNTRY_ISO_2); mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId)); mSubscriptionInfoEntityList.add(mSubInfo1); mSubscriptionInfoEntityList.add(mSubInfo2); - mController.setSubscriptionInfoList(mSubscriptionInfoEntityList); + mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList); mController.displayPreference(mScreen); mListPreference.setValue(Integer.toString(SubscriptionManager.INVALID_SUBSCRIPTION_ID)); @@ -197,14 +211,14 @@ public class DefaultSubscriptionControllerTest { @Test public void onPreferenceChange_prefBecomesAvailable_onPreferenceChangeCallbackNotNull() { // Start with only one sub active, so the pref is not available - mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1, - SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true); - mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2, - SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true); + mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, + SUB_COUNTRY_ISO_1); + mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2, + SUB_COUNTRY_ISO_2); mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId)); mSubscriptionInfoEntityList.add(mSubInfo1); mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId)); - mController.setSubscriptionInfoList(mSubscriptionInfoEntityList); + mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList); mController.displayPreference(mScreen); assertThat(mController.isAvailable()).isTrue(); @@ -218,13 +232,12 @@ public class DefaultSubscriptionControllerTest { assertThat(mController.getDefaultSubscriptionId()).isEqualTo(2); } - @Ignore @Test public void onSubscriptionsChanged_twoSubscriptionsDefaultChanges_selectedEntryGetsUpdated() { - mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1, - SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true); - mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2, - SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true); + mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, + SUB_COUNTRY_ISO_1); + mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2, + SUB_COUNTRY_ISO_2); mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId)); mSubscriptionInfoEntityList.add(mSubInfo1); mSubscriptionInfoEntityList.add(mSubInfo2); @@ -237,19 +250,19 @@ public class DefaultSubscriptionControllerTest { mController.setDefaultSubscription(Integer.parseInt(mSubInfo2.subId)); mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList); assertThat(mListPreference.getEntry()).isEqualTo(DISPLAY_NAME_2); - assertThat(mListPreference.getValue()).isEqualTo(mSubInfo2); + assertThat(mListPreference.getValue()).isEqualTo(mSubInfo2.subId); } @Test public void onSubscriptionsChanged_goFromTwoSubscriptionsToOne_prefDisappears() { - mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1, - SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true); - mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2, - SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true); + mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, + SUB_COUNTRY_ISO_1); + mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2, + SUB_COUNTRY_ISO_2); mSubscriptionInfoEntityList.add(mSubInfo1); mSubscriptionInfoEntityList.add(mSubInfo2); mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId)); - mController.setSubscriptionInfoList(mSubscriptionInfoEntityList); + mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList); mController.displayPreference(mScreen); mController.displayPreference(mScreen); @@ -258,7 +271,6 @@ public class DefaultSubscriptionControllerTest { assertThat(mListPreference.isEnabled()).isTrue(); mSubscriptionInfoEntityList.remove(mSubInfo2); - mController.setSubscriptionInfoList(mSubscriptionInfoEntityList); mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList); assertThat(mController.isAvailable()).isTrue(); @@ -269,20 +281,19 @@ public class DefaultSubscriptionControllerTest { @Test @UiThreadTest public void onSubscriptionsChanged_goFromOneSubscriptionToTwo_prefAppears() { - mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1, - SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true); - mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2, - SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true); + mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, + SUB_COUNTRY_ISO_1); + mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2, + SUB_COUNTRY_ISO_2); mSubscriptionInfoEntityList.add(mSubInfo1); mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId)); - mController.setSubscriptionInfoList(mSubscriptionInfoEntityList); + mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList); mController.displayPreference(mScreen); assertThat(mController.isAvailable()).isTrue(); assertThat(mListPreference.isVisible()).isTrue(); assertThat(mListPreference.isEnabled()).isFalse(); mSubscriptionInfoEntityList.add(mSubInfo2); - mController.setSubscriptionInfoList(mSubscriptionInfoEntityList); mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList); assertThat(mController.isAvailable()).isTrue(); @@ -290,15 +301,14 @@ public class DefaultSubscriptionControllerTest { assertThat(mListPreference.isEnabled()).isTrue(); } - @Ignore @Test public void onSubscriptionsChanged_goFromTwoToThreeSubscriptions_listGetsUpdated() { - mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1, - SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true); - mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2, - SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true); - mSubInfo3 = setupSubscriptionInfoEntity(SUB_ID_3, 1, 1, DISPLAY_NAME_3, SUB_MCC_3, - SUB_MNC_3, SUB_COUNTRY_ISO_3, 1, true, true, true); + mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, + SUB_COUNTRY_ISO_1); + mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2, + SUB_COUNTRY_ISO_2); + mSubInfo3 = setupSubscriptionInfoEntity(SUB_ID_3, DISPLAY_NAME_3, SUB_MCC_3, SUB_MNC_3, + SUB_COUNTRY_ISO_3); mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId)); mSubscriptionInfoEntityList.add(mSubInfo1); mSubscriptionInfoEntityList.add(mSubInfo2); @@ -334,20 +344,14 @@ public class DefaultSubscriptionControllerTest { return sub; } - private class TestDefaultSubscriptionController extends DefaultSubscriptionController { + private static class TestDefaultSubscriptionController extends DefaultSubscriptionController { int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; - private List mSubscriptionInfoEntity; TestDefaultSubscriptionController(Context context, String preferenceKey, Lifecycle lifecycle, LifecycleOwner lifecycleOwner) { super(context, preferenceKey, lifecycle, lifecycleOwner); } - @Override - protected SubscriptionInfoEntity getDefaultSubscriptionInfo() { - return null; - } - @Override protected int getDefaultSubscriptionId() { return mSubId; @@ -359,12 +363,8 @@ public class DefaultSubscriptionControllerTest { } @Override - protected List getSubscriptionInfoList() { - return mSubscriptionInfoEntity; - } - - public void setSubscriptionInfoList(List list) { - mSubscriptionInfoEntity = list; + public CharSequence getSummary() { + return String.valueOf(mSubId); } } }