Pre-initializing filtered/apps list in case we get incremental updates before setApps(), adding additional null checks. (3465095)

Change-Id: Ie53fe7ed4fc55a587f8f831902ed5ee2d87bc98e
diff --git a/src/com/android/launcher2/AllAppsPagedView.java b/src/com/android/launcher2/AllAppsPagedView.java
index e926974..bfe6ec1 100644
--- a/src/com/android/launcher2/AllAppsPagedView.java
+++ b/src/com/android/launcher2/AllAppsPagedView.java
@@ -79,6 +79,8 @@
         mCellCountX = a.getInt(R.styleable.PagedView_cellCountX, 6);
         mCellCountY = a.getInt(R.styleable.PagedView_cellCountY, 4);
         mInflater = LayoutInflater.from(context);
+        mApps = new ArrayList<ApplicationInfo>();
+        mFilteredApps = new ArrayList<ApplicationInfo>();
         a.recycle();
         setSoundEffectsEnabled(false);
 
@@ -390,12 +392,14 @@
     }
 
     private int findAppByComponent(ArrayList<ApplicationInfo> list, ApplicationInfo item) {
-        ComponentName removeComponent = item.intent.getComponent();
-        final int length = list.size();
-        for (int i = 0; i < length; ++i) {
-            ApplicationInfo info = list.get(i);
-            if (info.intent.getComponent().equals(removeComponent)) {
-                return i;
+        if (item != null && item.intent != null) {
+            ComponentName removeComponent = item.intent.getComponent();
+            final int length = list.size();
+            for (int i = 0; i < length; ++i) {
+                ApplicationInfo info = list.get(i);
+                if (info.intent.getComponent().equals(removeComponent)) {
+                    return i;
+                }
             }
         }
         return -1;