diff --git a/node_modules/react-native-hw-keyboard-event/android/build.gradle b/node_modules/react-native-hw-keyboard-event/android/build.gradle index a70aace..9c2c876 100644 --- a/node_modules/react-native-hw-keyboard-event/android/build.gradle +++ b/node_modules/react-native-hw-keyboard-event/android/build.gradle @@ -1,11 +1,11 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 28 + compileSdkVersion rootProject.hasProperty('compileSdkVersion') ? rootProject.compileSdkVersion : 28 defaultConfig { - minSdkVersion 16 - targetSdkVersion 28 + minSdkVersion rootProject.hasProperty('minSdkVersion') ? rootProject.minSdkVersion : 21 + targetSdkVersion rootProject.hasProperty('targetSdkVersion') ? rootProject.targetSdkVersion : 28 versionCode 1 versionName "1.0" ndk { diff --git a/node_modules/react-native-hw-keyboard-event/index.d.ts b/node_modules/react-native-hw-keyboard-event/index.d.ts index 91999f1..116b725 100644 --- a/node_modules/react-native-hw-keyboard-event/index.d.ts +++ b/node_modules/react-native-hw-keyboard-event/index.d.ts @@ -1,4 +1,5 @@ +import {EventSubscription} from "react-native"; + declare module "react-native-hw-keyboard-event"; -export function onHWKeyPressed(hwKeyEvent: { pressedKey: string }): void; -export function removeOnHWKeyPressed(): void; +export function onHWKeyPressed(callback: (hwKeyEvent: { pressedKey: string }) => void): EventSubscription; diff --git a/node_modules/react-native-hw-keyboard-event/index.js b/node_modules/react-native-hw-keyboard-event/index.js index 30d4dd9..3dcff70 100644 --- a/node_modules/react-native-hw-keyboard-event/index.js +++ b/node_modules/react-native-hw-keyboard-event/index.js @@ -7,28 +7,9 @@ import { class HWKeyboardEvent { onHWKeyPressed(cb) { - this.removeOnHWKeyPressed(true); - if (!this.cbStack) { - this.cbStack = []; - } - this.cbStack.push(cb); let keyEvent = new NativeEventEmitter(NativeModules.RNHWKeyboardEvent); - this.listener = keyEvent.addListener("onHWKeyPressed", cb); - } - - removeOnHWKeyPressed(newCbAdded) { - if (this.listener) { - this.listener.remove(); - this.listener = null; - } - if (!this.cbStack) return; - if (!newCbAdded) { - this.cbStack.pop(); - if (this.cbStack.length > 0) { - // re-add removed listeners in case there where any - this.onHWKeyPressed(this.cbStack[this.cbStack.length - 1]); - } - } + const listener = keyEvent.addListener("onHWKeyPressed", cb); + return listener; } }