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

Commit 487a7f36 authored by Todd Kennedy's avatar Todd Kennedy Committed by android-build-merger
Browse files

Merge \"Ephemeral changes for debug builds\" into nyc-mr1-dev

am: 48a71e39

Change-Id: I4d6a6c2d7646a75660e3ad3fad4886d12d73e88f
parents 7da4903b 48a71e39
Loading
Loading
Loading
Loading
+14 −8
Original line number Diff line number Diff line
@@ -362,13 +362,13 @@ public class PackageManagerService extends IPackageManager.Stub {
    static final boolean DEBUG_DEXOPT = false;
    private static final boolean DEBUG_ABI_SELECTION = false;
    private static final boolean DEBUG_EPHEMERAL = false;
    private static final boolean DEBUG_EPHEMERAL = Build.IS_DEBUGGABLE;
    private static final boolean DEBUG_TRIAGED_MISSING = false;
    private static final boolean DEBUG_APP_DATA = false;
    static final boolean CLEAR_RUNTIME_PERMISSIONS_ON_UPGRADE = false;
    private static final boolean DISABLE_EPHEMERAL_APPS = true;
    private static final boolean DISABLE_EPHEMERAL_APPS = !Build.IS_DEBUGGABLE;
    private static final int RADIO_UID = Process.PHONE_UID;
    private static final int LOG_UID = Process.LOG_UID;
@@ -2942,17 +2942,20 @@ public class PackageManagerService extends IPackageManager.Stub {
    private @Nullable ComponentName getEphemeralResolverLPr() {
        final String[] packageArray =
                mContext.getResources().getStringArray(R.array.config_ephemeralResolverPackage);
        if (packageArray.length == 0) {
        if (packageArray.length == 0 && !Build.IS_DEBUGGABLE) {
            if (DEBUG_EPHEMERAL) {
                Slog.d(TAG, "Ephemeral resolver NOT found; empty package list");
            }
            return null;
        }
        final int resolveFlags =
                MATCH_DIRECT_BOOT_AWARE
                | MATCH_DIRECT_BOOT_UNAWARE
                | (!Build.IS_DEBUGGABLE ? MATCH_SYSTEM_ONLY : 0);
        final Intent resolverIntent = new Intent(Intent.ACTION_RESOLVE_EPHEMERAL_PACKAGE);
        final List<ResolveInfo> resolvers = queryIntentServicesInternal(resolverIntent, null,
                MATCH_SYSTEM_ONLY | MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE,
                UserHandle.USER_SYSTEM);
                resolveFlags, UserHandle.USER_SYSTEM);
        final int N = resolvers.size();
        if (N == 0) {
@@ -2971,7 +2974,7 @@ public class PackageManagerService extends IPackageManager.Stub {
            }
            final String packageName = info.serviceInfo.packageName;
            if (!possiblePackages.contains(packageName)) {
            if (!possiblePackages.contains(packageName) && !Build.IS_DEBUGGABLE) {
                if (DEBUG_EPHEMERAL) {
                    Slog.d(TAG, "Ephemeral resolver not in allowed package list;"
                            + " pkg: " + packageName + ", info:" + info);
@@ -2996,9 +2999,12 @@ public class PackageManagerService extends IPackageManager.Stub {
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        intent.setDataAndType(Uri.fromFile(new File("foo.apk")), PACKAGE_MIME_TYPE);
        final int resolveFlags =
                MATCH_DIRECT_BOOT_AWARE
                | MATCH_DIRECT_BOOT_UNAWARE
                | (!Build.IS_DEBUGGABLE ? MATCH_SYSTEM_ONLY : 0);
        final List<ResolveInfo> matches = queryIntentActivitiesInternal(intent, PACKAGE_MIME_TYPE,
                MATCH_SYSTEM_ONLY | MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE,
                UserHandle.USER_SYSTEM);
                resolveFlags, UserHandle.USER_SYSTEM);
        if (matches.size() == 0) {
            return null;
        } else if (matches.size() == 1) {