Loading services/core/java/com/android/server/input/KeyboardBacklightController.java +5 −2 Original line number Diff line number Diff line Loading @@ -199,8 +199,11 @@ final class KeyboardBacklightController implements } if (brightness.isPresent()) { int brightnessValue = Math.max(0, Math.min(MAX_BRIGHTNESS, brightness.getAsInt())); int brightnessLevel = Arrays.binarySearch(BRIGHTNESS_VALUE_FOR_LEVEL, brightnessValue); updateBacklightState(inputDevice.getId(), keyboardBacklight, brightnessLevel, int index = Arrays.binarySearch(BRIGHTNESS_VALUE_FOR_LEVEL, brightnessValue); if (index < 0) { index = Math.min(NUM_BRIGHTNESS_CHANGE_STEPS, -(index + 1)); } updateBacklightState(inputDevice.getId(), keyboardBacklight, index, false /* isTriggeredByKeyPress */); if (DEBUG) { Slog.d(TAG, "Restoring brightness level " + brightness.getAsInt()); Loading services/tests/servicestests/src/com/android/server/input/KeyboardBacklightControllerTests.kt +17 −13 Original line number Diff line number Diff line Loading @@ -250,20 +250,24 @@ class KeyboardBacklightControllerTests { `when`(iInputManager.getInputDevice(DEVICE_ID)).thenReturn(keyboardWithBacklight) `when`(iInputManager.getLights(DEVICE_ID)).thenReturn(listOf(keyboardBacklight)) for (level in 1 until BRIGHTNESS_VALUE_FOR_LEVEL.size) { dataStore.setKeyboardBacklightBrightness( keyboardWithBacklight.descriptor, LIGHT_ID, MAX_BRIGHTNESS BRIGHTNESS_VALUE_FOR_LEVEL[level] - 1 ) keyboardBacklightController.onInputDeviceAdded(DEVICE_ID) keyboardBacklightController.notifyUserActivity() testLooper.dispatchNext() assertEquals( "Keyboard backlight level should be restored to the level saved in the data store", Color.argb(MAX_BRIGHTNESS, 0, 0, 0), "Keyboard backlight level should be restored to the level saved in the data " + "store", Color.argb(BRIGHTNESS_VALUE_FOR_LEVEL[level], 0, 0, 0), lightColorMap[LIGHT_ID] ) keyboardBacklightController.onInputDeviceRemoved(DEVICE_ID) } } @Test Loading Loading
services/core/java/com/android/server/input/KeyboardBacklightController.java +5 −2 Original line number Diff line number Diff line Loading @@ -199,8 +199,11 @@ final class KeyboardBacklightController implements } if (brightness.isPresent()) { int brightnessValue = Math.max(0, Math.min(MAX_BRIGHTNESS, brightness.getAsInt())); int brightnessLevel = Arrays.binarySearch(BRIGHTNESS_VALUE_FOR_LEVEL, brightnessValue); updateBacklightState(inputDevice.getId(), keyboardBacklight, brightnessLevel, int index = Arrays.binarySearch(BRIGHTNESS_VALUE_FOR_LEVEL, brightnessValue); if (index < 0) { index = Math.min(NUM_BRIGHTNESS_CHANGE_STEPS, -(index + 1)); } updateBacklightState(inputDevice.getId(), keyboardBacklight, index, false /* isTriggeredByKeyPress */); if (DEBUG) { Slog.d(TAG, "Restoring brightness level " + brightness.getAsInt()); Loading
services/tests/servicestests/src/com/android/server/input/KeyboardBacklightControllerTests.kt +17 −13 Original line number Diff line number Diff line Loading @@ -250,20 +250,24 @@ class KeyboardBacklightControllerTests { `when`(iInputManager.getInputDevice(DEVICE_ID)).thenReturn(keyboardWithBacklight) `when`(iInputManager.getLights(DEVICE_ID)).thenReturn(listOf(keyboardBacklight)) for (level in 1 until BRIGHTNESS_VALUE_FOR_LEVEL.size) { dataStore.setKeyboardBacklightBrightness( keyboardWithBacklight.descriptor, LIGHT_ID, MAX_BRIGHTNESS BRIGHTNESS_VALUE_FOR_LEVEL[level] - 1 ) keyboardBacklightController.onInputDeviceAdded(DEVICE_ID) keyboardBacklightController.notifyUserActivity() testLooper.dispatchNext() assertEquals( "Keyboard backlight level should be restored to the level saved in the data store", Color.argb(MAX_BRIGHTNESS, 0, 0, 0), "Keyboard backlight level should be restored to the level saved in the data " + "store", Color.argb(BRIGHTNESS_VALUE_FOR_LEVEL[level], 0, 0, 0), lightColorMap[LIGHT_ID] ) keyboardBacklightController.onInputDeviceRemoved(DEVICE_ID) } } @Test Loading