am a796168d: Merge "Fix issue #11965706: Calls using IntentChooser are now Broken in 4.3 and 4.4" into klp-dev
* commit 'a796168da0ea139fe7312678f5031cd96c50097c': Fix issue #11965706: Calls using IntentChooser are now Broken in 4.3 and 4.4
This commit is contained in:
@@ -1134,6 +1134,19 @@ public final class ActivityStackSupervisor {
|
||||
resultRecord.removeResultsLocked(
|
||||
sourceRecord, resultWho, requestCode);
|
||||
}
|
||||
if (sourceRecord.launchedFromUid == callingUid) {
|
||||
// The new activity is being launched from the same uid as the previous
|
||||
// activity in the flow, and asking to forward its result back to the
|
||||
// previous. In this case the activity is serving as a trampoline between
|
||||
// the two, so we also want to update its launchedFromPackage to be the
|
||||
// same as the previous activity. Note that this is safe, since we know
|
||||
// these two packages come from the same uid; the caller could just as
|
||||
// well have supplied that same package name itself. This specifially
|
||||
// deals with the case of an intent picker/chooser being launched in the app
|
||||
// flow to redirect to an activity picked by the user, where we want the final
|
||||
// activity to consider it to have been launched by the previous app activity.
|
||||
callingPackage = sourceRecord.launchedFromPackage;
|
||||
}
|
||||
}
|
||||
|
||||
if (err == ActivityManager.START_SUCCESS && intent.getComponent() == null) {
|
||||
|
||||
Reference in New Issue
Block a user