diff options
| author | Song Hu <songhu@google.com> | 2020-06-01 11:35:28 -0700 |
|---|---|---|
| committer | Song Hu <songhu@google.com> | 2020-06-01 11:51:17 -0700 |
| commit | b6039994d25d62bdff068efcc1c542be324b027e (patch) | |
| tree | 52b735729ac39e2ba015ad7a471336ce4184db85 /core/java | |
| parent | 93cefaac1cdf8d453fcb73b45b4b3a8142199dae (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.java | 3 | ||||
| -rw-r--r-- | core/java/com/android/internal/app/chooser/MultiDisplayResolveInfo.java | 7 |
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() { |
