diff options
author | Bonian Chen <bonianchen@google.com> | 2020-05-04 11:15:03 +0800 |
---|---|---|
committer | Bonian Chen <bonianchen@google.com> | 2020-05-04 11:23:11 +0800 |
commit | 2a7767ee2695508a658ce3bae0cf0151fcdad766 (patch) | |
tree | 5c0c01df4a04b1939ae20baef301b4196b7b4cd6 /src/com/android/settings | |
parent | 37c795af3a1157fb5cd244d1dd9474983304b025 (diff) | |
download | packages_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')
-rw-r--r-- | src/com/android/settings/network/telephony/DefaultSubscriptionController.java | 7 | ||||
-rw-r--r-- | src/com/android/settings/network/telephony/DisableSimFooterPreferenceController.java | 21 |
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; } |