summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/compat/LauncherAppsCompatVO.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/compat/LauncherAppsCompatVO.java')
-rw-r--r--src/com/android/launcher3/compat/LauncherAppsCompatVO.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/com/android/launcher3/compat/LauncherAppsCompatVO.java b/src/com/android/launcher3/compat/LauncherAppsCompatVO.java
index da248cf94..95f2e74f4 100644
--- a/src/com/android/launcher3/compat/LauncherAppsCompatVO.java
+++ b/src/com/android/launcher3/compat/LauncherAppsCompatVO.java
@@ -23,9 +23,11 @@ import android.content.pm.LauncherApps;
import android.os.Build;
import android.os.Process;
import android.os.UserHandle;
+import android.support.annotation.Nullable;
import android.util.Log;
import com.android.launcher3.compat.ShortcutConfigActivityInfo.ShortcutConfigActivityInfoVO;
+import com.android.launcher3.util.PackageUserKey;
import java.lang.reflect.Method;
import java.util.ArrayList;
@@ -45,17 +47,28 @@ public class LauncherAppsCompatVO extends LauncherAppsCompatVL {
}
@Override
- public List<ShortcutConfigActivityInfo> getCustomShortcutActivityList() {
+ public List<ShortcutConfigActivityInfo> getCustomShortcutActivityList(
+ @Nullable PackageUserKey packageUser) {
List<ShortcutConfigActivityInfo> result = new ArrayList<>();
UserHandle myUser = Process.myUserHandle();
try {
Method m = LauncherApps.class.getDeclaredMethod("getShortcutConfigActivityList",
String.class, UserHandle.class);
- for (UserHandle user : UserManagerCompat.getInstance(mContext).getUserProfiles()) {
+ final List<UserHandle> users;
+ final String packageName;
+ if (packageUser == null) {
+ users = UserManagerCompat.getInstance(mContext).getUserProfiles();
+ packageName = null;
+ } else {
+ users = new ArrayList<>(1);
+ users.add(packageUser.mUser);
+ packageName = packageUser.mPackageName;
+ }
+ for (UserHandle user : users) {
boolean ignoreTargetSdk = myUser.equals(user);
List<LauncherActivityInfo> activities =
- (List<LauncherActivityInfo>) m.invoke(mLauncherApps, null, user);
+ (List<LauncherActivityInfo>) m.invoke(mLauncherApps, packageName, user);
for (LauncherActivityInfo activityInfo : activities) {
if (ignoreTargetSdk || activityInfo.getApplicationInfo().targetSdkVersion >=
Build.VERSION_CODES.O) {