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

Commit 408b0505 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Pass the correct match parameter for replacePreferredActivity()."

parents 1ce1a950 89db9b4e
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -68,7 +68,13 @@ public class PreferredActivity {
     * @param context the {@code Context} to retrieve system services
     */
    public void configure(@NonNull String packageName, @NonNull Context context) {
        IntentFilter intentFilter = mActivity.getIntentFilterData().createIntentFilter();
        PackageManager packageManager = context.getPackageManager();
        IntentFilterData intentFilterData = mActivity.getIntentFilterData();
        IntentFilter intentFilter = intentFilterData.createIntentFilter();
        // PackageManager.replacePreferredActivity() expects filter to have no data authorities,
        // paths, or types; and at most one scheme.
        int match = intentFilterData.getDataScheme() != null ? IntentFilter.MATCH_CATEGORY_SCHEME
                : IntentFilter.MATCH_CATEGORY_EMPTY;
        List<ComponentName> activities = mActivity.getQualifyingComponentsAsUser(
                Process.myUserHandle(), context);
        ComponentName packageActivity = mActivity.getQualifyingComponentForPackage(
@@ -77,10 +83,7 @@ public class PreferredActivity {
        if (packageActivity == null) {
            return;
        }
        PackageManager packageManager = context.getPackageManager();
        // TODO: STOPSHIP: MATCH_CATEGORY_SCHEME ?
        packageManager.replacePreferredActivity(intentFilter, IntentFilter.MATCH_CATEGORY_SCHEME
                | IntentFilter.MATCH_ADJUSTMENT_NORMAL, activities, packageActivity);
        packageManager.replacePreferredActivity(intentFilter, match, activities, packageActivity);
    }

    @Override
+6 −0
Original line number Diff line number Diff line
@@ -781,6 +781,12 @@ public class Roles {
                    }
                    checkDuplicateElement(intentFilterData, intentFilterDatas,
                            "intent filter");
                    if (DEBUG) {
                        if (intentFilterData.getDataType() != null) {
                            throwOrLogMessage("mimeType in <data> is not supported when setting a"
                                    + " preferred activity");
                        }
                    }
                    intentFilterDatas.add(intentFilterData);
                    break;
                default: