From c341fe6ac6366d2e78b8ec69d11729180ab5cb84 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Tue, 29 Sep 2020 22:40:10 +0200 Subject: [PATCH 25/25] Fix brightness range not being complete on Samsung devices On some devices, minimum brightness is 0, which totally messes with Brightness computations (minimum float brightness becomes -1.0 instead of 0.0...). Cheat and have them report 1 as minimum instead, which fixes the slope Change-Id: I4d97cbc32490949e83272b81ec6320a5483310b1 --- .../java/com/android/server/power/PowerManagerService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java index 764ac969e18..40aeb32c40a 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java @@ -913,9 +913,11 @@ public final class PowerManagerService extends SystemService if (min == INVALID_BRIGHTNESS_IN_CONFIG || max == INVALID_BRIGHTNESS_IN_CONFIG || def == INVALID_BRIGHTNESS_IN_CONFIG) { + int correctedMin = mContext.getResources().getInteger(com.android.internal.R.integer + .config_screenBrightnessSettingMinimum); + if(correctedMin == 0) correctedMin = 1; mScreenBrightnessMinimum = BrightnessSynchronizer.brightnessIntToFloat( - mContext.getResources().getInteger(com.android.internal.R.integer - .config_screenBrightnessSettingMinimum), + correctedMin, PowerManager.BRIGHTNESS_OFF + 1, PowerManager.BRIGHTNESS_ON, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX); mScreenBrightnessMaximum = BrightnessSynchronizer.brightnessIntToFloat( -- 2.17.1