Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5d43ce3 authored by Pinyao Ting's avatar Pinyao Ting Committed by Automerger Merge Worker
Browse files

Merge "Allow shortcuts to be pinned by unbundled chooser" into tm-qpr-dev am:...

Merge "Allow shortcuts to be pinned by unbundled chooser" into tm-qpr-dev am: 8727c639 am: 08c75772

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



Change-Id: If62b141ec846ad3fc74c3580f1d3a966b6a24fe5
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 42319cb7 08c75772
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -885,7 +885,12 @@ class ShortcutPackage extends ShortcutPackageItem {
     * available ShareTarget definitions in this package.
     */
    public List<ShortcutManager.ShareShortcutInfo> getMatchingShareTargets(
            @NonNull IntentFilter filter) {
            @NonNull final IntentFilter filter) {
        return getMatchingShareTargets(filter, null);
    }

    List<ShortcutManager.ShareShortcutInfo> getMatchingShareTargets(
            @NonNull final IntentFilter filter, @Nullable final String pkgName) {
        synchronized (mLock) {
            final List<ShareTargetInfo> matchedTargets = new ArrayList<>();
            for (int i = 0; i < mShareTargets.size(); i++) {
@@ -909,8 +914,7 @@ class ShortcutPackage extends ShortcutPackageItem {
            // included in the result
            findAll(shortcuts, ShortcutInfo::isNonManifestVisible,
                    ShortcutInfo.CLONE_REMOVE_FOR_APP_PREDICTION,
                    mShortcutUser.mService.mContext.getPackageName(),
                    0, /*getPinnedByAnyLauncher=*/ false);
                    pkgName, 0, /*getPinnedByAnyLauncher=*/ false);

            final List<ShortcutManager.ShareShortcutInfo> result = new ArrayList<>();
            for (int i = 0; i < shortcuts.size(); i++) {
@@ -1108,7 +1112,7 @@ class ShortcutPackage extends ShortcutPackageItem {

        // Now prepare to publish manifest shortcuts.
        List<ShortcutInfo> newManifestShortcutList = null;
        final int shareTargetSize;
        int shareTargetSize = 0;
        synchronized (mLock) {
            try {
                shareTargetSize = mShareTargets.size();
+7 −1
Original line number Diff line number Diff line
@@ -2512,11 +2512,17 @@ public class ShortcutService extends IShortcutService.Stub {
        }
        enforceCallingOrSelfPermission(android.Manifest.permission.MANAGE_APP_PREDICTIONS,
                "getShareTargets");
        final ComponentName chooser = injectChooserActivity();
        final String pkg = (chooser != null
                && mPackageManagerInternal.getComponentEnabledSetting(chooser,
                injectBinderCallingUid(), userId) == PackageManager.COMPONENT_ENABLED_STATE_ENABLED)
                ? chooser.getPackageName() : mContext.getPackageName();
        synchronized (mLock) {
            throwIfUserLockedL(userId);
            final List<ShortcutManager.ShareShortcutInfo> shortcutInfoList = new ArrayList<>();
            final ShortcutUser user = getUserShortcutsLocked(userId);
            user.forAllPackages(p -> shortcutInfoList.addAll(p.getMatchingShareTargets(filter)));
            user.forAllPackages(p -> shortcutInfoList.addAll(
                    p.getMatchingShareTargets(filter, pkg)));
            return new ParceledListSlice<>(shortcutInfoList);
        }
    }