Merge "Fix crash when updating ranking model in ChooserActivity."
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 16a1251..6c4faa4 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -589,7 +589,9 @@
             if (ri != null && ri.activityInfo != null) {
                 usageStatsManager.reportChooserSelection(ri.activityInfo.packageName, getUserId(),
                         annotation, null, info.getResolvedIntent().getAction());
-                mResolverComparator.updateModel(info.getResolvedComponentName());
+                if (mAdapter != null) {
+                    mAdapter.updateModel(info.getResolvedComponentName());
+                }
                 if (DEBUG) {
                     Log.d(TAG, "ResolveInfo Package is" + ri.activityInfo.packageName);
                 }
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index f2bd701..23c1969 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -107,7 +107,6 @@
     private PickTargetOptionRequest mPickOptionRequest;
     private String mReferrerPackage;
 
-    protected ResolverComparator mResolverComparator;
     protected ResolverDrawerLayout mResolverDrawerLayout;
     protected String mContentType;
     protected PackageManager mPm;
@@ -1290,6 +1289,10 @@
             return mResolverListController.getScore(target);
         }
 
+        public void updateModel(ComponentName componentName) {
+            mResolverListController.updateModel(componentName);
+        }
+
         /**
          * Rebuild the list of resolvers. In some cases some parts will need some asynchronous work
          * to complete.
diff --git a/core/java/com/android/internal/app/ResolverListController.java b/core/java/com/android/internal/app/ResolverListController.java
index b91ecb6..d864a31 100644
--- a/core/java/com/android/internal/app/ResolverListController.java
+++ b/core/java/com/android/internal/app/ResolverListController.java
@@ -218,4 +218,10 @@
         }
         return mResolverComparator.getScore(target.getResolvedComponentName());
     }
+
+    public void updateModel(ComponentName componentName) {
+        if (mResolverComparator != null) {
+            mResolverComparator.updateModel(componentName);
+        }
+    }
 }