Loading src/com/android/launcher3/InstallShortcutReceiver.java +9 −8 Original line number Diff line number Diff line Loading @@ -133,7 +133,8 @@ public class InstallShortcutReceiver extends BroadcastReceiver { String pkg = getIntentPackage(info.launchIntent); if (!TextUtils.isEmpty(pkg) && !launcherApps.isPackageEnabledForProfile(pkg, info.user)) { && !launcherApps.isPackageEnabledForProfile(pkg, info.user) && !info.isActivity) { if (DBG) { Log.d(TAG, "Ignoring shortcut for absent package: " + info.launchIntent); } Loading Loading @@ -454,6 +455,8 @@ public class InstallShortcutReceiver extends BroadcastReceiver { .object() .key(LAUNCH_INTENT_KEY).value(launchIntent.toUri(0)) .key(NAME_KEY).value(name) .key(USER_HANDLE_KEY).value( UserManagerCompat.getInstance(mContext).getSerialNumberForUser(user)) .key(APP_SHORTCUT_TYPE_KEY).value(isActivity); if (icon != null) { byte[] iconByteArray = GraphicsUtils.flattenBitmap(icon); Loading @@ -475,7 +478,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver { public Pair<ItemInfo, Object> getItemInfo() { if (isActivity) { WorkspaceItemInfo si = createWorkspaceItemInfo(data, WorkspaceItemInfo si = createWorkspaceItemInfo(data, user, LauncherAppState.getInstance(mContext)); si.itemType = LauncherSettings.Favorites.ITEM_TYPE_APPLICATION; si.status |= WorkspaceItemInfo.FLAG_AUTOINSTALL_ICON; Loading @@ -500,7 +503,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver { return Pair.create(widgetInfo, providerInfo); } else { WorkspaceItemInfo itemInfo = createWorkspaceItemInfo(data, LauncherAppState.getInstance(mContext)); createWorkspaceItemInfo(data, user, LauncherAppState.getInstance(mContext)); return Pair.create(itemInfo, null); } } Loading Loading @@ -618,7 +621,8 @@ public class InstallShortcutReceiver extends BroadcastReceiver { return new PendingInstallShortcutInfo(info, original.mContext); } private static WorkspaceItemInfo createWorkspaceItemInfo(Intent data, LauncherAppState app) { private static WorkspaceItemInfo createWorkspaceItemInfo(Intent data, UserHandle user, LauncherAppState app) { if (data == null) { Log.e(TAG, "Can't construct WorkspaceItemInfo with null data"); return null; Loading @@ -635,10 +639,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver { } final WorkspaceItemInfo info = new WorkspaceItemInfo(); // Only support intents for current user for now. Intents sent from other // users wouldn't get here without intent forwarding anyway. info.user = Process.myUserHandle(); info.user = user; BitmapInfo iconInfo = null; LauncherIcons li = LauncherIcons.obtain(app.getContext()); Loading src/com/android/launcher3/LauncherModel.java +2 −2 Original line number Diff line number Diff line Loading @@ -134,11 +134,11 @@ public class LauncherModel extends BroadcastReceiver /** * Updates the icons and label of all pending icons for the provided package name. */ public void updateSessionDisplayInfo(final String packageName) { public void updateSessionDisplayInfo(final String packageName, final UserHandle user) { HashSet<String> packages = new HashSet<>(); packages.add(packageName); enqueueModelUpdateTask(new CacheDataUpdatedTask( CacheDataUpdatedTask.OP_SESSION_UPDATE, Process.myUserHandle(), packages)); CacheDataUpdatedTask.OP_SESSION_UPDATE, user, packages)); } /** Loading src/com/android/launcher3/compat/LauncherAppsCompat.java +6 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.LauncherActivityInfo; import android.content.pm.PackageInstaller; import android.content.pm.PackageInstaller.SessionCallback; import android.content.pm.ShortcutInfo; import android.graphics.Rect; import android.os.Bundle; Loading @@ -30,6 +31,7 @@ import android.os.UserHandle; import androidx.annotation.Nullable; import com.android.launcher3.Utilities; import com.android.launcher3.util.LooperExecutor; import com.android.launcher3.util.PackageUserKey; import java.util.List; Loading Loading @@ -90,4 +92,8 @@ public abstract class LauncherAppsCompat { @Nullable PackageUserKey packageUser); public abstract List<PackageInstaller.SessionInfo> getAllPackageInstallerSessions(); public abstract void registerSessionCallback(LooperExecutor executor, SessionCallback sessionCallback); public abstract void unregisterSessionCallback(SessionCallback sessionCallback); } src/com/android/launcher3/compat/LauncherAppsCompatVL.java +14 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.LauncherActivityInfo; import android.content.pm.LauncherApps; import android.content.pm.PackageInstaller; import android.content.pm.PackageInstaller.SessionCallback; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.ShortcutInfo; Loading @@ -35,6 +36,7 @@ import android.util.Log; import com.android.launcher3.compat.ShortcutConfigActivityInfo.ShortcutConfigActivityInfoVL; import com.android.launcher3.testing.TestProtocol; import com.android.launcher3.util.LooperExecutor; import com.android.launcher3.util.PackageUserKey; import java.util.ArrayList; Loading Loading @@ -212,5 +214,17 @@ public class LauncherAppsCompatVL extends LauncherAppsCompat { public List<PackageInstaller.SessionInfo> getAllPackageInstallerSessions() { return mContext.getPackageManager().getPackageInstaller().getAllSessions(); } @Override public void registerSessionCallback(LooperExecutor executor, SessionCallback sessionCallback) { mContext.getPackageManager().getPackageInstaller().registerSessionCallback(sessionCallback, executor.getHandler()); } @Override public void unregisterSessionCallback(SessionCallback sessionCallback) { mContext.getPackageManager().getPackageInstaller() .unregisterSessionCallback(sessionCallback); } } src/com/android/launcher3/compat/LauncherAppsCompatVQ.java +13 −1 Original line number Diff line number Diff line Loading @@ -18,8 +18,10 @@ package com.android.launcher3.compat; import android.annotation.TargetApi; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInstaller; import android.content.pm.PackageInstaller.SessionCallback; import com.android.launcher3.util.LooperExecutor; import java.util.List; Loading @@ -33,4 +35,14 @@ public class LauncherAppsCompatVQ extends LauncherAppsCompatVO { public List<PackageInstaller.SessionInfo> getAllPackageInstallerSessions() { return mLauncherApps.getAllPackageInstallerSessions(); } @Override public void registerSessionCallback(LooperExecutor executor, SessionCallback sessionCallback) { mLauncherApps.registerPackageInstallerSessionCallback(executor, sessionCallback); } @Override public void unregisterSessionCallback(SessionCallback sessionCallback) { mLauncherApps.unregisterPackageInstallerSessionCallback(sessionCallback); } } Loading
src/com/android/launcher3/InstallShortcutReceiver.java +9 −8 Original line number Diff line number Diff line Loading @@ -133,7 +133,8 @@ public class InstallShortcutReceiver extends BroadcastReceiver { String pkg = getIntentPackage(info.launchIntent); if (!TextUtils.isEmpty(pkg) && !launcherApps.isPackageEnabledForProfile(pkg, info.user)) { && !launcherApps.isPackageEnabledForProfile(pkg, info.user) && !info.isActivity) { if (DBG) { Log.d(TAG, "Ignoring shortcut for absent package: " + info.launchIntent); } Loading Loading @@ -454,6 +455,8 @@ public class InstallShortcutReceiver extends BroadcastReceiver { .object() .key(LAUNCH_INTENT_KEY).value(launchIntent.toUri(0)) .key(NAME_KEY).value(name) .key(USER_HANDLE_KEY).value( UserManagerCompat.getInstance(mContext).getSerialNumberForUser(user)) .key(APP_SHORTCUT_TYPE_KEY).value(isActivity); if (icon != null) { byte[] iconByteArray = GraphicsUtils.flattenBitmap(icon); Loading @@ -475,7 +478,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver { public Pair<ItemInfo, Object> getItemInfo() { if (isActivity) { WorkspaceItemInfo si = createWorkspaceItemInfo(data, WorkspaceItemInfo si = createWorkspaceItemInfo(data, user, LauncherAppState.getInstance(mContext)); si.itemType = LauncherSettings.Favorites.ITEM_TYPE_APPLICATION; si.status |= WorkspaceItemInfo.FLAG_AUTOINSTALL_ICON; Loading @@ -500,7 +503,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver { return Pair.create(widgetInfo, providerInfo); } else { WorkspaceItemInfo itemInfo = createWorkspaceItemInfo(data, LauncherAppState.getInstance(mContext)); createWorkspaceItemInfo(data, user, LauncherAppState.getInstance(mContext)); return Pair.create(itemInfo, null); } } Loading Loading @@ -618,7 +621,8 @@ public class InstallShortcutReceiver extends BroadcastReceiver { return new PendingInstallShortcutInfo(info, original.mContext); } private static WorkspaceItemInfo createWorkspaceItemInfo(Intent data, LauncherAppState app) { private static WorkspaceItemInfo createWorkspaceItemInfo(Intent data, UserHandle user, LauncherAppState app) { if (data == null) { Log.e(TAG, "Can't construct WorkspaceItemInfo with null data"); return null; Loading @@ -635,10 +639,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver { } final WorkspaceItemInfo info = new WorkspaceItemInfo(); // Only support intents for current user for now. Intents sent from other // users wouldn't get here without intent forwarding anyway. info.user = Process.myUserHandle(); info.user = user; BitmapInfo iconInfo = null; LauncherIcons li = LauncherIcons.obtain(app.getContext()); Loading
src/com/android/launcher3/LauncherModel.java +2 −2 Original line number Diff line number Diff line Loading @@ -134,11 +134,11 @@ public class LauncherModel extends BroadcastReceiver /** * Updates the icons and label of all pending icons for the provided package name. */ public void updateSessionDisplayInfo(final String packageName) { public void updateSessionDisplayInfo(final String packageName, final UserHandle user) { HashSet<String> packages = new HashSet<>(); packages.add(packageName); enqueueModelUpdateTask(new CacheDataUpdatedTask( CacheDataUpdatedTask.OP_SESSION_UPDATE, Process.myUserHandle(), packages)); CacheDataUpdatedTask.OP_SESSION_UPDATE, user, packages)); } /** Loading
src/com/android/launcher3/compat/LauncherAppsCompat.java +6 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.LauncherActivityInfo; import android.content.pm.PackageInstaller; import android.content.pm.PackageInstaller.SessionCallback; import android.content.pm.ShortcutInfo; import android.graphics.Rect; import android.os.Bundle; Loading @@ -30,6 +31,7 @@ import android.os.UserHandle; import androidx.annotation.Nullable; import com.android.launcher3.Utilities; import com.android.launcher3.util.LooperExecutor; import com.android.launcher3.util.PackageUserKey; import java.util.List; Loading Loading @@ -90,4 +92,8 @@ public abstract class LauncherAppsCompat { @Nullable PackageUserKey packageUser); public abstract List<PackageInstaller.SessionInfo> getAllPackageInstallerSessions(); public abstract void registerSessionCallback(LooperExecutor executor, SessionCallback sessionCallback); public abstract void unregisterSessionCallback(SessionCallback sessionCallback); }
src/com/android/launcher3/compat/LauncherAppsCompatVL.java +14 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.LauncherActivityInfo; import android.content.pm.LauncherApps; import android.content.pm.PackageInstaller; import android.content.pm.PackageInstaller.SessionCallback; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.ShortcutInfo; Loading @@ -35,6 +36,7 @@ import android.util.Log; import com.android.launcher3.compat.ShortcutConfigActivityInfo.ShortcutConfigActivityInfoVL; import com.android.launcher3.testing.TestProtocol; import com.android.launcher3.util.LooperExecutor; import com.android.launcher3.util.PackageUserKey; import java.util.ArrayList; Loading Loading @@ -212,5 +214,17 @@ public class LauncherAppsCompatVL extends LauncherAppsCompat { public List<PackageInstaller.SessionInfo> getAllPackageInstallerSessions() { return mContext.getPackageManager().getPackageInstaller().getAllSessions(); } @Override public void registerSessionCallback(LooperExecutor executor, SessionCallback sessionCallback) { mContext.getPackageManager().getPackageInstaller().registerSessionCallback(sessionCallback, executor.getHandler()); } @Override public void unregisterSessionCallback(SessionCallback sessionCallback) { mContext.getPackageManager().getPackageInstaller() .unregisterSessionCallback(sessionCallback); } }
src/com/android/launcher3/compat/LauncherAppsCompatVQ.java +13 −1 Original line number Diff line number Diff line Loading @@ -18,8 +18,10 @@ package com.android.launcher3.compat; import android.annotation.TargetApi; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInstaller; import android.content.pm.PackageInstaller.SessionCallback; import com.android.launcher3.util.LooperExecutor; import java.util.List; Loading @@ -33,4 +35,14 @@ public class LauncherAppsCompatVQ extends LauncherAppsCompatVO { public List<PackageInstaller.SessionInfo> getAllPackageInstallerSessions() { return mLauncherApps.getAllPackageInstallerSessions(); } @Override public void registerSessionCallback(LooperExecutor executor, SessionCallback sessionCallback) { mLauncherApps.registerPackageInstallerSessionCallback(executor, sessionCallback); } @Override public void unregisterSessionCallback(SessionCallback sessionCallback) { mLauncherApps.unregisterPackageInstallerSessionCallback(sessionCallback); } }