Browse Source

sm8450-common: overlay: Enable multiple vibration strength levels support

Change-Id: If17503f2dd4bd4d6e333891f9649a7db8d809852
Michael Bestas 2 years ago
parent
commit
31a8fa9332

+ 1 - 0
common.mk

@@ -291,6 +291,7 @@ PRODUCT_PACKAGES += \
     FrameworksResTarget_Vendor \
     FrameworksResXiaomi \
     SettingsProviderResXiaomi \
+    SettingsResXiaomi \
     WifiResTarget \
     WifiResTarget_spf
 

+ 10 - 0
overlay/SettingsResXiaomi/Android.bp

@@ -0,0 +1,10 @@
+//
+// Copyright (C) 2023 The LineageOS Project
+//
+// SPDX-License-Identifier: Apache-2.0
+//
+
+runtime_resource_overlay {
+    name: "SettingsResXiaomi",
+    vendor: true,
+}

+ 10 - 0
overlay/SettingsResXiaomi/AndroidManifest.xml

@@ -0,0 +1,10 @@
+<!--
+     Copyright (C) 2023 The LineageOS Project
+     SPDX-License-Identifier: Apache-2.0
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.settings.overlay.xiaomi">
+    <overlay android:targetPackage="com.android.settings"
+                   android:isStatic="true"
+                   android:priority="600"/>
+</manifest>

+ 25 - 0
overlay/SettingsResXiaomi/res/values/config.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2023 The LineageOS Project
+     SPDX-License-Identifier: Apache-2.0
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- The number of vibration intensity levels supported by the device.
+
+         Note that this should correspond to the ability to vary the vibration amplitude, with
+         enough dynamic range to have at least as many distinct intensity levels as defined here.
+
+         Supported values are 1, 2, 3. If '1', the settings app will use a toggle for the settings,
+         otherwise a slider. If '3', the settings app maps intensities directly to the levels
+         supported by the Vibrator HAL APIs. If '2', then the levels will be mapped to
+         VIBRATION_INTENSITY_LOW and VIBRATION_INTENSITY_HIGH, which gives the most range for
+         scaling vibrations. The medium intensity will be skipped.
+
+         The default intensity values are configured at
+         frameworks/base/core/res/res/values/config.xml's config_default[type]VibrationIntensity.
+         Make sure that each default intensity value is consistent with the supported levels set
+         here. If this settings supports only 2 levels, for example, then the default intensity
+         should be either LOW (1) or HIGH (3).
+    -->
+    <integer name="config_vibration_supported_intensity_levels">3</integer>
+</resources>