Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0cef910d authored by Kang Li's avatar Kang Li
Browse files

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
parent 874d4559
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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);
                }
+4 −1
Original line number Diff line number Diff line
@@ -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.
+6 −0
Original line number Diff line number Diff line
@@ -218,4 +218,10 @@ public class ResolverListController {
        }
        return mResolverComparator.getScore(target.getResolvedComponentName());
    }

    public void updateModel(ComponentName componentName) {
        if (mResolverComparator != null) {
            mResolverComparator.updateModel(componentName);
        }
    }
}