Adds locus Id to ShortcutQuery to find shortcuts based on LocusId
Bug: 148085173
Test: atest com.android.server.pm.ShortcutManagerTest1 \
com.android.server.pm.ShortcutManagerTest2 \
com.android.server.pm.ShortcutManagerTest3 \
com.android.server.pm.ShortcutManagerTest4 \
com.android.server.pm.ShortcutManagerTest5 \
com.android.server.pm.ShortcutManagerTest6 \
com.android.server.pm.ShortcutManagerTest7 \
com.android.server.pm.ShortcutManagerTest8 \
com.android.server.pm.ShortcutManagerTest9 \
com.android.server.pm.ShortcutManagerTest10
Test: atest DataManagerTest
Change-Id: Ie789582a43db6d53130f4a0e5bff646a3c08c71e
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user