From 255edc5b087f6460ac7342e17cacc5a03d85d5e6 Mon Sep 17 00:00:00 2001 From: Kavish Devar Date: Tue, 10 Dec 2024 12:49:16 +0530 Subject: [PATCH] move files across computers --- android-hooking/hook.js | 22 +++++++++ .../main/java/me/kavishdevar/aln/LongPress.kt | 48 +++++++++++++++++++ .../java/me/kavishdevar/aln/MainActivity.kt | 3 ++ 3 files changed, 73 insertions(+) create mode 100644 android-hooking/hook.js create mode 100644 android/app/src/main/java/me/kavishdevar/aln/LongPress.kt diff --git a/android-hooking/hook.js b/android-hooking/hook.js new file mode 100644 index 0000000..2eafa41 --- /dev/null +++ b/android-hooking/hook.js @@ -0,0 +1,22 @@ +Java.perform(function () { + // Locate the native library + var libbluetooth = Module.findExportByName("libbluetooth_jni.so", "l2c_fcr_chk_chan_modes"); + + if (libbluetooth) { + console.log("Found l2c_fcr_chk_chan_modes at: " + libbluetooth); + + // Hook the function + Interceptor.attach(libbluetooth, { + onEnter: function (args) { + console.log("l2c_fcr_chk_chan_modes called"); + }, + onLeave: function (retval) { + console.log("Original return value: " + retval.toInt32()); + retval.replace(1); // Force return value to true (non-zero) + console.log("Modified return value to: " + retval.toInt32()); + } + }); + } else { + console.log("l2c_fcr_chk_chan_modes not found!"); + } +}); diff --git a/android/app/src/main/java/me/kavishdevar/aln/LongPress.kt b/android/app/src/main/java/me/kavishdevar/aln/LongPress.kt new file mode 100644 index 0000000..cb2415f --- /dev/null +++ b/android/app/src/main/java/me/kavishdevar/aln/LongPress.kt @@ -0,0 +1,48 @@ +package me.kavishdevar.aln + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.material3.Checkbox +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.navigation.NavController + +@Composable +fun LongPress(navController: NavController) { + val offChecked = remember { mutableStateOf(false) } + val ncChecked = remember { mutableStateOf(false) } + val transparencyChecked = remember { mutableStateOf(false) } + val adaptiveChecked = remember { mutableStateOf(false) } + Column { + Row { + Text("Off") + Checkbox( + checked = offChecked.value, + onCheckedChange = { offChecked.value = it }, + ) + } + Row { + Text("Noise Cancellation") + Checkbox( + checked = ncChecked.value, + onCheckedChange = { ncChecked.value = it }, + ) + } + Row { + Text("Transparency") + Checkbox( + checked = transparencyChecked.value, + onCheckedChange = { transparencyChecked.value = it }, + ) + } + Row { + Text("Off") + Checkbox( + checked = adaptiveChecked.value, + onCheckedChange = { adaptiveChecked.value = it }, + ) + } + } +} \ No newline at end of file diff --git a/android/app/src/main/java/me/kavishdevar/aln/MainActivity.kt b/android/app/src/main/java/me/kavishdevar/aln/MainActivity.kt index 4e77d01..047850e 100644 --- a/android/app/src/main/java/me/kavishdevar/aln/MainActivity.kt +++ b/android/app/src/main/java/me/kavishdevar/aln/MainActivity.kt @@ -146,6 +146,9 @@ fun Main() { composable("debug") { DebugScreen(navController = navController) } + composable("long_press") { + LongPress(navController = navController) + } } serviceConnection = remember {