Merge "[Settings] Remove the intent receiver due to the register exception" into udc-dev am: 082e8b03df
am: 70ce5538ab
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22305127 Change-Id: I6f941e184d52c41b27cc69588181bac6ec2e9270 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -0,0 +1,59 @@
|
|||||||
|
package com.android.settings.network;
|
||||||
|
|
||||||
|
import static com.android.internal.telephony.TelephonyIntents.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED;
|
||||||
|
|
||||||
|
import android.content.BroadcastReceiver;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.IntentFilter;
|
||||||
|
import android.telephony.SubscriptionManager;
|
||||||
|
import android.telephony.TelephonyManager;
|
||||||
|
|
||||||
|
public class DefaultSubscriptionReceiver extends BroadcastReceiver {
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
private DefaultSubscriptionListener mListener;
|
||||||
|
|
||||||
|
public DefaultSubscriptionReceiver(Context context, DefaultSubscriptionListener listener) {
|
||||||
|
mContext = context;
|
||||||
|
mListener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void registerReceiver() {
|
||||||
|
final IntentFilter filter = new IntentFilter();
|
||||||
|
filter.addAction(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
|
||||||
|
filter.addAction(SubscriptionManager.ACTION_DEFAULT_SUBSCRIPTION_CHANGED);
|
||||||
|
filter.addAction(ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED);
|
||||||
|
filter.addAction(SubscriptionManager.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED);
|
||||||
|
mContext.registerReceiver(this, filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void unRegisterReceiver() {
|
||||||
|
mContext.unregisterReceiver(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
String action = intent.getAction();
|
||||||
|
if (TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED.equals(action)) {
|
||||||
|
mListener.onDefaultDataChanged(SubscriptionManager.getDefaultDataSubscriptionId());
|
||||||
|
} else if (SubscriptionManager.ACTION_DEFAULT_SUBSCRIPTION_CHANGED.equals(action)) {
|
||||||
|
mListener.onDefaultSubInfoChanged(SubscriptionManager.getDefaultSubscriptionId());
|
||||||
|
} else if (TelephonyManager.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED.equals(action)) {
|
||||||
|
mListener.onDefaultVoiceChanged(SubscriptionManager.getDefaultVoiceSubscriptionId());
|
||||||
|
} else if (SubscriptionManager.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED.equals(action)) {
|
||||||
|
mListener.onDefaultSmsChanged(SubscriptionManager.getDefaultSmsSubscriptionId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface DefaultSubscriptionListener {
|
||||||
|
default void onDefaultSubInfoChanged(int defaultSubId) {
|
||||||
|
}
|
||||||
|
default void onDefaultDataChanged(int defaultDataSubId) {
|
||||||
|
}
|
||||||
|
default void onDefaultVoiceChanged(int defaultVoiceSubId) {
|
||||||
|
}
|
||||||
|
default void onDefaultSmsChanged(int defaultSmsSubId) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -27,9 +27,7 @@ import static com.android.settings.network.InternetUpdater.INTERNET_WIFI;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.telephony.SubscriptionInfo;
|
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.annotation.IdRes;
|
import androidx.annotation.IdRes;
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
@@ -45,9 +43,7 @@ import com.android.settings.widget.SummaryUpdater;
|
|||||||
import com.android.settings.wifi.WifiSummaryUpdater;
|
import com.android.settings.wifi.WifiSummaryUpdater;
|
||||||
import com.android.settingslib.Utils;
|
import com.android.settingslib.Utils;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
|
|
||||||
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
|
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
|
||||||
import com.android.settingslib.mobile.dataservice.UiccInfoEntity;
|
|
||||||
import com.android.settingslib.utils.ThreadUtils;
|
import com.android.settingslib.utils.ThreadUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -60,7 +56,8 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
public class InternetPreferenceController extends AbstractPreferenceController implements
|
public class InternetPreferenceController extends AbstractPreferenceController implements
|
||||||
LifecycleObserver, SummaryUpdater.OnSummaryChangeListener,
|
LifecycleObserver, SummaryUpdater.OnSummaryChangeListener,
|
||||||
InternetUpdater.InternetChangeListener, MobileNetworkRepository.MobileNetworkCallback {
|
InternetUpdater.InternetChangeListener, MobileNetworkRepository.MobileNetworkCallback,
|
||||||
|
DefaultSubscriptionReceiver.DefaultSubscriptionListener {
|
||||||
|
|
||||||
public static final String KEY = "internet_settings";
|
public static final String KEY = "internet_settings";
|
||||||
|
|
||||||
@@ -71,6 +68,8 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
|||||||
private LifecycleOwner mLifecycleOwner;
|
private LifecycleOwner mLifecycleOwner;
|
||||||
private MobileNetworkRepository mMobileNetworkRepository;
|
private MobileNetworkRepository mMobileNetworkRepository;
|
||||||
private List<SubscriptionInfoEntity> mSubInfoEntityList = new ArrayList<>();
|
private List<SubscriptionInfoEntity> mSubInfoEntityList = new ArrayList<>();
|
||||||
|
private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
|
private DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static Map<Integer, Integer> sIconMap = new HashMap<>();
|
static Map<Integer, Integer> sIconMap = new HashMap<>();
|
||||||
@@ -102,6 +101,7 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
|||||||
mInternetType = mInternetUpdater.getInternetType();
|
mInternetType = mInternetUpdater.getInternetType();
|
||||||
mLifecycleOwner = lifecycleOwner;
|
mLifecycleOwner = lifecycleOwner;
|
||||||
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
||||||
|
mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
|
||||||
lifecycle.addObserver(this);
|
lifecycle.addObserver(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,6 +160,8 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
|||||||
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
||||||
mMobileNetworkRepository.updateEntity();
|
mMobileNetworkRepository.updateEntity();
|
||||||
mSummaryHelper.register(true);
|
mSummaryHelper.register(true);
|
||||||
|
mDataSubscriptionChangedReceiver.registerReceiver();
|
||||||
|
mDefaultDataSubId = SubscriptionManager.getDefaultDataSubscriptionId();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @OnLifecycleEvent(ON_PAUSE) */
|
/** @OnLifecycleEvent(ON_PAUSE) */
|
||||||
@@ -167,6 +169,7 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
|||||||
public void onPause() {
|
public void onPause() {
|
||||||
mMobileNetworkRepository.removeRegister(this);
|
mMobileNetworkRepository.removeRegister(this);
|
||||||
mSummaryHelper.register(false);
|
mSummaryHelper.register(false);
|
||||||
|
mDataSubscriptionChangedReceiver.unRegisterReceiver();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -212,11 +215,11 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
|||||||
if (subInfo.isActiveDataSubscriptionId) {
|
if (subInfo.isActiveDataSubscriptionId) {
|
||||||
activeSubInfo = subInfo;
|
activeSubInfo = subInfo;
|
||||||
}
|
}
|
||||||
if (subInfo.isDefaultDataSubscription) {
|
if (subInfo.getSubId() == getDefaultDataSubscriptionId()) {
|
||||||
defaultSubInfo = subInfo;
|
defaultSubInfo = subInfo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (activeSubInfo == null) {
|
if (activeSubInfo == null || defaultSubInfo == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
activeSubInfo = activeSubInfo.isSubscriptionVisible ? activeSubInfo : defaultSubInfo;
|
activeSubInfo = activeSubInfo.isSubscriptionVisible ? activeSubInfo : defaultSubInfo;
|
||||||
@@ -237,9 +240,20 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
|||||||
return mSubInfoEntityList;
|
return mSubInfoEntityList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
protected int getDefaultDataSubscriptionId() {
|
||||||
|
return mDefaultDataSubId;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
|
public void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
|
||||||
mSubInfoEntityList = subInfoEntityList;
|
mSubInfoEntityList = subInfoEntityList;
|
||||||
updateState(mPreference);
|
updateState(mPreference);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDefaultDataChanged(int defaultDataSubId) {
|
||||||
|
mDefaultDataSubId = defaultDataSubId;
|
||||||
|
updateState(mPreference);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -18,14 +18,9 @@ package com.android.settings.network;
|
|||||||
import static android.telephony.SubscriptionManager.PROFILE_CLASS_PROVISIONING;
|
import static android.telephony.SubscriptionManager.PROFILE_CLASS_PROVISIONING;
|
||||||
import static android.telephony.UiccSlotInfo.CARD_STATE_INFO_PRESENT;
|
import static android.telephony.UiccSlotInfo.CARD_STATE_INFO_PRESENT;
|
||||||
|
|
||||||
import static com.android.internal.telephony.TelephonyIntents.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED;
|
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.BroadcastReceiver;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.IntentFilter;
|
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
@@ -99,7 +94,6 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
|
|||||||
private AirplaneModeObserver mAirplaneModeObserver;
|
private AirplaneModeObserver mAirplaneModeObserver;
|
||||||
private Uri mAirplaneModeSettingUri;
|
private Uri mAirplaneModeSettingUri;
|
||||||
private MetricsFeatureProvider mMetricsFeatureProvider;
|
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
private IntentFilter mFilter = new IntentFilter();
|
|
||||||
private Map<Integer, MobileDataContentObserver> mDataContentObserverMap = new HashMap<>();
|
private Map<Integer, MobileDataContentObserver> mDataContentObserverMap = new HashMap<>();
|
||||||
private int mPhysicalSlotIndex = SubscriptionManager.INVALID_SIM_SLOT_INDEX;
|
private int mPhysicalSlotIndex = SubscriptionManager.INVALID_SIM_SLOT_INDEX;
|
||||||
private int mLogicalSlotIndex = SubscriptionManager.INVALID_SIM_SLOT_INDEX;
|
private int mLogicalSlotIndex = SubscriptionManager.INVALID_SIM_SLOT_INDEX;
|
||||||
@@ -112,12 +106,7 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
|
|||||||
private Map<Integer, SubscriptionInfo> mSubscriptionInfoMap = new ArrayMap<>();
|
private Map<Integer, SubscriptionInfo> mSubscriptionInfoMap = new ArrayMap<>();
|
||||||
private Map<Integer, TelephonyManager> mTelephonyManagerMap = new HashMap<>();
|
private Map<Integer, TelephonyManager> mTelephonyManagerMap = new HashMap<>();
|
||||||
private Map<Integer, PhoneCallStateTelephonyCallback> mTelephonyCallbackMap = new HashMap<>();
|
private Map<Integer, PhoneCallStateTelephonyCallback> mTelephonyCallbackMap = new HashMap<>();
|
||||||
private BroadcastReceiver mDataSubscriptionChangedReceiver = new BroadcastReceiver() {
|
|
||||||
@Override
|
|
||||||
public void onReceive(Context context, Intent intent) {
|
|
||||||
onSubscriptionsChanged();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@NonNull
|
@NonNull
|
||||||
public static MobileNetworkRepository getInstance(Context context) {
|
public static MobileNetworkRepository getInstance(Context context) {
|
||||||
synchronized (sInstanceLock) {
|
synchronized (sInstanceLock) {
|
||||||
@@ -143,10 +132,6 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
|
|||||||
mMobileNetworkInfoDao = mMobileNetworkDatabase.mMobileNetworkInfoDao();
|
mMobileNetworkInfoDao = mMobileNetworkDatabase.mMobileNetworkInfoDao();
|
||||||
mAirplaneModeObserver = new AirplaneModeObserver(new Handler(Looper.getMainLooper()));
|
mAirplaneModeObserver = new AirplaneModeObserver(new Handler(Looper.getMainLooper()));
|
||||||
mAirplaneModeSettingUri = Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON);
|
mAirplaneModeSettingUri = Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON);
|
||||||
mFilter.addAction(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
|
|
||||||
mFilter.addAction(SubscriptionManager.ACTION_DEFAULT_SUBSCRIPTION_CHANGED);
|
|
||||||
mFilter.addAction(ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED);
|
|
||||||
mFilter.addAction(SubscriptionManager.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private class AirplaneModeObserver extends ContentObserver {
|
private class AirplaneModeObserver extends ContentObserver {
|
||||||
@@ -188,7 +173,6 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
|
|||||||
mSubscriptionManager.addOnSubscriptionsChangedListener(mContext.getMainExecutor(),
|
mSubscriptionManager.addOnSubscriptionsChangedListener(mContext.getMainExecutor(),
|
||||||
this);
|
this);
|
||||||
mAirplaneModeObserver.register(mContext);
|
mAirplaneModeObserver.register(mContext);
|
||||||
mContext.registerReceiver(mDataSubscriptionChangedReceiver, mFilter);
|
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
Log.d(TAG, "addRegister done");
|
Log.d(TAG, "addRegister done");
|
||||||
}
|
}
|
||||||
@@ -271,7 +255,6 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
|
|||||||
if (sCallbacks.isEmpty()) {
|
if (sCallbacks.isEmpty()) {
|
||||||
mSubscriptionManager.removeOnSubscriptionsChangedListener(this);
|
mSubscriptionManager.removeOnSubscriptionsChangedListener(this);
|
||||||
mAirplaneModeObserver.unRegister(mContext);
|
mAirplaneModeObserver.unRegister(mContext);
|
||||||
mContext.unregisterReceiver(mDataSubscriptionChangedReceiver);
|
|
||||||
mDataContentObserverMap.forEach((id, observer) -> {
|
mDataContentObserverMap.forEach((id, observer) -> {
|
||||||
observer.unRegister(mContext);
|
observer.unRegister(mContext);
|
||||||
});
|
});
|
||||||
@@ -524,16 +507,11 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
|
|||||||
SubscriptionUtil.getFormattedPhoneNumber(context, subInfo),
|
SubscriptionUtil.getFormattedPhoneNumber(context, subInfo),
|
||||||
firstRemovableSubInfo == null ? false
|
firstRemovableSubInfo == null ? false
|
||||||
: firstRemovableSubInfo.getSubscriptionId() == subId,
|
: firstRemovableSubInfo.getSubscriptionId() == subId,
|
||||||
String.valueOf(SubscriptionUtil.getDefaultSimConfig(context, subId)),
|
|
||||||
SubscriptionUtil.isDefaultSubscription(context, subId),
|
SubscriptionUtil.isDefaultSubscription(context, subId),
|
||||||
mSubscriptionManager.isValidSubscriptionId(subId),
|
mSubscriptionManager.isValidSubscriptionId(subId),
|
||||||
mSubscriptionManager.isUsableSubscriptionId(subId),
|
mSubscriptionManager.isUsableSubscriptionId(subId),
|
||||||
mSubscriptionManager.isActiveSubscriptionId(subId),
|
mSubscriptionManager.isActiveSubscriptionId(subId),
|
||||||
true /*availableSubInfo*/,
|
true /*availableSubInfo*/,
|
||||||
mSubscriptionManager.getDefaultVoiceSubscriptionId() == subId,
|
|
||||||
mSubscriptionManager.getDefaultSmsSubscriptionId() == subId,
|
|
||||||
mSubscriptionManager.getDefaultDataSubscriptionId() == subId,
|
|
||||||
mSubscriptionManager.getDefaultSubscriptionId() == subId,
|
|
||||||
mSubscriptionManager.getActiveDataSubscriptionId() == subId);
|
mSubscriptionManager.getActiveDataSubscriptionId() == subId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -38,14 +38,13 @@ import com.android.settingslib.RestrictedPreference;
|
|||||||
import com.android.settingslib.Utils;
|
import com.android.settingslib.Utils;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
|
|
||||||
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
|
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
|
||||||
import com.android.settingslib.mobile.dataservice.UiccInfoEntity;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class NetworkProviderCallsSmsController extends AbstractPreferenceController implements
|
public class NetworkProviderCallsSmsController extends AbstractPreferenceController implements
|
||||||
LifecycleObserver, MobileNetworkRepository.MobileNetworkCallback {
|
LifecycleObserver, MobileNetworkRepository.MobileNetworkCallback,
|
||||||
|
DefaultSubscriptionReceiver.DefaultSubscriptionListener {
|
||||||
|
|
||||||
private static final String TAG = "NetworkProviderCallsSmsController";
|
private static final String TAG = "NetworkProviderCallsSmsController";
|
||||||
private static final String KEY = "calls_and_sms";
|
private static final String KEY = "calls_and_sms";
|
||||||
@@ -58,6 +57,9 @@ public class NetworkProviderCallsSmsController extends AbstractPreferenceControl
|
|||||||
private LifecycleOwner mLifecycleOwner;
|
private LifecycleOwner mLifecycleOwner;
|
||||||
private MobileNetworkRepository mMobileNetworkRepository;
|
private MobileNetworkRepository mMobileNetworkRepository;
|
||||||
private List<SubscriptionInfoEntity> mSubInfoEntityList;
|
private List<SubscriptionInfoEntity> mSubInfoEntityList;
|
||||||
|
private int mDefaultVoiceSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
|
private int mDefaultSmsSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
|
private DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The summary text and click behavior of the "Calls & SMS" item on the
|
* The summary text and click behavior of the "Calls & SMS" item on the
|
||||||
@@ -73,6 +75,7 @@ public class NetworkProviderCallsSmsController extends AbstractPreferenceControl
|
|||||||
== View.LAYOUT_DIRECTION_RTL;
|
== View.LAYOUT_DIRECTION_RTL;
|
||||||
mLifecycleOwner = lifecycleOwner;
|
mLifecycleOwner = lifecycleOwner;
|
||||||
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
||||||
|
mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
|
||||||
if (lifecycle != null) {
|
if (lifecycle != null) {
|
||||||
lifecycle.addObserver(this);
|
lifecycle.addObserver(this);
|
||||||
}
|
}
|
||||||
@@ -83,11 +86,15 @@ public class NetworkProviderCallsSmsController extends AbstractPreferenceControl
|
|||||||
mMobileNetworkRepository.addRegister(mLifecycleOwner, this,
|
mMobileNetworkRepository.addRegister(mLifecycleOwner, this,
|
||||||
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
||||||
mMobileNetworkRepository.updateEntity();
|
mMobileNetworkRepository.updateEntity();
|
||||||
|
mDataSubscriptionChangedReceiver.registerReceiver();
|
||||||
|
mDefaultVoiceSubId = SubscriptionManager.getDefaultVoiceSubscriptionId();
|
||||||
|
mDefaultSmsSubId = SubscriptionManager.getDefaultSmsSubscriptionId();
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnLifecycleEvent(Event.ON_PAUSE)
|
@OnLifecycleEvent(Event.ON_PAUSE)
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
mMobileNetworkRepository.removeRegister(this);
|
mMobileNetworkRepository.removeRegister(this);
|
||||||
|
mDataSubscriptionChangedReceiver.unRegisterReceiver();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -145,16 +152,16 @@ public class NetworkProviderCallsSmsController extends AbstractPreferenceControl
|
|||||||
protected CharSequence getPreferredStatus(SubscriptionInfoEntity subInfo, int subsSize,
|
protected CharSequence getPreferredStatus(SubscriptionInfoEntity subInfo, int subsSize,
|
||||||
int subId) {
|
int subId) {
|
||||||
String status = "";
|
String status = "";
|
||||||
boolean isDataPreferred = subInfo.isDefaultVoiceSubscription;
|
boolean isCallPreferred = subInfo.getSubId() == getDefaultVoiceSubscriptionId();
|
||||||
boolean isSmsPreferred = subInfo.isDefaultSmsSubscription;
|
boolean isSmsPreferred = subInfo.getSubId() == getDefaultSmsSubscriptionId();
|
||||||
|
|
||||||
if (!subInfo.isValidSubscription || !isInService(subId)) {
|
if (!subInfo.isValidSubscription || !isInService(subId)) {
|
||||||
status = setSummaryResId(subsSize > 1 ? R.string.calls_sms_unavailable :
|
status = setSummaryResId(subsSize > 1 ? R.string.calls_sms_unavailable :
|
||||||
R.string.calls_sms_temp_unavailable);
|
R.string.calls_sms_temp_unavailable);
|
||||||
} else {
|
} else {
|
||||||
if (isDataPreferred && isSmsPreferred) {
|
if (isCallPreferred && isSmsPreferred) {
|
||||||
status = setSummaryResId(R.string.calls_sms_preferred);
|
status = setSummaryResId(R.string.calls_sms_preferred);
|
||||||
} else if (isDataPreferred) {
|
} else if (isCallPreferred) {
|
||||||
status = setSummaryResId(R.string.calls_sms_calls_preferred);
|
status = setSummaryResId(R.string.calls_sms_calls_preferred);
|
||||||
} else if (isSmsPreferred) {
|
} else if (isSmsPreferred) {
|
||||||
status = setSummaryResId(R.string.calls_sms_sms_preferred);
|
status = setSummaryResId(R.string.calls_sms_sms_preferred);
|
||||||
@@ -226,4 +233,26 @@ public class NetworkProviderCallsSmsController extends AbstractPreferenceControl
|
|||||||
mSubInfoEntityList = activeSubInfoList;
|
mSubInfoEntityList = activeSubInfoList;
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
protected int getDefaultVoiceSubscriptionId() {
|
||||||
|
return mDefaultVoiceSubId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
protected int getDefaultSmsSubscriptionId() {
|
||||||
|
return mDefaultSmsSubId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDefaultVoiceChanged(int defaultVoiceSubId) {
|
||||||
|
mDefaultVoiceSubId = defaultVoiceSubId;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDefaultSmsChanged(int defaultSmsSubId) {
|
||||||
|
mDefaultSmsSubId = defaultSmsSubId;
|
||||||
|
update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -23,7 +23,6 @@ import android.content.Context;
|
|||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
import androidx.lifecycle.LifecycleOwner;
|
import androidx.lifecycle.LifecycleOwner;
|
||||||
@@ -38,16 +37,15 @@ import com.android.settingslib.RestrictedPreference;
|
|||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||||
import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
|
|
||||||
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
|
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
|
||||||
import com.android.settingslib.mobile.dataservice.UiccInfoEntity;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class NetworkProviderSimListController extends AbstractPreferenceController implements
|
public class NetworkProviderSimListController extends AbstractPreferenceController implements
|
||||||
LifecycleObserver, MobileNetworkRepository.MobileNetworkCallback {
|
LifecycleObserver, MobileNetworkRepository.MobileNetworkCallback,
|
||||||
|
DefaultSubscriptionReceiver.DefaultSubscriptionListener {
|
||||||
private static final String TAG = "NetworkProviderSimListCtrl";
|
private static final String TAG = "NetworkProviderSimListCtrl";
|
||||||
private static final String KEY_PREFERENCE_CATEGORY_SIM = "provider_model_sim_category";
|
private static final String KEY_PREFERENCE_CATEGORY_SIM = "provider_model_sim_category";
|
||||||
private static final String KEY_PREFERENCE_SIM = "provider_model_sim_list";
|
private static final String KEY_PREFERENCE_SIM = "provider_model_sim_list";
|
||||||
@@ -58,6 +56,7 @@ public class NetworkProviderSimListController extends AbstractPreferenceControll
|
|||||||
private LifecycleOwner mLifecycleOwner;
|
private LifecycleOwner mLifecycleOwner;
|
||||||
private MobileNetworkRepository mMobileNetworkRepository;
|
private MobileNetworkRepository mMobileNetworkRepository;
|
||||||
private List<SubscriptionInfoEntity> mSubInfoEntityList = new ArrayList<>();
|
private List<SubscriptionInfoEntity> mSubInfoEntityList = new ArrayList<>();
|
||||||
|
private DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver;
|
||||||
|
|
||||||
public NetworkProviderSimListController(Context context, Lifecycle lifecycle,
|
public NetworkProviderSimListController(Context context, Lifecycle lifecycle,
|
||||||
LifecycleOwner lifecycleOwner) {
|
LifecycleOwner lifecycleOwner) {
|
||||||
@@ -66,6 +65,7 @@ public class NetworkProviderSimListController extends AbstractPreferenceControll
|
|||||||
mPreferences = new ArrayMap<>();
|
mPreferences = new ArrayMap<>();
|
||||||
mLifecycleOwner = lifecycleOwner;
|
mLifecycleOwner = lifecycleOwner;
|
||||||
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
||||||
|
mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
|
||||||
lifecycle.addObserver(this);
|
lifecycle.addObserver(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,11 +74,13 @@ public class NetworkProviderSimListController extends AbstractPreferenceControll
|
|||||||
mMobileNetworkRepository.addRegister(mLifecycleOwner, this,
|
mMobileNetworkRepository.addRegister(mLifecycleOwner, this,
|
||||||
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
||||||
mMobileNetworkRepository.updateEntity();
|
mMobileNetworkRepository.updateEntity();
|
||||||
|
mDataSubscriptionChangedReceiver.registerReceiver();
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnLifecycleEvent(ON_PAUSE)
|
@OnLifecycleEvent(ON_PAUSE)
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
mMobileNetworkRepository.removeRegister(this);
|
mMobileNetworkRepository.removeRegister(this);
|
||||||
|
mDataSubscriptionChangedReceiver.unRegisterReceiver();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -130,7 +132,8 @@ public class NetworkProviderSimListController extends AbstractPreferenceControll
|
|||||||
|
|
||||||
public CharSequence getSummary(SubscriptionInfoEntity subInfo, CharSequence displayName) {
|
public CharSequence getSummary(SubscriptionInfoEntity subInfo, CharSequence displayName) {
|
||||||
if (subInfo.isActiveSubscriptionId) {
|
if (subInfo.isActiveSubscriptionId) {
|
||||||
CharSequence config = subInfo.defaultSimConfig;
|
CharSequence config = SubscriptionUtil.getDefaultSimConfig(mContext,
|
||||||
|
subInfo.getSubId());
|
||||||
CharSequence summary = mContext.getResources().getString(
|
CharSequence summary = mContext.getResources().getString(
|
||||||
R.string.sim_category_active_sim);
|
R.string.sim_category_active_sim);
|
||||||
if (config == "") {
|
if (config == "") {
|
||||||
@@ -185,4 +188,22 @@ public class NetworkProviderSimListController extends AbstractPreferenceControll
|
|||||||
refreshSummary(mPreferenceCategory);
|
refreshSummary(mPreferenceCategory);
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDefaultDataChanged(int defaultDataSubId) {
|
||||||
|
refreshSummary(mPreferenceCategory);
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDefaultVoiceChanged(int defaultVoiceSubId) {
|
||||||
|
refreshSummary(mPreferenceCategory);
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDefaultSmsChanged(int defaultSmsSubId) {
|
||||||
|
refreshSummary(mPreferenceCategory);
|
||||||
|
update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -40,10 +40,12 @@ public class CallsDefaultSubscriptionController extends DefaultSubscriptionContr
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getDefaultSubscriptionId() {
|
protected int getDefaultSubscriptionId() {
|
||||||
|
int defaultCallSubId = SubscriptionManager.getDefaultVoiceSubscriptionId();
|
||||||
for (SubscriptionInfoEntity subInfo : mSubInfoEntityList) {
|
for (SubscriptionInfoEntity subInfo : mSubInfoEntityList) {
|
||||||
if (subInfo.isActiveSubscriptionId && subInfo.isDefaultVoiceSubscription) {
|
int subId = subInfo.getSubId();
|
||||||
|
if (subInfo.isActiveSubscriptionId && subId == defaultCallSubId) {
|
||||||
mSubscriptionInfoEntity = subInfo;
|
mSubscriptionInfoEntity = subInfo;
|
||||||
return Integer.parseInt(subInfo.subId);
|
return subId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
|
@@ -36,11 +36,10 @@ import androidx.preference.PreferenceScreen;
|
|||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.network.DefaultSubscriptionReceiver;
|
||||||
import com.android.settings.network.MobileNetworkRepository;
|
import com.android.settings.network.MobileNetworkRepository;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
|
|
||||||
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
|
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
|
||||||
import com.android.settingslib.mobile.dataservice.UiccInfoEntity;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -52,7 +51,8 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public abstract class DefaultSubscriptionController extends TelephonyBasePreferenceController
|
public abstract class DefaultSubscriptionController extends TelephonyBasePreferenceController
|
||||||
implements LifecycleObserver, Preference.OnPreferenceChangeListener,
|
implements LifecycleObserver, Preference.OnPreferenceChangeListener,
|
||||||
MobileNetworkRepository.MobileNetworkCallback {
|
MobileNetworkRepository.MobileNetworkCallback,
|
||||||
|
DefaultSubscriptionReceiver.DefaultSubscriptionListener {
|
||||||
private static final String TAG = "DefaultSubController";
|
private static final String TAG = "DefaultSubController";
|
||||||
|
|
||||||
protected ListPreference mPreference;
|
protected ListPreference mPreference;
|
||||||
@@ -60,6 +60,7 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere
|
|||||||
protected TelecomManager mTelecomManager;
|
protected TelecomManager mTelecomManager;
|
||||||
protected MobileNetworkRepository mMobileNetworkRepository;
|
protected MobileNetworkRepository mMobileNetworkRepository;
|
||||||
protected LifecycleOwner mLifecycleOwner;
|
protected LifecycleOwner mLifecycleOwner;
|
||||||
|
private DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver;
|
||||||
|
|
||||||
private static final String EMERGENCY_ACCOUNT_HANDLE_ID = "E";
|
private static final String EMERGENCY_ACCOUNT_HANDLE_ID = "E";
|
||||||
private static final ComponentName PSTN_CONNECTION_SERVICE_COMPONENT =
|
private static final ComponentName PSTN_CONNECTION_SERVICE_COMPONENT =
|
||||||
@@ -76,6 +77,7 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere
|
|||||||
mIsRtlMode = context.getResources().getConfiguration().getLayoutDirection()
|
mIsRtlMode = context.getResources().getConfiguration().getLayoutDirection()
|
||||||
== View.LAYOUT_DIRECTION_RTL;
|
== View.LAYOUT_DIRECTION_RTL;
|
||||||
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
||||||
|
mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
|
||||||
mLifecycleOwner = lifecycleOwner;
|
mLifecycleOwner = lifecycleOwner;
|
||||||
if (lifecycle != null) {
|
if (lifecycle != null) {
|
||||||
lifecycle.addObserver(this);
|
lifecycle.addObserver(this);
|
||||||
@@ -110,12 +112,13 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere
|
|||||||
// Can not get default subId from database until get the callback, add register by subId
|
// Can not get default subId from database until get the callback, add register by subId
|
||||||
// later.
|
// later.
|
||||||
mMobileNetworkRepository.addRegisterBySubId(getDefaultSubscriptionId());
|
mMobileNetworkRepository.addRegisterBySubId(getDefaultSubscriptionId());
|
||||||
|
mDataSubscriptionChangedReceiver.registerReceiver();
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnLifecycleEvent(ON_PAUSE)
|
@OnLifecycleEvent(ON_PAUSE)
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
mMobileNetworkRepository.removeRegister(this);
|
mMobileNetworkRepository.removeRegister(this);
|
||||||
|
mDataSubscriptionChangedReceiver.unRegisterReceiver();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -308,4 +311,16 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere
|
|||||||
updateEntries();
|
updateEntries();
|
||||||
refreshSummary(mPreference);
|
refreshSummary(mPreference);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDefaultVoiceChanged(int defaultVoiceSubId) {
|
||||||
|
updateEntries();
|
||||||
|
refreshSummary(mPreference);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDefaultSmsChanged(int defaultSmsSubId) {
|
||||||
|
updateEntries();
|
||||||
|
refreshSummary(mPreference);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -20,8 +20,6 @@ import static androidx.lifecycle.Lifecycle.Event.ON_START;
|
|||||||
import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
|
import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Handler;
|
|
||||||
import android.os.Looper;
|
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
@@ -36,13 +34,11 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import androidx.preference.SwitchPreference;
|
import androidx.preference.SwitchPreference;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.network.MobileDataContentObserver;
|
|
||||||
import com.android.settings.network.MobileNetworkRepository;
|
import com.android.settings.network.MobileNetworkRepository;
|
||||||
import com.android.settings.wifi.WifiPickerTrackerHelper;
|
import com.android.settings.wifi.WifiPickerTrackerHelper;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
|
import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
|
||||||
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
|
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
|
||||||
import com.android.settingslib.mobile.dataservice.UiccInfoEntity;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -234,13 +230,14 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon
|
|||||||
public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
|
public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
|
||||||
mSubscriptionInfoEntityList = subInfoEntityList;
|
mSubscriptionInfoEntityList = subInfoEntityList;
|
||||||
mSubscriptionInfoEntityList.forEach(entity -> {
|
mSubscriptionInfoEntityList.forEach(entity -> {
|
||||||
if (Integer.parseInt(entity.subId) == mSubId) {
|
if (entity.getSubId() == mSubId) {
|
||||||
mSubscriptionInfoEntity = entity;
|
mSubscriptionInfoEntity = entity;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
int subId = mSubscriptionInfoEntity.getSubId();
|
||||||
if (mSubscriptionInfoEntity != null
|
if (mSubscriptionInfoEntity != null
|
||||||
&& mSubscriptionInfoEntity.isDefaultDataSubscription) {
|
&& subId == SubscriptionManager.getDefaultDataSubscriptionId()) {
|
||||||
mDefaultSubId = Integer.parseInt(mSubscriptionInfoEntity.subId);
|
mDefaultSubId = subId;
|
||||||
}
|
}
|
||||||
update();
|
update();
|
||||||
refreshSummary(mPreference);
|
refreshSummary(mPreference);
|
||||||
|
@@ -1011,7 +1011,7 @@ public class MobileNetworkUtils {
|
|||||||
private static CharSequence getPreferredCallStatus(Context context,
|
private static CharSequence getPreferredCallStatus(Context context,
|
||||||
SubscriptionInfoEntity subInfo) {
|
SubscriptionInfoEntity subInfo) {
|
||||||
String status = "";
|
String status = "";
|
||||||
if (subInfo.isDefaultVoiceSubscription) {
|
if (subInfo.getSubId() == SubscriptionManager.getDefaultVoiceSubscriptionId()) {
|
||||||
status = setSummaryResId(context, R.string.calls_sms_preferred);
|
status = setSummaryResId(context, R.string.calls_sms_preferred);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1021,7 +1021,7 @@ public class MobileNetworkUtils {
|
|||||||
private static CharSequence getPreferredSmsStatus(Context context,
|
private static CharSequence getPreferredSmsStatus(Context context,
|
||||||
SubscriptionInfoEntity subInfo) {
|
SubscriptionInfoEntity subInfo) {
|
||||||
String status = "";
|
String status = "";
|
||||||
if (subInfo.isDefaultSmsSubscription) {
|
if (subInfo.getSubId() == SubscriptionManager.getDefaultSmsSubscriptionId()) {
|
||||||
status = setSummaryResId(context, R.string.calls_sms_preferred);
|
status = setSummaryResId(context, R.string.calls_sms_preferred);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -44,10 +44,12 @@ public class SmsDefaultSubscriptionController extends DefaultSubscriptionControl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getDefaultSubscriptionId() {
|
protected int getDefaultSubscriptionId() {
|
||||||
|
int defaultSmsSubId = SubscriptionManager.getDefaultSmsSubscriptionId();
|
||||||
for (SubscriptionInfoEntity subInfo : mSubInfoEntityList) {
|
for (SubscriptionInfoEntity subInfo : mSubInfoEntityList) {
|
||||||
if (subInfo.isActiveSubscriptionId && subInfo.isDefaultSmsSubscription) {
|
int subId = subInfo.getSubId();
|
||||||
|
if (subInfo.isActiveSubscriptionId && subId == defaultSmsSubId) {
|
||||||
mSubscriptionInfoEntity = subInfo;
|
mSubscriptionInfoEntity = subInfo;
|
||||||
return Integer.parseInt(subInfo.subId);
|
return subId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
|
@@ -129,6 +129,8 @@ public class InternetPreferenceControllerTest {
|
|||||||
|
|
||||||
private class MockInternetPreferenceController extends
|
private class MockInternetPreferenceController extends
|
||||||
com.android.settings.network.InternetPreferenceController {
|
com.android.settings.network.InternetPreferenceController {
|
||||||
|
|
||||||
|
private int mDefaultDataSubscriptionId;
|
||||||
public MockInternetPreferenceController(Context context, Lifecycle lifecycle,
|
public MockInternetPreferenceController(Context context, Lifecycle lifecycle,
|
||||||
LifecycleOwner lifecycleOwner) {
|
LifecycleOwner lifecycleOwner) {
|
||||||
super(context, lifecycle, lifecycleOwner);
|
super(context, lifecycle, lifecycleOwner);
|
||||||
@@ -145,18 +147,26 @@ public class InternetPreferenceControllerTest {
|
|||||||
mSubscriptionInfoEntity = list;
|
mSubscriptionInfoEntity = list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getDefaultDataSubscriptionId() {
|
||||||
|
return mDefaultDataSubscriptionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDefaultDataSubscriptionId(int subscriptionId) {
|
||||||
|
mDefaultDataSubscriptionId = subscriptionId;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
|
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
|
||||||
int carrierId, String displayName, String mcc, String mnc, String countryIso,
|
int carrierId, String displayName, String mcc, String mnc, String countryIso,
|
||||||
int cardId, boolean isVisible, boolean isValid, boolean isActive, boolean isAvailable,
|
int cardId, boolean isVisible, boolean isValid, boolean isActive, boolean isAvailable,
|
||||||
boolean isDefaultData, boolean isActiveData) {
|
boolean isActiveData) {
|
||||||
return new SubscriptionInfoEntity(subId, slotId, carrierId,
|
return new SubscriptionInfoEntity(subId, slotId, carrierId,
|
||||||
displayName, displayName, 0, mcc, mnc, countryIso, false, cardId,
|
displayName, displayName, 0, mcc, mnc, countryIso, false, cardId,
|
||||||
TelephonyManager.DEFAULT_PORT_INDEX, false, null,
|
TelephonyManager.DEFAULT_PORT_INDEX, false, null,
|
||||||
SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, isVisible,
|
SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, isVisible,
|
||||||
"1234567890", true, "default", false, isValid, true, isActive, isAvailable, false,
|
"1234567890", true, false, isValid, true, isActive, isAvailable, isActiveData);
|
||||||
false, isDefaultData, false, isActiveData);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -183,7 +193,7 @@ public class InternetPreferenceControllerTest {
|
|||||||
mController.onResume();
|
mController.onResume();
|
||||||
mController.onPause();
|
mController.onPause();
|
||||||
|
|
||||||
verify(mContext).unregisterReceiver(any(BroadcastReceiver.class));
|
verify(mContext, times(2)).unregisterReceiver(any(BroadcastReceiver.class));
|
||||||
verify(mConnectivityManager, times(2)).unregisterNetworkCallback(
|
verify(mConnectivityManager, times(2)).unregisterNetworkCallback(
|
||||||
any(ConnectivityManager.NetworkCallback.class));
|
any(ConnectivityManager.NetworkCallback.class));
|
||||||
}
|
}
|
||||||
@@ -218,10 +228,11 @@ public class InternetPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateCellularSummary_getActiveSubscriptionInfo_cbrs() {
|
public void updateCellularSummary_getActiveSubscriptionInfo_cbrs() {
|
||||||
|
mController.setDefaultDataSubscriptionId(Integer.parseInt(SUB_ID_2));
|
||||||
mActiveSubInfo = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mActiveSubInfo = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, false, true, true, true, false, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, false, true, true, true, true);
|
||||||
mDefaultDataSubInfo = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mDefaultDataSubInfo = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, false, true, true, true, true, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, false, true, true, true, false);
|
||||||
mSubscriptionInfoEntityList.add(mActiveSubInfo);
|
mSubscriptionInfoEntityList.add(mActiveSubInfo);
|
||||||
mSubscriptionInfoEntityList.add(mDefaultDataSubInfo);
|
mSubscriptionInfoEntityList.add(mDefaultDataSubInfo);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
@@ -231,7 +242,7 @@ public class InternetPreferenceControllerTest {
|
|||||||
assertThat(mPreference.getSummary()).isEqualTo(DISPLAY_NAME_2);
|
assertThat(mPreference.getSummary()).isEqualTo(DISPLAY_NAME_2);
|
||||||
|
|
||||||
mActiveSubInfo = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mActiveSubInfo = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, false, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, true);
|
||||||
mSubscriptionInfoEntityList.add(mActiveSubInfo);
|
mSubscriptionInfoEntityList.add(mActiveSubInfo);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
mController.onAvailableSubInfoChanged(mSubscriptionInfoEntityList);
|
mController.onAvailableSubInfoChanged(mSubscriptionInfoEntityList);
|
||||||
|
@@ -100,6 +100,8 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
|
|
||||||
private List<SubscriptionInfoEntity> mSubscriptionInfoEntity;
|
private List<SubscriptionInfoEntity> mSubscriptionInfoEntity;
|
||||||
private boolean mIsInService;
|
private boolean mIsInService;
|
||||||
|
private int mDefaultVoiceSubscriptionId;
|
||||||
|
private int mDefaultSmsSubscriptionId;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<SubscriptionInfoEntity> getSubscriptionInfoList() {
|
protected List<SubscriptionInfoEntity> getSubscriptionInfoList() {
|
||||||
@@ -118,6 +120,24 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
public void setInService(boolean inService) {
|
public void setInService(boolean inService) {
|
||||||
mIsInService = inService;
|
mIsInService = inService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getDefaultVoiceSubscriptionId() {
|
||||||
|
return mDefaultVoiceSubscriptionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getDefaultSmsSubscriptionId() {
|
||||||
|
return mDefaultSmsSubscriptionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDefaultVoiceSubscriptionId(int subscriptionId) {
|
||||||
|
mDefaultVoiceSubscriptionId = subscriptionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDefaultSmsSubscriptionId(int subscriptionId) {
|
||||||
|
mDefaultSmsSubscriptionId = subscriptionId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
@@ -163,15 +183,13 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
|
|
||||||
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
|
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
|
||||||
int carrierId, String displayName, String mcc, String mnc, String countryIso,
|
int carrierId, String displayName, String mcc, String mnc, String countryIso,
|
||||||
int cardId, boolean isValid, boolean isActive, boolean isAvailable,
|
int cardId, boolean isValid, boolean isActive, boolean isAvailable) {
|
||||||
boolean isDefaultCall, boolean isDefaultSms) {
|
|
||||||
return new SubscriptionInfoEntity(subId, slotId, carrierId,
|
return new SubscriptionInfoEntity(subId, slotId, carrierId,
|
||||||
displayName, displayName, 0, mcc, mnc, countryIso, false, cardId,
|
displayName, displayName, 0, mcc, mnc, countryIso, false, cardId,
|
||||||
TelephonyManager.DEFAULT_PORT_INDEX, false, null,
|
TelephonyManager.DEFAULT_PORT_INDEX, false, null,
|
||||||
SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
|
SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
|
||||||
"1234567890", true, "default", false, isValid,
|
"1234567890", true, false, isValid,
|
||||||
true, isActive, isAvailable, isDefaultCall, isDefaultSms, false, false,
|
true, isActive, isAvailable, false);
|
||||||
false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -181,7 +199,7 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
mSubInfo1 = setupSubscriptionInfoEntity(INVALID_SUB_ID,
|
mSubInfo1 = setupSubscriptionInfoEntity(INVALID_SUB_ID,
|
||||||
SubscriptionManager.INVALID_SIM_SLOT_INDEX, TelephonyManager.UNKNOWN_CARRIER_ID,
|
SubscriptionManager.INVALID_SIM_SLOT_INDEX, TelephonyManager.UNKNOWN_CARRIER_ID,
|
||||||
DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, SUB_COUNTRY_ISO_1,
|
DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, SUB_COUNTRY_ISO_1,
|
||||||
TelephonyManager.UNINITIALIZED_CARD_ID, false, true, true, false, false);
|
TelephonyManager.UNINITIALIZED_CARD_ID, false, true, true);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
@@ -202,9 +220,9 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
mSubInfo1 = setupSubscriptionInfoEntity(INVALID_SUB_ID,
|
mSubInfo1 = setupSubscriptionInfoEntity(INVALID_SUB_ID,
|
||||||
SubscriptionManager.INVALID_SIM_SLOT_INDEX, TelephonyManager.UNKNOWN_CARRIER_ID,
|
SubscriptionManager.INVALID_SIM_SLOT_INDEX, TelephonyManager.UNKNOWN_CARRIER_ID,
|
||||||
DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, SUB_COUNTRY_ISO_1,
|
DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, SUB_COUNTRY_ISO_1,
|
||||||
TelephonyManager.UNINITIALIZED_CARD_ID, false, true, true, false, false);
|
TelephonyManager.UNINITIALIZED_CARD_ID, false, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, false, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo2);
|
mSubscriptionInfoEntityList.add(mSubInfo2);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
@@ -226,7 +244,7 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
public void getSummary_oneSubscription_returnDisplayName() {
|
public void getSummary_oneSubscription_returnDisplayName() {
|
||||||
|
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, false, false);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
@@ -239,9 +257,9 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
public void getSummary_allSubscriptionsHaveNoPreferredStatus_returnDisplayName() {
|
public void getSummary_allSubscriptionsHaveNoPreferredStatus_returnDisplayName() {
|
||||||
|
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, false, false);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, false, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo2);
|
mSubscriptionInfoEntityList.add(mSubInfo2);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
@@ -257,10 +275,13 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void getSummary_oneSubscriptionsIsCallPreferredTwoIsSmsPreferred_returnStatus() {
|
public void getSummary_oneSubscriptionsIsCallPreferredTwoIsSmsPreferred_returnStatus() {
|
||||||
|
|
||||||
|
mController.setDefaultVoiceSubscriptionId(Integer.parseInt(SUB_ID_1));
|
||||||
|
mController.setDefaultSmsSubscriptionId(Integer.parseInt(SUB_ID_2));
|
||||||
|
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, false);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, false, true);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo2);
|
mSubscriptionInfoEntityList.add(mSubInfo2);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
@@ -284,10 +305,13 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void getSummary_oneSubscriptionsIsSmsPreferredTwoIsCallPreferred_returnStatus() {
|
public void getSummary_oneSubscriptionsIsSmsPreferredTwoIsCallPreferred_returnStatus() {
|
||||||
|
|
||||||
|
mController.setDefaultSmsSubscriptionId(Integer.parseInt(SUB_ID_1));
|
||||||
|
mController.setDefaultVoiceSubscriptionId(Integer.parseInt(SUB_ID_2));
|
||||||
|
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, false, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 2, 2, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, true, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo2);
|
mSubscriptionInfoEntityList.add(mSubInfo2);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
@@ -311,10 +335,13 @@ public class NetworkProviderCallsSmsControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void getSummary_oneSubscriptionsIsSmsPreferredAndIsCallPreferred_returnStatus() {
|
public void getSummary_oneSubscriptionsIsSmsPreferredAndIsCallPreferred_returnStatus() {
|
||||||
|
|
||||||
|
mController.setDefaultSmsSubscriptionId(Integer.parseInt(SUB_ID_1));
|
||||||
|
mController.setDefaultVoiceSubscriptionId(Integer.parseInt(SUB_ID_1));
|
||||||
|
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, false, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo2);
|
mSubscriptionInfoEntityList.add(mSubInfo2);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
|
@@ -152,13 +152,11 @@ public class NetworkProviderSimListControllerTest {
|
|||||||
|
|
||||||
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
|
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
|
||||||
int carrierId, String displayName, String mcc, String mnc, String countryIso,
|
int carrierId, String displayName, String mcc, String mnc, String countryIso,
|
||||||
int cardId, CharSequence defaultSimConfig, boolean isValid, boolean isActive,
|
int cardId, boolean isValid, boolean isActive, boolean isAvailable) {
|
||||||
boolean isAvailable, boolean isDefaultCall, boolean isDefaultSms) {
|
|
||||||
return new SubscriptionInfoEntity(subId, slotId, carrierId, displayName, displayName, 0,
|
return new SubscriptionInfoEntity(subId, slotId, carrierId, displayName, displayName, 0,
|
||||||
mcc, mnc, countryIso, false, cardId, TelephonyManager.DEFAULT_PORT_INDEX, false,
|
mcc, mnc, countryIso, false, cardId, TelephonyManager.DEFAULT_PORT_INDEX, false,
|
||||||
null, SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
|
null, SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
|
||||||
"1234567890", true, defaultSimConfig.toString(), false, isValid, true, isActive,
|
"1234567890", true, false, isValid, true, isActive, isAvailable, false);
|
||||||
isAvailable, isDefaultCall, isDefaultSms, false, false, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String setSummaryResId(String resName, String value) {
|
private String setSummaryResId(String resName, String value) {
|
||||||
@@ -173,7 +171,7 @@ public class NetworkProviderSimListControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void getSummary_tapToActivePSim() {
|
public void getSummary_tapToActivePSim() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, "", true, false, true, false, false);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, false, true);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
@@ -186,7 +184,7 @@ public class NetworkProviderSimListControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void getSummary_inactivePSim() {
|
public void getSummary_inactivePSim() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, "", true, false, true, false, false);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, false, true);
|
||||||
doReturn(true).when(mSubscriptionManager).canDisablePhysicalSubscription();
|
doReturn(true).when(mSubscriptionManager).canDisablePhysicalSubscription();
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
@@ -201,15 +199,13 @@ public class NetworkProviderSimListControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void getSummary_defaultCalls() {
|
public void getSummary_defaultCalls() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1,
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
setSummaryResId("sim_category_default_active_sim",
|
|
||||||
setSummaryResId("default_active_sim_calls")), true, true, true, true,
|
|
||||||
false);
|
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
|
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
CharSequence defaultCall = mSubInfo1.defaultSimConfig;
|
CharSequence defaultCall = SubscriptionUtil.getDefaultSimConfig(mContext,
|
||||||
|
Integer.parseInt(SUB_ID_1));
|
||||||
final StringBuilder summary = new StringBuilder();
|
final StringBuilder summary = new StringBuilder();
|
||||||
summary.append(setSummaryResId("sim_category_active_sim", null))
|
summary.append(setSummaryResId("sim_category_active_sim", null))
|
||||||
.append(defaultCall);
|
.append(defaultCall);
|
||||||
@@ -225,14 +221,13 @@ public class NetworkProviderSimListControllerTest {
|
|||||||
.append(", ")
|
.append(", ")
|
||||||
.append(setSummaryResId("default_active_sim_sms"));
|
.append(setSummaryResId("default_active_sim_sms"));
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1,
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
setSummaryResId("sim_category_default_active_sim", defaultConfig.toString()), true,
|
|
||||||
true, true, true, true);
|
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
|
|
||||||
displayPreferenceWithLifecycle();
|
displayPreferenceWithLifecycle();
|
||||||
CharSequence defaultCall = mSubInfo1.defaultSimConfig;
|
CharSequence defaultCall = SubscriptionUtil.getDefaultSimConfig(mContext,
|
||||||
|
Integer.parseInt(SUB_ID_1));
|
||||||
final StringBuilder summary = new StringBuilder();
|
final StringBuilder summary = new StringBuilder();
|
||||||
summary.append(setSummaryResId("sim_category_active_sim", null))
|
summary.append(setSummaryResId("sim_category_active_sim", null))
|
||||||
.append(defaultCall);
|
.append(defaultCall);
|
||||||
@@ -245,9 +240,9 @@ public class NetworkProviderSimListControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void getAvailablePhysicalSubscription_withTwoPhysicalSims_returnTwo() {
|
public void getAvailablePhysicalSubscription_withTwoPhysicalSims_returnTwo() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, "", true, true, true, true, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, "", true, true, true, false, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo2);
|
mSubscriptionInfoEntityList.add(mSubInfo2);
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
|
@@ -135,15 +135,12 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
|
|
||||||
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
|
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
|
||||||
int carrierId, String displayName, String mcc, String mnc, String countryIso,
|
int carrierId, String displayName, String mcc, String mnc, String countryIso,
|
||||||
int cardId, boolean isValid, boolean isActive, boolean isAvailable,
|
int cardId, boolean isValid, boolean isActive, boolean isAvailable) {
|
||||||
boolean isDefaultCall, boolean isDefaultSms) {
|
|
||||||
return new SubscriptionInfoEntity(subId, slotId, carrierId,
|
return new SubscriptionInfoEntity(subId, slotId, carrierId,
|
||||||
displayName, displayName, 0, mcc, mnc, countryIso, false, cardId,
|
displayName, displayName, 0, mcc, mnc, countryIso, false, cardId,
|
||||||
TelephonyManager.DEFAULT_PORT_INDEX, false, null,
|
TelephonyManager.DEFAULT_PORT_INDEX, false, null,
|
||||||
SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
|
SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
|
||||||
"1234567890", true, "default", false, isValid,
|
"1234567890", true, false, isValid, true, isActive, isAvailable, false);
|
||||||
true, isActive, isAvailable, isDefaultCall,
|
|
||||||
isDefaultSms, false, false, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -164,9 +161,9 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void onPreferenceChange_prefChangedToSub2_callbackCalledCorrectly() {
|
public void onPreferenceChange_prefChangedToSub2_callbackCalledCorrectly() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, false, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo2);
|
mSubscriptionInfoEntityList.add(mSubInfo2);
|
||||||
@@ -181,9 +178,9 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void onPreferenceChange_prefChangedToAlwaysAsk_callbackCalledCorrectly() {
|
public void onPreferenceChange_prefChangedToAlwaysAsk_callbackCalledCorrectly() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, false, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo2);
|
mSubscriptionInfoEntityList.add(mSubInfo2);
|
||||||
@@ -201,9 +198,9 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
public void onPreferenceChange_prefBecomesAvailable_onPreferenceChangeCallbackNotNull() {
|
public void onPreferenceChange_prefBecomesAvailable_onPreferenceChangeCallbackNotNull() {
|
||||||
// Start with only one sub active, so the pref is not available
|
// 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,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, false, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
||||||
@@ -225,9 +222,9 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void onSubscriptionsChanged_twoSubscriptionsDefaultChanges_selectedEntryGetsUpdated() {
|
public void onSubscriptionsChanged_twoSubscriptionsDefaultChanges_selectedEntryGetsUpdated() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, false, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo2);
|
mSubscriptionInfoEntityList.add(mSubInfo2);
|
||||||
@@ -246,9 +243,9 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void onSubscriptionsChanged_goFromTwoSubscriptionsToOne_prefDisappears() {
|
public void onSubscriptionsChanged_goFromTwoSubscriptionsToOne_prefDisappears() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, false, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo2);
|
mSubscriptionInfoEntityList.add(mSubInfo2);
|
||||||
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
||||||
@@ -273,9 +270,9 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void onSubscriptionsChanged_goFromOneSubscriptionToTwo_prefAppears() {
|
public void onSubscriptionsChanged_goFromOneSubscriptionToTwo_prefAppears() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, false, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
||||||
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
|
||||||
@@ -297,11 +294,11 @@ public class DefaultSubscriptionControllerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void onSubscriptionsChanged_goFromTwoToThreeSubscriptions_listGetsUpdated() {
|
public void onSubscriptionsChanged_goFromTwoToThreeSubscriptions_listGetsUpdated() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
|
||||||
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, true);
|
SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
|
||||||
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true, false, false);
|
SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
|
||||||
mSubInfo3 = setupSubscriptionInfoEntity(SUB_ID_3, 1, 1, DISPLAY_NAME_3, SUB_MCC_3,
|
mSubInfo3 = setupSubscriptionInfoEntity(SUB_ID_3, 1, 1, DISPLAY_NAME_3, SUB_MCC_3,
|
||||||
SUB_MNC_3, SUB_COUNTRY_ISO_3, 1, true, true, true, false, false);
|
SUB_MNC_3, SUB_COUNTRY_ISO_3, 1, true, true, true);
|
||||||
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo1);
|
mSubscriptionInfoEntityList.add(mSubInfo1);
|
||||||
mSubscriptionInfoEntityList.add(mSubInfo2);
|
mSubscriptionInfoEntityList.add(mSubInfo2);
|
||||||
|
@@ -114,15 +114,13 @@ public class MobileDataPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, String displayName,
|
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, String displayName,
|
||||||
boolean isOpportunistic, boolean isValid, boolean isActive, boolean isAvailable,
|
boolean isOpportunistic, boolean isValid, boolean isActive, boolean isAvailable) {
|
||||||
boolean isDefaultData) {
|
|
||||||
int id = Integer.parseInt(subId);
|
int id = Integer.parseInt(subId);
|
||||||
return new SubscriptionInfoEntity(subId, id, id,
|
return new SubscriptionInfoEntity(subId, id, id,
|
||||||
displayName, displayName, 0, "mcc", "mnc", "countryIso", false, id,
|
displayName, displayName, 0, "mcc", "mnc", "countryIso", false, id,
|
||||||
TelephonyManager.DEFAULT_PORT_INDEX, isOpportunistic, null,
|
TelephonyManager.DEFAULT_PORT_INDEX, isOpportunistic, null,
|
||||||
SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
|
SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
|
||||||
"1234567890", true, "default", false, isValid, true, isActive, isAvailable, false,
|
"1234567890", true, false, isValid, true, isActive, isAvailable, false);
|
||||||
false, isDefaultData, false, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private MobileNetworkInfoEntity setupMobileNetworkInfoEntity(String subId,
|
private MobileNetworkInfoEntity setupMobileNetworkInfoEntity(String subId,
|
||||||
@@ -141,8 +139,7 @@ public class MobileDataPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isDialogNeeded_disableSingleSim_returnFalse() {
|
public void isDialogNeeded_disableSingleSim_returnFalse() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true);
|
||||||
true);
|
|
||||||
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
|
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
|
||||||
doReturn(1).when(mTelephonyManager).getActiveModemCount();
|
doReturn(1).when(mTelephonyManager).getActiveModemCount();
|
||||||
|
|
||||||
@@ -151,14 +148,12 @@ public class MobileDataPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isDialogNeeded_enableNonDefaultSimInMultiSimMode_returnTrue() {
|
public void isDialogNeeded_enableNonDefaultSimInMultiSimMode_returnTrue() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true);
|
||||||
false);
|
|
||||||
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), false);
|
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), false);
|
||||||
doReturn(1).when(mTelephonyManager).getActiveModemCount();
|
doReturn(1).when(mTelephonyManager).getActiveModemCount();
|
||||||
// Ideally, it would be better if we could set the default data subscription to
|
// Ideally, it would be better if we could set the default data subscription to
|
||||||
// SUB_ID_OTHER, and set that as an active subscription id.
|
// SUB_ID_OTHER, and set that as an active subscription id.
|
||||||
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, false, true, true, true,
|
mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, false, true, true, true);
|
||||||
true);
|
|
||||||
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
|
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
|
||||||
doReturn(2).when(mTelephonyManager).getActiveModemCount();
|
doReturn(2).when(mTelephonyManager).getActiveModemCount();
|
||||||
|
|
||||||
@@ -180,8 +175,7 @@ public class MobileDataPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onPreferenceChange_singleSim_On_shouldEnableData() {
|
public void onPreferenceChange_singleSim_On_shouldEnableData() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true);
|
||||||
true);
|
|
||||||
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
|
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
|
||||||
mController.setSubscriptionInfoEntity(mSubInfo1);
|
mController.setSubscriptionInfoEntity(mSubInfo1);
|
||||||
mController.setMobileNetworkInfoEntity(mNetworkInfo1);
|
mController.setMobileNetworkInfoEntity(mNetworkInfo1);
|
||||||
@@ -194,8 +188,7 @@ public class MobileDataPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onPreferenceChange_multiSim_On_shouldEnableData() {
|
public void onPreferenceChange_multiSim_On_shouldEnableData() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true);
|
||||||
true);
|
|
||||||
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
|
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
|
||||||
mController.setSubscriptionInfoEntity(mSubInfo1);
|
mController.setSubscriptionInfoEntity(mSubInfo1);
|
||||||
mController.setMobileNetworkInfoEntity(mNetworkInfo1);
|
mController.setMobileNetworkInfoEntity(mNetworkInfo1);
|
||||||
@@ -219,8 +212,7 @@ public class MobileDataPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_opportunistic_disabled() {
|
public void updateState_opportunistic_disabled() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true);
|
||||||
true);
|
|
||||||
mController.init(mFragmentManager, SUB_ID, mSubInfo1, mNetworkInfo1);
|
mController.init(mFragmentManager, SUB_ID, mSubInfo1, mNetworkInfo1);
|
||||||
mController.updateState(mPreference);
|
mController.updateState(mPreference);
|
||||||
|
|
||||||
@@ -232,8 +224,7 @@ public class MobileDataPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_notOpportunistic_enabled() {
|
public void updateState_notOpportunistic_enabled() {
|
||||||
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true,
|
mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true);
|
||||||
true);
|
|
||||||
mController.init(mFragmentManager, SUB_ID, mSubInfo1, mNetworkInfo1);
|
mController.init(mFragmentManager, SUB_ID, mSubInfo1, mNetworkInfo1);
|
||||||
mController.updateState(mPreference);
|
mController.updateState(mPreference);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user