Merge "Deference mAppPredictor on destroy" into ub-launcher3-rvc-dev
diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java
index 7a73e50..1fe3643 100644
--- a/quickstep/recents_ui_overrides/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java
+++ b/quickstep/recents_ui_overrides/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java
@@ -274,6 +274,7 @@
         }
         if (mAppPredictor != null) {
             mAppPredictor.destroy();
+            mAppPredictor = null;
         }
         WeakReference<HotseatPredictionController> controllerRef = new WeakReference<>(this);
 
diff --git a/src/com/android/launcher3/model/PredictionModel.java b/src/com/android/launcher3/model/PredictionModel.java
index f8140eb..1429843 100644
--- a/src/com/android/launcher3/model/PredictionModel.java
+++ b/src/com/android/launcher3/model/PredictionModel.java
@@ -43,7 +43,6 @@
     private static final int MAX_CACHE_ITEMS = 5;
 
     protected Context mContext;
-    private ArrayList<ComponentKey> mCachedComponentKeys;
     private SharedPreferences mDevicePrefs;
     private UserCache mUserCache;
 
@@ -78,7 +77,6 @@
                 builder.append("\n");
             }
             mDevicePrefs.edit().putString(CACHED_ITEMS_KEY, builder.toString()).apply();
-            mCachedComponentKeys = null;
         });
     }
 
@@ -89,17 +87,16 @@
     @WorkerThread
     public List<ComponentKey> getPredictionComponentKeys() {
         Preconditions.assertWorkerThread();
-        if (mCachedComponentKeys == null) {
-            mCachedComponentKeys = new ArrayList<>();
-            String cachedBlob = mDevicePrefs.getString(CACHED_ITEMS_KEY, "");
-            for (String line : cachedBlob.split("\n")) {
-                ComponentKey key = getComponentKeyFromSerializedString(line);
-                if (key != null) {
-                    mCachedComponentKeys.add(key);
-                }
+        ArrayList<ComponentKey> items = new ArrayList<>();
+        String cachedBlob = mDevicePrefs.getString(CACHED_ITEMS_KEY, "");
+        for (String line : cachedBlob.split("\n")) {
+            ComponentKey key = getComponentKeyFromSerializedString(line);
+            if (key != null) {
+                items.add(key);
             }
+
         }
-        return mCachedComponentKeys;
+        return items;
     }
 
     private String serializeComponentKeyToString(ComponentKey componentKey) {