diff --git a/cat/patches/button_backlights.patch b/cat/patches/button_backlights.patch index 88db03a..7b64536 100644 --- a/cat/patches/button_backlights.patch +++ b/cat/patches/button_backlights.patch @@ -1,60 +1,60 @@ diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java -index 7c0f4197363..a46b96ae5fa 100644 +index 7c0f4197363..16758ba496e 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java -@@ -63,6 +63,10 @@ import com.android.server.display.whitebalance.DisplayWhiteBalanceFactory; +@@ -63,7 +63,12 @@ import com.android.server.display.whitebalance.DisplayWhiteBalanceFactory; import com.android.server.display.whitebalance.DisplayWhiteBalanceSettings; import com.android.server.policy.WindowManagerPolicy; -+// Button backlights -+import com.android.server.lights.LightsManager; -+import com.android.server.lights.LogicalLight; -+ ++import java.io.BufferedWriter; ++import java.io.File; ++import java.io.FileWriter; ++import java.io.IOException; import java.io.PrintWriter; ++import java.io.Writer; import java.util.List; -@@ -258,6 +262,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call - // Must only be accessed on the handler thread. - private DisplayPowerState mPowerState; + /** +@@ -561,6 +566,18 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call + mDisplayWhiteBalanceController = displayWhiteBalanceController; + } -+ // Buttons backlight -+ private LightsManager mLightsManager; -+ private LogicalLight mButtonsLight; ++ private void changeKeyboardBacklightState(String value) { ++ try { ++ File outputFile = new File("/sys/class/leds/keyboard_light/", "brightness"); ++ Writer writer = new BufferedWriter(new FileWriter(outputFile)); + - // True if the device should wait for negative proximity sensor before - // waking up the screen. This is set to false as soon as a negative - // proximity sensor measurement is observed or when the device is forced to -@@ -686,6 +694,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call - mPowerState = new DisplayPowerState(mBlanker, - mColorFadeEnabled ? new ColorFade(Display.DEFAULT_DISPLAY) : null); - -+ mLightsManager = LocalServices.getService(LightsManager.class); -+ mButtonsLight = mLightsManager.getLight(LightsManager.LIGHT_ID_KEYBOARD); ++ writer.write(value); ++ writer.close(); ++ } catch (IOException e) { ++ Slog.d("NEHEMIAH", "Sorry, failed to change the value of the keyboard backlight"); ++ } ++ } + - if (mColorFadeEnabled) { - mColorFadeOnAnimator = ObjectAnimator.ofFloat( - mPowerState, DisplayPowerState.COLOR_FADE_LEVEL, 0.0f, 1.0f); -@@ -1154,6 +1165,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call + private Sensor findDisplayLightSensor(String sensorType) { + if (!TextUtils.isEmpty(sensorType)) { + List sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL); +@@ -1154,6 +1171,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call && mReportedScreenStateToPolicy == REPORTED_TO_POLICY_SCREEN_TURNING_ON) { setReportedScreenState(REPORTED_TO_POLICY_SCREEN_ON); mWindowManagerPolicy.screenTurnedOn(); -+ mButtonsLight.setBrightness(PowerManager.BRIGHTNESS_MAX); ++ changeKeyboardBacklightState("255"); } // Grab a wake lock if we have unfinished business. -@@ -1310,6 +1322,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call +@@ -1310,6 +1328,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call setReportedScreenState(REPORTED_TO_POLICY_SCREEN_OFF); unblockScreenOn(); mWindowManagerPolicy.screenTurnedOff(); -+ mButtonsLight.setBrightness(PowerManager.BRIGHTNESS_MIN); ++ changeKeyboardBacklightState("0"); } else if (!isOff && mReportedScreenStateToPolicy == REPORTED_TO_POLICY_SCREEN_TURNING_OFF) { -@@ -1317,6 +1330,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call +@@ -1317,6 +1336,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // Complete the full state transition on -> turningOff -> off. unblockScreenOff(); mWindowManagerPolicy.screenTurnedOff(); -+ mButtonsLight.setBrightness(PowerManager.BRIGHTNESS_MIN); ++ changeKeyboardBacklightState("0"); setReportedScreenState(REPORTED_TO_POLICY_SCREEN_OFF); } if (!isOff && mReportedScreenStateToPolicy == REPORTED_TO_POLICY_SCREEN_OFF) {