From 04ef891c4be95c63e823935f0711189ff30f19f4 Mon Sep 17 00:00:00 2001 From: Kavish Devar Date: Sun, 29 Mar 2026 16:28:45 +0530 Subject: [PATCH] disable DI hook and dependant functions --- android/app/src/main/cpp/l2c_fcr_hook.cpp | 26 +++++++++---------- .../screens/AccessibilitySettingsScreen.kt | 2 +- .../screens/AirPodsSettingsScreen.kt | 8 +++--- .../screens/TransparencySettingsScreen.kt | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/android/app/src/main/cpp/l2c_fcr_hook.cpp b/android/app/src/main/cpp/l2c_fcr_hook.cpp index b32972e..8ceb332 100644 --- a/android/app/src/main/cpp/l2c_fcr_hook.cpp +++ b/android/app/src/main/cpp/l2c_fcr_hook.cpp @@ -265,9 +265,9 @@ static bool hookLibrary(const char* libname) { findSymbolOffset(decompressed, "l2c_fcr_chk_chan_modes"); - uint64_t sdp_offset = - findSymbolOffset(decompressed, - "BTA_DmSetLocalDiRecord"); +// uint64_t sdp_offset = +// findSymbolOffset(decompressed, +// "BTA_DmSetLocalDiRecord"); if (chk_offset) { void* target = @@ -280,16 +280,16 @@ static bool hookLibrary(const char* libname) { LOGI("Hooked l2c_fcr_chk_chan_modes"); } - if (sdp_offset) { - void* target = - reinterpret_cast(base + sdp_offset); - - hook_func(target, - (void*)fake_BTA_DmSetLocalDiRecord, - (void**)&original_BTA_DmSetLocalDiRecord); - - LOGI("Hooked BTA_DmSetLocalDiRecord"); - } +// if (sdp_offset) { +// void* target = +// reinterpret_cast(base + sdp_offset); +// +// hook_func(target, +// (void*)fake_BTA_DmSetLocalDiRecord, +// (void**)&original_BTA_DmSetLocalDiRecord); +// +// LOGI("Hooked BTA_DmSetLocalDiRecord"); +// } return true; } diff --git a/android/app/src/main/java/me/kavishdevar/librepods/screens/AccessibilitySettingsScreen.kt b/android/app/src/main/java/me/kavishdevar/librepods/screens/AccessibilitySettingsScreen.kt index c9766f4..8ded7d6 100644 --- a/android/app/src/main/java/me/kavishdevar/librepods/screens/AccessibilitySettingsScreen.kt +++ b/android/app/src/main/java/me/kavishdevar/librepods/screens/AccessibilitySettingsScreen.kt @@ -99,7 +99,7 @@ fun AccessibilitySettingsScreen(navController: NavController) { val isDarkTheme = isSystemInDarkTheme() val textColor = if (isDarkTheme) Color.White else Color.Black val aacpManager = remember { ServiceManager.getService()?.aacpManager } - val isSdpOffsetAvailable = remember { mutableStateOf(true) } // always available rn, for testing without radare + val isSdpOffsetAvailable = remember { mutableStateOf(false) } // always available rn, for testing without radare // remember { mutableStateOf(RadareOffsetFinder.isSdpOffsetAvailable()) } val trackColor = if (isDarkTheme) Color(0xFFB3B3B3) else Color(0xFF929491) diff --git a/android/app/src/main/java/me/kavishdevar/librepods/screens/AirPodsSettingsScreen.kt b/android/app/src/main/java/me/kavishdevar/librepods/screens/AirPodsSettingsScreen.kt index 08ee340..3d002db 100644 --- a/android/app/src/main/java/me/kavishdevar/librepods/screens/AirPodsSettingsScreen.kt +++ b/android/app/src/main/java/me/kavishdevar/librepods/screens/AirPodsSettingsScreen.kt @@ -267,10 +267,10 @@ fun AirPodsSettingsScreen(dev: BluetoothDevice?, service: AirPodsService, } // val actAsAppleDeviceHookEnabled = RadareOffsetFinder.isSdpOffsetAvailable() // if (actAsAppleDeviceHookEnabled) { - item(key = "spacer_hearing_health") { Spacer(modifier = Modifier.height(32.dp)) } - item(key = "hearing_health") { - HearingHealthSettings(navController = navController) - } +// item(key = "spacer_hearing_health") { Spacer(modifier = Modifier.height(32.dp)) } +// item(key = "hearing_health") { +// HearingHealthSettings(navController = navController) +// } // } if (capabilities.contains(Capability.LISTENING_MODE)) { diff --git a/android/app/src/main/java/me/kavishdevar/librepods/screens/TransparencySettingsScreen.kt b/android/app/src/main/java/me/kavishdevar/librepods/screens/TransparencySettingsScreen.kt index 5a20d6b..8c28ba6 100644 --- a/android/app/src/main/java/me/kavishdevar/librepods/screens/TransparencySettingsScreen.kt +++ b/android/app/src/main/java/me/kavishdevar/librepods/screens/TransparencySettingsScreen.kt @@ -90,7 +90,7 @@ fun TransparencySettingsScreen(navController: NavController) { val verticalScrollState = rememberScrollState() val attManager = ServiceManager.getService()?.attManager ?: return val aacpManager = remember { ServiceManager.getService()?.aacpManager } - val isSdpOffsetAvailable = remember { mutableStateOf(true) } // always available rn, for testing without radare + val isSdpOffsetAvailable = remember { mutableStateOf(false) } // always available rn, for testing without radare // remember { mutableStateOf(RadareOffsetFinder.isSdpOffsetAvailable()) } val trackColor = if (isDarkTheme) Color(0xFFB3B3B3) else Color(0xFF929491)