summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-06-17 21:48:47 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-06-17 21:48:47 +0000
commit86a2d3676f6664941f15e6076230fc4a3afd093e (patch)
treef525945946353dc4d397fa72448ad385be05e563
parent398572cae765b40b34f09d4d2a22088effc62f77 (diff)
parentb0c243953504492e339fcb58c1dbbf424a36624f (diff)
Merge "Include orignal componentName of ChooserTargets, when pass ChooserTargets sharing and impression events to AppPredictionService." into rvc-dev am: b0c2439535
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11873756 Change-Id: Id92a27a1b4238fceffaea279c485ac0b3c30cc53
-rw-r--r--core/java/com/android/internal/app/ChooserActivity.java19
1 files changed, 15 insertions, 4 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index e7ab5d154507..dc4c8fd76e8e 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -195,6 +195,7 @@ public class ChooserActivity extends ResolverActivity implements
private boolean mIsAppPredictorComponentAvailable;
private Map<ChooserTarget, AppTarget> mDirectShareAppTargetCache;
private Map<ChooserTarget, ShortcutInfo> mDirectShareShortcutInfoCache;
+ private Map<ComponentName, ComponentName> mChooserTargetComponentNameCache;
public static final int TARGET_TYPE_DEFAULT = 0;
public static final int TARGET_TYPE_CHOOSER_TARGET = 1;
@@ -511,6 +512,11 @@ public class ChooserActivity extends ResolverActivity implements
adapterForUserHandle.addServiceResults(sri.originalTarget,
sri.resultTargets, TARGET_TYPE_CHOOSER_TARGET,
/* directShareShortcutInfoCache */ null, mServiceConnections);
+ if (!sri.resultTargets.isEmpty() && sri.originalTarget != null) {
+ mChooserTargetComponentNameCache.put(
+ sri.resultTargets.get(0).getComponentName(),
+ sri.originalTarget.getResolvedComponentName());
+ }
}
}
unbindService(sri.connection);
@@ -772,6 +778,7 @@ public class ChooserActivity extends ResolverActivity implements
target.getAction()
);
mDirectShareShortcutInfoCache = new HashMap<>();
+ mChooserTargetComponentNameCache = new HashMap<>();
}
@Override
@@ -2242,15 +2249,18 @@ public class ChooserActivity extends ResolverActivity implements
List<AppTargetId> targetIds = new ArrayList<>();
for (ChooserTargetInfo chooserTargetInfo : surfacedTargetInfo) {
ChooserTarget chooserTarget = chooserTargetInfo.getChooserTarget();
- String componentName = chooserTarget.getComponentName().flattenToString();
+ ComponentName componentName = mChooserTargetComponentNameCache.getOrDefault(
+ chooserTarget.getComponentName(), chooserTarget.getComponentName());
if (mDirectShareShortcutInfoCache.containsKey(chooserTarget)) {
String shortcutId = mDirectShareShortcutInfoCache.get(chooserTarget).getId();
targetIds.add(new AppTargetId(
- String.format("%s/%s/%s", shortcutId, componentName, SHORTCUT_TARGET)));
+ String.format("%s/%s/%s", shortcutId, componentName.flattenToString(),
+ SHORTCUT_TARGET)));
} else {
String titleHash = ChooserUtil.md5(chooserTarget.getTitle().toString());
targetIds.add(new AppTargetId(
- String.format("%s/%s/%s", titleHash, componentName, CHOOSER_TARGET)));
+ String.format("%s/%s/%s", titleHash, componentName.flattenToString(),
+ CHOOSER_TARGET)));
}
}
directShareAppPredictor.notifyLaunchLocationShown(LAUNCH_LOCATION_DIRECT_SHARE, targetIds);
@@ -2272,7 +2282,8 @@ public class ChooserActivity extends ResolverActivity implements
}
if (mChooserTargetRankingEnabled && appTarget == null) {
// Send ChooserTarget sharing info to AppPredictor.
- ComponentName componentName = chooserTarget.getComponentName();
+ ComponentName componentName = mChooserTargetComponentNameCache.getOrDefault(
+ chooserTarget.getComponentName(), chooserTarget.getComponentName());
try {
appTarget = new AppTarget.Builder(
new AppTargetId(componentName.flattenToString()),