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

Commit 4d5f8fbf authored by Fabrice Di Meglio's avatar Fabrice Di Meglio Committed by Android Git Automerger
Browse files

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

* commit 'e2f43948':
  Add user selectable Default Browser feature - part 6
parents 8961677a e2f43948
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? */