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

Commit d1f2d580 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Merge cherrypicks of ['googleplex-android-review.googlesource.com/28501350',...

Merge cherrypicks of ['googleplex-android-review.googlesource.com/28501350', 'googleplex-android-review.googlesource.com/28500389', 'googleplex-android-review.googlesource.com/28503631', 'googleplex-android-review.googlesource.com/28494293'] into security-aosp-sc-v2-release.

Change-Id: Ic632d15628db29b57656828d4837ac5917c2fef2
parents 5f861b0d 601929fb
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -7322,6 +7322,9 @@ public class Intent implements Parcelable, Cloneable {
                int eq = uri.indexOf('=', i);
                if (eq < 0) eq = i-1;
                int semi = uri.indexOf(';', i);
                if (semi < 0) {
                    throw new URISyntaxException(uri, "uri end not found");
                }
                String value = eq < semi ? Uri.decode(uri.substring(eq + 1, semi)) : "";

                // action
+8 −0
Original line number Diff line number Diff line
@@ -600,6 +600,14 @@ public class ChooserActivity extends ResolverActivity implements

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        if (Settings.Secure.getIntForUser(getContentResolver(),
                Settings.Secure.SECURE_FRP_MODE, 0,
                getUserId()) == 1) {
            Log.e(TAG, "Sharing disabled due to active FRP lock.");
            super.onCreate(savedInstanceState);
            finish();
            return;
        }
        final long intentReceivedTime = System.currentTimeMillis();
        getChooserActivityLogger().logSharesheetTriggered();
        // This is the only place this value is being set. Effectively final.
+3 −0
Original line number Diff line number Diff line
@@ -4895,6 +4895,9 @@ public class AccountManagerService
                if (resolveInfo == null) {
                    return false;
                }
                if ("content".equals(intent.getScheme())) {
                    return false;
                }
                ActivityInfo targetActivityInfo = resolveInfo.activityInfo;
                int targetUid = targetActivityInfo.applicationInfo.uid;
                PackageManagerInternal pmi = LocalServices.getService(PackageManagerInternal.class);
+6 −1
Original line number Diff line number Diff line
@@ -609,12 +609,17 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
        params.appLabel = TextUtils.trimToSize(params.appLabel,
                PackageItemInfo.MAX_SAFE_LABEL_LENGTH);

        // Validate installer package name.
        // Validate requested installer package name.
        if (params.installerPackageName != null && !isValidPackageName(
                params.installerPackageName)) {
            params.installerPackageName = null;
        }

        // Validate installer package name.
        if (installerPackageName != null && !isValidPackageName(installerPackageName)) {
            installerPackageName = null;
        }

        String requestedInstallerPackageName =
                params.installerPackageName != null ? params.installerPackageName
                        : installerPackageName;