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

Commit dc683d30 authored by Hai Zhang's avatar Hai Zhang
Browse files

Use EXTRA_CALLING_PACKAGE for legacy change default dialer/SMS intents.

So that RequestRoleActivity can always know the calling package. This
is required to keep supporting pre-Q apps calling with
startActivity().

Bug: 137054465
Test: manual
Change-Id: I10c758fcadde8157a2d360a192accea75550a1dd
parent 7887f34d
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -199,7 +199,9 @@ public class RequestRoleActivity extends FragmentActivity {
        mRoleName = RoleManager.ROLE_DIALER;
        mPackageName = null;

        String callingPackageName = getCallingPackage();
        // Intent.EXTRA_CALLING_PACKAGE is set in PermissionPolicyService.Internal
        // .isActionRemovedForCallingPackage() and can be trusted.
        String callingPackageName = intent.getStringExtra(Intent.EXTRA_CALLING_PACKAGE);
        String extraPackageName = intent.getStringExtra(
                TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME);
        if (Objects.equals(extraPackageName, callingPackageName)) {
@@ -240,7 +242,9 @@ public class RequestRoleActivity extends FragmentActivity {
        mRoleName = RoleManager.ROLE_SMS;
        mPackageName = null;

        String callingPackageName = getCallingPackage();
        // Intent.EXTRA_CALLING_PACKAGE is set in PermissionPolicyService.Internal
        // .isActionRemovedForCallingPackage() and can be trusted.
        String callingPackageName = intent.getStringExtra(Intent.EXTRA_CALLING_PACKAGE);
        String extraPackageName = intent.getStringExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME);
        if (extraPackageName == null) {
            // Launch the settings activity to show the list.