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

Commit 33e0bcb0 authored by Parth Sane's avatar Parth Sane
Browse files

Keep Cache implementation for Android Auto

The removal of the cache breaks android auto tests

test_mapping_presubmit_cloud_auto_car_services breaks because
of SELinux rules. The cache circumvents this.

Test: v2/aaos-engprod/test_mapping_presubmit_cloud_auto_car_services
Bug: 333854840
Flag: android.server.Flags.removeJavaServiceManagerCache
Change-Id: I420e718a4d8dc6f8e17652335997c31c310a406a
parent 33517b07
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -2874,8 +2874,12 @@ public class ActivityManagerService extends IActivityManager.Stub
            // Add common services.
            // IMPORTANT: Before adding services here, make sure ephemeral apps can access them too.
            // Enable the check in ApplicationThread.bindApplication() to make sure.
            if (!android.server.Flags.removeJavaServiceManagerCache()) {
                addServiceToMap(mAppBindArgs, "permissionmgr");
            // Removing User Service and App Ops Service from cache breaks boot for auto.
            // Removing permissionmgr breaks tests for Android Auto due to SELinux restrictions.
            // TODO: fix SELinux restrictions and remove caching for Android Auto.
            if (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)
                    || !android.server.Flags.removeJavaServiceManagerCache()) {
                addServiceToMap(mAppBindArgs, Context.ALARM_SERVICE);
                addServiceToMap(mAppBindArgs, Context.DISPLAY_SERVICE);
                addServiceToMap(mAppBindArgs, Context.NETWORKMANAGEMENT_SERVICE);
@@ -2892,16 +2896,16 @@ public class ActivityManagerService extends IActivityManager.Stub
                addServiceToMap(mAppBindArgs, Context.POWER_SERVICE);
                addServiceToMap(mAppBindArgs, "mount");
                addServiceToMap(mAppBindArgs, Context.PLATFORM_COMPAT_SERVICE);
                addServiceToMap(mAppBindArgs, "permissionmgr");
                addServiceToMap(mAppBindArgs, Context.APP_OPS_SERVICE);
                addServiceToMap(mAppBindArgs, Context.USER_SERVICE);
            }
            // See b/79378449
            // Getting the window service and package service binder from servicemanager
            // is blocked for Apps. However they are necessary for apps.
            // Removing User Service and App Ops Service from cache breaks boot for auto.
            // TODO: remove exception
            addServiceToMap(mAppBindArgs, Context.APP_OPS_SERVICE);
            addServiceToMap(mAppBindArgs, "package");
            addServiceToMap(mAppBindArgs, Context.WINDOW_SERVICE);
            addServiceToMap(mAppBindArgs, Context.USER_SERVICE);
        }
        return mAppBindArgs;
    }