In getMatchingShareTargets, add callerLauncher to fetch sharesheet marked pin info.

Bug: 210453009
Test: test on the local phone
Change-Id: I8872cdd2917580ff86dcf7a2d7a40a445fbd70b3
(cherry picked from commit 520e7d40ab)
Merged-In: I8872cdd2917580ff86dcf7a2d7a40a445fbd70b3
This commit is contained in:
Song Hu
2022-03-31 06:56:44 -07:00
parent ec56afe31b
commit fe3f81eb61
2 changed files with 11 additions and 1 deletions

View File

@@ -894,8 +894,12 @@ class ShortcutPackage extends ShortcutPackageItem {
// Get the list of all dynamic shortcuts in this package.
final ArrayList<ShortcutInfo> shortcuts = new ArrayList<>();
// Pass callingLauncher to ensure pinned flag marked by system ui, e.g. ShareSheet, are
// included in the result
findAll(shortcuts, ShortcutInfo::isNonManifestVisible,
ShortcutInfo.CLONE_REMOVE_FOR_APP_PREDICTION);
ShortcutInfo.CLONE_REMOVE_FOR_APP_PREDICTION,
mShortcutUser.mService.mContext.getPackageName(),
0, /*getPinnedByAnyLauncher=*/ false);
final List<ShortcutManager.ShareShortcutInfo> result = new ArrayList<>();
for (int i = 0; i < shortcuts.size(); i++) {

View File

@@ -266,6 +266,11 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
public void sendIntentSender(IntentSender intent) {
// Placeholder for spying.
}
@Override
public String getPackageName() {
return SYSTEM_PACKAGE_NAME;
}
}
/** ShortcutService with injection override methods. */
@@ -704,6 +709,7 @@ public abstract class BaseShortcutManagerTest extends InstrumentationTestCase {
protected UriPermissionOwner mUriPermissionOwner;
protected static final String SYSTEM_PACKAGE_NAME = "android";
protected static final String CALLING_PACKAGE_1 = "com.android.test.1";
protected static final int CALLING_UID_1 = 10001;