redfin: HbmSVManager: Fetch private identifiers at runtime

The following resource symbols are private:
config_displayWhiteBalanceBrightnessFilterIntercept (integer)
config_displayWhiteBalanceBrightnessFilterHorizon (float)

Instead of hardcoding the ids of the symbols (prone to break)
fetch them at runtime.

Change-Id: Ib80c387ba656b867cc278bb379bf3c052b8ae1b5
This commit is contained in:
Luca Stefani
2024-09-11 11:16:28 +02:00
committed by Michael Bestas
parent b8ecdf3e5b
commit f9ea0da0b3
3 changed files with 73 additions and 2 deletions

View File

@@ -0,0 +1,67 @@
--- a/smali/com/android/hbmsvmanager/filter/AmbientFilterFactory.smali
+++ b/smali/com/android/hbmsvmanager/filter/AmbientFilterFactory.smali
@@ -35,14 +35,22 @@
.method public static createBrightnessFilter(Ljava/lang/String;Landroid/content/res/Resources;)Lcom/android/hbmsvmanager/filter/AmbientFilter;
.locals 2
- const v0, 0x10e005f
+ const v0, 0
+
+ invoke-static {p1}, Lcom/android/hbmsvmanager/filter/AmbientFilterFactory;->getFilterHorizonIdentifier(Landroid/content/res/Resources;)I
+
+ move-result v0
.line 53
invoke-virtual {p1, v0}, Landroid/content/res/Resources;->getInteger(I)I
move-result v0
- const v1, 0x10500b4
+ const v1, 0
+
+ invoke-static {p1}, Lcom/android/hbmsvmanager/filter/AmbientFilterFactory;->getFilterInterceptIdentifier(Landroid/content/res/Resources;)I
+
+ move-result v1
.line 60
invoke-static {p1, v1}, Lcom/android/hbmsvmanager/filter/AmbientFilterFactory;->getFloat(Landroid/content/res/Resources;I)F
@@ -89,3 +97,39 @@
return p0
.end method
+
+.method private static getFilterHorizonIdentifier(Landroid/content/res/Resources;)I
+ .registers 4
+ .param p0, "resources" # Landroid/content/res/Resources;
+
+ .line 7
+ const-string v0, "integer"
+
+ const-string v1, "android"
+
+ const-string v2, "config_displayWhiteBalanceBrightnessFilterHorizon"
+
+ invoke-virtual {p0, v2, v0, v1}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
+
+ move-result v0
+
+ return v0
+.end method
+
+.method private static getFilterInterceptIdentifier(Landroid/content/res/Resources;)I
+ .registers 4
+ .param p0, "resources" # Landroid/content/res/Resources;
+
+ .line 11
+ const-string v0, "dimen"
+
+ const-string v1, "android"
+
+ const-string v2, "config_displayWhiteBalanceBrightnessFilterIntercept"
+
+ invoke-virtual {p0, v2, v0, v1}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
+
+ move-result v0
+
+ return v0
+.end method

View File

@@ -74,6 +74,10 @@ function blob_fixup() {
[ "$2" = "" ] && return 0
sed -i 's/qulacomm/qualcomm/' "${2}"
;;
system_ext/priv-app/HbmSVManager/HbmSVManager.apk)
[ "$2" = "" ] && return 0
apktool_patch "${2}" "${MY_DIR}/blob-patches/HbmSVManager.patch" -r
;;
vendor/bin/hw/android.hardware.rebootescrow-service.citadel | \
vendor/lib64/android.hardware.keymaster@4.1-impl.nos.so)
[ "$2" = "" ] && return 0

View File

@@ -102,8 +102,8 @@ product/priv-app/WfcActivation/WfcActivation.apk;PRESIGNED
system_ext/etc/permissions/com.google.android.camera.extensions.xml
system_ext/framework/com.google.android.camera.extensions.jar
# HBM - from barbet AP2A.240805.005
system_ext/priv-app/HbmSVManager/HbmSVManager.apk|602c2ad1a963379d7e45dd7dee97bf5d916eabd6
# HBM
system_ext/priv-app/HbmSVManager/HbmSVManager.apk
# Hotword
system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml