Skip to content

Commit 7f8be6c

Browse files
committed
use single SystemBridge implementation
1 parent ba68eaf commit 7f8be6c

File tree

3 files changed

+17
-24
lines changed

3 files changed

+17
-24
lines changed

app/src/main/java/io/github/sds100/keymapper/sysbridge/service/SystemBridge.kt

Lines changed: 0 additions & 16 deletions
This file was deleted.

evdev/src/main/rust/evdev_manager/jni/src/jni_bridge.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ fn get_jni_observer() -> &'static EvdevJniObserver {
1919

2020
/// MUST only be called once in the lifetime of the process.
2121
#[no_mangle]
22-
pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_BaseSystemBridge_initEvdevManager(
22+
pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_SystemBridge_initEvdevManager(
2323
env: JNIEnv,
2424
this: JObject,
2525
) {
@@ -38,10 +38,10 @@ pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_BaseSys
3838
// Get the JavaVM
3939
let jvm = env.get_java_vm().expect("Failed to get JavaVM");
4040

41-
// Create a global reference to the BaseSystemBridge instance
41+
// Create a global reference to the SystemBridge instance
4242
let system_bridge = env
4343
.new_global_ref(this)
44-
.expect("Failed to create global reference to BaseSystemBridge");
44+
.expect("Failed to create global reference to SystemBridge");
4545

4646
// Initialize the JNI observer
4747
let key_layout_manager = KeyLayoutMapManager::get();
@@ -63,7 +63,7 @@ pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_BaseSys
6363
}
6464

6565
#[no_mangle]
66-
pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_BaseSystemBridge_destroyEvdevManager(
66+
pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_SystemBridge_destroyEvdevManager(
6767
_env: JNIEnv,
6868
_class: JClass,
6969
) {
@@ -77,7 +77,7 @@ pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_BaseSys
7777

7878
/// Set the list of grabbed devices. Takes an array of EvdevDeviceInfo and returns an array of GrabbedDeviceHandle.
7979
#[no_mangle]
80-
pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_BaseSystemBridge_setGrabbedDevicesNative(
80+
pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_SystemBridge_setGrabbedDevicesNative(
8181
mut env: JNIEnv,
8282
_class: JClass,
8383
j_devices: jobjectArray,
@@ -119,7 +119,7 @@ pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_BaseSys
119119

120120
/// Write an event to a grabbed device using its device ID
121121
#[no_mangle]
122-
pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_BaseSystemBridge_writeEvdevEventNative(
122+
pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_SystemBridge_writeEvdevEventNative(
123123
_env: JNIEnv,
124124
_class: JClass,
125125
j_device_id: jint,
@@ -134,7 +134,7 @@ pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_BaseSys
134134

135135
/// Get all available evdev devices (returns EvdevDeviceInfo array)
136136
#[no_mangle]
137-
pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_BaseSystemBridge_getEvdevDevicesNative(
137+
pub extern "system" fn Java_io_github_sds100_keymapper_sysbridge_service_SystemBridge_getEvdevDevicesNative(
138138
mut env: JNIEnv,
139139
_class: JClass,
140140
) -> jobjectArray {

sysbridge/src/main/java/io/github/sds100/keymapper/sysbridge/service/BaseSystemBridge.kt renamed to sysbridge/src/main/java/io/github/sds100/keymapper/sysbridge/service/SystemBridge.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ import rikka.hidden.compat.UserManagerApis
6464
import rikka.hidden.compat.adapter.ProcessObserverAdapter
6565

6666
@SuppressLint("LogNotTimber")
67-
abstract class BaseSystemBridge : ISystemBridge.Stub() {
67+
class SystemBridge : ISystemBridge.Stub() {
6868

6969
@Suppress("KotlinJniMissingFunction")
7070
external fun setGrabbedDevicesNative(
@@ -133,6 +133,14 @@ abstract class BaseSystemBridge : ISystemBridge.Stub() {
133133
private const val DATA_ENABLED_REASON_USER: Int = 0
134134
private const val TETHERING_WIFI: Int = 0
135135

136+
@JvmStatic
137+
fun main(args: Array<String>) {
138+
@Suppress("DEPRECATION")
139+
Looper.prepareMainLooper()
140+
SystemBridge()
141+
Looper.loop()
142+
}
143+
136144
private fun waitSystemService(name: String?) {
137145
var count = 0
138146

@@ -444,6 +452,7 @@ abstract class BaseSystemBridge : ISystemBridge.Stub() {
444452
return Process.myUid()
445453
}
446454

455+
@RequiresApi(Build.VERSION_CODES.R)
447456
override fun grantPermission(permission: String?, deviceId: Int) {
448457
val userId = UserHandleUtils.getCallingUserId()
449458

0 commit comments

Comments
 (0)