diff options
Diffstat (limited to 'src/com/android/launcher3/model')
-rw-r--r-- | src/com/android/launcher3/model/PackageItemInfo.java | 13 | ||||
-rw-r--r-- | src/com/android/launcher3/model/WidgetsModel.java | 7 |
2 files changed, 17 insertions, 3 deletions
diff --git a/src/com/android/launcher3/model/PackageItemInfo.java b/src/com/android/launcher3/model/PackageItemInfo.java index 0f0134ae3..30f228c68 100644 --- a/src/com/android/launcher3/model/PackageItemInfo.java +++ b/src/com/android/launcher3/model/PackageItemInfo.java @@ -16,7 +16,6 @@ package com.android.launcher3.model; -import android.content.ComponentName; import android.graphics.Bitmap; import com.android.launcher3.ItemInfo; @@ -27,7 +26,6 @@ import java.util.Arrays; * Represents a {@link Package} in the widget tray section. */ public class PackageItemInfo extends ItemInfo { - private static final String TAG = "PackageInfo"; /** * A bitmap version of the application icon. @@ -35,12 +33,21 @@ public class PackageItemInfo extends ItemInfo { public Bitmap iconBitmap; /** - * Indicates whether we're using a low res icon + * Indicates whether we're using a low res icon. */ public boolean usingLowResIcon; + /** + * Package name of the {@link ItemInfo}. + */ public String packageName; + /** + * Character that is used as a section name for the {@link ItemInfo#title}. + * (e.g., "G" will be stored if title is "Google") + */ + public String titleSectionName; + int flags = 0; PackageItemInfo(String packageName) { diff --git a/src/com/android/launcher3/model/WidgetsModel.java b/src/com/android/launcher3/model/WidgetsModel.java index fdb9795d8..76e6a9dd5 100644 --- a/src/com/android/launcher3/model/WidgetsModel.java +++ b/src/com/android/launcher3/model/WidgetsModel.java @@ -10,6 +10,7 @@ import com.android.launcher3.LauncherAppState; import com.android.launcher3.LauncherAppWidgetProviderInfo; import com.android.launcher3.Utilities; +import com.android.launcher3.compat.AlphabeticIndexCompat; import com.android.launcher3.compat.UserHandleCompat; import java.util.ArrayList; @@ -39,11 +40,13 @@ public class WidgetsModel { private final Comparator mWidgetAndShortcutNameComparator; private final Comparator mAppNameComparator; private final IconCache mIconCache; + private AlphabeticIndexCompat mIndexer; public WidgetsModel(Context context) { mWidgetAndShortcutNameComparator = new WidgetsAndShortcutNameComparator(context); mAppNameComparator = (new AppNameComparator(context)).getAppInfoComparator(); mIconCache = LauncherAppState.getInstance().getIconCache(); + mIndexer = new AlphabeticIndexCompat(context); } private WidgetsModel(WidgetsModel model) { @@ -62,6 +65,9 @@ public class WidgetsModel { // Access methods that may be deleted if the private fields are made package-private. public PackageItemInfo getPackageItemInfo(int pos) { + if (pos >= mPackageItemInfos.size() || pos < 0) { + return null; + } return mPackageItemInfos.get(pos); } @@ -112,6 +118,7 @@ public class WidgetsModel { pInfo = new PackageItemInfo(packageName); mIconCache.getTitleAndIconForApp(packageName, UserHandleCompat.myUserHandle(), true /* userLowResIcon */, pInfo); + pInfo.titleSectionName = mIndexer.computeSectionName(pInfo.title); mWidgetsList.put(pInfo, widgetsShortcutsList); tmpPackageItemInfos.put(packageName, pInfo); mPackageItemInfos.add(pInfo); |