Loading src/java/com/android/internal/telephony/MultiSimSettingController.java +1 −1 Original line number Diff line number Diff line Loading @@ -905,7 +905,7 @@ public class MultiSimSettingController extends Handler { */ private void setRoamingDataEnabledForGroup(int subId, boolean enable) { List<SubscriptionInfo> infoList; if (PhoneFactory.getDefaultPhone().isSubscriptionManagerServiceEnabled()) { if (PhoneFactory.isSubscriptionManagerServiceEnabled()) { infoList = SubscriptionManagerService.getInstance().getSubscriptionsInGroup( mSubController.getGroupUuid(subId), mContext.getOpPackageName(), mContext.getAttributionTag()); Loading src/java/com/android/internal/telephony/NetworkScanRequestTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -197,7 +197,7 @@ public final class NetworkScanRequestTracker { public static Set<String> getAllowedMccMncsForLocationRestrictedScan(Context context) { final long token = Binder.clearCallingIdentity(); try { if (PhoneFactory.getDefaultPhone().isSubscriptionManagerServiceEnabled()) { if (PhoneFactory.isSubscriptionManagerServiceEnabled()) { return SubscriptionManagerService.getInstance() .getAvailableSubscriptionInfoList(context.getOpPackageName(), context.getAttributionTag()).stream() Loading src/java/com/android/internal/telephony/Phone.java +11 −1 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.imsphone.ImsPhoneCall; import com.android.internal.telephony.metrics.SmsStats; import com.android.internal.telephony.metrics.VoiceCallSessionStats; import com.android.internal.telephony.subscription.SubscriptionInfoInternal; import com.android.internal.telephony.subscription.SubscriptionManagerService; import com.android.internal.telephony.test.SimulatedRadioControl; import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType; Loading Loading @@ -4377,7 +4378,16 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { } private int getResolvedUsageSetting(int subId) { SubscriptionInfo subInfo = SubscriptionController.getInstance().getSubscriptionInfo(subId); SubscriptionInfo subInfo = null; if (isSubscriptionManagerServiceEnabled()) { SubscriptionInfoInternal subInfoInternal = mSubscriptionManagerService .getSubscriptionInfoInternal(subId); if (subInfoInternal != null) { subInfo = subInfoInternal.toSubscriptionInfo(); } } else { subInfo = SubscriptionController.getInstance().getSubscriptionInfo(subId); } if (subInfo == null || subInfo.getUsageSetting() == SubscriptionManager.USAGE_SETTING_UNKNOWN) { Loading src/java/com/android/internal/telephony/PhoneConfigurationManager.java +13 −3 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.telephony.TelephonyManager; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.subscription.SubscriptionManagerService; import com.android.telephony.Rlog; import java.util.HashMap; Loading Loading @@ -366,7 +367,11 @@ public class PhoneConfigurationManager { // eg if we are going from 2 phones to 1 phone, we need to deregister RIL for the // second phone. This loop does nothing if numOfActiveModems is increasing. for (int phoneId = numOfActiveModems; phoneId < oldNumOfActiveModems; phoneId++) { if (PhoneFactory.isSubscriptionManagerServiceEnabled()) { SubscriptionManagerService.getInstance().markSubscriptionsInactive(phoneId); } else { SubscriptionController.getInstance().clearSubInfoRecord(phoneId); } subInfoCleared = true; mPhones[phoneId].mCi.onSlotActiveStatusChange( SubscriptionManager.isValidPhoneId(phoneId)); Loading Loading @@ -400,8 +405,13 @@ public class PhoneConfigurationManager { + "setting VOICE & SMS subId to -1 (No Preference)"); //Set the default VOICE subId to -1 ("No Preference") if (PhoneFactory.isSubscriptionManagerServiceEnabled()) { SubscriptionManagerService.getInstance().setDefaultVoiceSubId( SubscriptionManager.INVALID_SUBSCRIPTION_ID); } else { SubscriptionController.getInstance().setDefaultVoiceSubId( SubscriptionManager.INVALID_SUBSCRIPTION_ID); } //TODO:: Set the default SMS sub to "No Preference". Tracking this bug (b/227386042) } else { Loading src/java/com/android/internal/telephony/PhoneFactory.java +48 −25 Original line number Diff line number Diff line Loading @@ -104,6 +104,8 @@ public class PhoneFactory { private static MetricsCollector sMetricsCollector; private static RadioInterfaceCapabilityController sRadioHalCapabilities; private static boolean sSubscriptionManagerServiceEnabled = false; //***** Class Methods public static void makeDefaultPhones(Context context) { Loading @@ -119,6 +121,10 @@ public class PhoneFactory { synchronized (sLockProxyPhones) { if (!sMadeDefaults) { sContext = context; sSubscriptionManagerServiceEnabled = context.getResources().getBoolean( com.android.internal.R.bool.config_using_subscription_manager_service); // create the telephony device controller. TelephonyDevController.create(); Loading Loading @@ -196,8 +202,8 @@ public class PhoneFactory { // call getInstance() sUiccController = UiccController.make(context); if (sContext.getResources().getBoolean( com.android.internal.R.bool.config_using_subscription_manager_service)) { if (isSubscriptionManagerServiceEnabled()) { Rlog.i(LOG_TAG, "Creating SubscriptionManagerService"); sSubscriptionManagerService = new SubscriptionManagerService(context, Looper.myLooper()); Loading Loading @@ -240,13 +246,15 @@ public class PhoneFactory { sMadeDefaults = true; if (!isSubscriptionManagerServiceEnabled()) { Rlog.i(LOG_TAG, "Creating SubInfoRecordUpdater "); HandlerThread pfhandlerThread = new HandlerThread("PhoneFactoryHandlerThread"); pfhandlerThread.start(); sSubInfoRecordUpdater = TelephonyComponentFactory.getInstance().inject( SubscriptionInfoUpdater.class.getName()). makeSubscriptionInfoUpdater(pfhandlerThread. getLooper(), context, SubscriptionController.getInstance()); SubscriptionInfoUpdater.class.getName()) .makeSubscriptionInfoUpdater(pfhandlerThread.getLooper(), context, SubscriptionController.getInstance()); } // Only bring up IMS if the device supports having an IMS stack. if (context.getPackageManager().hasSystemFeature( Loading Loading @@ -286,6 +294,14 @@ public class PhoneFactory { } } /** * @return {@code true} if the new {@link SubscriptionManagerService} is enabled, otherwise the * old {@link SubscriptionController} is used. */ public static boolean isSubscriptionManagerServiceEnabled() { return sSubscriptionManagerServiceEnabled; } /** * Upon single SIM to dual SIM switch or vice versa, we dynamically allocate or de-allocate * Phone and CommandInterface objects. Loading Loading @@ -442,6 +458,9 @@ public class PhoneFactory { /* Gets the default subscription */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) public static int getDefaultSubscription() { if (isSubscriptionManagerServiceEnabled()) { return SubscriptionManagerService.getInstance().getDefaultSubId(); } return SubscriptionController.getInstance().getDefaultSubId(); } Loading Loading @@ -585,6 +604,9 @@ public class PhoneFactory { pw.decreaseIndent(); pw.println("++++++++++++++++++++++++++++++++"); if (isSubscriptionManagerServiceEnabled()) { SubscriptionManagerService.getInstance().dump(fd, pw, args); } else { pw.println("SubscriptionController:"); pw.increaseIndent(); try { Loading @@ -603,6 +625,7 @@ public class PhoneFactory { } catch (Exception e) { e.printStackTrace(); } } pw.flush(); pw.decreaseIndent(); pw.println("++++++++++++++++++++++++++++++++"); Loading Loading
src/java/com/android/internal/telephony/MultiSimSettingController.java +1 −1 Original line number Diff line number Diff line Loading @@ -905,7 +905,7 @@ public class MultiSimSettingController extends Handler { */ private void setRoamingDataEnabledForGroup(int subId, boolean enable) { List<SubscriptionInfo> infoList; if (PhoneFactory.getDefaultPhone().isSubscriptionManagerServiceEnabled()) { if (PhoneFactory.isSubscriptionManagerServiceEnabled()) { infoList = SubscriptionManagerService.getInstance().getSubscriptionsInGroup( mSubController.getGroupUuid(subId), mContext.getOpPackageName(), mContext.getAttributionTag()); Loading
src/java/com/android/internal/telephony/NetworkScanRequestTracker.java +1 −1 Original line number Diff line number Diff line Loading @@ -197,7 +197,7 @@ public final class NetworkScanRequestTracker { public static Set<String> getAllowedMccMncsForLocationRestrictedScan(Context context) { final long token = Binder.clearCallingIdentity(); try { if (PhoneFactory.getDefaultPhone().isSubscriptionManagerServiceEnabled()) { if (PhoneFactory.isSubscriptionManagerServiceEnabled()) { return SubscriptionManagerService.getInstance() .getAvailableSubscriptionInfoList(context.getOpPackageName(), context.getAttributionTag()).stream() Loading
src/java/com/android/internal/telephony/Phone.java +11 −1 Original line number Diff line number Diff line Loading @@ -82,6 +82,7 @@ import com.android.internal.telephony.imsphone.ImsPhone; import com.android.internal.telephony.imsphone.ImsPhoneCall; import com.android.internal.telephony.metrics.SmsStats; import com.android.internal.telephony.metrics.VoiceCallSessionStats; import com.android.internal.telephony.subscription.SubscriptionInfoInternal; import com.android.internal.telephony.subscription.SubscriptionManagerService; import com.android.internal.telephony.test.SimulatedRadioControl; import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType; Loading Loading @@ -4377,7 +4378,16 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { } private int getResolvedUsageSetting(int subId) { SubscriptionInfo subInfo = SubscriptionController.getInstance().getSubscriptionInfo(subId); SubscriptionInfo subInfo = null; if (isSubscriptionManagerServiceEnabled()) { SubscriptionInfoInternal subInfoInternal = mSubscriptionManagerService .getSubscriptionInfoInternal(subId); if (subInfoInternal != null) { subInfo = subInfoInternal.toSubscriptionInfo(); } } else { subInfo = SubscriptionController.getInstance().getSubscriptionInfo(subId); } if (subInfo == null || subInfo.getUsageSetting() == SubscriptionManager.USAGE_SETTING_UNKNOWN) { Loading
src/java/com/android/internal/telephony/PhoneConfigurationManager.java +13 −3 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.telephony.TelephonyManager; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.subscription.SubscriptionManagerService; import com.android.telephony.Rlog; import java.util.HashMap; Loading Loading @@ -366,7 +367,11 @@ public class PhoneConfigurationManager { // eg if we are going from 2 phones to 1 phone, we need to deregister RIL for the // second phone. This loop does nothing if numOfActiveModems is increasing. for (int phoneId = numOfActiveModems; phoneId < oldNumOfActiveModems; phoneId++) { if (PhoneFactory.isSubscriptionManagerServiceEnabled()) { SubscriptionManagerService.getInstance().markSubscriptionsInactive(phoneId); } else { SubscriptionController.getInstance().clearSubInfoRecord(phoneId); } subInfoCleared = true; mPhones[phoneId].mCi.onSlotActiveStatusChange( SubscriptionManager.isValidPhoneId(phoneId)); Loading Loading @@ -400,8 +405,13 @@ public class PhoneConfigurationManager { + "setting VOICE & SMS subId to -1 (No Preference)"); //Set the default VOICE subId to -1 ("No Preference") if (PhoneFactory.isSubscriptionManagerServiceEnabled()) { SubscriptionManagerService.getInstance().setDefaultVoiceSubId( SubscriptionManager.INVALID_SUBSCRIPTION_ID); } else { SubscriptionController.getInstance().setDefaultVoiceSubId( SubscriptionManager.INVALID_SUBSCRIPTION_ID); } //TODO:: Set the default SMS sub to "No Preference". Tracking this bug (b/227386042) } else { Loading
src/java/com/android/internal/telephony/PhoneFactory.java +48 −25 Original line number Diff line number Diff line Loading @@ -104,6 +104,8 @@ public class PhoneFactory { private static MetricsCollector sMetricsCollector; private static RadioInterfaceCapabilityController sRadioHalCapabilities; private static boolean sSubscriptionManagerServiceEnabled = false; //***** Class Methods public static void makeDefaultPhones(Context context) { Loading @@ -119,6 +121,10 @@ public class PhoneFactory { synchronized (sLockProxyPhones) { if (!sMadeDefaults) { sContext = context; sSubscriptionManagerServiceEnabled = context.getResources().getBoolean( com.android.internal.R.bool.config_using_subscription_manager_service); // create the telephony device controller. TelephonyDevController.create(); Loading Loading @@ -196,8 +202,8 @@ public class PhoneFactory { // call getInstance() sUiccController = UiccController.make(context); if (sContext.getResources().getBoolean( com.android.internal.R.bool.config_using_subscription_manager_service)) { if (isSubscriptionManagerServiceEnabled()) { Rlog.i(LOG_TAG, "Creating SubscriptionManagerService"); sSubscriptionManagerService = new SubscriptionManagerService(context, Looper.myLooper()); Loading Loading @@ -240,13 +246,15 @@ public class PhoneFactory { sMadeDefaults = true; if (!isSubscriptionManagerServiceEnabled()) { Rlog.i(LOG_TAG, "Creating SubInfoRecordUpdater "); HandlerThread pfhandlerThread = new HandlerThread("PhoneFactoryHandlerThread"); pfhandlerThread.start(); sSubInfoRecordUpdater = TelephonyComponentFactory.getInstance().inject( SubscriptionInfoUpdater.class.getName()). makeSubscriptionInfoUpdater(pfhandlerThread. getLooper(), context, SubscriptionController.getInstance()); SubscriptionInfoUpdater.class.getName()) .makeSubscriptionInfoUpdater(pfhandlerThread.getLooper(), context, SubscriptionController.getInstance()); } // Only bring up IMS if the device supports having an IMS stack. if (context.getPackageManager().hasSystemFeature( Loading Loading @@ -286,6 +294,14 @@ public class PhoneFactory { } } /** * @return {@code true} if the new {@link SubscriptionManagerService} is enabled, otherwise the * old {@link SubscriptionController} is used. */ public static boolean isSubscriptionManagerServiceEnabled() { return sSubscriptionManagerServiceEnabled; } /** * Upon single SIM to dual SIM switch or vice versa, we dynamically allocate or de-allocate * Phone and CommandInterface objects. Loading Loading @@ -442,6 +458,9 @@ public class PhoneFactory { /* Gets the default subscription */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) public static int getDefaultSubscription() { if (isSubscriptionManagerServiceEnabled()) { return SubscriptionManagerService.getInstance().getDefaultSubId(); } return SubscriptionController.getInstance().getDefaultSubId(); } Loading Loading @@ -585,6 +604,9 @@ public class PhoneFactory { pw.decreaseIndent(); pw.println("++++++++++++++++++++++++++++++++"); if (isSubscriptionManagerServiceEnabled()) { SubscriptionManagerService.getInstance().dump(fd, pw, args); } else { pw.println("SubscriptionController:"); pw.increaseIndent(); try { Loading @@ -603,6 +625,7 @@ public class PhoneFactory { } catch (Exception e) { e.printStackTrace(); } } pw.flush(); pw.decreaseIndent(); pw.println("++++++++++++++++++++++++++++++++"); Loading