summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/model
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2015-09-22 16:56:55 -0700
committerSunny Goyal <sunnygoyal@google.com>2015-09-22 16:56:55 -0700
commit6a706b1dd72a03fe6c6b4c2a5a6df0e782c70936 (patch)
tree555c55db95e0a88fff6560cc56f03c1d76491240 /src/com/android/launcher3/model
parentb3fff9d98a3e3c886d4efa912d7ad6753dd7ec9c (diff)
downloadandroid_packages_apps_Trebuchet-6a706b1dd72a03fe6c6b4c2a5a6df0e782c70936.tar.gz
android_packages_apps_Trebuchet-6a706b1dd72a03fe6c6b4c2a5a6df0e782c70936.tar.bz2
android_packages_apps_Trebuchet-6a706b1dd72a03fe6c6b4c2a5a6df0e782c70936.zip
Preventing nullpointer exception when cloning rawList
Bug: 24299525 Change-Id: I92018a3da7d75afc2c6997302f8e0492eb78e62f
Diffstat (limited to 'src/com/android/launcher3/model')
-rw-r--r--src/com/android/launcher3/model/WidgetsModel.java20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/com/android/launcher3/model/WidgetsModel.java b/src/com/android/launcher3/model/WidgetsModel.java
index eef4f9173..99a53ff36 100644
--- a/src/com/android/launcher3/model/WidgetsModel.java
+++ b/src/com/android/launcher3/model/WidgetsModel.java
@@ -34,19 +34,19 @@ public class WidgetsModel {
private static final boolean DEBUG = false;
/* List of packages that is tracked by this model. */
- private ArrayList<PackageItemInfo> mPackageItemInfos = new ArrayList<>();
+ private final ArrayList<PackageItemInfo> mPackageItemInfos;
/* Map of widgets and shortcuts that are tracked per package. */
- private HashMap<PackageItemInfo, ArrayList<Object>> mWidgetsList = new HashMap<>();
-
- private ArrayList<Object> mRawList;
+ private final HashMap<PackageItemInfo, ArrayList<Object>> mWidgetsList;
private final AppWidgetManagerCompat mAppWidgetMgr;
private final WidgetsAndShortcutNameComparator mWidgetAndShortcutNameComparator;
private final Comparator<ItemInfo> mAppNameComparator;
private final IconCache mIconCache;
private final AppFilter mAppFilter;
- private AlphabeticIndexCompat mIndexer;
+ private final AlphabeticIndexCompat mIndexer;
+
+ private ArrayList<Object> mRawList;
public WidgetsModel(Context context, IconCache iconCache, AppFilter appFilter) {
mAppWidgetMgr = AppWidgetManagerCompat.getInstance(context);
@@ -55,6 +55,10 @@ public class WidgetsModel {
mIconCache = iconCache;
mAppFilter = appFilter;
mIndexer = new AlphabeticIndexCompat(context);
+ mPackageItemInfos = new ArrayList<>();
+ mWidgetsList = new HashMap<>();
+
+ mRawList = new ArrayList<>();
}
@SuppressWarnings("unchecked")
@@ -62,18 +66,16 @@ public class WidgetsModel {
mAppWidgetMgr = model.mAppWidgetMgr;
mPackageItemInfos = (ArrayList<PackageItemInfo>) model.mPackageItemInfos.clone();
mWidgetsList = (HashMap<PackageItemInfo, ArrayList<Object>>) model.mWidgetsList.clone();
- mRawList = (ArrayList<Object>) model.mRawList.clone();
mWidgetAndShortcutNameComparator = model.mWidgetAndShortcutNameComparator;
mAppNameComparator = model.mAppNameComparator;
mIconCache = model.mIconCache;
mAppFilter = model.mAppFilter;
+ mIndexer = model.mIndexer;
+ mRawList = (ArrayList<Object>) model.mRawList.clone();
}
// Access methods that may be deleted if the private fields are made package-private.
public int getPackageSize() {
- if (mPackageItemInfos == null) {
- return 0;
- }
return mPackageItemInfos.size();
}