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

Commit b7b192bd authored by Pinyao Ting's avatar Pinyao Ting
Browse files

Fix permission bypass in legacy shortcut

Intent created for Chooser should not be allowed in legacy shortcuts
since it doesn't make sense for user to tap on a shortcut in homescreen
to share, the expected share flow started from ShareSheet.

Bug: 295334906, 295045199
Test: manual
Change-Id: I8d0cbccdc31bd4cb927830e5ecf841147400fdfa
Merged-In: I8d0cbccdc31bd4cb927830e5ecf841147400fdfa
parent c53818a1
Loading
Loading
Loading
Loading
+2 −9
Original line number Diff line number Diff line
@@ -155,15 +155,8 @@ public class PackageManagerHelper {
    public boolean hasPermissionForActivity(Intent intent, String srcPackage) {
        // b/270152142
        if (Intent.ACTION_CHOOSER.equals(intent.getAction())) {
            final Bundle extras = intent.getExtras();
            if (extras == null) {
                return true;
            }
            // If given intent is ACTION_CHOOSER, verify srcPackage has permission over EXTRA_INTENT
            intent = (Intent) extras.getParcelable(Intent.EXTRA_INTENT);
            if (intent == null) {
                return true;
            }
            // Chooser shortcuts is not a valid target
            return false;
        }
        ResolveInfo target = mPm.resolveActivity(intent, 0);
        if (target == null) {