diff --git a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java index 650890e434e..779802a22ac 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 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 f5bcce79f42..d14c8d09e44 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; }