summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Antoan Angelov <arangelov@google.com> 2020-06-02 11:01:50 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-06-02 11:01:50 +0000
commitc80bb1f31ea3eaed0228c58561d46a025b024bcc (patch)
tree3b0d4b0c97d7796b5554d4a09064cd81e468bdce
parent46ca9f3dddff3f70afc89e0036f2b5ae234b38c0 (diff)
parent0cc6086757cc70a8e9998e965354bcfc1dc49f1d (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.java4
-rw-r--r--core/java/com/android/internal/app/ResolverActivity.java11
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