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

Commit 379e5310 authored by chen xu's avatar chen xu
Browse files

using the correct intent extra for subId

Some telephony subscription related intent uses hidden extra
PhoneConstants.SUBSCRIPTION_KEY. We should sent the public extra
SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX instead.

Bug: 116754807
Test: telephony unit test
Change-Id: I842df9b3fa7c0c8efed2db6ac5cd6a8c34ab3ee4
parent 417b7b14
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -1644,6 +1644,7 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
        intent.putExtras(data);
        intent.putExtras(data);
        // Pass the subscription along with the intent.
        // Pass the subscription along with the intent.
        intent.putExtra(PhoneConstants.SUBSCRIPTION_KEY, subId);
        intent.putExtra(PhoneConstants.SUBSCRIPTION_KEY, subId);
        intent.putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, subId);
        intent.putExtra(PhoneConstants.SLOT_KEY, phoneId);
        intent.putExtra(PhoneConstants.SLOT_KEY, phoneId);
        mContext.sendStickyBroadcastAsUser(intent, UserHandle.ALL);
        mContext.sendStickyBroadcastAsUser(intent, UserHandle.ALL);
    }
    }
@@ -1698,6 +1699,7 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
        if (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
        if (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
            intent.setAction(PhoneConstants.ACTION_SUBSCRIPTION_PHONE_STATE_CHANGED);
            intent.setAction(PhoneConstants.ACTION_SUBSCRIPTION_PHONE_STATE_CHANGED);
            intent.putExtra(PhoneConstants.SUBSCRIPTION_KEY, subId);
            intent.putExtra(PhoneConstants.SUBSCRIPTION_KEY, subId);
            intent.putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, subId);
        }
        }
        // If the phoneId is invalid, the broadcast is for overall call state.
        // If the phoneId is invalid, the broadcast is for overall call state.
        if (phoneId != SubscriptionManager.INVALID_PHONE_INDEX) {
        if (phoneId != SubscriptionManager.INVALID_PHONE_INDEX) {
+4 −0
Original line number Original line Diff line number Diff line
@@ -176,6 +176,10 @@ public class PhoneConstants {


    // FIXME: This is used to pass a subId via intents, we need to look at its usage, which is
    // FIXME: This is used to pass a subId via intents, we need to look at its usage, which is
    // FIXME: extensive, and see if this should be an array of all active subId's or ...?
    // FIXME: extensive, and see if this should be an array of all active subId's or ...?
    /**
     * @Deprecated use {@link android.telephony.SubscriptionManager#EXTRA_SUBSCRIPTION_INDEX}
     * instead.
     */
    public static final String SUBSCRIPTION_KEY  = "subscription";
    public static final String SUBSCRIPTION_KEY  = "subscription";


    public static final String SUB_SETTING  = "subSettings";
    public static final String SUB_SETTING  = "subSettings";