diff options
| author | 2020-06-02 11:01:50 +0000 | |
|---|---|---|
| committer | 2020-06-02 11:01:50 +0000 | |
| commit | c80bb1f31ea3eaed0228c58561d46a025b024bcc (patch) | |
| tree | 3b0d4b0c97d7796b5554d4a09064cd81e468bdce | |
| parent | 46ca9f3dddff3f70afc89e0036f2b5ae234b38c0 (diff) | |
| parent | 0cc6086757cc70a8e9998e965354bcfc1dc49f1d (diff) | |
Merge "Only add user id to content uri if launching cross-profile target" into rvc-dev am: 6d5e349bcd am: 0cc6086757
Original change: undetermined
Change-Id: If2ae5a93f45abc390c68bd9244bbf54802f9a820
| -rw-r--r-- | core/java/com/android/internal/app/ChooserActivity.java | 4 | ||||
| -rw-r--r-- | core/java/com/android/internal/app/ResolverActivity.java | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java index 306bd7ed6d64..b6fca8072fc4 100644 --- a/core/java/com/android/internal/app/ChooserActivity.java +++ b/core/java/com/android/internal/app/ChooserActivity.java @@ -3023,6 +3023,10 @@ public class ChooserActivity extends ResolverActivity implements currentRootAdapter.updateDirectShareExpansion(); } + void prepareIntentForCrossProfileLaunch(Intent intent) { + intent.fixUris(UserHandle.myUserId()); + } + /** * Adapter for all types of items and targets in ShareSheet. * Note that ranked sections like Direct Share - while appearing grid-like - are handled on the diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java index b82f0dfcbe12..f96f560fc60f 100644 --- a/core/java/com/android/internal/app/ResolverActivity.java +++ b/core/java/com/android/internal/app/ResolverActivity.java @@ -1235,8 +1235,8 @@ public class ResolverActivity extends Activity implements } if (target != null) { - if (intent != null) { - intent.fixUris(UserHandle.myUserId()); + if (intent != null && isLaunchingTargetInOtherProfile()) { + prepareIntentForCrossProfileLaunch(intent); } safelyStartActivity(target); @@ -1250,6 +1250,13 @@ public class ResolverActivity extends Activity implements return true; } + void prepareIntentForCrossProfileLaunch(Intent intent) {} + + private boolean isLaunchingTargetInOtherProfile() { + return mMultiProfilePagerAdapter.getCurrentUserHandle().getIdentifier() + != UserHandle.myUserId(); + } + @VisibleForTesting public void safelyStartActivity(TargetInfo cti) { // We're dispatching intents that might be coming from legacy apps, so |