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

Commit e1191ecf authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Jeff Sharkey
Browse files

Consider Intent.setPackage() for "leaving".

When deciding if an intent is "leaving" the package, consider both
Intent.setComponent() and Intent.setPackage().

Bug: 195405741
Test: manual
Change-Id: I3c9460579242dcd874f3bb85fad46e1273306baa
parent 8e7af393
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -11371,8 +11371,17 @@ public class Intent implements Parcelable, Cloneable {
     */
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    public void prepareToLeaveProcess(Context context) {
        final boolean leavingPackage = (mComponent == null)
                || !Objects.equals(mComponent.getPackageName(), context.getPackageName());
        final boolean leavingPackage;
        if (mComponent != null) {
            leavingPackage = !Objects.equals(mComponent.getPackageName(), context.getPackageName());
        } else if (mPackage != null) {
            leavingPackage = !Objects.equals(mPackage, context.getPackageName());
        } else {
            // When no specific component or package has been defined, we have
            // to assume that we might be routed through an intent
            // disambiguation dialog which might leave our package
            leavingPackage = true;
        }
        prepareToLeaveProcess(leavingPackage);
    }