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

Commit e2f43948 authored by Fabrice Di Meglio's avatar Fabrice Di Meglio Committed by Android (Google) Code Review
Browse files

Merge "Add user selectable Default Browser feature - part 6" into mnc-dev

parents 7c4b054e 3453e081
Loading
Loading
Loading
Loading
+27 −19
Original line number Diff line number Diff line
@@ -668,13 +668,20 @@ public class ResolverActivity extends Activity {
                    if (r.match > bestMatch) bestMatch = r.match;
                }
                if (alwaysCheck) {
                    PackageManager pm = getPackageManager();
                    final int userId = getUserId();
                    final PackageManager pm = getPackageManager();

                    // Set the preferred Activity
                    pm.addPreferredActivity(filter, bestMatch, set, intent.getComponent());

                    if (ri.handleAllWebDataURI) {
                        // Set default Browser if needed
                        final String packageName = pm.getDefaultBrowserPackageName(userId);
                        if (TextUtils.isEmpty(packageName)) {
                            pm.setDefaultBrowserPackageName(ri.activityInfo.packageName, userId);
                        }
                    } else {
                        // Update Domain Verification status
                    int userId = getUserId();
                        ComponentName cn = intent.getComponent();
                        String packageName = cn.getPackageName();
                        String dataScheme = (data != null) ? data.getScheme() : null;
@@ -692,6 +699,7 @@ public class ResolverActivity extends Activity {
                                    PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS,
                                    userId);
                        }
                    }
                } else {
                    try {
                        AppGlobals.getPackageManager().setLastChosenActivity(intent,
+21 −5
Original line number Diff line number Diff line
@@ -9217,7 +9217,9 @@ public class PackageManagerService extends IPackageManager.Stub {
        synchronized (mPackages) {
            result = mSettings.updateIntentFilterVerificationStatusLPw(packageName, status, userId);
        }
        if (result) {
            scheduleWritePackageRestrictionsLocked(userId);
        }
        return result;
    }
@@ -9254,9 +9256,11 @@ public class PackageManagerService extends IPackageManager.Stub {
    public boolean setDefaultBrowserPackageName(String packageName, int userId) {
        synchronized (mPackages) {
            boolean result = mSettings.setDefaultBrowserPackageNameLPr(packageName, userId);
            if (packageName != null) {
                result |= updateIntentVerificationStatus(packageName,
                        PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS,
                        UserHandle.myUserId());
            }
            return result;
        }
    }
@@ -11970,6 +11974,7 @@ public class PackageManagerService extends IPackageManager.Stub {
            if (deletedPs != null) {
                if ((flags&PackageManager.DELETE_KEEP_DATA) == 0) {
                    clearIntentFilterVerificationsLPw(deletedPs.name, UserHandle.USER_ALL);
                    clearDefaultBrowserIfNeeded(packageName);
                    if (outInfo != null) {
                        mSettings.mKeySetManagerService.removeAppKeySetDataLPw(packageName);
                        outInfo.removedAppId = mSettings.removePackageLPw(packageName);
@@ -12873,6 +12878,17 @@ public class PackageManagerService extends IPackageManager.Stub {
        }
    }
    void clearDefaultBrowserIfNeeded(String packageName) {
        for (int oneUserId : sUserManager.getUserIds()) {
            String defaultBrowserPackageName = getDefaultBrowserPackageName(oneUserId);
            if (TextUtils.isEmpty(defaultBrowserPackageName)) continue;
            if (packageName.equals(defaultBrowserPackageName)) {
                setDefaultBrowserPackageName(null, oneUserId);
            }
        }
    }
    @Override
    public void resetPreferredActivities(int userId) {
        /* TODO: Actually use userId. Why is it being passed in? */