Merge "Include orignal componentName of ChooserTargets, when pass ChooserTargets sharing and impression events to AppPredictionService." into rvc-dev am: b0c2439535 am: ce3a57b19a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11873756

Change-Id: I6db5e32f5d1e07178602a52eaca2a9777d5c8c2e
This commit is contained in:
TreeHugger Robot
2020-06-18 14:43:53 +00:00
committed by Automerger Merge Worker

View File

@@ -195,6 +195,7 @@ public class ChooserActivity extends ResolverActivity implements
private boolean mIsAppPredictorComponentAvailable; private boolean mIsAppPredictorComponentAvailable;
private Map<ChooserTarget, AppTarget> mDirectShareAppTargetCache; private Map<ChooserTarget, AppTarget> mDirectShareAppTargetCache;
private Map<ChooserTarget, ShortcutInfo> mDirectShareShortcutInfoCache; private Map<ChooserTarget, ShortcutInfo> mDirectShareShortcutInfoCache;
private Map<ComponentName, ComponentName> mChooserTargetComponentNameCache;
public static final int TARGET_TYPE_DEFAULT = 0; public static final int TARGET_TYPE_DEFAULT = 0;
public static final int TARGET_TYPE_CHOOSER_TARGET = 1; public static final int TARGET_TYPE_CHOOSER_TARGET = 1;
@@ -511,6 +512,11 @@ public class ChooserActivity extends ResolverActivity implements
adapterForUserHandle.addServiceResults(sri.originalTarget, adapterForUserHandle.addServiceResults(sri.originalTarget,
sri.resultTargets, TARGET_TYPE_CHOOSER_TARGET, sri.resultTargets, TARGET_TYPE_CHOOSER_TARGET,
/* directShareShortcutInfoCache */ null, mServiceConnections); /* directShareShortcutInfoCache */ null, mServiceConnections);
if (!sri.resultTargets.isEmpty() && sri.originalTarget != null) {
mChooserTargetComponentNameCache.put(
sri.resultTargets.get(0).getComponentName(),
sri.originalTarget.getResolvedComponentName());
}
} }
} }
unbindService(sri.connection); unbindService(sri.connection);
@@ -772,6 +778,7 @@ public class ChooserActivity extends ResolverActivity implements
target.getAction() target.getAction()
); );
mDirectShareShortcutInfoCache = new HashMap<>(); mDirectShareShortcutInfoCache = new HashMap<>();
mChooserTargetComponentNameCache = new HashMap<>();
} }
@Override @Override
@@ -2242,15 +2249,18 @@ public class ChooserActivity extends ResolverActivity implements
List<AppTargetId> targetIds = new ArrayList<>(); List<AppTargetId> targetIds = new ArrayList<>();
for (ChooserTargetInfo chooserTargetInfo : surfacedTargetInfo) { for (ChooserTargetInfo chooserTargetInfo : surfacedTargetInfo) {
ChooserTarget chooserTarget = chooserTargetInfo.getChooserTarget(); ChooserTarget chooserTarget = chooserTargetInfo.getChooserTarget();
String componentName = chooserTarget.getComponentName().flattenToString(); ComponentName componentName = mChooserTargetComponentNameCache.getOrDefault(
chooserTarget.getComponentName(), chooserTarget.getComponentName());
if (mDirectShareShortcutInfoCache.containsKey(chooserTarget)) { if (mDirectShareShortcutInfoCache.containsKey(chooserTarget)) {
String shortcutId = mDirectShareShortcutInfoCache.get(chooserTarget).getId(); String shortcutId = mDirectShareShortcutInfoCache.get(chooserTarget).getId();
targetIds.add(new AppTargetId( targetIds.add(new AppTargetId(
String.format("%s/%s/%s", shortcutId, componentName, SHORTCUT_TARGET))); String.format("%s/%s/%s", shortcutId, componentName.flattenToString(),
SHORTCUT_TARGET)));
} else { } else {
String titleHash = ChooserUtil.md5(chooserTarget.getTitle().toString()); String titleHash = ChooserUtil.md5(chooserTarget.getTitle().toString());
targetIds.add(new AppTargetId( 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); directShareAppPredictor.notifyLaunchLocationShown(LAUNCH_LOCATION_DIRECT_SHARE, targetIds);
@@ -2272,7 +2282,8 @@ public class ChooserActivity extends ResolverActivity implements
} }
if (mChooserTargetRankingEnabled && appTarget == null) { if (mChooserTargetRankingEnabled && appTarget == null) {
// Send ChooserTarget sharing info to AppPredictor. // Send ChooserTarget sharing info to AppPredictor.
ComponentName componentName = chooserTarget.getComponentName(); ComponentName componentName = mChooserTargetComponentNameCache.getOrDefault(
chooserTarget.getComponentName(), chooserTarget.getComponentName());
try { try {
appTarget = new AppTarget.Builder( appTarget = new AppTarget.Builder(
new AppTargetId(componentName.flattenToString()), new AppTargetId(componentName.flattenToString()),