Fix Android DFU target id handling
This commit is contained in:
parent
5350017085
commit
d6f1e2f6b8
@ -42,7 +42,3 @@ hermesEnabled=true
|
|||||||
# This allows your app to draw behind system bars for an immersive UI.
|
# This allows your app to draw behind system bars for an immersive UI.
|
||||||
# Note: Only works with ReactActivity and should not be used with custom Activity.
|
# Note: Only works with ReactActivity and should not be used with custom Activity.
|
||||||
edgeToEdgeEnabled=false
|
edgeToEdgeEnabled=false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
org.gradle.java.home=E:\\jdk\\jdk-17.0.12
|
|
||||||
@ -5,6 +5,7 @@ import { RootStackParamList } from "../App";
|
|||||||
import RNFS from "react-native-fs";
|
import RNFS from "react-native-fs";
|
||||||
import {
|
import {
|
||||||
startDfu,
|
startDfu,
|
||||||
|
getDfuTargetId,
|
||||||
addDfuEventListener,
|
addDfuEventListener,
|
||||||
DfuProgressEvent,
|
DfuProgressEvent,
|
||||||
DfuStateEvent,
|
DfuStateEvent,
|
||||||
@ -64,6 +65,8 @@ const trace = (step: string, payload?: unknown) => {
|
|||||||
export default function DfuScreen({ route, navigation }: Props) {
|
export default function DfuScreen({ route, navigation }: Props) {
|
||||||
const {
|
const {
|
||||||
deviceId,
|
deviceId,
|
||||||
|
systemId,
|
||||||
|
address,
|
||||||
name,
|
name,
|
||||||
firmware: deviceFirmware,
|
firmware: deviceFirmware,
|
||||||
} = route.params;
|
} = route.params;
|
||||||
@ -154,12 +157,24 @@ export default function DfuScreen({ route, navigation }: Props) {
|
|||||||
setError(undefined);
|
setError(undefined);
|
||||||
|
|
||||||
const rawDeviceId = String(deviceId ?? "").trim();
|
const rawDeviceId = String(deviceId ?? "").trim();
|
||||||
const safeDeviceId = rawDeviceId;
|
const rawSystemId = String(systemId ?? rawDeviceId).trim();
|
||||||
|
const rawAddress =
|
||||||
|
typeof address === "number"
|
||||||
|
? address
|
||||||
|
: address !== undefined && address !== null
|
||||||
|
? Number(address)
|
||||||
|
: undefined;
|
||||||
|
const safeDeviceId = getDfuTargetId({
|
||||||
|
systemId: rawSystemId,
|
||||||
|
address: Number.isFinite(rawAddress) ? rawAddress : undefined,
|
||||||
|
});
|
||||||
|
|
||||||
const firmwareText = String(deviceFirmware ?? "").trim();
|
const firmwareText = String(deviceFirmware ?? "").trim();
|
||||||
|
|
||||||
trace("resolved input", {
|
trace("resolved input", {
|
||||||
rawDeviceId,
|
rawDeviceId,
|
||||||
|
rawSystemId,
|
||||||
|
rawAddress,
|
||||||
safeDeviceId,
|
safeDeviceId,
|
||||||
firmwareText,
|
firmwareText,
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user