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

Commit 7a2b81b7 authored by Mehdi Alizadeh's avatar Mehdi Alizadeh Committed by Android (Google) Code Review
Browse files

Merge "Adds locus Id to ShortcutQuery to find shortcuts based on LocusId"

parents 03127b01 ae808ff7
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2099,6 +2099,10 @@ package android.content.pm {
    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
  }
  public static class LauncherApps.ShortcutQuery {
    method @NonNull public android.content.pm.LauncherApps.ShortcutQuery setLocusIds(@Nullable java.util.List<android.content.LocusId>);
  }
  public class PackageInstaller {
    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
+6 −3
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.app.IApplicationThread;
import android.content.ComponentName;
import android.content.Intent;
import android.content.IntentSender;
import android.content.LocusId;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.IOnAppsChangedListener;
@@ -67,7 +68,8 @@ interface ILauncherApps {
            in UserHandle user);

    ParceledListSlice getShortcuts(String callingPackage, long changedSince, String packageName,
            in List shortcutIds, in ComponentName componentName, int flags, in UserHandle user);
            in List shortcutIds, in List<LocusId> locusIds, in ComponentName componentName,
            int flags, in UserHandle user);
    void pinShortcuts(String callingPackage, String packageName, in List<String> shortcutIds,
            in UserHandle user);
    boolean startShortcut(String callingPackage, String packageName, String id,
@@ -92,7 +94,8 @@ interface ILauncherApps {
    ParceledListSlice getAllSessions(String callingPackage);

    void registerShortcutChangeCallback(String callingPackage, long changedSince,
            String packageName, in List shortcutIds, in ComponentName componentName, int flags,
            in IShortcutChangeCallback callback, int callbackId);
            String packageName, in List shortcutIds, in List<LocusId> locusIds,
            in ComponentName componentName, int flags, in IShortcutChangeCallback callback,
            int callbackId);
    void unregisterShortcutChangeCallback(String callingPackage, int callbackId);
}
+22 −4
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentSender;
import android.content.LocusId;
import android.content.pm.PackageInstaller.SessionCallback;
import android.content.pm.PackageInstaller.SessionCallbackDelegate;
import android.content.pm.PackageInstaller.SessionInfo;
@@ -414,6 +415,9 @@ public class LauncherApps {
        @Nullable
        List<String> mShortcutIds;

        @Nullable
        List<LocusId> mLocusIds;

        @Nullable
        ComponentName mActivity;

@@ -450,6 +454,19 @@ public class LauncherApps {
            return this;
        }

        /**
         * If non-null, return only the specified shortcuts by locus ID.  When setting this field,
         * a package name must also be set with {@link #setPackage}.
         *
         * @hide
         */
        @SystemApi
        @NonNull
        public ShortcutQuery setLocusIds(@Nullable List<LocusId> locusIds) {
            mLocusIds = locusIds;
            return this;
        }

        /**
         * If non-null, returns only shortcuts associated with the activity; i.e.
         * {@link ShortcutInfo}s whose {@link ShortcutInfo#getActivity()} are equal
@@ -1022,8 +1039,8 @@ public class LauncherApps {
            // changed callback, but that only returns shortcuts with the "key" information, so
            // that won't return disabled message.
            return maybeUpdateDisabledMessage(mService.getShortcuts(mContext.getPackageName(),
                    query.mChangedSince, query.mPackage, query.mShortcutIds, query.mActivity,
                    query.mQueryFlags, user)
                    query.mChangedSince, query.mPackage, query.mShortcutIds, query.mLocusIds,
                    query.mActivity, query.mQueryFlags, user)
                    .getList());
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
@@ -1680,8 +1697,9 @@ public class LauncherApps {
            mShortcutChangeCallbacks.put(callbackId, state);
            try {
                mService.registerShortcutChangeCallback(mContext.getPackageName(),
                        query.mChangedSince, query.mPackage, query.mShortcutIds, query.mActivity,
                        query.mQueryFlags, new ShortcutChangeCallbackProxy(state), callbackId);
                        query.mChangedSince, query.mPackage, query.mShortcutIds, query.mLocusIds,
                        query.mActivity, query.mQueryFlags, new ShortcutChangeCallbackProxy(state),
                        callbackId);
            } catch (RemoteException e) {
                throw e.rethrowFromSystemServer();
            }
+3 −2
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.appwidget.AppWidgetProviderInfo;
import android.content.ComponentName;
import android.content.Intent;
import android.content.IntentSender;
import android.content.LocusId;
import android.content.pm.LauncherApps.ShortcutQuery;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
@@ -45,8 +46,8 @@ public abstract class ShortcutServiceInternal {
            getShortcuts(int launcherUserId,
            @NonNull String callingPackage, long changedSince,
            @Nullable String packageName, @Nullable List<String> shortcutIds,
            @Nullable ComponentName componentName, @ShortcutQuery.QueryFlags int flags,
            int userId, int callingPid, int callingUid);
            @Nullable List<LocusId> locusIds, @Nullable ComponentName componentName,
            @ShortcutQuery.QueryFlags int flags, int userId, int callingPid, int callingUid);

    public abstract boolean
            isPinnedByCaller(int launcherUserId, @NonNull String callingPackage,
+12 −6
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentSender;
import android.content.LocusId;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ILauncherApps;
@@ -662,8 +663,8 @@ public class LauncherAppsService extends SystemService {

        @Override
        public ParceledListSlice getShortcuts(String callingPackage, long changedSince,
                String packageName, List shortcutIds, ComponentName componentName, int flags,
                UserHandle targetUser) {
                String packageName, List shortcutIds, List<LocusId> locusIds,
                ComponentName componentName, int flags, UserHandle targetUser) {
            ensureShortcutPermission(callingPackage);
            if (!canAccessProfile(targetUser.getIdentifier(), "Cannot get shortcuts")) {
                return new ParceledListSlice<>(Collections.EMPTY_LIST);
@@ -672,19 +673,24 @@ public class LauncherAppsService extends SystemService {
                throw new IllegalArgumentException(
                        "To query by shortcut ID, package name must also be set");
            }
            if (locusIds != null && packageName == null) {
                throw new IllegalArgumentException(
                        "To query by locus ID, package name must also be set");
            }

            // TODO(b/29399275): Eclipse compiler requires explicit List<ShortcutInfo> cast below.
            return new ParceledListSlice<>((List<ShortcutInfo>)
                    mShortcutServiceInternal.getShortcuts(getCallingUserId(),
                            callingPackage, changedSince, packageName, shortcutIds,
                            callingPackage, changedSince, packageName, shortcutIds, locusIds,
                            componentName, flags, targetUser.getIdentifier(),
                            injectBinderCallingPid(), injectBinderCallingUid()));
        }

        @Override
        public void registerShortcutChangeCallback(String callingPackage, long changedSince,
                String packageName, List shortcutIds, ComponentName componentName, int flags,
                IShortcutChangeCallback callback, int callbackId) {
                String packageName, List shortcutIds, List<LocusId> locusIds,
                ComponentName componentName, int flags, IShortcutChangeCallback callback,
                int callbackId) {
        }

        @Override
@@ -1148,7 +1154,7 @@ public class LauncherAppsService extends SystemService {
                                mShortcutServiceInternal.getShortcuts(launcherUserId,
                                        cookie.packageName,
                                        /* changedSince= */ 0, packageName, /* shortcutIds=*/ null,
                                        /* component= */ null,
                                        /* locusIds=*/ null, /* component= */ null,
                                        ShortcutQuery.FLAG_GET_KEY_FIELDS_ONLY
                                        | ShortcutQuery.FLAG_MATCH_ALL_KINDS_WITH_ALL_PINNED
                                        , userId, cookie.callingPid, cookie.callingUid);
Loading