summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kang Li <kanlig@google.com> 2017-01-05 09:14:36 -0800
committer Kang Li <kanlig@google.com> 2017-01-05 11:43:15 -0800
commit0cef910d5e159800bacb69310a69ba04eafcd30c (patch)
treef90e199d9695cabda6f23b7ed15bef5a23d42bbb
parent874d45597fb5267288b6cecc70df883b65e54be1 (diff)
Fix crash when updating ranking model in ChooserActivity.
Bug: 34095835 Test: manual tests (automated tests will be added later): 1. take a picture and share it to Photos; 2. take a bug report and share it to Gmail; 3. launch Chrome app, share a webpage to Drive; and 4. launch Contacts and share a contact to Messenger. Change-Id: Ie50c8305f90b6df69aa1e47c01d0b2212da0a37a
-rw-r--r--core/java/com/android/internal/app/ChooserActivity.java4
-rw-r--r--core/java/com/android/internal/app/ResolverActivity.java5
-rw-r--r--core/java/com/android/internal/app/ResolverListController.java6
3 files changed, 13 insertions, 2 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 16a12518574d..6c4faa4dec06 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -589,7 +589,9 @@ public class ChooserActivity extends ResolverActivity {
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 f2bd701920e8..23c1969cf8c3 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -107,7 +107,6 @@ public class ResolverActivity extends Activity {
private PickTargetOptionRequest mPickOptionRequest;
private String mReferrerPackage;
- protected ResolverComparator mResolverComparator;
protected ResolverDrawerLayout mResolverDrawerLayout;
protected String mContentType;
protected PackageManager mPm;
@@ -1290,6 +1289,10 @@ public class ResolverActivity extends Activity {
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 b91ecb625bcf..d864a310e91b 100644
--- a/core/java/com/android/internal/app/ResolverListController.java
+++ b/core/java/com/android/internal/app/ResolverListController.java
@@ -218,4 +218,10 @@ public class ResolverListController {
}
return mResolverComparator.getScore(target.getResolvedComponentName());
}
+
+ public void updateModel(ComponentName componentName) {
+ if (mResolverComparator != null) {
+ mResolverComparator.updateModel(componentName);
+ }
+ }
}