Fix the BasePreferenceController.createInstance's IllegalStateException
When the settings search do BasePreferenceController.createInstance, it get the the IllegalStateException, and then the search ignore this controller. It causes the indexing can not filter this controller via the PreferenceController's getAvailabilityStatus. Bug: 335509130 Test: Build pass. Do search and no crash Change-Id: Icaff8ca690ca3e3a46c2f21a5fbde0bbd99fd92e
This commit is contained in:
committed by
SongFerng Wang
parent
381638f284
commit
7489c93347
@@ -31,6 +31,10 @@ public class CallsDefaultSubscriptionController extends DefaultSubscriptionContr
|
||||
super(context, preferenceKey, lifecycle, lifecycleOwner);
|
||||
}
|
||||
|
||||
public CallsDefaultSubscriptionController(Context context, String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getDefaultSubscriptionId() {
|
||||
int defaultCallSubId = SubscriptionManager.getDefaultVoiceSubscriptionId();
|
||||
|
@@ -69,15 +69,19 @@ public class ConvertToEsimPreferenceController extends TelephonyBasePreferenceCo
|
||||
|
||||
public ConvertToEsimPreferenceController(Context context, String key, Lifecycle lifecycle,
|
||||
LifecycleOwner lifecycleOwner, int subId) {
|
||||
super(context, key);
|
||||
this(context, key);
|
||||
mSubId = subId;
|
||||
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
||||
mLifecycleOwner = lifecycleOwner;
|
||||
if (lifecycle != null) {
|
||||
lifecycle.addObserver(this);
|
||||
}
|
||||
}
|
||||
|
||||
public ConvertToEsimPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
||||
}
|
||||
|
||||
public void init(int subId, SubscriptionInfoEntity subInfoEntity) {
|
||||
mSubId = subId;
|
||||
mSubscriptionInfoEntity = subInfoEntity;
|
||||
|
@@ -64,16 +64,20 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere
|
||||
|
||||
public DefaultSubscriptionController(Context context, String preferenceKey, Lifecycle lifecycle,
|
||||
LifecycleOwner lifecycleOwner) {
|
||||
this(context, preferenceKey);
|
||||
mLifecycleOwner = lifecycleOwner;
|
||||
if (lifecycle != null) {
|
||||
lifecycle.addObserver(this);
|
||||
}
|
||||
}
|
||||
|
||||
public DefaultSubscriptionController(Context context, String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
mManager = context.getSystemService(SubscriptionManager.class);
|
||||
mIsRtlMode = context.getResources().getConfiguration().getLayoutDirection()
|
||||
== View.LAYOUT_DIRECTION_RTL;
|
||||
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
||||
mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
|
||||
mLifecycleOwner = lifecycleOwner;
|
||||
if (lifecycle != null) {
|
||||
lifecycle.addObserver(this);
|
||||
}
|
||||
}
|
||||
|
||||
/** @return the id of the default subscription for the service, or
|
||||
|
@@ -72,16 +72,20 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon
|
||||
|
||||
public MobileDataPreferenceController(Context context, String key, Lifecycle lifecycle,
|
||||
LifecycleOwner lifecycleOwner, int subId) {
|
||||
super(context, key);
|
||||
this(context, key);
|
||||
mSubId = subId;
|
||||
mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
|
||||
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
||||
mLifecycleOwner = lifecycleOwner;
|
||||
if (lifecycle != null) {
|
||||
lifecycle.addObserver(this);
|
||||
}
|
||||
}
|
||||
|
||||
public MobileDataPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
|
||||
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus(int subId) {
|
||||
if (Flags.isDualSimOnboardingEnabled()) {
|
||||
|
@@ -63,16 +63,20 @@ public class RoamingPreferenceController extends TelephonyTogglePreferenceContro
|
||||
|
||||
public RoamingPreferenceController(Context context, String key, Lifecycle lifecycle,
|
||||
LifecycleOwner lifecycleOwner, int subId) {
|
||||
super(context, key);
|
||||
this(context, key);
|
||||
mSubId = subId;
|
||||
mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
|
||||
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
||||
mLifecycleOwner = lifecycleOwner;
|
||||
if (lifecycle != null) {
|
||||
lifecycle.addObserver(this);
|
||||
}
|
||||
}
|
||||
|
||||
public RoamingPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
|
||||
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
|
||||
|
@@ -35,6 +35,12 @@ public class SmsDefaultSubscriptionController extends DefaultSubscriptionControl
|
||||
.getBoolean(com.android.internal.R.bool.config_sms_ask_every_time_support);
|
||||
}
|
||||
|
||||
public SmsDefaultSubscriptionController(Context context, String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
mIsAskEverytimeSupported = mContext.getResources()
|
||||
.getBoolean(com.android.internal.R.bool.config_sms_ask_every_time_support);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getDefaultSubscriptionId() {
|
||||
int defaultSmsSubId = SubscriptionManager.getDefaultSmsSubscriptionId();
|
||||
|
Reference in New Issue
Block a user