diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2015-09-22 16:56:55 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2015-09-22 16:56:55 -0700 |
commit | 6a706b1dd72a03fe6c6b4c2a5a6df0e782c70936 (patch) | |
tree | 555c55db95e0a88fff6560cc56f03c1d76491240 /src/com/android/launcher3/model | |
parent | b3fff9d98a3e3c886d4efa912d7ad6753dd7ec9c (diff) | |
download | android_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.java | 20 |
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(); } |