diff options
author | 2017-01-05 09:14:36 -0800 | |
---|---|---|
committer | 2017-01-05 11:43:15 -0800 | |
commit | 0cef910d5e159800bacb69310a69ba04eafcd30c (patch) | |
tree | f90e199d9695cabda6f23b7ed15bef5a23d42bbb | |
parent | 874d45597fb5267288b6cecc70df883b65e54be1 (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
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); + } + } } |