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

Commit c4783e1b authored by Jack Yu's avatar Jack Yu
Browse files

Added GetActiveSubscriptionInfo support

1. Added GetActiveSubscriptionInfo.
2. Added SetDisplayNameUsingSrc.
3. Converted more modules to use SubscriptionManagerService.

Test: atest FrameworksTelephonyTests
Bug: 239607619
Merged-In: I8c0aa35d4430b7c6ca6d02c4e68a00b7d5ef9b94
Change-Id: I8c0aa35d4430b7c6ca6d02c4e68a00b7d5ef9b94
parent 14d2d111
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -463,11 +463,7 @@ public class MultiSimSettingController extends Handler {
        // being specified in it. So here we do additional check to make sur we don't miss the
        // subId.
        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
            if (PhoneFactory.isSubscriptionManagerServiceEnabled()) {
                subId = mSubscriptionManagerService.getSubId(phoneId);
            } else {
                subId = mSubController.getSubId(phoneId);
            }
            subId = SubscriptionManager.getSubscriptionId(phoneId);
            if (SubscriptionManager.isValidSubscriptionId(subId)) {
                CarrierConfigManager cm = mContext.getSystemService(CarrierConfigManager.class);
                if (cm != null && cm.getConfigForSubId(subId) != null) {
+6 −6
Original line number Diff line number Diff line
@@ -602,6 +602,12 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
        // Initialize SMS stats
        mSmsStats = new SmsStats(this);

        mIsSubscriptionManagerServiceEnabled = mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_using_subscription_manager_service);
        if (isSubscriptionManagerServiceEnabled()) {
            mSubscriptionManagerService = SubscriptionManagerService.getInstance();
        }

        if (getPhoneType() == PhoneConstants.PHONE_TYPE_IMS) {
            return;
        }
@@ -610,12 +616,6 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
            mTelephonyTester = new TelephonyTester(this);
        }

        mIsSubscriptionManagerServiceEnabled = mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_using_subscription_manager_service);
        if (isSubscriptionManagerServiceEnabled()) {
            mSubscriptionManagerService = SubscriptionManagerService.getInstance();
        }

        // Initialize device storage and outgoing SMS usage monitors for SMSDispatchers.
        mTelephonyComponentFactory = telephonyComponentFactory;
        mSmsStorageMonitor = mTelephonyComponentFactory.inject(SmsStorageMonitor.class.getName())
+2 −4
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ import android.telephony.CarrierConfigManager;
import android.telephony.PhoneNumberUtils;
import android.telephony.ServiceState;
import android.telephony.SmsManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.Html;
import android.text.Spanned;
@@ -2722,10 +2723,7 @@ public abstract class SMSDispatcher extends Handler {

    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    protected int getSubId() {
        if (mPhone.isSubscriptionManagerServiceEnabled()) {
            return SubscriptionManagerService.getInstance().getSubId(mPhone.getPhoneId());
        }
        return SubscriptionController.getInstance().getSubId(mPhone.getPhoneId());
        return SubscriptionManager.getSubscriptionId(mPhone.getPhoneId());
    }

    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
+3 −17
Original line number Diff line number Diff line
@@ -1339,12 +1339,7 @@ public class PhoneSwitcher extends Handler {

        // Check if phoneId to subId mapping is changed.
        for (int i = 0; i < mActiveModemCount; i++) {
            int sub;
            if (PhoneFactory.isSubscriptionManagerServiceEnabled()) {
                sub = mSubscriptionManagerService.getSubId(i);
            } else {
                sub = mSubscriptionController.getSubId(i);
            }
            int sub = SubscriptionManager.getSubscriptionId(i);

            if (SubscriptionManager.isValidSubscriptionId(sub)) hasAnyActiveSubscription = true;

@@ -1667,11 +1662,7 @@ public class PhoneSwitcher extends Handler {
            mPreferredDataPhoneId = phoneId;
        }

        if (PhoneFactory.isSubscriptionManagerServiceEnabled()) {
            mPreferredDataSubId.set(mSubscriptionManagerService.getSubId(mPreferredDataPhoneId));
        } else {
            mPreferredDataSubId.set(mSubscriptionController.getSubId(mPreferredDataPhoneId));
        }
        mPreferredDataSubId.set(SubscriptionManager.getSubscriptionId(mPreferredDataPhoneId));
    }

    protected void transitionToEmergencyPhone() {
@@ -1710,12 +1701,7 @@ public class PhoneSwitcher extends Handler {
            TelephonyNetworkRequest networkRequest, int phoneId) {
        if (!SubscriptionManager.isValidPhoneId(phoneId)) return false;

        int subId;
        if (PhoneFactory.isSubscriptionManagerServiceEnabled()) {
            subId = mSubscriptionManagerService.getSubId(phoneId);
        } else {
            subId = mSubscriptionController.getSubId(phoneId);
        }
        int subId = SubscriptionManager.getSubscriptionId(phoneId);

        // In any case, if phone state is inactive, don't apply the network request.
        if (!isPhoneActive(phoneId) || (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID
+2 −14
Original line number Diff line number Diff line
@@ -29,9 +29,7 @@ import android.util.LocalLog;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.SubscriptionController;
import com.android.internal.telephony.metrics.NetworkRequestsStats;
import com.android.internal.telephony.subscription.SubscriptionManagerService;
import com.android.internal.util.IndentingPrintWriter;
import com.android.telephony.Rlog;

@@ -113,11 +111,7 @@ public class TelephonyNetworkFactory extends NetworkFactory {
            };

    private NetworkCapabilities makeNetworkFilterByPhoneId(int phoneId) {
        if (mPhone.isSubscriptionManagerServiceEnabled()) {
            return makeNetworkFilter(SubscriptionManagerService.getInstance().getSubId(phoneId));
        } else {
            return makeNetworkFilter(SubscriptionController.getInstance().getSubId(phoneId));
        }
        return makeNetworkFilter(SubscriptionManager.getSubscriptionId(phoneId));
    }

    /**
@@ -239,13 +233,7 @@ public class TelephonyNetworkFactory extends NetworkFactory {
    // watch for phone->subId changes, reapply new filter and let
    // that flow through to apply/revoke of requests
    private void onSubIdChange() {
        int newSubscriptionId;
        if (mPhone.isSubscriptionManagerServiceEnabled()) {
            newSubscriptionId = SubscriptionManagerService.getInstance().getSubId(
                    mPhone.getPhoneId());
        } else {
            newSubscriptionId = SubscriptionController.getInstance().getSubId(mPhone.getPhoneId());
        }
        int newSubscriptionId = SubscriptionManager.getSubscriptionId(mPhone.getPhoneId());
        if (mSubscriptionId != newSubscriptionId) {
            if (DBG) logl("onSubIdChange " + mSubscriptionId + "->" + newSubscriptionId);
            mSubscriptionId = newSubscriptionId;
Loading