summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/network
diff options
context:
space:
mode:
authorBonian Chen <bonianchen@google.com>2020-05-04 11:15:03 +0800
committerBonian Chen <bonianchen@google.com>2020-05-04 11:23:11 +0800
commit2a7767ee2695508a658ce3bae0cf0151fcdad766 (patch)
tree5c0c01df4a04b1939ae20baef301b4196b7b4cd6 /src/com/android/settings/network
parent37c795af3a1157fb5cd244d1dd9474983304b025 (diff)
downloadpackages_apps_Settings-2a7767ee2695508a658ce3bae0cf0151fcdad766.tar.gz
packages_apps_Settings-2a7767ee2695508a658ce3bae0cf0151fcdad766.tar.bz2
packages_apps_Settings-2a7767ee2695508a658ce3bae0cf0151fcdad766.zip
[Settings] Adopt TelephonyBasePreferenceController
Adopt TelephonyBasePreferenceController for better support on multi-SIM environment. Bug: 143996139 Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=DefaultSubscriptionControllerTest Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=DisableSimFooterPreferenceControllerTest Change-Id: I8a9c6efa927be1cb4a7ab4ebe816dcad9f20bd70
Diffstat (limited to 'src/com/android/settings/network')
-rw-r--r--src/com/android/settings/network/telephony/DefaultSubscriptionController.java7
-rw-r--r--src/com/android/settings/network/telephony/DisableSimFooterPreferenceController.java21
2 files changed, 17 insertions, 11 deletions
diff --git a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
index 650890e434..779802a22a 100644
--- a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
@@ -35,7 +35,6 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.network.SubscriptionsChangeListener;
@@ -47,8 +46,8 @@ import java.util.List;
* what mobile network subscription is used by default for some service controlled by the
* SubscriptionManager. This can be used for services such as Calls or SMS.
*/
-public abstract class DefaultSubscriptionController extends BasePreferenceController implements
- LifecycleObserver, Preference.OnPreferenceChangeListener,
+public abstract class DefaultSubscriptionController extends TelephonyBasePreferenceController
+ implements LifecycleObserver, Preference.OnPreferenceChangeListener,
SubscriptionsChangeListener.SubscriptionsChangeListenerClient {
private static final String TAG = "DefaultSubController";
@@ -85,7 +84,7 @@ public abstract class DefaultSubscriptionController extends BasePreferenceContro
protected abstract void setDefaultSubscription(int subscriptionId);
@Override
- public int getAvailabilityStatus() {
+ public int getAvailabilityStatus(int subId) {
final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
if (subs.size() > 1) {
return AVAILABLE;
diff --git a/src/com/android/settings/network/telephony/DisableSimFooterPreferenceController.java b/src/com/android/settings/network/telephony/DisableSimFooterPreferenceController.java
index f5bcce79f4..d14c8d09e4 100644
--- a/src/com/android/settings/network/telephony/DisableSimFooterPreferenceController.java
+++ b/src/com/android/settings/network/telephony/DisableSimFooterPreferenceController.java
@@ -20,30 +20,37 @@ import android.content.Context;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
-import com.android.settings.core.BasePreferenceController;
import com.android.settings.network.SubscriptionUtil;
-public class DisableSimFooterPreferenceController extends BasePreferenceController {
- private int mSubId;
+/**
+ * Shows information about disable a physical SIM.
+ */
+public class DisableSimFooterPreferenceController extends TelephonyBasePreferenceController {
+ /**
+ * Constructor
+ */
public DisableSimFooterPreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
- mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
}
+ /**
+ * re-init for SIM based on given subscription ID.
+ * @param subId is the given subscription ID
+ */
public void init(int subId) {
mSubId = subId;
}
@Override
- public int getAvailabilityStatus() {
- if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ public int getAvailabilityStatus(int subId) {
+ if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
return CONDITIONALLY_UNAVAILABLE;
}
SubscriptionManager subManager = mContext.getSystemService(SubscriptionManager.class);
for (SubscriptionInfo info : SubscriptionUtil.getAvailableSubscriptions(mContext)) {
- if (info.getSubscriptionId() == mSubId) {
+ if (info.getSubscriptionId() == subId) {
if (info.isEmbedded() || SubscriptionUtil.showToggleForPhysicalSim(subManager)) {
return CONDITIONALLY_UNAVAILABLE;
}