From 99c5e43fedee1a7d7956181ca9f6a692903aab7b Mon Sep 17 00:00:00 2001 From: bastengao Date: Sat, 25 Feb 2023 16:26:09 +0800 Subject: [PATCH 1/7] Format code --- src/index.tsx | 57 +++++++++++++++++++++++++------------------ src/native_module.tsx | 37 ++++++++++++++++------------ src/usb_serial.tsx | 20 +++++++-------- 3 files changed, 65 insertions(+), 49 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index 789900d..ce79d1a 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -3,7 +3,7 @@ import UsbSerialportForAndroid, { Device } from './native_module'; import UsbSerial from './usb_serial'; export { Device, UsbSerial }; -export { Listener, EventData } from "./usb_serial"; +export { Listener, EventData } from './usb_serial'; const { CODE_DEVICE_NOT_FOND, @@ -27,7 +27,9 @@ export const Codes = { DEVICE_NOT_OPEN_OR_CLOSED: CODE_DEVICE_NOT_OPEN_OR_CLOSED, }; -const eventEmitter = new NativeEventEmitter(NativeModules.UsbSerialportForAndroid); +const eventEmitter = new NativeEventEmitter( + NativeModules.UsbSerialportForAndroid +); export interface OpenOptions { baudRate: number; @@ -48,10 +50,10 @@ export interface Manager { list(): Promise; /** * Return true if already has permission, otherwise will request permission and return false. - * + * * May return error with these codes: * * DEVICE_NOT_FOND - * + * * See {@link Codes} * @param deviceId */ @@ -59,9 +61,9 @@ export interface Manager { /** * May return error with these codes: * * DEVICE_NOT_FOND - * + * * See {@link Codes} - * @param deviceId + * @param deviceId */ hasPermission(deviceId: number): Promise; /** @@ -71,10 +73,10 @@ export interface Manager { * * NOT_ENOUGH_PORTS * * PERMISSION_DENIED * * OPEN_FAILED - * + * * See {@link Codes} - * @param deviceId - * @param options + * @param deviceId + * @param options */ open(deviceId: number, options: OpenOptions): Promise; } @@ -85,8 +87,8 @@ const defaultManager: Manager = { }, async tryRequestPermission(deviceId: number): Promise { - const result = await UsbSerialportForAndroid.tryRequestPermission(deviceId); - return result === 1; + const result = await UsbSerialportForAndroid.tryRequestPermission(deviceId); + return result === 1; }, hasPermission(deviceId: number): Promise { @@ -94,20 +96,27 @@ const defaultManager: Manager = { }, async open(deviceId: number, options: OpenOptions): Promise { - await UsbSerialportForAndroid.open(deviceId, options.baudRate, options.dataBits, options.stopBits, options.parity); + await UsbSerialportForAndroid.open( + deviceId, + options.baudRate, + options.dataBits, + options.stopBits, + options.parity + ); return new UsbSerial(deviceId, eventEmitter); - } + }, }; -export const UsbSerialManager: Manager = (Platform.OS == 'android') - ? defaultManager - : (new Proxy( - {}, - { - get() { - return () => { - throw new Error(`Not support ${Platform.OS}`); +export const UsbSerialManager: Manager = + Platform.OS === 'android' + ? defaultManager + : (new Proxy( + {}, + { + get() { + return () => { + throw new Error(`Not support ${Platform.OS}`); + }; + }, } - }, - } - )) as Manager; + ) as Manager); diff --git a/src/native_module.tsx b/src/native_module.tsx index 2d84939..bba33d4 100644 --- a/src/native_module.tsx +++ b/src/native_module.tsx @@ -1,10 +1,10 @@ import { NativeModules, Platform } from 'react-native'; const LINKING_ERROR = -`The package 'react-native-usb-serialport-for-android' doesn't seem to be linked. Make sure: \n\n` + -Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) + -'- You rebuilt the app after installing the package\n' + -'- You are not using Expo managed workflow\n'; + `The package 'react-native-usb-serialport-for-android' doesn't seem to be linked. Make sure: \n\n` + + Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) + + '- You rebuilt the app after installing the package\n' + + '- You are not using Expo managed workflow\n'; export interface Device { readonly deviceId: number; @@ -17,20 +17,27 @@ interface UsbSerialportForAndroidAPI { // return 1 if already has permission, 0 will request permission tryRequestPermission(deviceId: number): Promise; hasPermission(deviceId: number): Promise; - open(deviceId: number, baudRate: number, dataBits: number, stopBits: number, parity: number): Promise; + open( + deviceId: number, + baudRate: number, + dataBits: number, + stopBits: number, + parity: number + ): Promise; send(deviceId: number, hexStr: string): Promise; close(deviceId: number): Promise; } -const UsbSerialportForAndroid: UsbSerialportForAndroidAPI = NativeModules.UsbSerialportForAndroid -? NativeModules.UsbSerialportForAndroid -: new Proxy( - {}, - { - get() { - throw new Error(LINKING_ERROR); - }, - } - ); +const UsbSerialportForAndroid: UsbSerialportForAndroidAPI = + NativeModules.UsbSerialportForAndroid + ? NativeModules.UsbSerialportForAndroid + : new Proxy( + {}, + { + get() { + throw new Error(LINKING_ERROR); + }, + } + ); export default UsbSerialportForAndroid; diff --git a/src/usb_serial.tsx b/src/usb_serial.tsx index b3dea48..44e6fbd 100644 --- a/src/usb_serial.tsx +++ b/src/usb_serial.tsx @@ -13,7 +13,7 @@ export type Listener = (data: EventData) => void; export default class UsbSerial { deviceId: number; private eventEmitter: EventEmitter; - private listeners: Listener[] + private listeners: Listener[]; constructor(deviceId: number, eventEmitter: EventEmitter) { this.deviceId = deviceId; @@ -23,14 +23,14 @@ export default class UsbSerial { /** * Send data with hex string. - * + * * May return error with these codes: * * DEVICE_NOT_OPEN * * SEND_FAILED - * + * * See {@link Codes} - * @param hexStr - * @returns + * @param hexStr + * @returns */ send(hexStr: string): Promise { return UsbSerialportForAndroid.send(this.deviceId, hexStr); @@ -46,19 +46,19 @@ export default class UsbSerial { } listener(event); - } + }; this.listeners.push(listenerProxy); - return this.eventEmitter.addListener(DataReceivedEvent, listenerProxy) + return this.eventEmitter.addListener(DataReceivedEvent, listenerProxy); } /** - * + * * May return error with these codes: * * DEVICE_NOT_OPEN_OR_CLOSED - * + * * See {@link Codes} - * @returns + * @returns Promise */ close(): Promise { for (const listener of this.listeners) { From d81161ca1614a50319f10240de8ec0de19341cb8 Mon Sep 17 00:00:00 2001 From: bastengao Date: Sat, 25 Feb 2023 16:34:42 +0800 Subject: [PATCH 2/7] Use EventSubscription.remove instead of removeListener --- src/usb_serial.tsx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/usb_serial.tsx b/src/usb_serial.tsx index 44e6fbd..8c320f9 100644 --- a/src/usb_serial.tsx +++ b/src/usb_serial.tsx @@ -1,4 +1,4 @@ -import type { EventEmitter } from 'react-native'; +import type { EventEmitter, EventSubscription } from 'react-native'; import UsbSerialportForAndroid from './native_module'; const DataReceivedEvent = 'usbSerialPortDataReceived'; @@ -14,11 +14,13 @@ export default class UsbSerial { deviceId: number; private eventEmitter: EventEmitter; private listeners: Listener[]; + private subscriptions: EventSubscription[]; constructor(deviceId: number, eventEmitter: EventEmitter) { this.deviceId = deviceId; this.eventEmitter = eventEmitter; this.listeners = []; + this.subscriptions = []; } /** @@ -36,6 +38,12 @@ export default class UsbSerial { return UsbSerialportForAndroid.send(this.deviceId, hexStr); } + /** + * Listen to data received event. + * + * @param listener + * @returns EventSubscription + */ onReceived(listener: Listener) { const listenerProxy = (event: EventData) => { if (event.deviceId !== this.deviceId) { @@ -49,7 +57,9 @@ export default class UsbSerial { }; this.listeners.push(listenerProxy); - return this.eventEmitter.addListener(DataReceivedEvent, listenerProxy); + const sub = this.eventEmitter.addListener(DataReceivedEvent, listenerProxy); + this.subscriptions.push(sub); + return sub; } /** @@ -61,8 +71,8 @@ export default class UsbSerial { * @returns Promise */ close(): Promise { - for (const listener of this.listeners) { - this.eventEmitter.removeListener(DataReceivedEvent, listener); + for (const sub of this.subscriptions) { + sub.remove(); } return UsbSerialportForAndroid.close(this.deviceId); } From f11d8b80345191ae2bcdf7362fb154ba0063a427 Mon Sep 17 00:00:00 2001 From: bastengao Date: Sat, 25 Feb 2023 16:42:59 +0800 Subject: [PATCH 3/7] Update docs --- docs/assets/search.js | 2 +- docs/classes/UsbSerial.html | 10 +++++++--- docs/enums/Parity.html | 2 +- docs/interfaces/Device.html | 2 +- docs/interfaces/EventData.html | 2 +- docs/interfaces/Manager.html | 6 +++--- docs/interfaces/OpenOptions.html | 2 +- docs/modules.html | 2 +- 8 files changed, 16 insertions(+), 12 deletions(-) diff --git a/docs/assets/search.js b/docs/assets/search.js index eb8a363..28823c4 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = {"kinds":{"8":"Enumeration","16":"Enumeration member","32":"Variable","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":32,"name":"Codes","url":"modules.html#Codes","classes":"tsd-kind-variable"},{"id":1,"kind":65536,"name":"__type","url":"modules.html#Codes.__type","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"Codes"},{"id":2,"kind":1024,"name":"DEVICE_NOT_FOND","url":"modules.html#Codes.__type.DEVICE_NOT_FOND","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":3,"kind":1024,"name":"DRIVER_NOT_FOND","url":"modules.html#Codes.__type.DRIVER_NOT_FOND","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":4,"kind":1024,"name":"NOT_ENOUGH_PORTS","url":"modules.html#Codes.__type.NOT_ENOUGH_PORTS","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":5,"kind":1024,"name":"PERMISSION_DENIED","url":"modules.html#Codes.__type.PERMISSION_DENIED","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":6,"kind":1024,"name":"OPEN_FAILED","url":"modules.html#Codes.__type.OPEN_FAILED","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":7,"kind":1024,"name":"DEVICE_NOT_OPEN","url":"modules.html#Codes.__type.DEVICE_NOT_OPEN","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":8,"kind":1024,"name":"SEND_FAILED","url":"modules.html#Codes.__type.SEND_FAILED","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":9,"kind":1024,"name":"DEVICE_NOT_OPEN_OR_CLOSED","url":"modules.html#Codes.__type.DEVICE_NOT_OPEN_OR_CLOSED","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":10,"kind":256,"name":"OpenOptions","url":"interfaces/OpenOptions.html","classes":"tsd-kind-interface"},{"id":11,"kind":1024,"name":"baudRate","url":"interfaces/OpenOptions.html#baudRate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"OpenOptions"},{"id":12,"kind":1024,"name":"parity","url":"interfaces/OpenOptions.html#parity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"OpenOptions"},{"id":13,"kind":1024,"name":"dataBits","url":"interfaces/OpenOptions.html#dataBits","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"OpenOptions"},{"id":14,"kind":1024,"name":"stopBits","url":"interfaces/OpenOptions.html#stopBits","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"OpenOptions"},{"id":15,"kind":8,"name":"Parity","url":"enums/Parity.html","classes":"tsd-kind-enum"},{"id":16,"kind":16,"name":"None","url":"enums/Parity.html#None","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Parity"},{"id":17,"kind":16,"name":"Odd","url":"enums/Parity.html#Odd","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Parity"},{"id":18,"kind":16,"name":"Even","url":"enums/Parity.html#Even","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Parity"},{"id":19,"kind":16,"name":"Mark","url":"enums/Parity.html#Mark","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Parity"},{"id":20,"kind":16,"name":"Space","url":"enums/Parity.html#Space","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Parity"},{"id":21,"kind":256,"name":"Manager","url":"interfaces/Manager.html","classes":"tsd-kind-interface"},{"id":22,"kind":2048,"name":"list","url":"interfaces/Manager.html#list","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Manager"},{"id":23,"kind":2048,"name":"tryRequestPermission","url":"interfaces/Manager.html#tryRequestPermission","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Manager"},{"id":24,"kind":2048,"name":"hasPermission","url":"interfaces/Manager.html#hasPermission","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Manager"},{"id":25,"kind":2048,"name":"open","url":"interfaces/Manager.html#open","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Manager"},{"id":26,"kind":32,"name":"UsbSerialManager","url":"modules.html#UsbSerialManager","classes":"tsd-kind-variable"},{"id":27,"kind":256,"name":"Device","url":"interfaces/Device.html","classes":"tsd-kind-interface"},{"id":28,"kind":1024,"name":"deviceId","url":"interfaces/Device.html#deviceId","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Device"},{"id":29,"kind":1024,"name":"vendorId","url":"interfaces/Device.html#vendorId","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Device"},{"id":30,"kind":1024,"name":"productId","url":"interfaces/Device.html#productId","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Device"},{"id":31,"kind":128,"name":"UsbSerial","url":"classes/UsbSerial.html","classes":"tsd-kind-class"},{"id":32,"kind":512,"name":"constructor","url":"classes/UsbSerial.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"UsbSerial"},{"id":33,"kind":1024,"name":"deviceId","url":"classes/UsbSerial.html#deviceId","classes":"tsd-kind-property tsd-parent-kind-class","parent":"UsbSerial"},{"id":34,"kind":1024,"name":"eventEmitter","url":"classes/UsbSerial.html#eventEmitter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"UsbSerial"},{"id":35,"kind":1024,"name":"listeners","url":"classes/UsbSerial.html#listeners","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"UsbSerial"},{"id":36,"kind":2048,"name":"send","url":"classes/UsbSerial.html#send","classes":"tsd-kind-method tsd-parent-kind-class","parent":"UsbSerial"},{"id":37,"kind":2048,"name":"onReceived","url":"classes/UsbSerial.html#onReceived","classes":"tsd-kind-method tsd-parent-kind-class","parent":"UsbSerial"},{"id":38,"kind":2048,"name":"close","url":"classes/UsbSerial.html#close","classes":"tsd-kind-method tsd-parent-kind-class","parent":"UsbSerial"},{"id":39,"kind":4194304,"name":"Listener","url":"modules.html#Listener","classes":"tsd-kind-type-alias"},{"id":40,"kind":65536,"name":"__type","url":"modules.html#Listener.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"Listener"},{"id":41,"kind":256,"name":"EventData","url":"interfaces/EventData.html","classes":"tsd-kind-interface"},{"id":42,"kind":1024,"name":"deviceId","url":"interfaces/EventData.html#deviceId","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"EventData"},{"id":43,"kind":1024,"name":"data","url":"interfaces/EventData.html#data","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"EventData"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,28.904]],["parent/0",[]],["name/1",[1,28.904]],["parent/1",[0,2.615]],["name/2",[2,34.012]],["parent/2",[3,1.508]],["name/3",[4,34.012]],["parent/3",[3,1.508]],["name/4",[5,34.012]],["parent/4",[3,1.508]],["name/5",[6,34.012]],["parent/5",[3,1.508]],["name/6",[7,34.012]],["parent/6",[3,1.508]],["name/7",[8,34.012]],["parent/7",[3,1.508]],["name/8",[9,34.012]],["parent/8",[3,1.508]],["name/9",[10,34.012]],["parent/9",[3,1.508]],["name/10",[11,21.019]],["parent/10",[]],["name/11",[12,34.012]],["parent/11",[11,1.902]],["name/12",[13,17.918]],["parent/12",[11,1.902]],["name/13",[14,34.012]],["parent/13",[11,1.902]],["name/14",[15,34.012]],["parent/14",[11,1.902]],["name/15",[13,17.918]],["parent/15",[]],["name/16",[16,34.012]],["parent/16",[13,1.621]],["name/17",[17,34.012]],["parent/17",[13,1.621]],["name/18",[18,34.012]],["parent/18",[13,1.621]],["name/19",[19,34.012]],["parent/19",[13,1.621]],["name/20",[20,34.012]],["parent/20",[13,1.621]],["name/21",[21,21.019]],["parent/21",[]],["name/22",[22,34.012]],["parent/22",[21,1.902]],["name/23",[23,34.012]],["parent/23",[21,1.902]],["name/24",[24,34.012]],["parent/24",[21,1.902]],["name/25",[25,34.012]],["parent/25",[21,1.902]],["name/26",[26,34.012]],["parent/26",[]],["name/27",[27,23.026]],["parent/27",[]],["name/28",[28,25.539]],["parent/28",[27,2.083]],["name/29",[29,34.012]],["parent/29",[27,2.083]],["name/30",[30,34.012]],["parent/30",[27,2.083]],["name/31",[31,16.666]],["parent/31",[]],["name/32",[32,34.012]],["parent/32",[31,1.508]],["name/33",[28,25.539]],["parent/33",[31,1.508]],["name/34",[33,34.012]],["parent/34",[31,1.508]],["name/35",[34,34.012]],["parent/35",[31,1.508]],["name/36",[35,34.012]],["parent/36",[31,1.508]],["name/37",[36,34.012]],["parent/37",[31,1.508]],["name/38",[37,34.012]],["parent/38",[31,1.508]],["name/39",[38,28.904]],["parent/39",[]],["name/40",[1,28.904]],["parent/40",[38,2.615]],["name/41",[39,25.539]],["parent/41",[]],["name/42",[28,25.539]],["parent/42",[39,2.311]],["name/43",[40,34.012]],["parent/43",[39,2.311]]],"invertedIndex":[["__type",{"_index":1,"name":{"1":{},"40":{}},"parent":{}}],["baudrate",{"_index":12,"name":{"11":{}},"parent":{}}],["close",{"_index":37,"name":{"38":{}},"parent":{}}],["codes",{"_index":0,"name":{"0":{}},"parent":{"1":{}}}],["codes.__type",{"_index":3,"name":{},"parent":{"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{}}}],["constructor",{"_index":32,"name":{"32":{}},"parent":{}}],["data",{"_index":40,"name":{"43":{}},"parent":{}}],["databits",{"_index":14,"name":{"13":{}},"parent":{}}],["device",{"_index":27,"name":{"27":{}},"parent":{"28":{},"29":{},"30":{}}}],["device_not_fond",{"_index":2,"name":{"2":{}},"parent":{}}],["device_not_open",{"_index":8,"name":{"7":{}},"parent":{}}],["device_not_open_or_closed",{"_index":10,"name":{"9":{}},"parent":{}}],["deviceid",{"_index":28,"name":{"28":{},"33":{},"42":{}},"parent":{}}],["driver_not_fond",{"_index":4,"name":{"3":{}},"parent":{}}],["even",{"_index":18,"name":{"18":{}},"parent":{}}],["eventdata",{"_index":39,"name":{"41":{}},"parent":{"42":{},"43":{}}}],["eventemitter",{"_index":33,"name":{"34":{}},"parent":{}}],["haspermission",{"_index":24,"name":{"24":{}},"parent":{}}],["list",{"_index":22,"name":{"22":{}},"parent":{}}],["listener",{"_index":38,"name":{"39":{}},"parent":{"40":{}}}],["listeners",{"_index":34,"name":{"35":{}},"parent":{}}],["manager",{"_index":21,"name":{"21":{}},"parent":{"22":{},"23":{},"24":{},"25":{}}}],["mark",{"_index":19,"name":{"19":{}},"parent":{}}],["none",{"_index":16,"name":{"16":{}},"parent":{}}],["not_enough_ports",{"_index":5,"name":{"4":{}},"parent":{}}],["odd",{"_index":17,"name":{"17":{}},"parent":{}}],["onreceived",{"_index":36,"name":{"37":{}},"parent":{}}],["open",{"_index":25,"name":{"25":{}},"parent":{}}],["open_failed",{"_index":7,"name":{"6":{}},"parent":{}}],["openoptions",{"_index":11,"name":{"10":{}},"parent":{"11":{},"12":{},"13":{},"14":{}}}],["parity",{"_index":13,"name":{"12":{},"15":{}},"parent":{"16":{},"17":{},"18":{},"19":{},"20":{}}}],["permission_denied",{"_index":6,"name":{"5":{}},"parent":{}}],["productid",{"_index":30,"name":{"30":{}},"parent":{}}],["send",{"_index":35,"name":{"36":{}},"parent":{}}],["send_failed",{"_index":9,"name":{"8":{}},"parent":{}}],["space",{"_index":20,"name":{"20":{}},"parent":{}}],["stopbits",{"_index":15,"name":{"14":{}},"parent":{}}],["tryrequestpermission",{"_index":23,"name":{"23":{}},"parent":{}}],["usbserial",{"_index":31,"name":{"31":{}},"parent":{"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{}}}],["usbserialmanager",{"_index":26,"name":{"26":{}},"parent":{}}],["vendorid",{"_index":29,"name":{"29":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file +window.searchData = {"kinds":{"8":"Enumeration","16":"Enumeration member","32":"Variable","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":32,"name":"Codes","url":"modules.html#Codes","classes":"tsd-kind-variable"},{"id":1,"kind":65536,"name":"__type","url":"modules.html#Codes.__type","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"Codes"},{"id":2,"kind":1024,"name":"DEVICE_NOT_FOND","url":"modules.html#Codes.__type.DEVICE_NOT_FOND","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":3,"kind":1024,"name":"DRIVER_NOT_FOND","url":"modules.html#Codes.__type.DRIVER_NOT_FOND","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":4,"kind":1024,"name":"NOT_ENOUGH_PORTS","url":"modules.html#Codes.__type.NOT_ENOUGH_PORTS","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":5,"kind":1024,"name":"PERMISSION_DENIED","url":"modules.html#Codes.__type.PERMISSION_DENIED","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":6,"kind":1024,"name":"OPEN_FAILED","url":"modules.html#Codes.__type.OPEN_FAILED","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":7,"kind":1024,"name":"DEVICE_NOT_OPEN","url":"modules.html#Codes.__type.DEVICE_NOT_OPEN","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":8,"kind":1024,"name":"SEND_FAILED","url":"modules.html#Codes.__type.SEND_FAILED","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":9,"kind":1024,"name":"DEVICE_NOT_OPEN_OR_CLOSED","url":"modules.html#Codes.__type.DEVICE_NOT_OPEN_OR_CLOSED","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Codes.__type"},{"id":10,"kind":256,"name":"OpenOptions","url":"interfaces/OpenOptions.html","classes":"tsd-kind-interface"},{"id":11,"kind":1024,"name":"baudRate","url":"interfaces/OpenOptions.html#baudRate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"OpenOptions"},{"id":12,"kind":1024,"name":"parity","url":"interfaces/OpenOptions.html#parity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"OpenOptions"},{"id":13,"kind":1024,"name":"dataBits","url":"interfaces/OpenOptions.html#dataBits","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"OpenOptions"},{"id":14,"kind":1024,"name":"stopBits","url":"interfaces/OpenOptions.html#stopBits","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"OpenOptions"},{"id":15,"kind":8,"name":"Parity","url":"enums/Parity.html","classes":"tsd-kind-enum"},{"id":16,"kind":16,"name":"None","url":"enums/Parity.html#None","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Parity"},{"id":17,"kind":16,"name":"Odd","url":"enums/Parity.html#Odd","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Parity"},{"id":18,"kind":16,"name":"Even","url":"enums/Parity.html#Even","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Parity"},{"id":19,"kind":16,"name":"Mark","url":"enums/Parity.html#Mark","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Parity"},{"id":20,"kind":16,"name":"Space","url":"enums/Parity.html#Space","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Parity"},{"id":21,"kind":256,"name":"Manager","url":"interfaces/Manager.html","classes":"tsd-kind-interface"},{"id":22,"kind":2048,"name":"list","url":"interfaces/Manager.html#list","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Manager"},{"id":23,"kind":2048,"name":"tryRequestPermission","url":"interfaces/Manager.html#tryRequestPermission","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Manager"},{"id":24,"kind":2048,"name":"hasPermission","url":"interfaces/Manager.html#hasPermission","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Manager"},{"id":25,"kind":2048,"name":"open","url":"interfaces/Manager.html#open","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Manager"},{"id":26,"kind":32,"name":"UsbSerialManager","url":"modules.html#UsbSerialManager","classes":"tsd-kind-variable"},{"id":27,"kind":256,"name":"Device","url":"interfaces/Device.html","classes":"tsd-kind-interface"},{"id":28,"kind":1024,"name":"deviceId","url":"interfaces/Device.html#deviceId","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Device"},{"id":29,"kind":1024,"name":"vendorId","url":"interfaces/Device.html#vendorId","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Device"},{"id":30,"kind":1024,"name":"productId","url":"interfaces/Device.html#productId","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Device"},{"id":31,"kind":128,"name":"UsbSerial","url":"classes/UsbSerial.html","classes":"tsd-kind-class"},{"id":32,"kind":512,"name":"constructor","url":"classes/UsbSerial.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"UsbSerial"},{"id":33,"kind":1024,"name":"deviceId","url":"classes/UsbSerial.html#deviceId","classes":"tsd-kind-property tsd-parent-kind-class","parent":"UsbSerial"},{"id":34,"kind":1024,"name":"eventEmitter","url":"classes/UsbSerial.html#eventEmitter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"UsbSerial"},{"id":35,"kind":1024,"name":"listeners","url":"classes/UsbSerial.html#listeners","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"UsbSerial"},{"id":36,"kind":1024,"name":"subscriptions","url":"classes/UsbSerial.html#subscriptions","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"UsbSerial"},{"id":37,"kind":2048,"name":"send","url":"classes/UsbSerial.html#send","classes":"tsd-kind-method tsd-parent-kind-class","parent":"UsbSerial"},{"id":38,"kind":2048,"name":"onReceived","url":"classes/UsbSerial.html#onReceived","classes":"tsd-kind-method tsd-parent-kind-class","parent":"UsbSerial"},{"id":39,"kind":2048,"name":"close","url":"classes/UsbSerial.html#close","classes":"tsd-kind-method tsd-parent-kind-class","parent":"UsbSerial"},{"id":40,"kind":4194304,"name":"Listener","url":"modules.html#Listener","classes":"tsd-kind-type-alias"},{"id":41,"kind":65536,"name":"__type","url":"modules.html#Listener.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"Listener"},{"id":42,"kind":256,"name":"EventData","url":"interfaces/EventData.html","classes":"tsd-kind-interface"},{"id":43,"kind":1024,"name":"deviceId","url":"interfaces/EventData.html#deviceId","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"EventData"},{"id":44,"kind":1024,"name":"data","url":"interfaces/EventData.html#data","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"EventData"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,29.124]],["parent/0",[]],["name/1",[1,29.124]],["parent/1",[0,2.642]],["name/2",[2,34.232]],["parent/2",[3,1.532]],["name/3",[4,34.232]],["parent/3",[3,1.532]],["name/4",[5,34.232]],["parent/4",[3,1.532]],["name/5",[6,34.232]],["parent/5",[3,1.532]],["name/6",[7,34.232]],["parent/6",[3,1.532]],["name/7",[8,34.232]],["parent/7",[3,1.532]],["name/8",[9,34.232]],["parent/8",[3,1.532]],["name/9",[10,34.232]],["parent/9",[3,1.532]],["name/10",[11,21.239]],["parent/10",[]],["name/11",[12,34.232]],["parent/11",[11,1.927]],["name/12",[13,18.137]],["parent/12",[11,1.927]],["name/13",[14,34.232]],["parent/13",[11,1.927]],["name/14",[15,34.232]],["parent/14",[11,1.927]],["name/15",[13,18.137]],["parent/15",[]],["name/16",[16,34.232]],["parent/16",[13,1.645]],["name/17",[17,34.232]],["parent/17",[13,1.645]],["name/18",[18,34.232]],["parent/18",[13,1.645]],["name/19",[19,34.232]],["parent/19",[13,1.645]],["name/20",[20,34.232]],["parent/20",[13,1.645]],["name/21",[21,21.239]],["parent/21",[]],["name/22",[22,34.232]],["parent/22",[21,1.927]],["name/23",[23,34.232]],["parent/23",[21,1.927]],["name/24",[24,34.232]],["parent/24",[21,1.927]],["name/25",[25,34.232]],["parent/25",[21,1.927]],["name/26",[26,34.232]],["parent/26",[]],["name/27",[27,23.246]],["parent/27",[]],["name/28",[28,25.759]],["parent/28",[27,2.109]],["name/29",[29,34.232]],["parent/29",[27,2.109]],["name/30",[30,34.232]],["parent/30",[27,2.109]],["name/31",[31,15.773]],["parent/31",[]],["name/32",[32,34.232]],["parent/32",[31,1.431]],["name/33",[28,25.759]],["parent/33",[31,1.431]],["name/34",[33,34.232]],["parent/34",[31,1.431]],["name/35",[34,34.232]],["parent/35",[31,1.431]],["name/36",[35,34.232]],["parent/36",[31,1.431]],["name/37",[36,34.232]],["parent/37",[31,1.431]],["name/38",[37,34.232]],["parent/38",[31,1.431]],["name/39",[38,34.232]],["parent/39",[31,1.431]],["name/40",[39,29.124]],["parent/40",[]],["name/41",[1,29.124]],["parent/41",[39,2.642]],["name/42",[40,25.759]],["parent/42",[]],["name/43",[28,25.759]],["parent/43",[40,2.337]],["name/44",[41,34.232]],["parent/44",[40,2.337]]],"invertedIndex":[["__type",{"_index":1,"name":{"1":{},"41":{}},"parent":{}}],["baudrate",{"_index":12,"name":{"11":{}},"parent":{}}],["close",{"_index":38,"name":{"39":{}},"parent":{}}],["codes",{"_index":0,"name":{"0":{}},"parent":{"1":{}}}],["codes.__type",{"_index":3,"name":{},"parent":{"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{}}}],["constructor",{"_index":32,"name":{"32":{}},"parent":{}}],["data",{"_index":41,"name":{"44":{}},"parent":{}}],["databits",{"_index":14,"name":{"13":{}},"parent":{}}],["device",{"_index":27,"name":{"27":{}},"parent":{"28":{},"29":{},"30":{}}}],["device_not_fond",{"_index":2,"name":{"2":{}},"parent":{}}],["device_not_open",{"_index":8,"name":{"7":{}},"parent":{}}],["device_not_open_or_closed",{"_index":10,"name":{"9":{}},"parent":{}}],["deviceid",{"_index":28,"name":{"28":{},"33":{},"43":{}},"parent":{}}],["driver_not_fond",{"_index":4,"name":{"3":{}},"parent":{}}],["even",{"_index":18,"name":{"18":{}},"parent":{}}],["eventdata",{"_index":40,"name":{"42":{}},"parent":{"43":{},"44":{}}}],["eventemitter",{"_index":33,"name":{"34":{}},"parent":{}}],["haspermission",{"_index":24,"name":{"24":{}},"parent":{}}],["list",{"_index":22,"name":{"22":{}},"parent":{}}],["listener",{"_index":39,"name":{"40":{}},"parent":{"41":{}}}],["listeners",{"_index":34,"name":{"35":{}},"parent":{}}],["manager",{"_index":21,"name":{"21":{}},"parent":{"22":{},"23":{},"24":{},"25":{}}}],["mark",{"_index":19,"name":{"19":{}},"parent":{}}],["none",{"_index":16,"name":{"16":{}},"parent":{}}],["not_enough_ports",{"_index":5,"name":{"4":{}},"parent":{}}],["odd",{"_index":17,"name":{"17":{}},"parent":{}}],["onreceived",{"_index":37,"name":{"38":{}},"parent":{}}],["open",{"_index":25,"name":{"25":{}},"parent":{}}],["open_failed",{"_index":7,"name":{"6":{}},"parent":{}}],["openoptions",{"_index":11,"name":{"10":{}},"parent":{"11":{},"12":{},"13":{},"14":{}}}],["parity",{"_index":13,"name":{"12":{},"15":{}},"parent":{"16":{},"17":{},"18":{},"19":{},"20":{}}}],["permission_denied",{"_index":6,"name":{"5":{}},"parent":{}}],["productid",{"_index":30,"name":{"30":{}},"parent":{}}],["send",{"_index":36,"name":{"37":{}},"parent":{}}],["send_failed",{"_index":9,"name":{"8":{}},"parent":{}}],["space",{"_index":20,"name":{"20":{}},"parent":{}}],["stopbits",{"_index":15,"name":{"14":{}},"parent":{}}],["subscriptions",{"_index":35,"name":{"36":{}},"parent":{}}],["tryrequestpermission",{"_index":23,"name":{"23":{}},"parent":{}}],["usbserial",{"_index":31,"name":{"31":{}},"parent":{"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{}}}],["usbserialmanager",{"_index":26,"name":{"26":{}},"parent":{}}],["vendorid",{"_index":29,"name":{"29":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/classes/UsbSerial.html b/docs/classes/UsbSerial.html index 900c726..010752b 100644 --- a/docs/classes/UsbSerial.html +++ b/docs/classes/UsbSerial.html @@ -1,10 +1,14 @@ -UsbSerial | react-native-usb-serialport-for-android
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • UsbSerial

Index

Constructors

constructor

  • new UsbSerial(deviceId: number, eventEmitter: EventEmitter): UsbSerial

Properties

deviceId

deviceId: number

Private eventEmitter

eventEmitter: EventEmitter

Private listeners

listeners: Listener[]

Methods

close

  • close(): Promise<any>

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/Parity.html b/docs/enums/Parity.html index 1d2d9c8..3eed628 100644 --- a/docs/enums/Parity.html +++ b/docs/enums/Parity.html @@ -1 +1 @@ -Parity | react-native-usb-serialport-for-android
Options
All
  • Public
  • Public/Protected
  • All
Menu

Index

Enumeration members

Enumeration members

Even

Even = 2

Mark

Mark = 3

None

None = 0

Odd

Odd = 1

Space

Space = 4

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +Parity | react-native-usb-serialport-for-android
Options
All
  • Public
  • Public/Protected
  • All
Menu

Index

Enumeration members

Enumeration members

Even

Even = 2

Mark

Mark = 3

None

None = 0

Odd

Odd = 1

Space

Space = 4

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Device.html b/docs/interfaces/Device.html index 3bccbd3..d744cc4 100644 --- a/docs/interfaces/Device.html +++ b/docs/interfaces/Device.html @@ -1 +1 @@ -Device | react-native-usb-serialport-for-android
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Device

Index

Properties

Readonly deviceId

deviceId: number

Readonly productId

productId: number

Readonly vendorId

vendorId: number

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +Device | react-native-usb-serialport-for-android
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Device

Index

Properties

Readonly deviceId

deviceId: number

Readonly productId

productId: number

Readonly vendorId

vendorId: number

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/EventData.html b/docs/interfaces/EventData.html index 7dcb786..dd07043 100644 --- a/docs/interfaces/EventData.html +++ b/docs/interfaces/EventData.html @@ -1 +1 @@ -EventData | react-native-usb-serialport-for-android
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • EventData

Index

Properties

Properties

data

data: string

deviceId

deviceId: number

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +EventData | react-native-usb-serialport-for-android
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • EventData

Index

Properties

Properties

data

data: string

deviceId

deviceId: number

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Manager.html b/docs/interfaces/Manager.html index 9765412..e852b10 100644 --- a/docs/interfaces/Manager.html +++ b/docs/interfaces/Manager.html @@ -1,11 +1,11 @@ -Manager | react-native-usb-serialport-for-android
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Manager

Index

Methods

hasPermission

  • hasPermission(deviceId: number): Promise<boolean>

list

open

tryRequestPermission

  • tryRequestPermission(deviceId: number): Promise<boolean>

Returns Promise<UsbSerial>

tryRequestPermission

  • tryRequestPermission(deviceId: number): Promise<boolean>
  • Return true if already has permission, otherwise will request permission and return false.

    May return error with these codes:

      diff --git a/docs/interfaces/OpenOptions.html b/docs/interfaces/OpenOptions.html index 0e14c29..1c59cd0 100644 --- a/docs/interfaces/OpenOptions.html +++ b/docs/interfaces/OpenOptions.html @@ -1 +1 @@ -OpenOptions | react-native-usb-serialport-for-android
      Options
      All
      • Public
      • Public/Protected
      • All
      Menu

      Hierarchy

      • OpenOptions

      Index

      Properties

      baudRate

      baudRate: number

      dataBits

      dataBits: number

      parity

      parity: Parity

      stopBits

      stopBits: number

      Legend

      • Constructor
      • Property
      • Method
      • Property
      • Method
      • Private property

      Settings

      Theme

      Generated using TypeDoc

      \ No newline at end of file +OpenOptions | react-native-usb-serialport-for-android
      Options
      All
      • Public
      • Public/Protected
      • All
      Menu

      Hierarchy

      • OpenOptions

      Index

      Properties

      baudRate

      baudRate: number

      dataBits

      dataBits: number

      parity

      parity: Parity

      stopBits

      stopBits: number

      Legend

      • Constructor
      • Property
      • Method
      • Property
      • Method
      • Private property

      Settings

      Theme

      Generated using TypeDoc

      \ No newline at end of file diff --git a/docs/modules.html b/docs/modules.html index e3720d5..4126a5a 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1 +1 @@ -react-native-usb-serialport-for-android
      Options
      All
      • Public
      • Public/Protected
      • All
      Menu

      react-native-usb-serialport-for-android

      Index

      Type aliases

      Listener

      Listener: (data: EventData) => void

      Type declaration

      Variables

      Codes

      Codes: { DEVICE_NOT_FOND: any; DEVICE_NOT_OPEN: any; DEVICE_NOT_OPEN_OR_CLOSED: any; DRIVER_NOT_FOND: any; NOT_ENOUGH_PORTS: any; OPEN_FAILED: any; PERMISSION_DENIED: any; SEND_FAILED: any } = ...

      Type declaration

      • DEVICE_NOT_FOND: any
      • DEVICE_NOT_OPEN: any
      • DEVICE_NOT_OPEN_OR_CLOSED: any
      • DRIVER_NOT_FOND: any
      • NOT_ENOUGH_PORTS: any
      • OPEN_FAILED: any
      • PERMISSION_DENIED: any
      • SEND_FAILED: any

      UsbSerialManager

      UsbSerialManager: Manager = ...

      Legend

      • Constructor
      • Property
      • Method
      • Property
      • Method
      • Private property

      Settings

      Theme

      Generated using TypeDoc

      \ No newline at end of file +react-native-usb-serialport-for-android
      Options
      All
      • Public
      • Public/Protected
      • All
      Menu

      react-native-usb-serialport-for-android

      Index

      Type aliases

      Listener

      Listener: (data: EventData) => void

      Type declaration

      Variables

      Codes

      Codes: { DEVICE_NOT_FOND: any; DEVICE_NOT_OPEN: any; DEVICE_NOT_OPEN_OR_CLOSED: any; DRIVER_NOT_FOND: any; NOT_ENOUGH_PORTS: any; OPEN_FAILED: any; PERMISSION_DENIED: any; SEND_FAILED: any } = ...

      Type declaration

      • DEVICE_NOT_FOND: any
      • DEVICE_NOT_OPEN: any
      • DEVICE_NOT_OPEN_OR_CLOSED: any
      • DRIVER_NOT_FOND: any
      • NOT_ENOUGH_PORTS: any
      • OPEN_FAILED: any
      • PERMISSION_DENIED: any
      • SEND_FAILED: any

      UsbSerialManager

      UsbSerialManager: Manager = ...

      Legend

      • Constructor
      • Property
      • Method
      • Property
      • Method
      • Private property

      Settings

      Theme

      Generated using TypeDoc

      \ No newline at end of file From 50d9c34091af5197209a6c809108d63e90ec857c Mon Sep 17 00:00:00 2001 From: bastengao Date: Sat, 25 Feb 2023 16:43:56 +0800 Subject: [PATCH 4/7] Release v0.4.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1d0ea04..5014b82 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "react-native-usb-serialport-for-android", - "version": "0.2.0", + "version": "0.4.1", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 5c2db4b..938e792 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-usb-serialport-for-android", - "version": "0.4.0", + "version": "0.4.1", "description": "react-native-usb-serialport-for-android", "main": "lib/commonjs/index", "module": "lib/module/index", From 82ee88a0a42c31734f4422d785febcfd2ee837ee Mon Sep 17 00:00:00 2001 From: Omer Spalter Date: Wed, 6 Dec 2023 19:13:08 +0200 Subject: [PATCH 5/7] Add support for Android 12+ --- android/build.gradle | 4 ++-- .../usbserialport/UsbSerialportForAndroidModule.java | 2 +- example/android/build.gradle | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index a597979..da7756d 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -19,10 +19,10 @@ def safeExtGet(prop, fallback) { } android { - compileSdkVersion safeExtGet('UsbSerialportForAndroid_compileSdkVersion', 29) + compileSdkVersion safeExtGet('UsbSerialportForAndroid_compileSdkVersion', 30) defaultConfig { minSdkVersion safeExtGet('UsbSerialportForAndroid_minSdkVersion', 16) - targetSdkVersion safeExtGet('UsbSerialportForAndroid_targetSdkVersion', 29) + targetSdkVersion safeExtGet('UsbSerialportForAndroid_targetSdkVersion', 30) versionCode 1 versionName "1.0" diff --git a/android/src/main/java/com/bastengao/usbserialport/UsbSerialportForAndroidModule.java b/android/src/main/java/com/bastengao/usbserialport/UsbSerialportForAndroidModule.java index 32d17cf..7e20282 100644 --- a/android/src/main/java/com/bastengao/usbserialport/UsbSerialportForAndroidModule.java +++ b/android/src/main/java/com/bastengao/usbserialport/UsbSerialportForAndroidModule.java @@ -96,7 +96,7 @@ public void tryRequestPermission(int deviceId, Promise promise) { return; } - PendingIntent usbPermissionIntent = PendingIntent.getBroadcast(getCurrentActivity(), 0, new Intent(INTENT_ACTION_GRANT_USB), 0); + PendingIntent usbPermissionIntent = PendingIntent.getBroadcast(getCurrentActivity(), 0, new Intent(INTENT_ACTION_GRANT_USB), PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); usbManager.requestPermission(device, usbPermissionIntent); promise.resolve(0); } diff --git a/example/android/build.gradle b/example/android/build.gradle index 539dc26..29751be 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -2,9 +2,9 @@ buildscript { ext { - minSdkVersion = 17 - compileSdkVersion = 29 - targetSdkVersion = 29 + minSdkVersion = 16 + compileSdkVersion = 30 + targetSdkVersion = 30 } repositories { google() From df368c1957a967534c482db1f63ef0e89a5e721a Mon Sep 17 00:00:00 2001 From: bastengao Date: Thu, 8 Feb 2024 16:25:56 +0800 Subject: [PATCH 6/7] Describe EventData.data --- docs/classes/UsbSerial.html | 6 +++--- docs/enums/Parity.html | 2 +- docs/interfaces/Device.html | 2 +- docs/interfaces/EventData.html | 4 +++- docs/interfaces/Manager.html | 6 +++--- docs/interfaces/OpenOptions.html | 2 +- docs/modules.html | 2 +- src/usb_serial.tsx | 3 +++ 8 files changed, 16 insertions(+), 11 deletions(-) diff --git a/docs/classes/UsbSerial.html b/docs/classes/UsbSerial.html index 010752b..e91e153 100644 --- a/docs/classes/UsbSerial.html +++ b/docs/classes/UsbSerial.html @@ -1,14 +1,14 @@ -UsbSerial | react-native-usb-serialport-for-android
      Options
      All
      • Public
      • Public/Protected
      • All
      Menu

      Hierarchy

      • UsbSerial

      Index

      Constructors

      constructor

      • new UsbSerial(deviceId: number, eventEmitter: EventEmitter): UsbSerial

      Properties

      deviceId

      deviceId: number

      Private eventEmitter

      eventEmitter: EventEmitter

      Private listeners

      listeners: Listener[]

      Private subscriptions

      subscriptions: EventSubscription[]

      Methods

      close

      • close(): Promise<any>