diff --git a/apex/jobscheduler/framework/java/android/app/DeviceIdleFrameworkInitializer.java b/apex/jobscheduler/framework/java/android/app/DeviceIdleFrameworkInitializer.java index a807eb1d3311a..5b1405628b49c 100644 --- a/apex/jobscheduler/framework/java/android/app/DeviceIdleFrameworkInitializer.java +++ b/apex/jobscheduler/framework/java/android/app/DeviceIdleFrameworkInitializer.java @@ -36,7 +36,7 @@ public class DeviceIdleFrameworkInitializer { SystemServiceRegistry.registerCachedService( Context.DEVICE_IDLE_CONTROLLER, DeviceIdleManager.class, (context, b) -> new DeviceIdleManager( - context.getOuterContext(), IDeviceIdleController.Stub.asInterface(b))); + context, IDeviceIdleController.Stub.asInterface(b))); PowerManager.setIsIgnoringBatteryOptimizationsCallback((packageName) -> { // No need for synchronization on sIDeviceIdleController; worst case // we just initialize it twice. diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java index 0499337434501..e81dc1c590401 100644 --- a/core/java/android/app/SystemServiceRegistry.java +++ b/core/java/android/app/SystemServiceRegistry.java @@ -1343,13 +1343,13 @@ public final class SystemServiceRegistry { * @hide */ public static void registerCachedService(String serviceName, Class serviceWrapperClass, - BiFunction serviceFetcher) { + BiFunction serviceFetcher) { registerService(serviceName, serviceWrapperClass, new CachedServiceFetcher() { @Override public T createService(ContextImpl ctx) throws ServiceNotFoundException { IBinder b = ServiceManager.getServiceOrThrow(serviceName); - return serviceFetcher.apply(ctx, b); + return serviceFetcher.apply(ctx.getOuterContext(), b); }}); }