diff --git a/core/api/current.txt b/core/api/current.txt index b223bc6a4bcad..de1647b5c76aa 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -18992,7 +18992,6 @@ package android.hardware.lights { } public abstract static class LightsManager.LightsSession implements java.lang.AutoCloseable { - ctor public LightsManager.LightsSession(); method public abstract void close(); method public abstract void requestLights(@NonNull android.hardware.lights.LightsRequest); } diff --git a/core/java/android/hardware/lights/LightsManager.java b/core/java/android/hardware/lights/LightsManager.java index cbcef8604a9c1..2d9bc0eb14ab8 100644 --- a/core/java/android/hardware/lights/LightsManager.java +++ b/core/java/android/hardware/lights/LightsManager.java @@ -112,6 +112,12 @@ public abstract class LightsManager { public abstract static class LightsSession implements AutoCloseable { private final IBinder mToken = new Binder(); + /** + * @hide to prevent subclassing from outside of the framework + */ + public LightsSession() { + } + /** * Sends a request to modify the states of multiple lights. * diff --git a/core/tests/coretests/src/android/hardware/input/InputDeviceLightsManagerTest.java b/core/tests/coretests/src/android/hardware/input/InputDeviceLightsManagerTest.java index 412b36713fa27..8b39beb8cf54c 100644 --- a/core/tests/coretests/src/android/hardware/input/InputDeviceLightsManagerTest.java +++ b/core/tests/coretests/src/android/hardware/input/InputDeviceLightsManagerTest.java @@ -33,6 +33,7 @@ import static org.mockito.Mockito.when; import android.hardware.lights.Light; import android.hardware.lights.LightState; import android.hardware.lights.LightsManager; +import android.hardware.lights.LightsRequest; import android.os.IBinder; import android.platform.test.annotations.Presubmit; import android.util.ArrayMap; @@ -224,4 +225,25 @@ public class InputDeviceLightsManagerTest { session.close(); verify(mIInputManagerMock).closeLightSession(eq(DEVICE_ID), eq(token)); } + + @Test + public void testLightsRequest() throws Exception { + Light light = new Light(1 /* id */, 0 /* ordinal */, Light.LIGHT_TYPE_INPUT_PLAYER_ID); + LightState state = new LightState(0xf1); + LightsRequest request = new Builder().addLight(light, state).build(); + + // Covers the LightsRequest.getLights + assertThat(request.getLights().size()).isEqualTo(1); + assertThat(request.getLights().get(0)).isEqualTo(1); + + // Covers the LightsRequest.getLightStates + assertThat(request.getLightStates().size()).isEqualTo(1); + assertThat(request.getLightStates().get(0)).isEqualTo(state); + + // Covers the LightsRequest.getLightsAndStates + assertThat(request.getLightsAndStates().size()).isEqualTo(1); + assertThat(request.getLightsAndStates().containsKey(1)).isTrue(); + assertThat(request.getLightsAndStates().get(1)).isEqualTo(state); + } + }