mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
[PS] Do not use AppInfo and use PrivateSpaceInstallAppButtonInfo instead.
BaseAllAppsAdapter.AdapterItem's itemInfo needs to be an AppInfo. Create PrivateSpaceInstallAppButtonInfo extending from AppInfo and use different itemType (AppInfo has default itemType ITEM_TYPE_APPLICATION). In this case, shortcuts is disabled in ShortcutUtil#supportsShortcuts because `isApp` is false (https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:packages/apps/Launcher3/src/com/android/launcher3/util/ShortcutUtil.java;l=30?q=shortcututil&sq=repo:googleplex-android%2Fplatform%2Fsuperproject%2Fmain%20b:main). After the fix, long click on Install button quits Toast, which is the same with drag action on the button. Since we have a specific itemType for PS install button now, the previous `FLAG_PRIVATE_SPACE_INSTALL_APP` is no longer needed. Remove it. Bug: 324211283 Test: manual Flag: aconfig com.google.android.apps.nexuslauncher.private_space_app_installer_button trunkfood Change-Id: Ic5d4284afb93cef77f2ad8f0c1588523e0ed3ae3
This commit is contained in:
@@ -23,7 +23,6 @@ import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_PRIVATE
|
||||
import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_NOTHING;
|
||||
import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED;
|
||||
import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_NOT_PINNABLE;
|
||||
import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_PRIVATE_SPACE_INSTALL_APP;
|
||||
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
|
||||
import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
|
||||
import static com.android.launcher3.util.SettingsCache.PRIVATE_SPACE_HIDE_WHEN_LOCKED_URI;
|
||||
@@ -43,6 +42,7 @@ import com.android.launcher3.icons.BitmapInfo;
|
||||
import com.android.launcher3.icons.LauncherIcons;
|
||||
import com.android.launcher3.logging.StatsLogManager;
|
||||
import com.android.launcher3.model.data.AppInfo;
|
||||
import com.android.launcher3.model.data.PrivateSpaceInstallAppButtonInfo;
|
||||
import com.android.launcher3.pm.UserCache;
|
||||
import com.android.launcher3.uioverrides.ApiWrapper;
|
||||
import com.android.launcher3.util.Preconditions;
|
||||
@@ -105,13 +105,13 @@ public class PrivateProfileManager extends UserProfileManager {
|
||||
context, com.android.launcher3.R.drawable.private_space_install_app_icon);
|
||||
BitmapInfo bitmapInfo = LauncherIcons.obtain(context).createIconBitmap(shortcut);
|
||||
|
||||
AppInfo itemInfo = new AppInfo();
|
||||
PrivateSpaceInstallAppButtonInfo itemInfo = new PrivateSpaceInstallAppButtonInfo();
|
||||
itemInfo.title = context.getResources().getString(R.string.ps_add_button_label);
|
||||
itemInfo.intent = mAppInstallerIntent;
|
||||
itemInfo.bitmap = bitmapInfo;
|
||||
itemInfo.contentDescription = context.getResources().getString(
|
||||
com.android.launcher3.R.string.ps_add_button_content_description);
|
||||
itemInfo.runtimeStatusFlags |= FLAG_PRIVATE_SPACE_INSTALL_APP | FLAG_NOT_PINNABLE;
|
||||
itemInfo.runtimeStatusFlags |= FLAG_NOT_PINNABLE;
|
||||
|
||||
BaseAllAppsAdapter.AdapterItem item = new BaseAllAppsAdapter.AdapterItem(VIEW_TYPE_ICON);
|
||||
item.itemInfo = itemInfo;
|
||||
|
||||
Reference in New Issue
Block a user