From 9589916418d8892fcd99b3abb9770ae83ebec7d8 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Wed, 27 Mar 2019 16:03:06 -0700 Subject: [PATCH] ShortcutInfo renamed to WorkspaceItemInfo Will get rid of ShortcutInfoCompat in a follow up cl Change-Id: I7d7d9c938635f59b216290ba28bea9d0e0721a7d --- .../android/quickstep/TaskSystemShortcut.java | 4 +- .../cache_data_updated_task_data.txt | 2 +- ...package_install_state_change_task_data.txt | 2 +- .../model/AddWorkspaceItemsTaskTest.java | 15 +++---- .../model/CacheDataUpdatedTaskTest.java | 6 +-- .../PackageInstallStateChangedTaskTest.java | 6 +-- src/com/android/launcher3/AppInfo.java | 4 +- .../android/launcher3/AutoInstallsLayout.java | 2 +- .../launcher3/BaseDraggingActivity.java | 8 ++-- src/com/android/launcher3/BubbleTextView.java | 20 ++++----- .../android/launcher3/DeleteDropTarget.java | 4 +- src/com/android/launcher3/FolderInfo.java | 12 +++--- .../launcher3/InstallShortcutReceiver.java | 24 +++++------ src/com/android/launcher3/Launcher.java | 19 ++++----- src/com/android/launcher3/LauncherModel.java | 14 +++---- src/com/android/launcher3/PromiseAppInfo.java | 8 ++-- src/com/android/launcher3/Workspace.java | 40 +++++++++--------- ...ortcutInfo.java => WorkspaceItemInfo.java} | 16 ++++---- .../LauncherAccessibilityDelegate.java | 8 ++-- .../ShortcutMenuAccessibilityDelegate.java | 4 +- .../WorkspaceAccessibilityHelper.java | 12 +++--- .../compat/LauncherAppsCompatVO.java | 10 ++--- .../compat/ShortcutConfigActivityInfo.java | 6 +-- .../launcher3/dragndrop/DragController.java | 4 +- .../PinShortcutRequestActivityInfo.java | 5 ++- src/com/android/launcher3/folder/Folder.java | 40 +++++++++--------- .../android/launcher3/folder/FolderIcon.java | 28 ++++++------- .../launcher3/folder/FolderPagedView.java | 18 ++++---- .../launcher3/folder/PreviewItemManager.java | 4 +- .../graphics/LauncherPreviewRenderer.java | 22 +++++----- .../android/launcher3/icons/IconCache.java | 6 +-- .../model/AddWorkspaceItemsTask.java | 16 ++++---- .../launcher3/model/BaseModelUpdateTask.java | 8 ++-- .../android/launcher3/model/BgDataModel.java | 6 +-- .../launcher3/model/CacheDataUpdatedTask.java | 12 +++--- .../android/launcher3/model/LoaderCursor.java | 26 ++++++------ .../android/launcher3/model/LoaderTask.java | 33 ++++++++------- .../android/launcher3/model/ModelWriter.java | 4 +- .../model/PackageInstallStateChangedTask.java | 8 ++-- .../launcher3/model/PackageUpdatedTask.java | 41 ++++++++++--------- .../launcher3/model/ShortcutsChangedTask.java | 24 +++++------ .../model/UserLockStateChangedTask.java | 10 ++--- .../launcher3/popup/PopupPopulator.java | 4 +- .../launcher3/popup/SystemShortcut.java | 6 +-- .../launcher3/provider/RestoreDbTask.java | 6 +-- .../launcher3/shortcuts/DeepShortcutView.java | 16 ++++---- .../shortcuts/ShortcutInfoCompat.java | 3 +- .../launcher3/touch/ItemClickHandler.java | 21 +++++----- .../launcher3/util/ItemInfoMatcher.java | 8 ++-- .../launcher3/util/PackageManagerHelper.java | 4 +- .../shortcuts/DeepShortcutManager.java | 5 ++- .../launcher3/model/LoaderCursorTest.java | 8 ++-- .../ui/widget/RequestPinItemTest.java | 4 +- 53 files changed, 317 insertions(+), 329 deletions(-) rename src/com/android/launcher3/{ShortcutInfo.java => WorkspaceItemInfo.java} (93%) diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskSystemShortcut.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskSystemShortcut.java index 6e98a5ad2f..e3dcadcd54 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskSystemShortcut.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskSystemShortcut.java @@ -38,7 +38,7 @@ import com.android.launcher3.ItemInfo; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.popup.SystemShortcut; import com.android.launcher3.userevent.nano.LauncherLogProto; import com.android.launcher3.util.InstantAppResolver; @@ -86,7 +86,7 @@ public class TaskSystemShortcut extends SystemShortcut public View.OnClickListener getOnClickListener(BaseDraggingActivity activity, TaskView view) { Task task = view.getTask(); - ShortcutInfo dummyInfo = new ShortcutInfo(); + WorkspaceItemInfo dummyInfo = new WorkspaceItemInfo(); dummyInfo.intent = new Intent(); ComponentName component = task.getTopComponent(); dummyInfo.intent.setComponent(component); diff --git a/robolectric_tests/resources/cache_data_updated_task_data.txt b/robolectric_tests/resources/cache_data_updated_task_data.txt index 8199687090..302d58f842 100644 --- a/robolectric_tests/resources/cache_data_updated_task_data.txt +++ b/robolectric_tests/resources/cache_data_updated_task_data.txt @@ -1,6 +1,6 @@ # Model data used by CacheDataUpdatedTaskTest -classMap s com.android.launcher3.ShortcutInfo +classMap s com.android.launcher3.WorkspaceItemInfo # Items for the BgDataModel diff --git a/robolectric_tests/resources/package_install_state_change_task_data.txt b/robolectric_tests/resources/package_install_state_change_task_data.txt index 84f9c161ea..4d63664c78 100644 --- a/robolectric_tests/resources/package_install_state_change_task_data.txt +++ b/robolectric_tests/resources/package_install_state_change_task_data.txt @@ -1,6 +1,6 @@ # Model data used by PackageInstallStateChangeTaskTest -classMap s com.android.launcher3.ShortcutInfo +classMap s com.android.launcher3.WorkspaceItemInfo classMap w com.android.launcher3.LauncherAppWidgetInfo # Items for the BgDataModel diff --git a/robolectric_tests/src/com/android/launcher3/model/AddWorkspaceItemsTaskTest.java b/robolectric_tests/src/com/android/launcher3/model/AddWorkspaceItemsTaskTest.java index 4f49817bf0..d7a2278463 100644 --- a/robolectric_tests/src/com/android/launcher3/model/AddWorkspaceItemsTaskTest.java +++ b/robolectric_tests/src/com/android/launcher3/model/AddWorkspaceItemsTaskTest.java @@ -7,19 +7,14 @@ import static org.mockito.Mockito.any; import static org.mockito.Mockito.verify; import android.content.ComponentName; -import android.content.ContentProviderOperation; -import android.content.ContentValues; -import android.content.Context; import android.content.Intent; import android.graphics.Rect; -import android.net.Uri; import android.util.Pair; import com.android.launcher3.ItemInfo; -import com.android.launcher3.LauncherProvider; import com.android.launcher3.LauncherSettings; import com.android.launcher3.LauncherSettings.Favorites; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.util.ContentWriter; import com.android.launcher3.util.GridOccupancy; import com.android.launcher3.util.IntArray; @@ -103,7 +98,7 @@ public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase { @Test public void testAddItem_existing_item_ignored() throws Exception { - ShortcutInfo info = new ShortcutInfo(); + WorkspaceItemInfo info = new WorkspaceItemInfo(); info.intent = new Intent().setComponent(mComponent1); // Setup a screen with a hole @@ -115,10 +110,10 @@ public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase { @Test public void testAddItem_some_items_added() throws Exception { - ShortcutInfo info = new ShortcutInfo(); + WorkspaceItemInfo info = new WorkspaceItemInfo(); info.intent = new Intent().setComponent(mComponent1); - ShortcutInfo info2 = new ShortcutInfo(); + WorkspaceItemInfo info2 = new WorkspaceItemInfo(); info2.intent = new Intent().setComponent(mComponent2); // Setup a screen with a hole @@ -155,7 +150,7 @@ public class AddWorkspaceItemsTaskTest extends BaseModelUpdateTaskTestCase { continue; } - ShortcutInfo info = new ShortcutInfo(); + WorkspaceItemInfo info = new WorkspaceItemInfo(); info.intent = new Intent().setComponent(mComponent1); info.id = startId++; info.screenId = screenId; diff --git a/robolectric_tests/src/com/android/launcher3/model/CacheDataUpdatedTaskTest.java b/robolectric_tests/src/com/android/launcher3/model/CacheDataUpdatedTaskTest.java index 2334993c54..e046cad2c1 100644 --- a/robolectric_tests/src/com/android/launcher3/model/CacheDataUpdatedTaskTest.java +++ b/robolectric_tests/src/com/android/launcher3/model/CacheDataUpdatedTaskTest.java @@ -8,7 +8,7 @@ import static org.junit.Assert.assertNull; import com.android.launcher3.AppInfo; import com.android.launcher3.ItemInfo; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import org.junit.Before; import org.junit.Ignore; @@ -89,10 +89,10 @@ public class CacheDataUpdatedTaskTest extends BaseModelUpdateTaskTestCase { for (ItemInfo info : bgDataModel.itemsIdMap) { if (updates.contains(info.id)) { assertEquals(NEW_LABEL_PREFIX + info.id, info.title); - assertNotNull(((ShortcutInfo) info).iconBitmap); + assertNotNull(((WorkspaceItemInfo) info).iconBitmap); } else { assertNotSame(NEW_LABEL_PREFIX + info.id, info.title); - assertNull(((ShortcutInfo) info).iconBitmap); + assertNull(((WorkspaceItemInfo) info).iconBitmap); } } } diff --git a/robolectric_tests/src/com/android/launcher3/model/PackageInstallStateChangedTaskTest.java b/robolectric_tests/src/com/android/launcher3/model/PackageInstallStateChangedTaskTest.java index c7b4613bd8..e9324f9ce2 100644 --- a/robolectric_tests/src/com/android/launcher3/model/PackageInstallStateChangedTaskTest.java +++ b/robolectric_tests/src/com/android/launcher3/model/PackageInstallStateChangedTaskTest.java @@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals; import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherAppWidgetInfo; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.compat.PackageInstallerCompat; import com.android.launcher3.compat.PackageInstallerCompat.PackageInstallInfo; @@ -58,9 +58,9 @@ public class PackageInstallStateChangedTaskTest extends BaseModelUpdateTaskTestC private void verifyProgressUpdate(int progress, Integer... idsUpdated) { HashSet updates = new HashSet<>(Arrays.asList(idsUpdated)); for (ItemInfo info : bgDataModel.itemsIdMap) { - if (info instanceof ShortcutInfo) { + if (info instanceof WorkspaceItemInfo) { assertEquals(updates.contains(info.id) ? progress: 0, - ((ShortcutInfo) info).getInstallProgress()); + ((WorkspaceItemInfo) info).getInstallProgress()); } else { assertEquals(updates.contains(info.id) ? progress: -1, ((LauncherAppWidgetInfo) info).installProgress); diff --git a/src/com/android/launcher3/AppInfo.java b/src/com/android/launcher3/AppInfo.java index ed7991408f..d884049f5a 100644 --- a/src/com/android/launcher3/AppInfo.java +++ b/src/com/android/launcher3/AppInfo.java @@ -81,8 +81,8 @@ public class AppInfo extends ItemInfoWithIcon { return super.dumpProperties() + " componentName=" + componentName; } - public ShortcutInfo makeShortcut() { - return new ShortcutInfo(this); + public WorkspaceItemInfo makeWorkspaceItem() { + return new WorkspaceItemInfo(this); } public ComponentKey toComponentKey() { diff --git a/src/com/android/launcher3/AutoInstallsLayout.java b/src/com/android/launcher3/AutoInstallsLayout.java index 0d9bd31956..9724869bf4 100644 --- a/src/com/android/launcher3/AutoInstallsLayout.java +++ b/src/com/android/launcher3/AutoInstallsLayout.java @@ -391,7 +391,7 @@ public class AutoInstallsLayout { return -1; } - mValues.put(Favorites.RESTORED, ShortcutInfo.FLAG_AUTOINSTALL_ICON); + mValues.put(Favorites.RESTORED, WorkspaceItemInfo.FLAG_AUTOINSTALL_ICON); final Intent intent = new Intent(Intent.ACTION_MAIN, null) .addCategory(Intent.CATEGORY_LAUNCHER) .setComponent(new ComponentName(packageName, className)) diff --git a/src/com/android/launcher3/BaseDraggingActivity.java b/src/com/android/launcher3/BaseDraggingActivity.java index 18599ac697..c6fd906833 100644 --- a/src/com/android/launcher3/BaseDraggingActivity.java +++ b/src/com/android/launcher3/BaseDraggingActivity.java @@ -16,8 +16,6 @@ package com.android.launcher3; -import static com.android.launcher3.model.AppLaunchTracker.CONTAINER_SEARCH; - import android.app.ActivityOptions; import android.content.ActivityNotFoundException; import android.content.Intent; @@ -169,10 +167,10 @@ public abstract class BaseDraggingActivity extends BaseActivity intent.setSourceBounds(getViewBounds(v)); } try { - boolean isShortcut = (item instanceof ShortcutInfo) + boolean isShortcut = (item instanceof WorkspaceItemInfo) && (item.itemType == Favorites.ITEM_TYPE_SHORTCUT || item.itemType == Favorites.ITEM_TYPE_DEEP_SHORTCUT) - && !((ShortcutInfo) item).isPromise(); + && !((WorkspaceItemInfo) item).isPromise(); if (isShortcut) { // Shortcuts need some special checks due to legacy reasons. startShortcutIntentSafely(intent, optsBundle, item, sourceContainer); @@ -209,7 +207,7 @@ public abstract class BaseDraggingActivity extends BaseActivity .penaltyLog().build()); if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT) { - String id = ((ShortcutInfo) info).getDeepShortcutId(); + String id = ((WorkspaceItemInfo) info).getDeepShortcutId(); String packageName = intent.getPackage(); DeepShortcutManager.getInstance(this).startShortcut( packageName, id, intent.getSourceBounds(), optsBundle, info.user); diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java index d75006e893..3611ad47ea 100644 --- a/src/com/android/launcher3/BubbleTextView.java +++ b/src/com/android/launcher3/BubbleTextView.java @@ -215,11 +215,11 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, mDotScaleAnim.start(); } - public void applyFromShortcutInfo(ShortcutInfo info) { - applyFromShortcutInfo(info, false); + public void applyFromWorkspaceItem(WorkspaceItemInfo info) { + applyFromWorkspaceItem(info, false); } - public void applyFromShortcutInfo(ShortcutInfo info, boolean promiseStateChanged) { + public void applyFromWorkspaceItem(WorkspaceItemInfo info, boolean promiseStateChanged) { applyIconAndLabel(info); setTag(info); if (promiseStateChanged || (info.hasPromiseIconUi())) { @@ -232,7 +232,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, public void applyFromApplicationInfo(AppInfo info) { applyIconAndLabel(info); - // We don't need to check the info since it's not a ShortcutInfo + // We don't need to check the info since it's not a WorkspaceItemInfo super.setTag(info); // Verify high res immediately @@ -247,7 +247,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, public void applyFromPackageItemInfo(PackageItemInfo info) { applyIconAndLabel(info); - // We don't need to check the info since it's not a ShortcutInfo + // We don't need to check the info since it's not a WorkspaceItemInfo super.setTag(info); // Verify high res immediately @@ -491,11 +491,11 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, } public void applyPromiseState(boolean promiseStateChanged) { - if (getTag() instanceof ShortcutInfo) { - ShortcutInfo info = (ShortcutInfo) getTag(); + if (getTag() instanceof WorkspaceItemInfo) { + WorkspaceItemInfo info = (WorkspaceItemInfo) getTag(); final boolean isPromise = info.hasPromiseIconUi(); final int progressLevel = isPromise ? - ((info.hasStatusFlag(ShortcutInfo.FLAG_INSTALL_SESSION_ACTIVE) ? + ((info.hasStatusFlag(WorkspaceItemInfo.FLAG_INSTALL_SESSION_ACTIVE) ? info.getInstallProgress() : 0)) : 100; PreloadIconDrawable preloadDrawable = applyProgressLevel(progressLevel); @@ -619,8 +619,8 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, if (info instanceof AppInfo) { applyFromApplicationInfo((AppInfo) info); - } else if (info instanceof ShortcutInfo) { - applyFromShortcutInfo((ShortcutInfo) info); + } else if (info instanceof WorkspaceItemInfo) { + applyFromWorkspaceItem((WorkspaceItemInfo) info); mActivity.invalidateParent(info); } else if (info instanceof PackageItemInfo) { applyFromPackageItemInfo((PackageItemInfo) info); diff --git a/src/com/android/launcher3/DeleteDropTarget.java b/src/com/android/launcher3/DeleteDropTarget.java index 4c6824a5ce..8cbad20b57 100644 --- a/src/com/android/launcher3/DeleteDropTarget.java +++ b/src/com/android/launcher3/DeleteDropTarget.java @@ -16,8 +16,6 @@ package com.android.launcher3; -import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT; - import android.content.Context; import android.text.TextUtils; import android.util.AttributeSet; @@ -64,7 +62,7 @@ public class DeleteDropTarget extends ButtonDropTarget { */ @Override public boolean supportsAccessibilityDrop(ItemInfo info, View view) { - if (info instanceof ShortcutInfo) { + if (info instanceof WorkspaceItemInfo) { // Support the action unless the item is in a context menu. return info.screenId >= 0; } diff --git a/src/com/android/launcher3/FolderInfo.java b/src/com/android/launcher3/FolderInfo.java index 21254ab292..b747d62aef 100644 --- a/src/com/android/launcher3/FolderInfo.java +++ b/src/com/android/launcher3/FolderInfo.java @@ -50,7 +50,7 @@ public class FolderInfo extends ItemInfo { /** * The apps and shortcuts */ - public ArrayList contents = new ArrayList(); + public ArrayList contents = new ArrayList(); ArrayList listeners = new ArrayList(); @@ -64,14 +64,14 @@ public class FolderInfo extends ItemInfo { * * @param item */ - public void add(ShortcutInfo item, boolean animate) { + public void add(WorkspaceItemInfo item, boolean animate) { add(item, contents.size(), animate); } /** * Add an app or shortcut for a specified rank. */ - public void add(ShortcutInfo item, int rank, boolean animate) { + public void add(WorkspaceItemInfo item, int rank, boolean animate) { rank = Utilities.boundToRange(rank, 0, contents.size()); contents.add(rank, item); for (int i = 0; i < listeners.size(); i++) { @@ -85,7 +85,7 @@ public class FolderInfo extends ItemInfo { * * @param item */ - public void remove(ShortcutInfo item, boolean animate) { + public void remove(WorkspaceItemInfo item, boolean animate) { contents.remove(item); for (int i = 0; i < listeners.size(); i++) { listeners.get(i).onRemove(item); @@ -129,8 +129,8 @@ public class FolderInfo extends ItemInfo { } public interface FolderListener { - public void onAdd(ShortcutInfo item, int rank); - public void onRemove(ShortcutInfo item); + public void onAdd(WorkspaceItemInfo item, int rank); + public void onRemove(WorkspaceItemInfo item); public void onTitleChanged(CharSequence title); public void onItemsChanged(boolean animate); public void prepareAutoUpdate(); diff --git a/src/com/android/launcher3/InstallShortcutReceiver.java b/src/com/android/launcher3/InstallShortcutReceiver.java index 5c5f5e4b39..418f1e485d 100644 --- a/src/com/android/launcher3/InstallShortcutReceiver.java +++ b/src/com/android/launcher3/InstallShortcutReceiver.java @@ -244,13 +244,13 @@ public class InstallShortcutReceiver extends BroadcastReceiver { return convertToLauncherActivityIfPossible(info); } - public static ShortcutInfo fromShortcutIntent(Context context, Intent data) { + public static WorkspaceItemInfo fromShortcutIntent(Context context, Intent data) { PendingInstallShortcutInfo info = createPendingInfo(context, data); - return info == null ? null : (ShortcutInfo) info.getItemInfo().first; + return info == null ? null : (WorkspaceItemInfo) info.getItemInfo().first; } - public static ShortcutInfo fromActivityInfo(LauncherActivityInfo info, Context context) { - return (ShortcutInfo) (new PendingInstallShortcutInfo(info, context).getItemInfo().first); + public static WorkspaceItemInfo fromActivityInfo(LauncherActivityInfo info, Context context) { + return (WorkspaceItemInfo) (new PendingInstallShortcutInfo(info, context).getItemInfo().first); } public static void queueShortcut(ShortcutInfoCompat info, Context context) { @@ -483,11 +483,11 @@ public class InstallShortcutReceiver extends BroadcastReceiver { // Set default values until proper values is loaded. appInfo.title = ""; appInfo.applyFrom(app.getIconCache().getDefaultIcon(user)); - final ShortcutInfo si = appInfo.makeShortcut(); + final WorkspaceItemInfo si = appInfo.makeWorkspaceItem(); if (Looper.myLooper() == LauncherModel.getWorkerLooper()) { app.getIconCache().getTitleAndIcon(si, activityInfo, false /* useLowResIcon */); } else { - app.getModel().updateAndBindShortcutInfo(() -> { + app.getModel().updateAndBindWorkspaceItem(() -> { app.getIconCache().getTitleAndIcon( si, activityInfo, false /* useLowResIcon */); return si; @@ -495,7 +495,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver { } return Pair.create((ItemInfo) si, (Object) activityInfo); } else if (shortcutInfo != null) { - ShortcutInfo si = new ShortcutInfo(shortcutInfo, mContext); + WorkspaceItemInfo si = new WorkspaceItemInfo(shortcutInfo, mContext); LauncherIcons li = LauncherIcons.obtain(mContext); si.applyFrom(li.createShortcutIcon(shortcutInfo)); li.recycle(); @@ -513,7 +513,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver { widgetInfo.spanY = Math.min(info.spanY, idp.numRows); return Pair.create((ItemInfo) widgetInfo, (Object) providerInfo); } else { - ShortcutInfo si = createShortcutInfo(data, LauncherAppState.getInstance(mContext)); + WorkspaceItemInfo si = createWorkspaceItemInfo(data, LauncherAppState.getInstance(mContext)); return Pair.create((ItemInfo) si, null); } } @@ -625,18 +625,18 @@ public class InstallShortcutReceiver extends BroadcastReceiver { return new PendingInstallShortcutInfo(info, original.mContext); } - private static ShortcutInfo createShortcutInfo(Intent data, LauncherAppState app) { + private static WorkspaceItemInfo createWorkspaceItemInfo(Intent data, LauncherAppState app) { Intent intent = data.getParcelableExtra(Intent.EXTRA_SHORTCUT_INTENT); String name = data.getStringExtra(Intent.EXTRA_SHORTCUT_NAME); Parcelable bitmap = data.getParcelableExtra(Intent.EXTRA_SHORTCUT_ICON); if (intent == null) { - // If the intent is null, we can't construct a valid ShortcutInfo, so we return null - Log.e(TAG, "Can't construct ShorcutInfo with null intent"); + // If the intent is null, return null as we can't construct a valid WorkspaceItemInfo + Log.e(TAG, "Can't construct WorkspaceItemInfo with null intent"); return null; } - final ShortcutInfo info = new ShortcutInfo(); + 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. diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index c14512a7ec..0c35566613 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -57,7 +57,6 @@ import android.os.Handler; import android.os.Parcelable; import android.os.Process; import android.os.StrictMode; -import android.os.UserHandle; import android.text.TextUtils; import android.text.method.TextKeyListener; import android.util.Log; @@ -981,7 +980,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, * * @param info The data structure describing the shortcut. */ - View createShortcut(ShortcutInfo info) { + View createShortcut(WorkspaceItemInfo info) { return createShortcut((ViewGroup) mWorkspace.getChildAt(mWorkspace.getCurrentPage()), info); } @@ -993,10 +992,10 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, * * @return A View inflated from layoutResId. */ - public View createShortcut(ViewGroup parent, ShortcutInfo info) { + public View createShortcut(ViewGroup parent, WorkspaceItemInfo info) { BubbleTextView favorite = (BubbleTextView) LayoutInflater.from(parent.getContext()) .inflate(R.layout.app_icon, parent, false); - favorite.applyFromShortcutInfo(info); + favorite.applyFromWorkspaceItem(info); favorite.setOnClickListener(ItemClickHandler.INSTANCE); favorite.setOnFocusChangeListener(mFocusHandler); return favorite; @@ -1017,9 +1016,9 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, int[] cellXY = mTmpAddItemCellCoordinates; CellLayout layout = getCellLayout(container, screenId); - ShortcutInfo info = null; + WorkspaceItemInfo info = null; if (Utilities.ATLEAST_OREO) { - info = LauncherAppsCompatVO.createShortcutInfoFromPinItemRequest( + info = LauncherAppsCompatVO.createWorkspaceItemFromPinItemRequest( this, LauncherAppsCompatVO.getPinItemRequest(data), 0); } @@ -1541,11 +1540,11 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, * @param deleteFromDb whether or not to delete this item from the db. */ public boolean removeItem(View v, final ItemInfo itemInfo, boolean deleteFromDb) { - if (itemInfo instanceof ShortcutInfo) { + if (itemInfo instanceof WorkspaceItemInfo) { // Remove the shortcut from the folder before removing it from launcher View folderIcon = mWorkspace.getHomescreenIconByItemId(itemInfo.container); if (folderIcon instanceof FolderIcon) { - ((FolderInfo) folderIcon.getTag()).remove((ShortcutInfo) itemInfo, true); + ((FolderInfo) folderIcon.getTag()).remove((WorkspaceItemInfo) itemInfo, true); } else { mWorkspace.removeWorkspaceItem(v); } @@ -1870,7 +1869,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, case LauncherSettings.Favorites.ITEM_TYPE_APPLICATION: case LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT: case LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT: { - ShortcutInfo info = (ShortcutInfo) item; + WorkspaceItemInfo info = (WorkspaceItemInfo) item; view = createShortcut(info); break; } @@ -2228,7 +2227,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, * @param updated list of shortcuts which have changed. */ @Override - public void bindShortcutsChanged(ArrayList updated, final UserHandle user) { + public void bindWorkspaceItemsChanged(ArrayList updated) { if (!updated.isEmpty()) { mWorkspace.updateShortcuts(updated); } diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index c559f2ba1e..dfbe0fe01c 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -149,7 +149,7 @@ public class LauncherModel extends BroadcastReceiver public void bindAppsAdded(IntArray newScreens, ArrayList addNotAnimated, ArrayList addAnimated); public void bindPromiseAppProgressUpdated(PromiseAppInfo app); - public void bindShortcutsChanged(ArrayList updated, UserHandle user); + public void bindWorkspaceItemsChanged(ArrayList updated); public void bindWidgetsRestored(ArrayList widgets); public void bindRestoreItemsChange(HashSet updates); public void bindWorkspaceComponentsRemoved(ItemInfoMatcher matcher); @@ -530,8 +530,8 @@ public class LauncherModel extends BroadcastReceiver } - public void updateAndBindShortcutInfo(final ShortcutInfo si, final ShortcutInfoCompat info) { - updateAndBindShortcutInfo(() -> { + public void updateAndBindWorkspaceItem(WorkspaceItemInfo si, ShortcutInfoCompat info) { + updateAndBindWorkspaceItem(() -> { si.updateFromDeepShortcutInfo(info, mApp.getContext()); LauncherIcons li = LauncherIcons.obtain(mApp.getContext()); si.applyFrom(li.createShortcutIcon(info)); @@ -543,15 +543,15 @@ public class LauncherModel extends BroadcastReceiver /** * Utility method to update a shortcut on the background thread. */ - public void updateAndBindShortcutInfo(final Supplier shortcutProvider) { + public void updateAndBindWorkspaceItem(final Supplier itemProvider) { enqueueModelUpdateTask(new BaseModelUpdateTask() { @Override public void execute(LauncherAppState app, BgDataModel dataModel, AllAppsList apps) { - ShortcutInfo info = shortcutProvider.get(); + WorkspaceItemInfo info = itemProvider.get(); getModelWriter().updateItemInDatabase(info); - ArrayList update = new ArrayList<>(); + ArrayList update = new ArrayList<>(); update.add(info); - bindUpdatedShortcuts(update, info.user); + bindUpdatedWorkspaceItems(update); } }); } diff --git a/src/com/android/launcher3/PromiseAppInfo.java b/src/com/android/launcher3/PromiseAppInfo.java index ea151cd580..4ad0b3d16e 100644 --- a/src/com/android/launcher3/PromiseAppInfo.java +++ b/src/com/android/launcher3/PromiseAppInfo.java @@ -38,13 +38,13 @@ public class PromiseAppInfo extends AppInfo { } @Override - public ShortcutInfo makeShortcut() { - ShortcutInfo shortcut = new ShortcutInfo(this); + public WorkspaceItemInfo makeWorkspaceItem() { + WorkspaceItemInfo shortcut = new WorkspaceItemInfo(this); shortcut.setInstallProgress(level); // We need to update the component name when the apk is installed - shortcut.status |= ShortcutInfo.FLAG_AUTOINSTALL_ICON; + shortcut.status |= WorkspaceItemInfo.FLAG_AUTOINSTALL_ICON; // Since the user is manually placing it on homescreen, it should not be auto-removed later - shortcut.status |= ShortcutInfo.FLAG_RESTORE_STARTED; + shortcut.status |= WorkspaceItemInfo.FLAG_RESTORE_STARTED; return shortcut; } diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 2ee537cfcf..efb50f0dde 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -1609,7 +1609,7 @@ public class Workspace extends PagedView return false; } - boolean aboveShortcut = (dropOverView.getTag() instanceof ShortcutInfo); + boolean aboveShortcut = (dropOverView.getTag() instanceof WorkspaceItemInfo); boolean willBecomeShortcut = (info.itemType == ITEM_TYPE_APPLICATION || info.itemType == LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT || @@ -1658,12 +1658,12 @@ public class Workspace extends PagedView mCreateUserFolderOnDrop = false; final int screenId = getIdForScreen(target); - boolean aboveShortcut = (v.getTag() instanceof ShortcutInfo); - boolean willBecomeShortcut = (newView.getTag() instanceof ShortcutInfo); + boolean aboveShortcut = (v.getTag() instanceof WorkspaceItemInfo); + boolean willBecomeShortcut = (newView.getTag() instanceof WorkspaceItemInfo); if (aboveShortcut && willBecomeShortcut) { - ShortcutInfo sourceInfo = (ShortcutInfo) newView.getTag(); - ShortcutInfo destInfo = (ShortcutInfo) v.getTag(); + WorkspaceItemInfo sourceInfo = (WorkspaceItemInfo) newView.getTag(); + WorkspaceItemInfo destInfo = (WorkspaceItemInfo) v.getTag(); // if the drag started here, we need to remove it from the workspace if (!external) { getParentCellLayoutForView(mDragInfo.cell).removeView(mDragInfo.cell); @@ -2418,8 +2418,8 @@ public class Workspace extends PagedView */ private void onDropExternal(final int[] touchXY, final CellLayout cellLayout, DragObject d) { if (d.dragInfo instanceof PendingAddShortcutInfo) { - ShortcutInfo si = ((PendingAddShortcutInfo) d.dragInfo) - .activityInfo.createShortcutInfo(); + WorkspaceItemInfo si = ((PendingAddShortcutInfo) d.dragInfo) + .activityInfo.createWorkspaceItemInfo(); if (si != null) { d.dragInfo = si; } @@ -2524,10 +2524,10 @@ public class Workspace extends PagedView case LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT: if (info.container == NO_ID && info instanceof AppInfo) { // Came from all apps -- make a copy - info = ((AppInfo) info).makeShortcut(); + info = ((AppInfo) info).makeWorkspaceItem(); d.dragInfo = info; } - view = mLauncher.createShortcut(cellLayout, (ShortcutInfo) info); + view = mLauncher.createShortcut(cellLayout, (WorkspaceItemInfo) info); break; case LauncherSettings.Favorites.ITEM_TYPE_FOLDER: view = FolderIcon.fromXml(R.layout.folder_icon, mLauncher, cellLayout, @@ -2916,7 +2916,7 @@ public class Workspace extends PagedView final Workspace.ItemOperator packageAndUserInFolder = (info, view) -> { if (info instanceof FolderInfo) { FolderInfo folderInfo = (FolderInfo) info; - for (ShortcutInfo shortcutInfo : folderInfo.contents) { + for (WorkspaceItemInfo shortcutInfo : folderInfo.contents) { if (packageAndUser.evaluate(shortcutInfo, view)) { return true; } @@ -3045,7 +3045,7 @@ public class Workspace extends PagedView if (parent != null) { FolderInfo folderInfo = (FolderInfo) parent.getTag(); folderInfo.prepareAutoUpdate(); - folderInfo.remove((ShortcutInfo) itemToRemove, false); + folderInfo.remove((WorkspaceItemInfo) itemToRemove, false); } } } @@ -3112,13 +3112,13 @@ public class Workspace extends PagedView return false; } - void updateShortcuts(ArrayList shortcuts) { + void updateShortcuts(ArrayList shortcuts) { int total = shortcuts.size(); - final HashSet updates = new HashSet<>(total); + final HashSet updates = new HashSet<>(total); final IntSet folderIds = new IntSet(); for (int i = 0; i < total; i++) { - ShortcutInfo s = shortcuts.get(i); + WorkspaceItemInfo s = shortcuts.get(i); updates.add(s); folderIds.add(s.container); } @@ -3126,14 +3126,14 @@ public class Workspace extends PagedView mapOverItems(MAP_RECURSE, new ItemOperator() { @Override public boolean evaluate(ItemInfo info, View v) { - if (info instanceof ShortcutInfo && v instanceof BubbleTextView && + if (info instanceof WorkspaceItemInfo && v instanceof BubbleTextView && updates.contains(info)) { - ShortcutInfo si = (ShortcutInfo) info; + WorkspaceItemInfo si = (WorkspaceItemInfo) info; BubbleTextView shortcut = (BubbleTextView) v; Drawable oldIcon = shortcut.getIcon(); boolean oldPromiseState = (oldIcon instanceof PreloadIconDrawable) && ((PreloadIconDrawable) oldIcon).hasNotCompleted(); - shortcut.applyFromShortcutInfo(si, si.isPromise() != oldPromiseState); + shortcut.applyFromWorkspaceItem(si, si.isPromise() != oldPromiseState); } // process all the shortcuts return false; @@ -3159,7 +3159,7 @@ public class Workspace extends PagedView mapOverItems(MAP_RECURSE, new ItemOperator() { @Override public boolean evaluate(ItemInfo info, View v) { - if (info instanceof ShortcutInfo && v instanceof BubbleTextView) { + if (info instanceof WorkspaceItemInfo && v instanceof BubbleTextView) { if (!packageUserKey.updateFromItemInfo(info) || updatedDots.test(packageUserKey)) { ((BubbleTextView) v).applyDotState(info, true /* animate */); @@ -3178,7 +3178,7 @@ public class Workspace extends PagedView if (info instanceof FolderInfo && folderIds.contains(info.id) && v instanceof FolderIcon) { FolderDotInfo folderDotInfo = new FolderDotInfo(); - for (ShortcutInfo si : ((FolderInfo) info).contents) { + for (WorkspaceItemInfo si : ((FolderInfo) info).contents) { folderDotInfo.addDotInfo(mLauncher.getDotInfoForItem(si)); } ((FolderIcon) v).setDotInfo(folderDotInfo); @@ -3201,7 +3201,7 @@ public class Workspace extends PagedView mapOverItems(MAP_RECURSE, new ItemOperator() { @Override public boolean evaluate(ItemInfo info, View v) { - if (info instanceof ShortcutInfo && v instanceof BubbleTextView + if (info instanceof WorkspaceItemInfo && v instanceof BubbleTextView && updates.contains(info)) { ((BubbleTextView) v).applyPromiseState(false /* promiseStateChanged */); } else if (v instanceof PendingAppWidgetHostView diff --git a/src/com/android/launcher3/ShortcutInfo.java b/src/com/android/launcher3/WorkspaceItemInfo.java similarity index 93% rename from src/com/android/launcher3/ShortcutInfo.java rename to src/com/android/launcher3/WorkspaceItemInfo.java index e53d59c8eb..d0e887311c 100644 --- a/src/com/android/launcher3/ShortcutInfo.java +++ b/src/com/android/launcher3/WorkspaceItemInfo.java @@ -29,7 +29,7 @@ import com.android.launcher3.util.ContentWriter; /** * Represents a launchable icon on the workspaces and in folders. */ -public class ShortcutInfo extends ItemInfoWithIcon { +public class WorkspaceItemInfo extends ItemInfoWithIcon { public static final int DEFAULT = 0; @@ -86,11 +86,11 @@ public class ShortcutInfo extends ItemInfoWithIcon { */ private int mInstallProgress; - public ShortcutInfo() { + public WorkspaceItemInfo() { itemType = LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT; } - public ShortcutInfo(ShortcutInfo info) { + public WorkspaceItemInfo(WorkspaceItemInfo info) { super(info); title = info.title; intent = new Intent(info.intent); @@ -99,17 +99,17 @@ public class ShortcutInfo extends ItemInfoWithIcon { mInstallProgress = info.mInstallProgress; } - /** TODO: Remove this. It's only called by ApplicationInfo.makeShortcut. */ - public ShortcutInfo(AppInfo info) { + /** TODO: Remove this. It's only called by ApplicationInfo.makeWorkspaceItem. */ + public WorkspaceItemInfo(AppInfo info) { super(info); title = Utilities.trim(info.title); intent = new Intent(info.intent); } /** - * Creates a {@link ShortcutInfo} from a {@link ShortcutInfoCompat}. + * Creates a {@link WorkspaceItemInfo} from a {@link ShortcutInfoCompat}. */ - public ShortcutInfo(ShortcutInfoCompat shortcutInfo, Context context) { + public WorkspaceItemInfo(ShortcutInfoCompat shortcutInfo, Context context) { user = shortcutInfo.getUserHandle(); itemType = Favorites.ITEM_TYPE_DEEP_SHORTCUT; updateFromDeepShortcutInfo(shortcutInfo, context); @@ -176,7 +176,7 @@ public class ShortcutInfo extends ItemInfoWithIcon { disabledMessage = shortcutInfo.getDisabledMessage(); } - /** Returns the ShortcutInfo id associated with the deep shortcut. */ + /** Returns the WorkspaceItemInfo id associated with the deep shortcut. */ public String getDeepShortcutId() { return itemType == Favorites.ITEM_TYPE_DEEP_SHORTCUT ? getIntent().getStringExtra(ShortcutInfoCompat.EXTRA_SHORTCUT_ID) : null; diff --git a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java index 45bade8d6b..fd4df5247e 100644 --- a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java +++ b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java @@ -30,7 +30,7 @@ import com.android.launcher3.LauncherSettings; import com.android.launcher3.LauncherSettings.Favorites; import com.android.launcher3.PendingAddItemInfo; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Workspace; import com.android.launcher3.dragndrop.DragController.DragListener; import com.android.launcher3.dragndrop.DragOptions; @@ -145,7 +145,7 @@ public class LauncherAccessibilityDelegate extends AccessibilityDelegate impleme } private boolean itemSupportsAccessibleDrag(ItemInfo item) { - if (item instanceof ShortcutInfo) { + if (item instanceof WorkspaceItemInfo) { // Support the action unless the item is in a context menu. return item.screenId >= 0; } @@ -173,7 +173,7 @@ public class LauncherAccessibilityDelegate extends AccessibilityDelegate impleme @Override public void run() { if (item instanceof AppInfo) { - ShortcutInfo info = ((AppInfo) item).makeShortcut(); + WorkspaceItemInfo info = ((AppInfo) item).makeWorkspaceItem(); mLauncher.getModelWriter().addItemToDatabase(info, Favorites.CONTAINER_DESKTOP, screenId, coordinates[0], coordinates[1]); @@ -195,7 +195,7 @@ public class LauncherAccessibilityDelegate extends AccessibilityDelegate impleme } else if (action == MOVE_TO_WORKSPACE) { Folder folder = Folder.getOpen(mLauncher); folder.close(true); - ShortcutInfo info = (ShortcutInfo) item; + WorkspaceItemInfo info = (WorkspaceItemInfo) item; folder.getInfo().remove(info, false); final int[] coordinates = new int[2]; diff --git a/src/com/android/launcher3/accessibility/ShortcutMenuAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/ShortcutMenuAccessibilityDelegate.java index f37f70b4ca..c0c0b37c5c 100644 --- a/src/com/android/launcher3/accessibility/ShortcutMenuAccessibilityDelegate.java +++ b/src/com/android/launcher3/accessibility/ShortcutMenuAccessibilityDelegate.java @@ -27,7 +27,7 @@ import com.android.launcher3.ItemInfo; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherSettings; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.notification.NotificationMainView; import com.android.launcher3.shortcuts.DeepShortcutView; @@ -64,7 +64,7 @@ public class ShortcutMenuAccessibilityDelegate extends LauncherAccessibilityDele if (!(host.getParent() instanceof DeepShortcutView)) { return false; } - final ShortcutInfo info = ((DeepShortcutView) host.getParent()).getFinalInfo(); + final WorkspaceItemInfo info = ((DeepShortcutView) host.getParent()).getFinalInfo(); final int[] coordinates = new int[2]; final int screenId = findSpaceOnWorkspace(item, coordinates); Runnable onComplete = new Runnable() { diff --git a/src/com/android/launcher3/accessibility/WorkspaceAccessibilityHelper.java b/src/com/android/launcher3/accessibility/WorkspaceAccessibilityHelper.java index 1c088dbdd0..17daeb84e2 100644 --- a/src/com/android/launcher3/accessibility/WorkspaceAccessibilityHelper.java +++ b/src/com/android/launcher3/accessibility/WorkspaceAccessibilityHelper.java @@ -27,7 +27,7 @@ import com.android.launcher3.FolderInfo; import com.android.launcher3.ItemInfo; import com.android.launcher3.Launcher; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.accessibility.LauncherAccessibilityDelegate.DragType; import com.android.launcher3.dragndrop.DragLayer; @@ -106,7 +106,7 @@ public class WorkspaceAccessibilityHelper extends DragAndDropAccessibilityDelega // For icons, we can consider cells that have another icon or a folder. ItemInfo info = (ItemInfo) child.getTag(); if (info instanceof AppInfo || info instanceof FolderInfo || - info instanceof ShortcutInfo) { + info instanceof WorkspaceItemInfo) { return id; } } @@ -125,7 +125,7 @@ public class WorkspaceAccessibilityHelper extends DragAndDropAccessibilityDelega return mContext.getString(R.string.item_moved); } else { ItemInfo info = (ItemInfo) child.getTag(); - if (info instanceof AppInfo || info instanceof ShortcutInfo) { + if (info instanceof AppInfo || info instanceof WorkspaceItemInfo) { return mContext.getString(R.string.folder_created); } else if (info instanceof FolderInfo) { @@ -170,14 +170,14 @@ public class WorkspaceAccessibilityHelper extends DragAndDropAccessibilityDelega public static String getDescriptionForDropOver(View overChild, Context context) { ItemInfo info = (ItemInfo) overChild.getTag(); - if (info instanceof ShortcutInfo) { + if (info instanceof WorkspaceItemInfo) { return context.getString(R.string.create_folder_with, info.title); } else if (info instanceof FolderInfo) { if (TextUtils.isEmpty(info.title)) { // Find the first item in the folder. FolderInfo folder = (FolderInfo) info; - ShortcutInfo firstItem = null; - for (ShortcutInfo shortcut : folder.contents) { + WorkspaceItemInfo firstItem = null; + for (WorkspaceItemInfo shortcut : folder.contents) { if (firstItem == null || firstItem.rank > shortcut.rank) { firstItem = shortcut; } diff --git a/src/com/android/launcher3/compat/LauncherAppsCompatVO.java b/src/com/android/launcher3/compat/LauncherAppsCompatVO.java index 82617fe7ee..b64fff49a7 100644 --- a/src/com/android/launcher3/compat/LauncherAppsCompatVO.java +++ b/src/com/android/launcher3/compat/LauncherAppsCompatVO.java @@ -31,7 +31,7 @@ import android.os.UserHandle; import com.android.launcher3.LauncherAppState; import com.android.launcher3.LauncherModel; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.compat.ShortcutConfigActivityInfo.ShortcutConfigActivityInfoVO; import com.android.launcher3.icons.LauncherIcons; import com.android.launcher3.shortcuts.ShortcutInfoCompat; @@ -103,12 +103,12 @@ public class LauncherAppsCompatVO extends LauncherAppsCompatVL { * thread to UI thread. * If (d) happens before we add this shortcut to our model, we will end up unpinning * the shortcut in the system. - * Here its the caller's responsibility to add the newly created ShortcutInfo immediately + * Here its the caller's responsibility to add the newly created WorkspaceItemInfo immediately * to the model (which may involves a single post-to-worker-thread). That will guarantee * that (d) happens after model is updated. */ @Nullable - public static ShortcutInfo createShortcutInfoFromPinItemRequest( + public static WorkspaceItemInfo createWorkspaceItemFromPinItemRequest( Context context, final PinItemRequest request, final long acceptDelay) { if (request != null && request.getRequestType() == PinItemRequest.REQUEST_TYPE_SHORTCUT && @@ -136,13 +136,13 @@ public class LauncherAppsCompatVO extends LauncherAppsCompatVL { } ShortcutInfoCompat compat = new ShortcutInfoCompat(request.getShortcutInfo()); - ShortcutInfo info = new ShortcutInfo(compat, context); + WorkspaceItemInfo info = new WorkspaceItemInfo(compat, context); // Apply the unbadged icon and fetch the actual icon asynchronously. LauncherIcons li = LauncherIcons.obtain(context); info.applyFrom(li.createShortcutIcon(compat, false /* badged */)); li.recycle(); LauncherAppState.getInstance(context).getModel() - .updateAndBindShortcutInfo(info, compat); + .updateAndBindWorkspaceItem(info, compat); return info; } else { return null; diff --git a/src/com/android/launcher3/compat/ShortcutConfigActivityInfo.java b/src/com/android/launcher3/compat/ShortcutConfigActivityInfo.java index 76eec6d40f..ace5691994 100644 --- a/src/com/android/launcher3/compat/ShortcutConfigActivityInfo.java +++ b/src/com/android/launcher3/compat/ShortcutConfigActivityInfo.java @@ -32,11 +32,11 @@ import android.os.UserHandle; import android.util.Log; import android.widget.Toast; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.icons.ComponentWithLabel; import com.android.launcher3.icons.IconCache; import com.android.launcher3.LauncherSettings; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; /** * Wrapper class for representing a shortcut configure activity. @@ -70,10 +70,10 @@ public abstract class ShortcutConfigActivityInfo implements ComponentWithLabel { public abstract Drawable getFullResIcon(IconCache cache); /** - * Return a shortcut info, if it can be created directly on drop, without requiring any + * Return a WorkspaceItemInfo, if it can be created directly on drop, without requiring any * {@link #startConfigActivity(Activity, int)}. */ - public ShortcutInfo createShortcutInfo() { + public WorkspaceItemInfo createWorkspaceItemInfo() { return null; } diff --git a/src/com/android/launcher3/dragndrop/DragController.java b/src/com/android/launcher3/dragndrop/DragController.java index 8b100d9d5f..4d45ba9e68 100644 --- a/src/com/android/launcher3/dragndrop/DragController.java +++ b/src/com/android/launcher3/dragndrop/DragController.java @@ -39,7 +39,7 @@ import com.android.launcher3.DropTarget; import com.android.launcher3.ItemInfo; import com.android.launcher3.Launcher; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.accessibility.DragViewStateAnnouncer; import com.android.launcher3.util.ItemInfoMatcher; import com.android.launcher3.util.Thunk; @@ -288,7 +288,7 @@ public class DragController implements DragDriver.EventListener, TouchController // Cancel the current drag if we are removing an app that we are dragging if (mDragObject != null) { ItemInfo dragInfo = mDragObject.dragInfo; - if (dragInfo instanceof ShortcutInfo) { + if (dragInfo instanceof WorkspaceItemInfo) { ComponentName cn = dragInfo.getTargetComponent(); if (cn != null && matcher.matches(dragInfo, cn)) { cancelDrag(); diff --git a/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java b/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java index 64655cc056..91a31aa090 100644 --- a/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java +++ b/src/com/android/launcher3/dragndrop/PinShortcutRequestActivityInfo.java @@ -29,6 +29,7 @@ import android.os.Build; import android.os.Process; import com.android.launcher3.FastBitmapDrawable; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.icons.IconCache; import com.android.launcher3.LauncherAnimUtils; import com.android.launcher3.LauncherAppState; @@ -81,13 +82,13 @@ class PinShortcutRequestActivityInfo extends ShortcutConfigActivityInfo { } @Override - public com.android.launcher3.ShortcutInfo createShortcutInfo() { + public WorkspaceItemInfo createWorkspaceItemInfo() { // Total duration for the drop animation to complete. long duration = mContext.getResources().getInteger(R.integer.config_dropAnimMaxDuration) + LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY + LauncherAnimUtils.SPRING_LOADED_TRANSITION_MS; // Delay the actual accept() call until the drop animation is complete. - return LauncherAppsCompatVO.createShortcutInfoFromPinItemRequest( + return LauncherAppsCompatVO.createWorkspaceItemFromPinItemRequest( mContext, mRequest, duration); } diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java index 2ce663433f..4dbff1c619 100644 --- a/src/com/android/launcher3/folder/Folder.java +++ b/src/com/android/launcher3/folder/Folder.java @@ -61,7 +61,7 @@ import com.android.launcher3.LauncherSettings; import com.android.launcher3.OnAlarmListener; import com.android.launcher3.PagedView; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Workspace.ItemOperator; import com.android.launcher3.accessibility.AccessibleDragListenerAdapter; import com.android.launcher3.config.FeatureFlags; @@ -236,8 +236,8 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo public boolean startDrag(View v, DragOptions options) { Object tag = v.getTag(); - if (tag instanceof ShortcutInfo) { - ShortcutInfo item = (ShortcutInfo) tag; + if (tag instanceof WorkspaceItemInfo) { + WorkspaceItemInfo item = (WorkspaceItemInfo) tag; mEmptyCellRank = item.rank; mCurrentDragView = v; @@ -269,13 +269,13 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo } mContent.removeItem(mCurrentDragView); - if (dragObject.dragInfo instanceof ShortcutInfo) { + if (dragObject.dragInfo instanceof WorkspaceItemInfo) { mItemsInvalidated = true; // We do not want to get events for the item being removed, as they will get handled // when the drop completes try (SuppressInfoChanges s = new SuppressInfoChanges()) { - mInfo.remove((ShortcutInfo) dragObject.dragInfo, true); + mInfo.remove((WorkspaceItemInfo) dragObject.dragInfo, true); } } mDragInProgress = true; @@ -379,7 +379,7 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo void bind(FolderInfo info) { mInfo = info; - ArrayList children = info.contents; + ArrayList children = info.contents; Collections.sort(children, ITEM_POS_COMPARATOR); mContent.bindItems(children); @@ -800,7 +800,7 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo } } else { // The drag failed, we need to return the item to the folder - ShortcutInfo info = (ShortcutInfo) d.dragInfo; + WorkspaceItemInfo info = (WorkspaceItemInfo) d.dragInfo; View icon = (mCurrentDragView != null && mCurrentDragView.getTag() == info) ? mCurrentDragView : mContent.createNewView(info); ArrayList views = getItemsInReadingOrder(); @@ -1023,7 +1023,7 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo // folder CellLayout cellLayout = mLauncher.getCellLayout(mInfo.container, mInfo.screenId); - ShortcutInfo finalItem = mInfo.contents.remove(0); + WorkspaceItemInfo finalItem = mInfo.contents.remove(0); newIcon = mLauncher.createShortcut(cellLayout, finalItem); mLauncher.getModelWriter().addOrMoveItemInDatabase(finalItem, mInfo.container, mInfo.screenId, mInfo.cellX, mInfo.cellY); @@ -1111,9 +1111,9 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo PendingAddShortcutInfo pasi = d.dragInfo instanceof PendingAddShortcutInfo ? (PendingAddShortcutInfo) d.dragInfo : null; - ShortcutInfo pasiSi = pasi != null ? pasi.activityInfo.createShortcutInfo() : null; + WorkspaceItemInfo pasiSi = pasi != null ? pasi.activityInfo.createWorkspaceItemInfo() : null; if (pasi != null && pasiSi == null) { - // There is no ShortcutInfo, so we have to go through a configuration activity. + // There is no WorkspaceItemInfo, so we have to go through a configuration activity. pasi.container = mInfo.id; pasi.rank = mEmptyCellRank; @@ -1122,15 +1122,15 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo d.deferDragViewCleanupPostAnimation = false; mRearrangeOnClose = true; } else { - final ShortcutInfo si; + final WorkspaceItemInfo si; if (pasiSi != null) { si = pasiSi; } else if (d.dragInfo instanceof AppInfo) { // Came from all apps -- make a copy. - si = ((AppInfo) d.dragInfo).makeShortcut(); + si = ((AppInfo) d.dragInfo).makeWorkspaceItem(); } else { - // ShortcutInfo - si = (ShortcutInfo) d.dragInfo; + // WorkspaceItemInfo + si = (WorkspaceItemInfo) d.dragInfo; } View currentDragView; @@ -1138,7 +1138,7 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo currentDragView = mContent.createAndAddViewForRank(si, mEmptyCellRank); // Actually move the item in the database if it was an external drag. Call this - // before creating the view, so that ShortcutInfo is updated appropriately. + // before creating the view, so that WorkspaceItemInfo is updated appropriately. mLauncher.getModelWriter().addOrMoveItemInDatabase( si, mInfo.id, 0, si.cellX, si.cellY); @@ -1194,17 +1194,17 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo // This is used so the item doesn't immediately appear in the folder when added. In one case // we need to create the illusion that the item isn't added back to the folder yet, to // to correspond to the animation of the icon back into the folder. This is - public void hideItem(ShortcutInfo info) { + public void hideItem(WorkspaceItemInfo info) { View v = getViewForInfo(info); v.setVisibility(INVISIBLE); } - public void showItem(ShortcutInfo info) { + public void showItem(WorkspaceItemInfo info) { View v = getViewForInfo(info); v.setVisibility(VISIBLE); } @Override - public void onAdd(ShortcutInfo item, int rank) { + public void onAdd(WorkspaceItemInfo item, int rank) { View view = mContent.createAndAddViewForRank(item, rank); mLauncher.getModelWriter().addOrMoveItemInDatabase(item, mInfo.id, 0, item.cellX, item.cellY); @@ -1215,7 +1215,7 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo mItemsInvalidated = true; } - public void onRemove(ShortcutInfo item) { + public void onRemove(WorkspaceItemInfo item) { mItemsInvalidated = true; View v = getViewForInfo(item); mContent.removeItem(v); @@ -1233,7 +1233,7 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo } } - private View getViewForInfo(final ShortcutInfo item) { + private View getViewForInfo(final WorkspaceItemInfo item) { return mContent.iterateOverItems(new ItemOperator() { @Override diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java index bcd5701b52..02242a3ec7 100644 --- a/src/com/android/launcher3/folder/FolderIcon.java +++ b/src/com/android/launcher3/folder/FolderIcon.java @@ -50,7 +50,7 @@ import com.android.launcher3.Launcher; import com.android.launcher3.LauncherSettings; import com.android.launcher3.OnAlarmListener; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.SimpleOnStylusPressListener; import com.android.launcher3.StylusEventHelper; import com.android.launcher3.Utilities; @@ -226,15 +226,15 @@ public class FolderIcon extends FrameLayout implements FolderListener { return !mFolder.isDestroyed() && willAcceptItem(dragInfo); } - public void addItem(ShortcutInfo item) { + public void addItem(WorkspaceItemInfo item) { addItem(item, true); } - public void addItem(ShortcutInfo item, boolean animate) { + public void addItem(WorkspaceItemInfo item, boolean animate) { mInfo.add(item, animate); } - public void removeItem(ShortcutInfo item, boolean animate) { + public void removeItem(WorkspaceItemInfo item, boolean animate) { mInfo.remove(item, animate); } @@ -247,7 +247,7 @@ public class FolderIcon extends FrameLayout implements FolderListener { mOpenAlarm.setOnAlarmListener(mOnOpenListener); if (SPRING_LOADING_ENABLED && ((dragInfo instanceof AppInfo) - || (dragInfo instanceof ShortcutInfo) + || (dragInfo instanceof WorkspaceItemInfo) || (dragInfo instanceof PendingAddShortcutInfo))) { mOpenAlarm.setAlarm(ON_OPEN_DELAY); } @@ -264,8 +264,8 @@ public class FolderIcon extends FrameLayout implements FolderListener { return mPreviewItemManager.prepareCreateAnimation(destView); } - public void performCreateAnimation(final ShortcutInfo destInfo, final View destView, - final ShortcutInfo srcInfo, final DragView srcView, Rect dstRect, + public void performCreateAnimation(final WorkspaceItemInfo destInfo, final View destView, + final WorkspaceItemInfo srcInfo, final DragView srcView, Rect dstRect, float scaleRelativeToDragLayer) { prepareCreateAnimation(destView); addItem(destInfo); @@ -290,7 +290,7 @@ public class FolderIcon extends FrameLayout implements FolderListener { mOpenAlarm.cancelAlarm(); } - private void onDrop(final ShortcutInfo item, DragView animateView, Rect finalRect, + private void onDrop(final WorkspaceItemInfo item, DragView animateView, Rect finalRect, float scaleRelativeToDragLayer, int index, boolean itemReturnedOnFailedDrop) { item.cellX = -1; @@ -382,15 +382,15 @@ public class FolderIcon extends FrameLayout implements FolderListener { } public void onDrop(DragObject d, boolean itemReturnedOnFailedDrop) { - ShortcutInfo item; + WorkspaceItemInfo item; if (d.dragInfo instanceof AppInfo) { // Came from all apps -- make a copy - item = ((AppInfo) d.dragInfo).makeShortcut(); + item = ((AppInfo) d.dragInfo).makeWorkspaceItem(); } else if (d.dragSource instanceof BaseItemDragListener){ // Came from a different window -- make a copy - item = new ShortcutInfo((ShortcutInfo) d.dragInfo); + item = new WorkspaceItemInfo((WorkspaceItemInfo) d.dragInfo); } else { - item = (ShortcutInfo) d.dragInfo; + item = (WorkspaceItemInfo) d.dragInfo; } mFolder.notifyDrop(); onDrop(item, d.dragView, null, 1.0f, mInfo.contents.size(), @@ -581,7 +581,7 @@ public class FolderIcon extends FrameLayout implements FolderListener { } @Override - public void onAdd(ShortcutInfo item, int rank) { + public void onAdd(WorkspaceItemInfo item, int rank) { boolean wasDotted = mDotInfo.hasDot(); mDotInfo.addDotInfo(mLauncher.getDotInfoForItem(item)); boolean isDotted = mDotInfo.hasDot(); @@ -591,7 +591,7 @@ public class FolderIcon extends FrameLayout implements FolderListener { } @Override - public void onRemove(ShortcutInfo item) { + public void onRemove(WorkspaceItemInfo item) { boolean wasDotted = mDotInfo.hasDot(); mDotInfo.subtractDotInfo(mLauncher.getDotInfoForItem(item)); boolean isDotted = mDotInfo.hasDot(); diff --git a/src/com/android/launcher3/folder/FolderPagedView.java b/src/com/android/launcher3/folder/FolderPagedView.java index d4ce6dd233..57105e7ca3 100644 --- a/src/com/android/launcher3/folder/FolderPagedView.java +++ b/src/com/android/launcher3/folder/FolderPagedView.java @@ -38,7 +38,7 @@ import com.android.launcher3.LauncherAppState; import com.android.launcher3.PagedView; import com.android.launcher3.R; import com.android.launcher3.ShortcutAndWidgetContainer; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Utilities; import com.android.launcher3.Workspace.ItemOperator; import com.android.launcher3.anim.Interpolators; @@ -178,9 +178,9 @@ public class FolderPagedView extends PagedView { /** * Binds items to the layout. */ - public void bindItems(ArrayList items) { + public void bindItems(ArrayList items) { ArrayList icons = new ArrayList<>(); - for (ShortcutInfo item : items) { + for (WorkspaceItemInfo item : items) { icons.add(createNewView(item)); } arrangeChildren(icons, icons.size(), false); @@ -203,7 +203,7 @@ public class FolderPagedView extends PagedView { return rank; } - public View createAndAddViewForRank(ShortcutInfo item, int rank) { + public View createAndAddViewForRank(WorkspaceItemInfo item, int rank) { View icon = createNewView(item); allocateSpaceForRank(rank); addViewForRank(icon, item, rank); @@ -214,7 +214,7 @@ public class FolderPagedView extends PagedView { * Adds the {@param view} to the layout based on {@param rank} and updated the position * related attributes. It assumes that {@param item} is already attached to the view. */ - public void addViewForRank(View view, ShortcutInfo item, int rank) { + public void addViewForRank(View view, WorkspaceItemInfo item, int rank) { int pagePos = rank % mMaxItemsPerPage; int pageNo = rank / mMaxItemsPerPage; @@ -229,10 +229,10 @@ public class FolderPagedView extends PagedView { } @SuppressLint("InflateParams") - public View createNewView(ShortcutInfo item) { + public View createNewView(WorkspaceItemInfo item) { final BubbleTextView textView = (BubbleTextView) mInflater.inflate( R.layout.folder_application, null, false); - textView.applyFromShortcutInfo(item); + textView.applyFromWorkspaceItem(item); textView.setHapticFeedbackEnabled(false); textView.setOnClickListener(ItemClickHandler.INSTANCE); textView.setOnLongClickListener(mFolder); @@ -631,7 +631,7 @@ public class FolderPagedView extends PagedView { if (v != null) { if (pageToAnimate != p) { page.removeView(v); - addViewForRank(v, (ShortcutInfo) v.getTag(), moveStart); + addViewForRank(v, (WorkspaceItemInfo) v.getTag(), moveStart); } else { // Do a fake animation before removing it. final int newRank = moveStart; @@ -644,7 +644,7 @@ public class FolderPagedView extends PagedView { mPendingAnimations.remove(v); v.setTranslationX(oldTranslateX); ((CellLayout) v.getParent().getParent()).removeView(v); - addViewForRank(v, (ShortcutInfo) v.getTag(), newRank); + addViewForRank(v, (WorkspaceItemInfo) v.getTag(), newRank); } }; v.animate() diff --git a/src/com/android/launcher3/folder/PreviewItemManager.java b/src/com/android/launcher3/folder/PreviewItemManager.java index af98680ea9..49763ba9de 100644 --- a/src/com/android/launcher3/folder/PreviewItemManager.java +++ b/src/com/android/launcher3/folder/PreviewItemManager.java @@ -31,7 +31,7 @@ import android.view.View; import android.widget.TextView; import com.android.launcher3.BubbleTextView; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Utilities; import java.util.ArrayList; @@ -301,7 +301,7 @@ public class PreviewItemManager { * @param dropped The item that was dropped onto the FolderIcon. */ public void onDrop(List oldParams, List newParams, - ShortcutInfo dropped) { + WorkspaceItemInfo dropped) { int numItems = newParams.size(); final ArrayList params = mFirstPageParams; buildParamsForPage(0, params, false); diff --git a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java index eb45be133e..d7b845b58c 100644 --- a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java +++ b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java @@ -21,7 +21,6 @@ import static android.view.View.VISIBLE; import android.annotation.TargetApi; import android.app.Fragment; -import android.app.WallpaperManager; import android.content.Context; import android.content.Intent; import android.content.res.TypedArray; @@ -30,7 +29,6 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Rect; import android.graphics.drawable.AdaptiveIconDrawable; -import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.os.Handler; @@ -52,7 +50,7 @@ import com.android.launcher3.InsettableFrameLayout; import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.LauncherSettings.Favorites; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Utilities; import com.android.launcher3.WorkspaceLayoutManager; import com.android.launcher3.allapps.SearchUiManager; @@ -85,7 +83,7 @@ public class LauncherPreviewRenderer implements Callable { private final DeviceProfile mDp; private final Rect mInsets; - private final ShortcutInfo mShortcutInfo; + private final WorkspaceItemInfo mWorkspaceItemInfo; public LauncherPreviewRenderer(Context context, InvariantDeviceProfile idp) { mUiHandler = new Handler(Looper.getMainLooper()); @@ -106,10 +104,10 @@ public class LauncherPreviewRenderer implements Callable { Process.myUserHandle(), Build.VERSION.SDK_INT); - mShortcutInfo = new ShortcutInfo(); - mShortcutInfo.applyFrom(iconInfo); - mShortcutInfo.intent = new Intent(); - mShortcutInfo.contentDescription = mShortcutInfo.title = + mWorkspaceItemInfo = new WorkspaceItemInfo(); + mWorkspaceItemInfo.applyFrom(iconInfo); + mWorkspaceItemInfo.intent = new Intent(); + mWorkspaceItemInfo.contentDescription = mWorkspaceItemInfo.title = context.getString(R.string.label_application); } @@ -217,10 +215,10 @@ public class LauncherPreviewRenderer implements Callable { return mWorkspace; } - private void inflateAndAddIcon(ShortcutInfo info) { + private void inflateAndAddIcon(WorkspaceItemInfo info) { BubbleTextView icon = (BubbleTextView) mHomeElementInflater.inflate( R.layout.app_icon, mWorkspace, false); - icon.applyFromShortcutInfo(info); + icon.applyFromWorkspaceItem(info); addInScreenFromBind(icon, info); } @@ -245,7 +243,7 @@ public class LauncherPreviewRenderer implements Callable { private void renderScreenShot(Canvas canvas) { // Add hotseat icons for (int i = 0; i < mIdp.numHotseatIcons; i++) { - ShortcutInfo info = new ShortcutInfo(mShortcutInfo); + WorkspaceItemInfo info = new WorkspaceItemInfo(mWorkspaceItemInfo); info.container = Favorites.CONTAINER_HOTSEAT; info.screenId = i; inflateAndAddIcon(info); @@ -253,7 +251,7 @@ public class LauncherPreviewRenderer implements Callable { // Add workspace icons for (int i = 0; i < mIdp.numColumns; i++) { - ShortcutInfo info = new ShortcutInfo(mShortcutInfo); + WorkspaceItemInfo info = new WorkspaceItemInfo(mWorkspaceItemInfo); info.container = Favorites.CONTAINER_DESKTOP; info.screenId = 0; info.cellX = i; diff --git a/src/com/android/launcher3/icons/IconCache.java b/src/com/android/launcher3/icons/IconCache.java index fb0a36749f..648445e40c 100644 --- a/src/com/android/launcher3/icons/IconCache.java +++ b/src/com/android/launcher3/icons/IconCache.java @@ -36,7 +36,7 @@ import com.android.launcher3.ItemInfoWithIcon; import com.android.launcher3.LauncherFiles; import com.android.launcher3.LauncherModel; import com.android.launcher3.MainThreadExecutor; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Utilities; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.compat.UserManagerCompat; @@ -130,7 +130,7 @@ public class IconCache extends BaseIconCache { IconLoadRequest request = new IconLoadRequest(mWorkerHandler, this::onIconRequestEnd) { @Override public void run() { - if (info instanceof AppInfo || info instanceof ShortcutInfo) { + if (info instanceof AppInfo || info instanceof WorkspaceItemInfo) { getTitleAndIcon(info, false); } else if (info instanceof PackageItemInfo) { getTitleAndIconForApp((PackageItemInfo) info, false); @@ -199,7 +199,7 @@ public class IconCache extends BaseIconCache { } /** - * Fill in {@param shortcutInfo} with the icon and label for {@param info} + * Fill in {@param mWorkspaceItemInfo} with the icon and label for {@param info} */ private synchronized void getTitleAndIcon( @NonNull ItemInfoWithIcon infoInOut, diff --git a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java index 0d55301111..ed0d470801 100644 --- a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java +++ b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java @@ -30,7 +30,7 @@ import com.android.launcher3.LauncherAppWidgetInfo; import com.android.launcher3.LauncherModel.CallbackTask; import com.android.launcher3.LauncherModel.Callbacks; import com.android.launcher3.LauncherSettings; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Utilities; import com.android.launcher3.util.GridOccupancy; import com.android.launcher3.util.IntArray; @@ -77,7 +77,7 @@ public class AddWorkspaceItemsTask extends BaseModelUpdateTask { if (item.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION) { if (item instanceof AppInfo) { - item = ((AppInfo) item).makeShortcut(); + item = ((AppInfo) item).makeWorkspaceItem(); } } if (item != null) { @@ -92,11 +92,11 @@ public class AddWorkspaceItemsTask extends BaseModelUpdateTask { int screenId = coords[0]; ItemInfo itemInfo; - if (item instanceof ShortcutInfo || item instanceof FolderInfo || + if (item instanceof WorkspaceItemInfo || item instanceof FolderInfo || item instanceof LauncherAppWidgetInfo) { itemInfo = item; } else if (item instanceof AppInfo) { - itemInfo = ((AppInfo) item).makeShortcut(); + itemInfo = ((AppInfo) item).makeWorkspaceItem(); } else { throw new RuntimeException("Unexpected info type"); } @@ -106,7 +106,7 @@ public class AddWorkspaceItemsTask extends BaseModelUpdateTask { LauncherSettings.Favorites.CONTAINER_DESKTOP, screenId, coords[1], coords[2]); - // Save the ShortcutInfo for binding in the workspace + // Save the WorkspaceItemInfo for binding in the workspace addedItemsFinal.add(itemInfo); } } @@ -165,8 +165,8 @@ public class AddWorkspaceItemsTask extends BaseModelUpdateTask { boolean isLauncherAppTarget = Utilities.isLauncherAppTarget(intent); synchronized (dataModel) { for (ItemInfo item : dataModel.itemsIdMap) { - if (item instanceof ShortcutInfo) { - ShortcutInfo info = (ShortcutInfo) item; + if (item instanceof WorkspaceItemInfo) { + WorkspaceItemInfo info = (WorkspaceItemInfo) item; if (item.getIntent() != null && info.user.equals(user)) { Intent copyIntent = new Intent(item.getIntent()); copyIntent.setSourceBounds(intent.getSourceBounds()); @@ -178,7 +178,7 @@ public class AddWorkspaceItemsTask extends BaseModelUpdateTask { // checking for existing promise icon with same package name if (isLauncherAppTarget && info.isPromise() - && info.hasStatusFlag(ShortcutInfo.FLAG_AUTOINSTALL_ICON) + && info.hasStatusFlag(WorkspaceItemInfo.FLAG_AUTOINSTALL_ICON) && info.getTargetComponent() != null && compPkgName != null && compPkgName.equals(info.getTargetComponent().getPackageName())) { diff --git a/src/com/android/launcher3/model/BaseModelUpdateTask.java b/src/com/android/launcher3/model/BaseModelUpdateTask.java index c9d8e3eb48..eea3d8c35e 100644 --- a/src/com/android/launcher3/model/BaseModelUpdateTask.java +++ b/src/com/android/launcher3/model/BaseModelUpdateTask.java @@ -15,7 +15,6 @@ */ package com.android.launcher3.model; -import android.os.UserHandle; import android.util.Log; import com.android.launcher3.AllAppsList; @@ -24,7 +23,7 @@ import com.android.launcher3.LauncherModel; import com.android.launcher3.LauncherModel.ModelUpdateTask; import com.android.launcher3.LauncherModel.CallbackTask; import com.android.launcher3.LauncherModel.Callbacks; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.util.ComponentKey; import com.android.launcher3.util.ItemInfoMatcher; import com.android.launcher3.widget.WidgetListRowEntry; @@ -94,13 +93,12 @@ public abstract class BaseModelUpdateTask implements ModelUpdateTask { } - public void bindUpdatedShortcuts( - final ArrayList updatedShortcuts, final UserHandle user) { + public void bindUpdatedWorkspaceItems(final ArrayList updatedShortcuts) { if (!updatedShortcuts.isEmpty()) { scheduleCallbackTask(new CallbackTask() { @Override public void execute(Callbacks callbacks) { - callbacks.bindShortcutsChanged(updatedShortcuts, user); + callbacks.bindWorkspaceItemsChanged(updatedShortcuts); } }); } diff --git a/src/com/android/launcher3/model/BgDataModel.java b/src/com/android/launcher3/model/BgDataModel.java index e8cc8f9f4e..b0cc87b303 100644 --- a/src/com/android/launcher3/model/BgDataModel.java +++ b/src/com/android/launcher3/model/BgDataModel.java @@ -26,7 +26,7 @@ import com.android.launcher3.InstallShortcutReceiver; import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherAppWidgetInfo; import com.android.launcher3.LauncherSettings; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Workspace; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.logging.DumpTargetWrapper; @@ -185,7 +185,7 @@ public class BgDataModel { FolderInfo fInfo = folders.valueAt(i); dtw = new DumpTargetWrapper(ContainerType.FOLDER, folders.size()); dtw.writeToDumpTarget(fInfo); - for(ShortcutInfo sInfo: fInfo.contents) { + for(WorkspaceItemInfo sInfo: fInfo.contents) { DumpTargetWrapper child = new DumpTargetWrapper(sInfo); child.writeToDumpTarget(sInfo); dtw.add(child); @@ -335,7 +335,7 @@ public class BgDataModel { Log.e(TAG, msg); } } else { - findOrMakeFolder(item.container).add((ShortcutInfo) item, false); + findOrMakeFolder(item.container).add((WorkspaceItemInfo) item, false); } } diff --git a/src/com/android/launcher3/model/CacheDataUpdatedTask.java b/src/com/android/launcher3/model/CacheDataUpdatedTask.java index be83d36921..7852444de4 100644 --- a/src/com/android/launcher3/model/CacheDataUpdatedTask.java +++ b/src/com/android/launcher3/model/CacheDataUpdatedTask.java @@ -20,13 +20,13 @@ import android.os.UserHandle; import com.android.launcher3.AllAppsList; import com.android.launcher3.AppInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.icons.IconCache; import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherAppState; import com.android.launcher3.LauncherModel.CallbackTask; import com.android.launcher3.LauncherModel.Callbacks; import com.android.launcher3.LauncherSettings; -import com.android.launcher3.ShortcutInfo; import java.util.ArrayList; import java.util.HashSet; @@ -55,11 +55,11 @@ public class CacheDataUpdatedTask extends BaseModelUpdateTask { final ArrayList updatedApps = new ArrayList<>(); - ArrayList updatedShortcuts = new ArrayList<>(); + ArrayList updatedShortcuts = new ArrayList<>(); synchronized (dataModel) { for (ItemInfo info : dataModel.itemsIdMap) { - if (info instanceof ShortcutInfo && mUser.equals(info.user)) { - ShortcutInfo si = (ShortcutInfo) info; + if (info instanceof WorkspaceItemInfo && mUser.equals(info.user)) { + WorkspaceItemInfo si = (WorkspaceItemInfo) info; ComponentName cn = si.getTargetComponent(); if (si.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION && isValidShortcut(si) && cn != null @@ -71,7 +71,7 @@ public class CacheDataUpdatedTask extends BaseModelUpdateTask { } apps.updateIconsAndLabels(mPackages, mUser, updatedApps); } - bindUpdatedShortcuts(updatedShortcuts, mUser); + bindUpdatedWorkspaceItems(updatedShortcuts); if (!updatedApps.isEmpty()) { scheduleCallbackTask(new CallbackTask() { @@ -83,7 +83,7 @@ public class CacheDataUpdatedTask extends BaseModelUpdateTask { } } - public boolean isValidShortcut(ShortcutInfo si) { + public boolean isValidShortcut(WorkspaceItemInfo si) { switch (mOp) { case OP_CACHE_UPDATE: return true; diff --git a/src/com/android/launcher3/model/LoaderCursor.java b/src/com/android/launcher3/model/LoaderCursor.java index 88193d03ab..1a03b77714 100644 --- a/src/com/android/launcher3/model/LoaderCursor.java +++ b/src/com/android/launcher3/model/LoaderCursor.java @@ -33,12 +33,12 @@ import android.util.Log; import android.util.LongSparseArray; import com.android.launcher3.AppInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.icons.IconCache; import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherAppState; import com.android.launcher3.LauncherSettings; -import com.android.launcher3.ShortcutInfo; import com.android.launcher3.Utilities; import com.android.launcher3.Workspace; import com.android.launcher3.compat.LauncherAppsCompat; @@ -145,8 +145,8 @@ public class LoaderCursor extends CursorWrapper { } } - public ShortcutInfo loadSimpleShortcut() { - final ShortcutInfo info = new ShortcutInfo(); + public WorkspaceItemInfo loadSimpleWorkspaceItem() { + final WorkspaceItemInfo info = new WorkspaceItemInfo(); // Non-app shortcuts are only supported for current user. info.user = user; info.itemType = itemType; @@ -164,7 +164,7 @@ public class LoaderCursor extends CursorWrapper { /** * Loads the icon from the cursor and updates the {@param info} if the icon is an app resource. */ - protected boolean loadIcon(ShortcutInfo info) { + protected boolean loadIcon(WorkspaceItemInfo info) { try (LauncherIcons li = LauncherIcons.obtain(mContext)) { return loadIcon(info, li); } @@ -173,7 +173,7 @@ public class LoaderCursor extends CursorWrapper { /** * Loads the icon from the cursor and updates the {@param info} if the icon is an app resource. */ - protected boolean loadIcon(ShortcutInfo info, LauncherIcons li) { + protected boolean loadIcon(WorkspaceItemInfo info, LauncherIcons li) { if (itemType == LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT) { String packageName = getString(iconPackageIndex); String resourceName = getString(iconResourceIndex); @@ -209,11 +209,11 @@ public class LoaderCursor extends CursorWrapper { } /** - * Make an ShortcutInfo object for a restored application or shortcut item that points + * Make an WorkspaceItemInfo object for a restored application or shortcut item that points * to a package that is not yet installed on the system. */ - public ShortcutInfo getRestoredItemInfo(Intent intent) { - final ShortcutInfo info = new ShortcutInfo(); + public WorkspaceItemInfo getRestoredItemInfo(Intent intent) { + final WorkspaceItemInfo info = new WorkspaceItemInfo(); info.user = user; info.intent = intent; @@ -222,12 +222,12 @@ public class LoaderCursor extends CursorWrapper { mIconCache.getTitleAndIcon(info, false /* useLowResIcon */); } - if (hasRestoreFlag(ShortcutInfo.FLAG_RESTORED_ICON)) { + if (hasRestoreFlag(WorkspaceItemInfo.FLAG_RESTORED_ICON)) { String title = getTitle(); if (!TextUtils.isEmpty(title)) { info.title = Utilities.trim(title); } - } else if (hasRestoreFlag(ShortcutInfo.FLAG_AUTOINSTALL_ICON)) { + } else if (hasRestoreFlag(WorkspaceItemInfo.FLAG_AUTOINSTALL_ICON)) { if (TextUtils.isEmpty(info.title)) { info.title = getTitle(); } @@ -242,9 +242,9 @@ public class LoaderCursor extends CursorWrapper { } /** - * Make an ShortcutInfo object for a shortcut that is an application. + * Make an WorkspaceItemInfo object for a shortcut that is an application. */ - public ShortcutInfo getAppShortcutInfo( + public WorkspaceItemInfo getAppShortcutInfo( Intent intent, boolean allowMissingTarget, boolean useLowResIcon) { if (user == null) { Log.d(TAG, "Null user found in getShortcutInfo"); @@ -267,7 +267,7 @@ public class LoaderCursor extends CursorWrapper { return null; } - final ShortcutInfo info = new ShortcutInfo(); + final WorkspaceItemInfo info = new WorkspaceItemInfo(); info.itemType = LauncherSettings.Favorites.ITEM_TYPE_APPLICATION; info.user = user; info.intent = newIntent; diff --git a/src/com/android/launcher3/model/LoaderTask.java b/src/com/android/launcher3/model/LoaderTask.java index cc8e92f0b0..f8c48ed5fa 100644 --- a/src/com/android/launcher3/model/LoaderTask.java +++ b/src/com/android/launcher3/model/LoaderTask.java @@ -19,7 +19,6 @@ package com.android.launcher3.model; import static com.android.launcher3.ItemInfoWithIcon.FLAG_DISABLED_LOCKED_USER; import static com.android.launcher3.ItemInfoWithIcon.FLAG_DISABLED_SAFEMODE; import static com.android.launcher3.ItemInfoWithIcon.FLAG_DISABLED_SUSPENDED; -import static com.android.launcher3.folder.ClippedFolderIconLayoutRule.MAX_NUM_ITEMS_IN_PREVIEW; import static com.android.launcher3.model.LoaderResults.filterCurrentWorkspaceItems; import android.appwidget.AppWidgetProviderInfo; @@ -49,7 +48,7 @@ import com.android.launcher3.LauncherAppState; import com.android.launcher3.LauncherAppWidgetInfo; import com.android.launcher3.LauncherModel; import com.android.launcher3.LauncherSettings; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Utilities; import com.android.launcher3.compat.AppWidgetManagerCompat; import com.android.launcher3.compat.LauncherAppsCompat; @@ -335,7 +334,7 @@ public class LoaderTask implements Runnable { unlockedUsers.put(serialNo, userUnlocked); } - ShortcutInfo info; + WorkspaceItemInfo info; LauncherAppWidgetInfo appWidgetInfo; Intent intent; String targetPkg; @@ -360,7 +359,7 @@ public class LoaderTask implements Runnable { } int disabledState = quietMode.get(c.serialNumber) ? - ShortcutInfo.FLAG_DISABLED_QUIET_USER : 0; + WorkspaceItemInfo.FLAG_DISABLED_QUIET_USER : 0; ComponentName cn = intent.getComponent(); targetPkg = cn == null ? intent.getPackage() : cn.getPackageName(); @@ -420,11 +419,11 @@ public class LoaderTask implements Runnable { // installed later. FileLog.d(TAG, "package not yet restored: " + targetPkg); - if (c.hasRestoreFlag(ShortcutInfo.FLAG_RESTORE_STARTED)) { + if (c.hasRestoreFlag(WorkspaceItemInfo.FLAG_RESTORE_STARTED)) { // Restore has started once. } else if (installingPkgs.containsKey(targetPkg)) { // App restore has started. Update the flag - c.restoreFlag |= ShortcutInfo.FLAG_RESTORE_STARTED; + c.restoreFlag |= WorkspaceItemInfo.FLAG_RESTORE_STARTED; c.updater().put(LauncherSettings.Favorites.RESTORED, c.restoreFlag).commit(); } else { @@ -433,7 +432,7 @@ public class LoaderTask implements Runnable { } } else if (pmHelper.isAppOnSdcard(targetPkg, c.user)) { // Package is present but not available. - disabledState |= ShortcutInfo.FLAG_DISABLED_NOT_AVAILABLE; + disabledState |= WorkspaceItemInfo.FLAG_DISABLED_NOT_AVAILABLE; // Add the icon on the workspace anyway. allowMissingTarget = true; } else if (!isSdCardReady) { @@ -450,7 +449,7 @@ public class LoaderTask implements Runnable { } } - if ((c.restoreFlag & ShortcutInfo.FLAG_SUPPORTS_WEB_UI) != 0) { + if ((c.restoreFlag & WorkspaceItemInfo.FLAG_SUPPORTS_WEB_UI) != 0) { validTarget = false; } @@ -481,8 +480,8 @@ public class LoaderTask implements Runnable { c.markDeleted("Pinned shortcut not found"); continue; } - info = new ShortcutInfo(pinnedShortcut, context); - final ShortcutInfo finalInfo = info; + info = new WorkspaceItemInfo(pinnedShortcut, context); + final WorkspaceItemInfo finalInfo = info; LauncherIcons li = LauncherIcons.obtain(context); // If the pinned deep shortcut is no longer published, @@ -499,11 +498,11 @@ public class LoaderTask implements Runnable { intent = info.intent; } else { // Create a shortcut info in disabled mode for now. - info = c.loadSimpleShortcut(); + info = c.loadSimpleWorkspaceItem(); info.runtimeStatusFlags |= FLAG_DISABLED_LOCKED_USER; } } else { // item type == ITEM_TYPE_SHORTCUT - info = c.loadSimpleShortcut(); + info = c.loadSimpleWorkspaceItem(); // Shortcuts are only available on the primary profile if (!TextUtils.isEmpty(targetPkg) @@ -539,7 +538,7 @@ public class LoaderTask implements Runnable { if (c.restoreFlag != 0 && !TextUtils.isEmpty(targetPkg)) { SessionInfo si = installingPkgs.get(targetPkg); if (si == null) { - info.status &= ~ShortcutInfo.FLAG_INSTALL_SESSION_ACTIVE; + info.status &= ~WorkspaceItemInfo.FLAG_INSTALL_SESSION_ACTIVE; } else { info.setInstallProgress((int) (si.getProgress() * 100)); } @@ -547,7 +546,7 @@ public class LoaderTask implements Runnable { c.checkAndAddItem(info, mBgDataModel); } else { - throw new RuntimeException("Unexpected null ShortcutInfo"); + throw new RuntimeException("Unexpected null WorkspaceItemInfo"); } break; @@ -755,7 +754,7 @@ public class LoaderTask implements Runnable { // Ranks are the source of truth for folder items, so cellX and cellY can be ignored // for now. Database will be updated once user manually modifies folder. for (int rank = 0; rank < size; ++rank) { - ShortcutInfo info = folder.contents.get(rank); + WorkspaceItemInfo info = folder.contents.get(rank); info.rank = rank; if (info.usingLowResIcon() @@ -782,8 +781,8 @@ public class LoaderTask implements Runnable { HashSet packagesToIgnore = new HashSet<>(); synchronized (mBgDataModel) { for (ItemInfo info : mBgDataModel.itemsIdMap) { - if (info instanceof ShortcutInfo) { - ShortcutInfo si = (ShortcutInfo) info; + if (info instanceof WorkspaceItemInfo) { + WorkspaceItemInfo si = (WorkspaceItemInfo) info; if (si.isPromise() && si.getTargetComponent() != null) { packagesToIgnore.add(si.getTargetComponent().getPackageName()); } diff --git a/src/com/android/launcher3/model/ModelWriter.java b/src/com/android/launcher3/model/ModelWriter.java index daf99e9cac..40c914b216 100644 --- a/src/com/android/launcher3/model/ModelWriter.java +++ b/src/com/android/launcher3/model/ModelWriter.java @@ -36,7 +36,7 @@ import com.android.launcher3.LauncherProvider; import com.android.launcher3.LauncherSettings; import com.android.launcher3.LauncherSettings.Favorites; import com.android.launcher3.LauncherSettings.Settings; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Utilities; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.util.ContentWriter; @@ -114,7 +114,7 @@ public class ModelWriter { if (modelItem != null && item != modelItem) { // check all the data is consistent if (!Utilities.IS_DEBUG_DEVICE && !FeatureFlags.IS_DOGFOOD_BUILD && - modelItem instanceof ShortcutInfo && item instanceof ShortcutInfo) { + modelItem instanceof WorkspaceItemInfo && item instanceof WorkspaceItemInfo) { if (modelItem.title.toString().equals(item.title.toString()) && modelItem.getIntent().filterEquals(item.getIntent()) && modelItem.id == item.id && diff --git a/src/com/android/launcher3/model/PackageInstallStateChangedTask.java b/src/com/android/launcher3/model/PackageInstallStateChangedTask.java index 32dfe25375..5f6d1281bd 100644 --- a/src/com/android/launcher3/model/PackageInstallStateChangedTask.java +++ b/src/com/android/launcher3/model/PackageInstallStateChangedTask.java @@ -28,7 +28,7 @@ import com.android.launcher3.LauncherAppWidgetInfo; import com.android.launcher3.LauncherModel.CallbackTask; import com.android.launcher3.LauncherModel.Callbacks; import com.android.launcher3.PromiseAppInfo; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.compat.PackageInstallerCompat; import com.android.launcher3.compat.PackageInstallerCompat.PackageInstallInfo; import com.android.launcher3.util.InstantAppResolver; @@ -106,15 +106,15 @@ public class PackageInstallStateChangedTask extends BaseModelUpdateTask { synchronized (dataModel) { final HashSet updates = new HashSet<>(); for (ItemInfo info : dataModel.itemsIdMap) { - if (info instanceof ShortcutInfo) { - ShortcutInfo si = (ShortcutInfo) info; + if (info instanceof WorkspaceItemInfo) { + WorkspaceItemInfo si = (WorkspaceItemInfo) info; ComponentName cn = si.getTargetComponent(); if (si.hasPromiseIconUi() && (cn != null) && mInstallInfo.packageName.equals(cn.getPackageName())) { si.setInstallProgress(mInstallInfo.progress); if (mInstallInfo.state == PackageInstallerCompat.STATUS_FAILED) { // Mark this info as broken. - si.status &= ~ShortcutInfo.FLAG_INSTALL_SESSION_ACTIVE; + si.status &= ~WorkspaceItemInfo.FLAG_INSTALL_SESSION_ACTIVE; } updates.add(si); } diff --git a/src/com/android/launcher3/model/PackageUpdatedTask.java b/src/com/android/launcher3/model/PackageUpdatedTask.java index 0f67f0cd48..671dc542c7 100644 --- a/src/com/android/launcher3/model/PackageUpdatedTask.java +++ b/src/com/android/launcher3/model/PackageUpdatedTask.java @@ -24,6 +24,7 @@ import android.util.Log; import com.android.launcher3.AllAppsList; import com.android.launcher3.AppInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.icons.IconCache; import com.android.launcher3.InstallShortcutReceiver; import com.android.launcher3.ItemInfo; @@ -33,7 +34,6 @@ import com.android.launcher3.LauncherModel.CallbackTask; import com.android.launcher3.LauncherModel.Callbacks; import com.android.launcher3.LauncherSettings.Favorites; import com.android.launcher3.SessionCommitReceiver; -import com.android.launcher3.ShortcutInfo; import com.android.launcher3.Utilities; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.compat.UserManagerCompat; @@ -108,7 +108,7 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { SessionCommitReceiver.queueAppIconAddition(context, packages[i], mUser); } } - flagOp = FlagOp.removeFlag(ShortcutInfo.FLAG_DISABLED_NOT_AVAILABLE); + flagOp = FlagOp.removeFlag(WorkspaceItemInfo.FLAG_DISABLED_NOT_AVAILABLE); break; } case OP_UPDATE: @@ -119,7 +119,7 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { app.getWidgetCache().removePackage(packages[i], mUser); } // Since package was just updated, the target must be available now. - flagOp = FlagOp.removeFlag(ShortcutInfo.FLAG_DISABLED_NOT_AVAILABLE); + flagOp = FlagOp.removeFlag(WorkspaceItemInfo.FLAG_DISABLED_NOT_AVAILABLE); break; case OP_REMOVE: { for (int i = 0; i < N; i++) { @@ -133,20 +133,20 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { appsList.removePackage(packages[i], mUser); app.getWidgetCache().removePackage(packages[i], mUser); } - flagOp = FlagOp.addFlag(ShortcutInfo.FLAG_DISABLED_NOT_AVAILABLE); + flagOp = FlagOp.addFlag(WorkspaceItemInfo.FLAG_DISABLED_NOT_AVAILABLE); break; case OP_SUSPEND: case OP_UNSUSPEND: flagOp = mOp == OP_SUSPEND ? - FlagOp.addFlag(ShortcutInfo.FLAG_DISABLED_SUSPENDED) : - FlagOp.removeFlag(ShortcutInfo.FLAG_DISABLED_SUSPENDED); + FlagOp.addFlag(WorkspaceItemInfo.FLAG_DISABLED_SUSPENDED) : + FlagOp.removeFlag(WorkspaceItemInfo.FLAG_DISABLED_SUSPENDED); if (DEBUG) Log.d(TAG, "mAllAppsList.(un)suspend " + N); appsList.updateDisabledFlags(matcher, flagOp); break; case OP_USER_AVAILABILITY_CHANGE: flagOp = UserManagerCompat.getInstance(context).isQuietModeEnabled(mUser) - ? FlagOp.addFlag(ShortcutInfo.FLAG_DISABLED_QUIET_USER) - : FlagOp.removeFlag(ShortcutInfo.FLAG_DISABLED_QUIET_USER); + ? FlagOp.addFlag(WorkspaceItemInfo.FLAG_DISABLED_QUIET_USER) + : FlagOp.removeFlag(WorkspaceItemInfo.FLAG_DISABLED_QUIET_USER); // We want to update all packages for this user. matcher = ItemInfoMatcher.ofUser(mUser); appsList.updateDisabledFlags(matcher, flagOp); @@ -175,15 +175,15 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { // Update shortcut infos if (mOp == OP_ADD || flagOp != FlagOp.NO_OP) { - final ArrayList updatedShortcuts = new ArrayList<>(); + final ArrayList updatedWorkspaceItems = new ArrayList<>(); final ArrayList widgets = new ArrayList<>(); // For system apps, package manager send OP_UPDATE when an app is enabled. final boolean isNewApkAvailable = mOp == OP_ADD || mOp == OP_UPDATE; synchronized (dataModel) { for (ItemInfo info : dataModel.itemsIdMap) { - if (info instanceof ShortcutInfo && mUser.equals(info.user)) { - ShortcutInfo si = (ShortcutInfo) info; + if (info instanceof WorkspaceItemInfo && mUser.equals(info.user)) { + WorkspaceItemInfo si = (WorkspaceItemInfo) info; boolean infoUpdated = false; boolean shortcutUpdated = false; @@ -203,7 +203,7 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { if (cn != null && matcher.matches(si, cn)) { String packageName = cn.getPackageName(); - if (si.hasStatusFlag(ShortcutInfo.FLAG_SUPPORTS_WEB_UI)) { + if (si.hasStatusFlag(WorkspaceItemInfo.FLAG_SUPPORTS_WEB_UI)) { removedShortcuts.put(si.id, false); if (mOp == OP_REMOVE) { continue; @@ -227,9 +227,9 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { isTargetValid = LauncherAppsCompat.getInstance(context) .isActivityEnabledForProfile(cn, mUser); } - if (si.hasStatusFlag(ShortcutInfo.FLAG_AUTOINSTALL_ICON) + if (si.hasStatusFlag(WorkspaceItemInfo.FLAG_AUTOINSTALL_ICON) && !isTargetValid) { - if (updateShortcutIntent(context, si, packageName)) { + if (updateWorkspaceItemIntent(context, si, packageName)) { infoUpdated = true; } else if (si.hasPromiseIconUi()) { removedShortcuts.put(si.id, true); @@ -241,11 +241,11 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { + si.intent); continue; } else { - si.status = ShortcutInfo.DEFAULT; + si.status = WorkspaceItemInfo.DEFAULT; infoUpdated = true; } } else if (isNewApkAvailable && removedComponents.contains(cn)) { - if (updateShortcutIntent(context, si, packageName)) { + if (updateWorkspaceItemIntent(context, si, packageName)) { infoUpdated = true; } } @@ -264,7 +264,7 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { } if (infoUpdated || shortcutUpdated) { - updatedShortcuts.add(si); + updatedWorkspaceItems.add(si); } if (infoUpdated) { getModelWriter().updateItemInDatabase(si); @@ -290,7 +290,7 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { } } - bindUpdatedShortcuts(updatedShortcuts, mUser); + bindUpdatedWorkspaceItems(updatedWorkspaceItems); if (!removedShortcuts.isEmpty()) { deleteAndBindComponentsRemoved(ItemInfoMatcher.ofItemIds(removedShortcuts, false)); } @@ -356,12 +356,13 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { * Updates {@param si}'s intent to point to a new ComponentName. * @return Whether the shortcut intent was changed. */ - private boolean updateShortcutIntent(Context context, ShortcutInfo si, String packageName) { + private boolean updateWorkspaceItemIntent(Context context, + WorkspaceItemInfo si, String packageName) { // Try to find the best match activity. Intent intent = new PackageManagerHelper(context).getAppLaunchIntent(packageName, mUser); if (intent != null) { si.intent = intent; - si.status = ShortcutInfo.DEFAULT; + si.status = WorkspaceItemInfo.DEFAULT; return true; } return false; diff --git a/src/com/android/launcher3/model/ShortcutsChangedTask.java b/src/com/android/launcher3/model/ShortcutsChangedTask.java index 1644c897ba..6adcc6e552 100644 --- a/src/com/android/launcher3/model/ShortcutsChangedTask.java +++ b/src/com/android/launcher3/model/ShortcutsChangedTask.java @@ -22,7 +22,7 @@ import com.android.launcher3.AllAppsList; import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherAppState; import com.android.launcher3.LauncherSettings; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.icons.LauncherIcons; import com.android.launcher3.shortcuts.DeepShortcutManager; import com.android.launcher3.shortcuts.ShortcutInfoCompat; @@ -58,14 +58,14 @@ public class ShortcutsChangedTask extends BaseModelUpdateTask { DeepShortcutManager deepShortcutManager = DeepShortcutManager.getInstance(context); deepShortcutManager.onShortcutsChanged(mShortcuts); - // Find ShortcutInfo's that have changed on the workspace. + // Find WorkspaceItemInfo's that have changed on the workspace. HashSet removedKeys = new HashSet<>(); - MultiHashMap keyToShortcutInfo = new MultiHashMap<>(); + MultiHashMap keyToShortcutInfo = new MultiHashMap<>(); HashSet allIds = new HashSet<>(); for (ItemInfo itemInfo : dataModel.itemsIdMap) { if (itemInfo.itemType == LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT) { - ShortcutInfo si = (ShortcutInfo) itemInfo; + WorkspaceItemInfo si = (WorkspaceItemInfo) itemInfo; if (si.getIntent().getPackage().equals(mPackageName) && si.user.equals(mUser)) { keyToShortcutInfo.addToList(ShortcutKey.fromItemInfo(si), si); allIds.add(si.getDeepShortcutId()); @@ -73,14 +73,14 @@ public class ShortcutsChangedTask extends BaseModelUpdateTask { } } - final ArrayList updatedShortcutInfos = new ArrayList<>(); + final ArrayList updatedWorkspaceItemInfos = new ArrayList<>(); if (!keyToShortcutInfo.isEmpty()) { // Update the workspace to reflect the changes to updated shortcuts residing on it. List shortcuts = deepShortcutManager.queryForFullDetails( mPackageName, new ArrayList<>(allIds), mUser); for (ShortcutInfoCompat fullDetails : shortcuts) { ShortcutKey key = ShortcutKey.fromInfo(fullDetails); - List shortcutInfos = keyToShortcutInfo.remove(key); + List workspaceItemInfos = keyToShortcutInfo.remove(key); if (!fullDetails.isPinned()) { // The shortcut was previously pinned but is no longer, so remove it from // the workspace and our pinned shortcut counts. @@ -90,15 +90,15 @@ public class ShortcutsChangedTask extends BaseModelUpdateTask { removedKeys.add(key); continue; } - for (final ShortcutInfo shortcutInfo : shortcutInfos) { - shortcutInfo.updateFromDeepShortcutInfo(fullDetails, context); + for (final WorkspaceItemInfo workspaceItemInfo : workspaceItemInfos) { + workspaceItemInfo.updateFromDeepShortcutInfo(fullDetails, context); // If the shortcut is pinned but no longer has an icon in the system, // keep the current icon instead of reverting to the default icon. LauncherIcons li = LauncherIcons.obtain(context); - shortcutInfo.applyFrom(li.createShortcutIcon(fullDetails, true, - () -> shortcutInfo)); + workspaceItemInfo.applyFrom(li.createShortcutIcon(fullDetails, true, + () -> workspaceItemInfo)); li.recycle(); - updatedShortcutInfos.add(shortcutInfo); + updatedWorkspaceItemInfos.add(workspaceItemInfo); } } } @@ -108,7 +108,7 @@ public class ShortcutsChangedTask extends BaseModelUpdateTask { // means they were cleared, so we remove and unpin them now. removedKeys.addAll(keyToShortcutInfo.keySet()); - bindUpdatedShortcuts(updatedShortcutInfos, mUser); + bindUpdatedWorkspaceItems(updatedWorkspaceItemInfos); if (!keyToShortcutInfo.isEmpty()) { deleteAndBindComponentsRemoved(ItemInfoMatcher.ofShortcutKeys(removedKeys)); } diff --git a/src/com/android/launcher3/model/UserLockStateChangedTask.java b/src/com/android/launcher3/model/UserLockStateChangedTask.java index 7c4e454184..478800e446 100644 --- a/src/com/android/launcher3/model/UserLockStateChangedTask.java +++ b/src/com/android/launcher3/model/UserLockStateChangedTask.java @@ -24,7 +24,7 @@ import com.android.launcher3.AllAppsList; import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherAppState; import com.android.launcher3.LauncherSettings; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.compat.UserManagerCompat; import com.android.launcher3.icons.LauncherIcons; import com.android.launcher3.shortcuts.DeepShortcutManager; @@ -73,13 +73,13 @@ public class UserLockStateChangedTask extends BaseModelUpdateTask { } // Update the workspace to reflect the changes to updated shortcuts residing on it. - ArrayList updatedShortcutInfos = new ArrayList<>(); + ArrayList updatedWorkspaceItemInfos = new ArrayList<>(); HashSet removedKeys = new HashSet<>(); for (ItemInfo itemInfo : dataModel.itemsIdMap) { if (itemInfo.itemType == LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT && mUser.equals(itemInfo.user)) { - ShortcutInfo si = (ShortcutInfo) itemInfo; + WorkspaceItemInfo si = (WorkspaceItemInfo) itemInfo; if (isUserUnlocked) { ShortcutKey key = ShortcutKey.fromItemInfo(si); ShortcutInfoCompat shortcut = pinnedShortcuts.get(key); @@ -99,10 +99,10 @@ public class UserLockStateChangedTask extends BaseModelUpdateTask { } else { si.runtimeStatusFlags |= FLAG_DISABLED_LOCKED_USER; } - updatedShortcutInfos.add(si); + updatedWorkspaceItemInfos.add(si); } } - bindUpdatedShortcuts(updatedShortcutInfos, mUser); + bindUpdatedWorkspaceItems(updatedWorkspaceItemInfos); if (!removedKeys.isEmpty()) { deleteAndBindComponentsRemoved(ItemInfoMatcher.ofShortcutKeys(removedKeys)); } diff --git a/src/com/android/launcher3/popup/PopupPopulator.java b/src/com/android/launcher3/popup/PopupPopulator.java index 2c59202e9b..2b55405c06 100644 --- a/src/com/android/launcher3/popup/PopupPopulator.java +++ b/src/com/android/launcher3/popup/PopupPopulator.java @@ -23,7 +23,7 @@ import android.service.notification.StatusBarNotification; import com.android.launcher3.ItemInfo; import com.android.launcher3.Launcher; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.icons.LauncherIcons; import com.android.launcher3.notification.NotificationInfo; import com.android.launcher3.notification.NotificationKeyData; @@ -147,7 +147,7 @@ public class PopupPopulator { shortcuts = PopupPopulator.sortAndFilterShortcuts(shortcuts, shortcutIdToDeDupe); for (int i = 0; i < shortcuts.size() && i < shortcutViews.size(); i++) { final ShortcutInfoCompat shortcut = shortcuts.get(i); - final ShortcutInfo si = new ShortcutInfo(shortcut, launcher); + final WorkspaceItemInfo si = new WorkspaceItemInfo(shortcut, launcher); // Use unbadged icon for the menu. LauncherIcons li = LauncherIcons.obtain(launcher); si.applyFrom(li.createShortcutIcon(shortcut, false /* badged */)); diff --git a/src/com/android/launcher3/popup/SystemShortcut.java b/src/com/android/launcher3/popup/SystemShortcut.java index e7b8292613..074c149289 100644 --- a/src/com/android/launcher3/popup/SystemShortcut.java +++ b/src/com/android/launcher3/popup/SystemShortcut.java @@ -20,7 +20,7 @@ import com.android.launcher3.BaseDraggingActivity; import com.android.launcher3.ItemInfo; import com.android.launcher3.Launcher; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.model.WidgetItem; import com.android.launcher3.util.InstantAppResolver; import com.android.launcher3.util.PackageManagerHelper; @@ -176,8 +176,8 @@ public abstract class SystemShortcut extends Ite @Override public View.OnClickListener getOnClickListener( BaseDraggingActivity activity, ItemInfo itemInfo) { - boolean supportsWebUI = (itemInfo instanceof ShortcutInfo) && - ((ShortcutInfo) itemInfo).hasStatusFlag(ShortcutInfo.FLAG_SUPPORTS_WEB_UI); + boolean supportsWebUI = (itemInfo instanceof WorkspaceItemInfo) && + ((WorkspaceItemInfo) itemInfo).hasStatusFlag(WorkspaceItemInfo.FLAG_SUPPORTS_WEB_UI); boolean isInstantApp = false; if (itemInfo instanceof com.android.launcher3.AppInfo) { com.android.launcher3.AppInfo appInfo = (com.android.launcher3.AppInfo) itemInfo; diff --git a/src/com/android/launcher3/provider/RestoreDbTask.java b/src/com/android/launcher3/provider/RestoreDbTask.java index 040b5e5271..e6e20e1630 100644 --- a/src/com/android/launcher3/provider/RestoreDbTask.java +++ b/src/com/android/launcher3/provider/RestoreDbTask.java @@ -31,7 +31,7 @@ import android.util.SparseLongArray; import com.android.launcher3.LauncherAppWidgetInfo; import com.android.launcher3.LauncherProvider.DatabaseHelper; import com.android.launcher3.LauncherSettings.Favorites; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Utilities; import com.android.launcher3.logging.FileLog; import com.android.launcher3.provider.LauncherDbUtils.SQLiteTransaction; @@ -110,8 +110,8 @@ public class RestoreDbTask { // Mark all items as restored. boolean keepAllIcons = Utilities.isPropertyEnabled(LogConfig.KEEP_ALL_ICONS); ContentValues values = new ContentValues(); - values.put(Favorites.RESTORED, ShortcutInfo.FLAG_RESTORED_ICON - | (keepAllIcons ? ShortcutInfo.FLAG_RESTORE_STARTED : 0)); + values.put(Favorites.RESTORED, WorkspaceItemInfo.FLAG_RESTORED_ICON + | (keepAllIcons ? WorkspaceItemInfo.FLAG_RESTORE_STARTED : 0)); db.update(Favorites.TABLE_NAME, values, null, null); // Mark widgets with appropriate restore flag. diff --git a/src/com/android/launcher3/shortcuts/DeepShortcutView.java b/src/com/android/launcher3/shortcuts/DeepShortcutView.java index 7b93ba2534..199d9c8085 100644 --- a/src/com/android/launcher3/shortcuts/DeepShortcutView.java +++ b/src/com/android/launcher3/shortcuts/DeepShortcutView.java @@ -18,7 +18,6 @@ package com.android.launcher3.shortcuts; import android.content.Context; import android.graphics.Point; -import android.graphics.Rect; import android.text.TextUtils; import android.util.AttributeSet; import android.view.View; @@ -27,10 +26,9 @@ import android.widget.FrameLayout; import com.android.launcher3.BubbleTextView; import com.android.launcher3.Launcher; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Utilities; import com.android.launcher3.popup.PopupContainerWithArrow; -import com.android.launcher3.touch.ItemClickHandler; /** * A {@link android.widget.FrameLayout} that contains a {@link DeepShortcutView}. @@ -44,7 +42,7 @@ public class DeepShortcutView extends FrameLayout { private View mIconView; private View mDivider; - private ShortcutInfo mInfo; + private WorkspaceItemInfo mInfo; private ShortcutInfoCompat mDetail; public DeepShortcutView(Context context) { @@ -95,11 +93,11 @@ public class DeepShortcutView extends FrameLayout { } /** package private **/ - public void applyShortcutInfo(ShortcutInfo info, ShortcutInfoCompat detail, + public void applyShortcutInfo(WorkspaceItemInfo info, ShortcutInfoCompat detail, PopupContainerWithArrow container) { mInfo = info; mDetail = detail; - mBubbleText.applyFromShortcutInfo(info); + mBubbleText.applyFromWorkspaceItem(info); mIconView.setBackground(mBubbleText.getIcon()); // Use the long label as long as it exists and fits. @@ -119,12 +117,12 @@ public class DeepShortcutView extends FrameLayout { /** * Returns the shortcut info that is suitable to be added on the homescreen */ - public ShortcutInfo getFinalInfo() { - final ShortcutInfo badged = new ShortcutInfo(mInfo); + public WorkspaceItemInfo getFinalInfo() { + final WorkspaceItemInfo badged = new WorkspaceItemInfo(mInfo); // Queue an update task on the worker thread. This ensures that the badged // shortcut eventually gets its icon updated. Launcher.getLauncher(getContext()).getModel() - .updateAndBindShortcutInfo(badged, mDetail); + .updateAndBindWorkspaceItem(badged, mDetail); return badged; } diff --git a/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java b/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java index e5bd002659..5ec1997140 100644 --- a/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java +++ b/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java @@ -23,11 +23,12 @@ import android.content.pm.ShortcutInfo; import android.os.UserHandle; import com.android.launcher3.R; +import com.android.launcher3.WorkspaceItemInfo; /** * Wrapper class for {@link android.content.pm.ShortcutInfo}, representing deep shortcuts into apps. * - * Not to be confused with {@link com.android.launcher3.ShortcutInfo}. + * Not to be confused with {@link WorkspaceItemInfo}. */ public class ShortcutInfoCompat { private static final String INTENT_CATEGORY = "com.android.launcher3.DEEP_SHORTCUT"; diff --git a/src/com/android/launcher3/touch/ItemClickHandler.java b/src/com/android/launcher3/touch/ItemClickHandler.java index 3c77860b3f..026770c4fe 100644 --- a/src/com/android/launcher3/touch/ItemClickHandler.java +++ b/src/com/android/launcher3/touch/ItemClickHandler.java @@ -43,7 +43,7 @@ import com.android.launcher3.LauncherAppWidgetInfo; import com.android.launcher3.LauncherAppWidgetProviderInfo; import com.android.launcher3.PromiseAppInfo; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.compat.AppWidgetManagerCompat; import com.android.launcher3.folder.Folder; import com.android.launcher3.folder.FolderIcon; @@ -86,8 +86,8 @@ public class ItemClickHandler { } Object tag = v.getTag(); - if (tag instanceof ShortcutInfo) { - onClickAppShortcut(v, (ShortcutInfo) tag, launcher, sourceContainer); + if (tag instanceof WorkspaceItemInfo) { + onClickAppShortcut(v, (WorkspaceItemInfo) tag, launcher, sourceContainer); } else if (tag instanceof FolderInfo) { if (v instanceof FolderIcon) { onClickFolderIcon(v); @@ -176,12 +176,13 @@ public class ItemClickHandler { /** * Event handler for an app shortcut click. * - * @param v The view that was clicked. Must be a tagged with a {@link ShortcutInfo}. + * @param v The view that was clicked. Must be a tagged with a {@link WorkspaceItemInfo}. */ - public static void onClickAppShortcut(View v, ShortcutInfo shortcut, Launcher launcher, + public static void onClickAppShortcut(View v, WorkspaceItemInfo shortcut, Launcher launcher, @Nullable String sourceContainer) { if (shortcut.isDisabled()) { - final int disabledFlags = shortcut.runtimeStatusFlags & ShortcutInfo.FLAG_DISABLED_MASK; + final int disabledFlags = shortcut.runtimeStatusFlags + & WorkspaceItemInfo.FLAG_DISABLED_MASK; if ((disabledFlags & ~FLAG_DISABLED_SUSPENDED & ~FLAG_DISABLED_QUIET_USER) == 0) { @@ -212,7 +213,7 @@ public class ItemClickHandler { shortcut.intent.getComponent().getPackageName() : shortcut.intent.getPackage(); if (!TextUtils.isEmpty(packageName)) { onClickPendingAppItem(v, launcher, packageName, - shortcut.hasStatusFlag(ShortcutInfo.FLAG_INSTALL_SESSION_ACTIVE)); + shortcut.hasStatusFlag(WorkspaceItemInfo.FLAG_INSTALL_SESSION_ACTIVE)); return; } } @@ -233,9 +234,9 @@ public class ItemClickHandler { if (intent == null) { throw new IllegalArgumentException("Input must have a valid intent"); } - if (item instanceof ShortcutInfo) { - ShortcutInfo si = (ShortcutInfo) item; - if (si.hasStatusFlag(ShortcutInfo.FLAG_SUPPORTS_WEB_UI) + if (item instanceof WorkspaceItemInfo) { + WorkspaceItemInfo si = (WorkspaceItemInfo) item; + if (si.hasStatusFlag(WorkspaceItemInfo.FLAG_SUPPORTS_WEB_UI) && Intent.ACTION_VIEW.equals(intent.getAction())) { // make a copy of the intent that has the package set to null // we do this because the platform sometimes disables instant diff --git a/src/com/android/launcher3/util/ItemInfoMatcher.java b/src/com/android/launcher3/util/ItemInfoMatcher.java index c3570fe453..59a5ed6074 100644 --- a/src/com/android/launcher3/util/ItemInfoMatcher.java +++ b/src/com/android/launcher3/util/ItemInfoMatcher.java @@ -23,7 +23,7 @@ import com.android.launcher3.FolderInfo; import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherAppWidgetInfo; import com.android.launcher3.LauncherSettings.Favorites; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.shortcuts.ShortcutKey; import java.util.HashSet; @@ -41,15 +41,15 @@ public interface ItemInfoMatcher { default HashSet filterItemInfos(Iterable infos) { HashSet filtered = new HashSet<>(); for (ItemInfo i : infos) { - if (i instanceof ShortcutInfo) { - ShortcutInfo info = (ShortcutInfo) i; + if (i instanceof WorkspaceItemInfo) { + WorkspaceItemInfo info = (WorkspaceItemInfo) i; ComponentName cn = info.getTargetComponent(); if (cn != null && matches(info, cn)) { filtered.add(info); } } else if (i instanceof FolderInfo) { FolderInfo info = (FolderInfo) i; - for (ShortcutInfo s : info.contents) { + for (WorkspaceItemInfo s : info.contents) { ComponentName cn = s.getTargetComponent(); if (cn != null && matches(s, cn)) { filtered.add(s); diff --git a/src/com/android/launcher3/util/PackageManagerHelper.java b/src/com/android/launcher3/util/PackageManagerHelper.java index d71bd1528a..3b4c3139a2 100644 --- a/src/com/android/launcher3/util/PackageManagerHelper.java +++ b/src/com/android/launcher3/util/PackageManagerHelper.java @@ -41,7 +41,7 @@ import com.android.launcher3.LauncherAppWidgetInfo; import com.android.launcher3.PendingAddItemInfo; import com.android.launcher3.PromiseAppInfo; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.compat.LauncherAppsCompat; import java.net.URISyntaxException; @@ -183,7 +183,7 @@ public class PackageManagerHelper { ComponentName componentName = null; if (info instanceof AppInfo) { componentName = ((AppInfo) info).componentName; - } else if (info instanceof ShortcutInfo) { + } else if (info instanceof WorkspaceItemInfo) { componentName = info.getTargetComponent(); } else if (info instanceof PendingAddItemInfo) { componentName = ((PendingAddItemInfo) info).componentName; diff --git a/src_shortcuts_overrides/com/android/launcher3/shortcuts/DeepShortcutManager.java b/src_shortcuts_overrides/com/android/launcher3/shortcuts/DeepShortcutManager.java index 6c0c4295ab..e7008fdfbc 100644 --- a/src_shortcuts_overrides/com/android/launcher3/shortcuts/DeepShortcutManager.java +++ b/src_shortcuts_overrides/com/android/launcher3/shortcuts/DeepShortcutManager.java @@ -29,6 +29,7 @@ import android.util.Log; import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherSettings; +import com.android.launcher3.WorkspaceItemInfo; import java.util.ArrayList; import java.util.Collections; @@ -63,8 +64,8 @@ public class DeepShortcutManager { } public static boolean supportsShortcuts(ItemInfo info) { - boolean isItemPromise = info instanceof com.android.launcher3.ShortcutInfo - && ((com.android.launcher3.ShortcutInfo) info).hasPromiseIconUi(); + boolean isItemPromise = info instanceof WorkspaceItemInfo + && ((WorkspaceItemInfo) info).hasPromiseIconUi(); return info.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION && !info.isDisabled() && !isItemPromise; } diff --git a/tests/src/com/android/launcher3/model/LoaderCursorTest.java b/tests/src/com/android/launcher3/model/LoaderCursorTest.java index df935b8dbe..7d60ad65bb 100644 --- a/tests/src/com/android/launcher3/model/LoaderCursorTest.java +++ b/tests/src/com/android/launcher3/model/LoaderCursorTest.java @@ -10,11 +10,11 @@ import androidx.test.InstrumentationRegistry; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.icons.IconCache; import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherAppState; -import com.android.launcher3.ShortcutInfo; import com.android.launcher3.Utilities; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.icons.BitmapInfo; @@ -112,7 +112,7 @@ public class LoaderCursorTest { ComponentName cn = mLauncherApps.getActivityList(null, mLoaderCursor.user) .get(0).getComponentName(); - ShortcutInfo info = mLoaderCursor.getAppShortcutInfo( + WorkspaceItemInfo info = mLoaderCursor.getAppShortcutInfo( new Intent().setComponent(cn), false /* allowMissingTarget */, true); assertNotNull(info); assertTrue(Utilities.isLauncherAppTarget(info.intent)); @@ -124,7 +124,7 @@ public class LoaderCursorTest { assertTrue(mLoaderCursor.moveToNext()); ComponentName cn = new ComponentName(mContext.getPackageName(), "dummy-do"); - ShortcutInfo info = mLoaderCursor.getAppShortcutInfo( + WorkspaceItemInfo info = mLoaderCursor.getAppShortcutInfo( new Intent().setComponent(cn), true /* allowMissingTarget */, true); assertNotNull(info); assertTrue(Utilities.isLauncherAppTarget(info.intent)); @@ -138,7 +138,7 @@ public class LoaderCursorTest { Bitmap icon = Bitmap.createBitmap(1, 1, Bitmap.Config.ALPHA_8); when(mMockIconCache.getDefaultIcon(eq(mLoaderCursor.user))) .thenReturn(BitmapInfo.fromBitmap(icon)); - ShortcutInfo info = mLoaderCursor.loadSimpleShortcut(); + WorkspaceItemInfo info = mLoaderCursor.loadSimpleWorkspaceItem(); assertEquals(icon, info.iconBitmap); assertEquals("my-shortcut", info.title); assertEquals(ITEM_TYPE_SHORTCUT, info.itemType); diff --git a/tests/src/com/android/launcher3/ui/widget/RequestPinItemTest.java b/tests/src/com/android/launcher3/ui/widget/RequestPinItemTest.java index 95a128961c..4899334e24 100644 --- a/tests/src/com/android/launcher3/ui/widget/RequestPinItemTest.java +++ b/tests/src/com/android/launcher3/ui/widget/RequestPinItemTest.java @@ -34,7 +34,7 @@ import com.android.launcher3.ItemInfo; import com.android.launcher3.LauncherAppWidgetInfo; import com.android.launcher3.LauncherSettings.Favorites; import com.android.launcher3.R; -import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.WorkspaceItemInfo; import com.android.launcher3.Utilities; import com.android.launcher3.Workspace.ItemOperator; import com.android.launcher3.shortcuts.ShortcutKey; @@ -134,7 +134,7 @@ public class RequestPinItemTest extends AbstractLauncherUiTest { runTest("pinShortcut", false, new ItemOperator() { @Override public boolean evaluate(ItemInfo info, View view) { - return info instanceof ShortcutInfo && + return info instanceof WorkspaceItemInfo && info.itemType == Favorites.ITEM_TYPE_DEEP_SHORTCUT && ShortcutKey.fromItemInfo(info).getId().equals(mShortcutId); }