summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorSong Hu <songhu@google.com>2020-06-01 11:35:28 -0700
committerSong Hu <songhu@google.com>2020-06-01 11:51:17 -0700
commitb6039994d25d62bdff068efcc1c542be324b027e (patch)
tree52b735729ac39e2ba015ad7a471336ce4184db85 /core/java
parent93cefaac1cdf8d453fcb73b45b4b3a8142199dae (diff)
Fix app stack issue: send the selected target info into AppPredictionService and
UsageStatsManager, when user share from app stack on sharesheet. Fix: 157917956 Test: atest CtsSharesheetTestCases:android.sharesheet.cts.CtsSharesheetDeviceTest Change-Id: I268af5d996dcca275014fba1cace2c54930b9b0c
Diffstat (limited to 'core/java')
-rw-r--r--core/java/com/android/internal/app/ChooserActivity.java3
-rw-r--r--core/java/com/android/internal/app/chooser/MultiDisplayResolveInfo.java7
2 files changed, 10 insertions, 0 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 5533e1eda52d..80327370ff46 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -2182,6 +2182,9 @@ public class ChooserActivity extends ResolverActivity implements
}
void updateModelAndChooserCounts(TargetInfo info) {
+ if (info != null && info instanceof MultiDisplayResolveInfo) {
+ info = ((MultiDisplayResolveInfo) info).getSelectedTarget();
+ }
if (info != null) {
sendClickToAppPredictor(info);
final ResolveInfo ri = info.getResolveInfo();
diff --git a/core/java/com/android/internal/app/chooser/MultiDisplayResolveInfo.java b/core/java/com/android/internal/app/chooser/MultiDisplayResolveInfo.java
index e58258352106..cf921d734d48 100644
--- a/core/java/com/android/internal/app/chooser/MultiDisplayResolveInfo.java
+++ b/core/java/com/android/internal/app/chooser/MultiDisplayResolveInfo.java
@@ -70,6 +70,13 @@ public class MultiDisplayResolveInfo extends DisplayResolveInfo {
}
/**
+ * Return selected target.
+ */
+ public DisplayResolveInfo getSelectedTarget() {
+ return hasSelected() ? mTargetInfos.get(mSelected) : null;
+ }
+
+ /**
* Whether or not the user has selected a specific target for this MultiInfo.
*/
public boolean hasSelected() {