Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8e1f2ed9 authored by Jack Yu's avatar Jack Yu Committed by Gerrit Code Review
Browse files

Merge "Added isActiveSubId support"

parents ec63139d bfecf756
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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());
+1 −1
Original line number Diff line number Diff line
@@ -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()
+11 −1
Original line number Diff line number Diff line
@@ -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;
@@ -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) {
+13 −3
Original line number Diff line number Diff line
@@ -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;
@@ -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));
@@ -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 {
+48 −25
Original line number Diff line number Diff line
@@ -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) {
@@ -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();

@@ -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());
@@ -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(
@@ -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.
@@ -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();
    }

@@ -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 {
@@ -603,6 +625,7 @@ public class PhoneFactory {
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        pw.flush();
        pw.decreaseIndent();
        pw.println("++++++++++++++++++++++++++++++++");
Loading