From 8ca4e81df7f1ef59245ddc6246d41ab039a8ab91 Mon Sep 17 00:00:00 2001 From: Darryl L Johnson Date: Fri, 30 Oct 2020 14:49:34 -0700 Subject: [PATCH] Fix DeviceStateManagerServiceTests and add to presubmit. 1. The addition of the CONTROL_DEVICE_STATE permission broke the test as the permission was not granted to the test APK. 2. Publishing of the binder service was previously wrapped with a SecurityException catch which failed gracefully in the test. This prevents registering the binder service in the test. Test: atest DeviceStateManagerServiceTests Bug: 159401801 Change-Id: Ifc24ba370a30a86121ca1fa531b8a396f7513b97 --- .../android/server/devicestate/DeviceStateManagerService.java | 4 ++-- services/tests/servicestests/AndroidManifest.xml | 1 + .../server/devicestate/DeviceStateManagerServiceTest.java | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/devicestate/DeviceStateManagerService.java b/services/core/java/com/android/server/devicestate/DeviceStateManagerService.java index fe6e60f6159c0..c51c38de9c654 100644 --- a/services/core/java/com/android/server/devicestate/DeviceStateManagerService.java +++ b/services/core/java/com/android/server/devicestate/DeviceStateManagerService.java @@ -16,8 +16,8 @@ package com.android.server.devicestate; -import static android.hardware.devicestate.DeviceStateManager.INVALID_DEVICE_STATE; import static android.Manifest.permission.CONTROL_DEVICE_STATE; +import static android.hardware.devicestate.DeviceStateManager.INVALID_DEVICE_STATE; import android.annotation.NonNull; import android.content.Context; @@ -96,11 +96,11 @@ public final class DeviceStateManagerService extends SystemService { DeviceStateManagerService(@NonNull Context context, @NonNull DeviceStatePolicy policy) { super(context); mDeviceStatePolicy = policy; + mDeviceStatePolicy.getDeviceStateProvider().setListener(new DeviceStateProviderListener()); } @Override public void onStart() { - mDeviceStatePolicy.getDeviceStateProvider().setListener(new DeviceStateProviderListener()); publishBinderService(Context.DEVICE_STATE_SERVICE, new BinderService()); } diff --git a/services/tests/servicestests/AndroidManifest.xml b/services/tests/servicestests/AndroidManifest.xml index 26fd0a21f10f1..6ead95ca03b61 100644 --- a/services/tests/servicestests/AndroidManifest.xml +++ b/services/tests/servicestests/AndroidManifest.xml @@ -85,6 +85,7 @@ + * Run with atest DeviceStateManagerServiceTest. */ +@Presubmit @RunWith(AndroidJUnit4.class) public final class DeviceStateManagerServiceTest { private static final int DEFAULT_DEVICE_STATE = 0; @@ -48,7 +51,6 @@ public final class DeviceStateManagerServiceTest { mProvider = new TestDeviceStateProvider(); mPolicy = new TestDeviceStatePolicy(mProvider); mService = new DeviceStateManagerService(InstrumentationRegistry.getContext(), mPolicy); - mService.onStart(); } @Test