From 2b130050ddc178d6824835e5e5f002e2f1eb5333 Mon Sep 17 00:00:00 2001 From: LuK1337 Date: Sat, 18 Jan 2025 12:19:21 +0100 Subject: [PATCH] sdk: Support breath LED mode Change-Id: I9ec757a784dc3fb3afcb6f909f10e2eee86502ea --- lineage/res/res/values/config.xml | 3 +++ .../internal/notification/LightsCapabilities.java | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/lineage/res/res/values/config.xml b/lineage/res/res/values/config.xml index e7695ac5..46c12131 100644 --- a/lineage/res/res/values/config.xml +++ b/lineage/res/res/values/config.xml @@ -86,6 +86,9 @@ // RGB color values. LIGHTS_ADJUSTABLE_BATTERY_LED_BRIGHTNESS = 128 + // The notification light has non-adjustable pulsing capability. + LIGHTS_BREATHING_LED = 256 + For example, a device with notification and battery lights that supports pulsating and RGB control would set this config to 75. --> 8 diff --git a/sdk/src/java/org/lineageos/internal/notification/LightsCapabilities.java b/sdk/src/java/org/lineageos/internal/notification/LightsCapabilities.java index 7a362710..9ed5f837 100644 --- a/sdk/src/java/org/lineageos/internal/notification/LightsCapabilities.java +++ b/sdk/src/java/org/lineageos/internal/notification/LightsCapabilities.java @@ -44,6 +44,15 @@ public final class LightsCapabilities { // RGB color values. public static final int LIGHTS_ADJUSTABLE_BATTERY_LED_BRIGHTNESS = 128; + // The notification light has non-adjustable pulsing capability. + public static final int LIGHTS_BREATHING_LED = 256; + + public static boolean blinks(Context context) { + final int capabilities = context.getResources().getInteger( + org.lineageos.platform.internal.R.integer.config_deviceLightCapabilities); + return (capabilities & (LIGHTS_PULSATING_LED | LIGHTS_BREATHING_LED)) != 0; + } + public static boolean supports(Context context, final int capability) { final int capabilities = context.getResources().getInteger( org.lineageos.platform.internal.R.integer.config_deviceLightCapabilities);