ilabs-flir 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Flir.podspec +31 -31
- package/README.md +1271 -1271
- package/android/Flir/build.gradle.kts +85 -80
- package/android/Flir/libs/flir-stubs.jar +0 -0
- package/android/Flir/src/main/AndroidManifest.xml +31 -31
- package/android/Flir/src/main/java/com/flir/thermalsdk/ErrorCode.java +13 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/ErrorCodeException.java +14 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/ThermalSdkAndroid.java +16 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/androidsdk/image/BitmapAndroid.java +20 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/ImageBuffer.java +11 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/JavaImageBuffer.java +35 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/Palette.java +15 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/PaletteManager.java +16 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/Point.java +11 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/ThermalImage.java +23 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/image/ThermalValue.java +9 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/Camera.java +26 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/CameraType.java +8 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/CommunicationInterface.java +16 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/ConnectParameters.java +16 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/Identity.java +23 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/IpSettings.java +9 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/RemoteControl.java +16 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/connectivity/ConnectionStatusListener.java +7 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/discovery/DiscoveryEventListener.java +14 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/discovery/DiscoveryFactory.java +33 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/remote/OnReceived.java +5 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/remote/OnRemoteError.java +7 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/Stream.java +8 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/ThermalStreamer.java +28 -0
- package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/VisualStreamer.java +18 -0
- package/android/Flir/src/main/java/flir/android/FlirCommands.java +136 -0
- package/android/Flir/src/main/java/flir/android/FlirDownloadManager.kt +76 -75
- package/android/Flir/src/main/java/flir/android/FlirDownloadPackage.kt +16 -16
- package/android/Flir/src/main/java/flir/android/FlirFrameCache.kt +6 -6
- package/android/Flir/src/main/java/flir/android/FlirManager.kt +477 -248
- package/android/Flir/src/main/java/flir/android/FlirModule.kt +74 -74
- package/android/Flir/src/main/java/flir/android/FlirPackage.kt +19 -19
- package/android/Flir/src/main/java/flir/android/FlirSDKLoader.kt +165 -117
- package/android/Flir/src/main/java/flir/android/FlirSdkManager.java +1511 -0
- package/android/Flir/src/main/java/flir/android/FlirStatus.kt +12 -12
- package/android/Flir/src/main/java/flir/android/FlirView.kt +48 -48
- package/android/Flir/src/main/java/flir/android/FlirViewManager.kt +13 -13
- package/app.plugin.js +264 -264
- package/expo-module.config.json +5 -5
- package/ios/Flir/Framework/ThermalSDK/FLIRBattery.h +76 -76
- package/ios/Flir/Framework/ThermalSDK/FLIRCalibration.h +108 -108
- package/ios/Flir/Framework/ThermalSDK/FLIRCamera.h +156 -156
- package/ios/Flir/Framework/ThermalSDK/FLIRCameraDeviceInfo.h +53 -53
- package/ios/Flir/Framework/ThermalSDK/FLIRCameraEvent.h +132 -132
- package/ios/Flir/Framework/ThermalSDK/FLIRCameraImport.h +204 -204
- package/ios/Flir/Framework/ThermalSDK/FLIRColorDistributionSettings.h +204 -204
- package/ios/Flir/Framework/ThermalSDK/FLIRColorizer.h +82 -82
- package/ios/Flir/Framework/ThermalSDK/FLIRDiscoveredCamera.h +44 -44
- package/ios/Flir/Framework/ThermalSDK/FLIRDiscovery.h +132 -132
- package/ios/Flir/Framework/ThermalSDK/FLIRDisplaySettings.h +29 -29
- package/ios/Flir/Framework/ThermalSDK/FLIRFocus.h +70 -70
- package/ios/Flir/Framework/ThermalSDK/FLIRFusion.h +192 -192
- package/ios/Flir/Framework/ThermalSDK/FLIRFusionController.h +136 -136
- package/ios/Flir/Framework/ThermalSDK/FLIRFusionTransformation.h +35 -35
- package/ios/Flir/Framework/ThermalSDK/FLIRIdentity.h +264 -264
- package/ios/Flir/Framework/ThermalSDK/FLIRImageBase.h +196 -196
- package/ios/Flir/Framework/ThermalSDK/FLIRImageColorizer.h +26 -26
- package/ios/Flir/Framework/ThermalSDK/FLIRImageStatistics.h +61 -61
- package/ios/Flir/Framework/ThermalSDK/FLIRIsotherms.h +208 -208
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementArea.h +38 -38
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementCollection.h +147 -147
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementDelta.h +62 -62
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementDimensions.h +33 -33
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementEllipse.h +49 -49
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementLine.h +66 -66
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementMarker.h +69 -69
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementParameters.h +41 -41
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementRectangle.h +36 -36
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementReference.h +27 -27
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementShape.h +46 -46
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementSpot.h +33 -33
- package/ios/Flir/Framework/ThermalSDK/FLIRMeasurementsController.h +160 -160
- package/ios/Flir/Framework/ThermalSDK/FLIRMeterLinkSensorPoll.h +247 -247
- package/ios/Flir/Framework/ThermalSDK/FLIROverlayController.h +27 -27
- package/ios/Flir/Framework/ThermalSDK/FLIRPalette.h +60 -60
- package/ios/Flir/Framework/ThermalSDK/FLIRPaletteController.h +36 -36
- package/ios/Flir/Framework/ThermalSDK/FLIRPaletteManager.h +97 -97
- package/ios/Flir/Framework/ThermalSDK/FLIRQuantification.h +55 -55
- package/ios/Flir/Framework/ThermalSDK/FLIRRemoteControl.h +393 -393
- package/ios/Flir/Framework/ThermalSDK/FLIRRenderer.h +35 -35
- package/ios/Flir/Framework/ThermalSDK/FLIRRendererImpl.h +17 -17
- package/ios/Flir/Framework/ThermalSDK/FLIRScale.h +99 -99
- package/ios/Flir/Framework/ThermalSDK/FLIRScaleController.h +44 -44
- package/ios/Flir/Framework/ThermalSDK/FLIRStream.h +109 -109
- package/ios/Flir/Framework/ThermalSDK/FLIRStreamer.h +124 -124
- package/ios/Flir/Framework/ThermalSDK/FLIRSystem.h +40 -40
- package/ios/Flir/Framework/ThermalSDK/FLIRTemperatureRange.h +43 -43
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalDelta.h +77 -77
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalImage.h +331 -331
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalImageFile.h +56 -56
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalParameters.h +31 -31
- package/ios/Flir/Framework/ThermalSDK/FLIRThermalValue.h +92 -92
- package/ios/Flir/Framework/ThermalSDK/FLIRWirelessCameraDetails.h +88 -88
- package/ios/Flir/Framework/ThermalSDK/ThermalSDK.h +73 -73
- package/ios/Flir/SDKLoader/FlirSDKLoader.m +13 -13
- package/ios/Flir/SDKLoader/FlirSDKLoader.swift +175 -175
- package/ios/Flir/src/FlirEventEmitter.h +12 -12
- package/ios/Flir/src/FlirEventEmitter.m +33 -33
- package/ios/Flir/src/FlirModule.h +10 -10
- package/ios/Flir/src/FlirModule.m +381 -381
- package/ios/Flir/src/FlirPreviewView.h +13 -13
- package/ios/Flir/src/FlirPreviewView.m +24 -24
- package/ios/Flir/src/FlirState.h +20 -20
- package/ios/Flir/src/FlirState.m +79 -79
- package/ios/Flir/src/FlirViewManager.h +9 -9
- package/ios/Flir/src/FlirViewManager.m +16 -16
- package/package.json +60 -60
- package/react-native.config.js +14 -14
- package/scripts/copy_ios_libs.sh +32 -32
- package/scripts/create_stubs.py +174 -174
- package/scripts/download-sdk.js +62 -62
- package/scripts/prepare-binaries.sh +171 -171
- package/sdk-manifest.json +37 -30
- package/src/FlirDownload.ts +78 -78
- package/src/index.d.ts +17 -17
- package/src/index.js +7 -7
- package/src/index.ts +7 -7
- package/android/Flir/src/main/java/flir/android/CameraHandler.java +0 -194
- package/android/Flir/src/main/java/flir/android/FlirController.kt +0 -11
- package/android/Flir/src/main/java/flir/android/FrameDataHolder.java +0 -14
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
package com.flir.thermalsdk.live.streaming;
|
|
2
|
+
|
|
3
|
+
import com.flir.thermalsdk.image.ThermalImage;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Stub class for FLIR SDK ThermalStreamer - compile-time only.
|
|
7
|
+
*/
|
|
8
|
+
public class ThermalStreamer implements Stream {
|
|
9
|
+
public ThermalStreamer(Stream stream) {
|
|
10
|
+
throw new UnsupportedOperationException("Stub!");
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
public void update() {
|
|
14
|
+
throw new UnsupportedOperationException("Stub!");
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
public Object getImage() {
|
|
18
|
+
throw new UnsupportedOperationException("Stub!");
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public void withThermalImage(ThermalImageCallback callback) {
|
|
22
|
+
throw new UnsupportedOperationException("Stub!");
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public interface ThermalImageCallback {
|
|
26
|
+
void run(ThermalImage thermalImage);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
package com.flir.thermalsdk.live.streaming;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Stub class for FLIR SDK VisualStreamer - compile-time only.
|
|
5
|
+
*/
|
|
6
|
+
public class VisualStreamer implements Stream {
|
|
7
|
+
public VisualStreamer(Stream stream) {
|
|
8
|
+
throw new UnsupportedOperationException("Stub!");
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
public void update() {
|
|
12
|
+
throw new UnsupportedOperationException("Stub!");
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
public Object getImage() {
|
|
16
|
+
throw new UnsupportedOperationException("Stub!");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
package flir.android;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.Nullable;
|
|
4
|
+
import com.facebook.react.bridge.ReadableArray;
|
|
5
|
+
import com.facebook.react.bridge.WritableMap;
|
|
6
|
+
|
|
7
|
+
public final class FlirCommands {
|
|
8
|
+
|
|
9
|
+
private FlirCommands() {
|
|
10
|
+
// No instances
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Command 59: selectFlirDevice - Select FLIR device by ID
|
|
15
|
+
* Args: [deviceId: string]
|
|
16
|
+
*/
|
|
17
|
+
public static void handleSelectFlirDevice(Object root, WritableMap resp, @Nullable ReadableArray args) {
|
|
18
|
+
try {
|
|
19
|
+
if (args == null || args.size() < 1) {
|
|
20
|
+
resp.putString("status", "error");
|
|
21
|
+
resp.putString("message", "deviceId required");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
String deviceId = args.getString(0);
|
|
26
|
+
android.util.Log.i("CameraCommand", "[FLIR] Selecting device: " + deviceId);
|
|
27
|
+
|
|
28
|
+
// Get FlirManager instance and select device
|
|
29
|
+
FlirManager flirManager = FlirManager.INSTANCE;
|
|
30
|
+
if (flirManager == null) {
|
|
31
|
+
resp.putString("status", "error");
|
|
32
|
+
resp.putString("message", "FlirManager not initialized");
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Select device by ID (triggers connection)
|
|
37
|
+
flirManager.switchToDevice(deviceId);
|
|
38
|
+
|
|
39
|
+
resp.putString("status", "ok");
|
|
40
|
+
resp.putString("message", "Device selected");
|
|
41
|
+
resp.putString("deviceId", deviceId);
|
|
42
|
+
} catch (Exception e) {
|
|
43
|
+
android.util.Log.w("CameraCommand", "[FLIR] Device selection failed", e);
|
|
44
|
+
resp.putString("status", "error");
|
|
45
|
+
resp.putString("message", e.getMessage());
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Command 60: setFlirEmulatorType - Set FLIR emulator type
|
|
51
|
+
* Args: [type: "FLIR_ONE" | "FLIR_ONE_EDGE"]
|
|
52
|
+
*/
|
|
53
|
+
public static void handleSetFlirEmulatorType(Object root, WritableMap resp, @Nullable ReadableArray args) {
|
|
54
|
+
try {
|
|
55
|
+
if (args == null || args.size() < 1) {
|
|
56
|
+
resp.putString("status", "error");
|
|
57
|
+
resp.putString("message", "emulator type required");
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
String type = args.getString(0);
|
|
62
|
+
|
|
63
|
+
if (!"FLIR_ONE".equals(type) && !"FLIR_ONE_EDGE".equals(type)) {
|
|
64
|
+
resp.putString("status", "error");
|
|
65
|
+
resp.putString("message", "Invalid type. Use FLIR_ONE or FLIR_ONE_EDGE");
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Get FlirManager instance and set emulator type
|
|
70
|
+
FlirManager flirManager = FlirManager.INSTANCE;
|
|
71
|
+
if (flirManager == null) {
|
|
72
|
+
resp.putString("status", "error");
|
|
73
|
+
resp.putString("message", "FlirManager not initialized");
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
flirManager.setPreferredEmulatorType(type);
|
|
78
|
+
|
|
79
|
+
android.util.Log.i("CameraCommand", "[FLIR] Emulator type set to: " + type);
|
|
80
|
+
|
|
81
|
+
resp.putString("status", "ok");
|
|
82
|
+
resp.putString("message", "Emulator type set");
|
|
83
|
+
resp.putString("emulatorType", type);
|
|
84
|
+
} catch (Exception e) {
|
|
85
|
+
android.util.Log.w("CameraCommand", "[FLIR] Set emulator type failed", e);
|
|
86
|
+
resp.putString("status", "error");
|
|
87
|
+
resp.putString("message", e.getMessage());
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Command 61: setFlirPalette - Set FLIR thermal palette
|
|
93
|
+
* Args: [acol: number] - palette index
|
|
94
|
+
*/
|
|
95
|
+
public static void handleSetFlirPalette(Object root, WritableMap resp, @Nullable ReadableArray args) {
|
|
96
|
+
try {
|
|
97
|
+
int acol = args != null && args.size() > 0 ? (int) args.getDouble(0) : 1;
|
|
98
|
+
|
|
99
|
+
android.util.Log.i("CameraCommand", "[FLIR] Setting palette acol=" + acol);
|
|
100
|
+
|
|
101
|
+
// Get FlirManager instance and set palette by index
|
|
102
|
+
FlirManager flirManager = FlirManager.INSTANCE;
|
|
103
|
+
if (flirManager == null) {
|
|
104
|
+
resp.putString("status", "error");
|
|
105
|
+
resp.putString("message", "FlirManager not initialized");
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Map acol index to palette name
|
|
110
|
+
String paletteName = mapAcolToPaletteName(acol);
|
|
111
|
+
flirManager.setPalette(paletteName);
|
|
112
|
+
|
|
113
|
+
resp.putString("status", "ok");
|
|
114
|
+
resp.putString("message", "Palette set");
|
|
115
|
+
resp.putInt("acol", acol);
|
|
116
|
+
} catch (Exception e) {
|
|
117
|
+
android.util.Log.w("CameraCommand", "[FLIR] Set palette failed", e);
|
|
118
|
+
resp.putString("status", "error");
|
|
119
|
+
resp.putString("message", e.getMessage());
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
private static String mapAcolToPaletteName(int acol) {
|
|
124
|
+
switch (acol) {
|
|
125
|
+
case 0: return "gray";
|
|
126
|
+
case 1: return "iron";
|
|
127
|
+
case 2: return "rainbow";
|
|
128
|
+
case 3: return "lava";
|
|
129
|
+
case 4: return "arctic";
|
|
130
|
+
case 5: return "coldest";
|
|
131
|
+
case 6: return "hottest";
|
|
132
|
+
case 7: return "contrast";
|
|
133
|
+
default: return "iron";
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -1,75 +1,76 @@
|
|
|
1
|
-
package flir.android
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.*
|
|
4
|
-
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
5
|
-
import kotlinx.coroutines.*
|
|
6
|
-
|
|
7
|
-
class FlirDownloadManager(private val reactContext: ReactApplicationContext) :
|
|
8
|
-
ReactContextBaseJavaModule(reactContext) {
|
|
9
|
-
|
|
10
|
-
private var downloadJob: Job? = null
|
|
11
|
-
private val scope = CoroutineScope(Dispatchers.Main + SupervisorJob())
|
|
12
|
-
|
|
13
|
-
override fun getName() = "FlirDownloadManager"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
putDouble("
|
|
36
|
-
putDouble("
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
1
|
+
package flir.android
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.*
|
|
4
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
5
|
+
import kotlinx.coroutines.*
|
|
6
|
+
|
|
7
|
+
class FlirDownloadManager(private val reactContext: ReactApplicationContext) :
|
|
8
|
+
ReactContextBaseJavaModule(reactContext) {
|
|
9
|
+
|
|
10
|
+
private var downloadJob: Job? = null
|
|
11
|
+
private val scope = CoroutineScope(Dispatchers.Main + SupervisorJob())
|
|
12
|
+
|
|
13
|
+
override fun getName() = "FlirDownloadManager"
|
|
14
|
+
|
|
15
|
+
@ReactMethod
|
|
16
|
+
fun isFlirAvailable(promise: Promise) {
|
|
17
|
+
promise.resolve(FlirSDKLoader.isSDKAvailable(reactContext))
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@ReactMethod
|
|
21
|
+
fun getDownloadSize(promise: Promise) {
|
|
22
|
+
promise.resolve(FlirSDKLoader.getDownloadSize(reactContext).toDouble())
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@ReactMethod
|
|
26
|
+
fun getDeviceArch(promise: Promise) {
|
|
27
|
+
promise.resolve(FlirSDKLoader.getDeviceArch())
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@ReactMethod
|
|
31
|
+
fun downloadFlirSDK(promise: Promise) {
|
|
32
|
+
downloadJob = scope.launch {
|
|
33
|
+
val result = FlirSDKLoader.downloadSDK(reactContext) { downloaded, total ->
|
|
34
|
+
sendEvent("FlirDownloadProgress", Arguments.createMap().apply {
|
|
35
|
+
putDouble("bytesDownloaded", downloaded.toDouble())
|
|
36
|
+
putDouble("totalBytes", total.toDouble())
|
|
37
|
+
putDouble("percent", (downloaded.toDouble() / total) * 100)
|
|
38
|
+
})
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
result.fold(
|
|
42
|
+
onSuccess = {
|
|
43
|
+
sendEvent("FlirDownloadComplete", Arguments.createMap())
|
|
44
|
+
promise.resolve(true)
|
|
45
|
+
},
|
|
46
|
+
onFailure = { error ->
|
|
47
|
+
sendEvent("FlirDownloadError", Arguments.createMap().apply {
|
|
48
|
+
putString("error", error.message)
|
|
49
|
+
})
|
|
50
|
+
promise.reject("E_DOWNLOAD", error.message, error)
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@ReactMethod
|
|
57
|
+
fun cancelDownload() {
|
|
58
|
+
downloadJob?.cancel()
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@ReactMethod
|
|
62
|
+
fun deleteSDK(promise: Promise) {
|
|
63
|
+
promise.resolve(FlirSDKLoader.deleteSDK(reactContext))
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@ReactMethod
|
|
67
|
+
fun addListener(eventName: String) {}
|
|
68
|
+
|
|
69
|
+
@ReactMethod
|
|
70
|
+
fun removeListeners(count: Int) {}
|
|
71
|
+
|
|
72
|
+
private fun sendEvent(name: String, params: WritableMap) {
|
|
73
|
+
reactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
74
|
+
.emit(name, params)
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
package flir.android
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.ReactPackage
|
|
4
|
-
import com.facebook.react.bridge.NativeModule
|
|
5
|
-
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
|
-
import com.facebook.react.uimanager.ViewManager
|
|
7
|
-
|
|
8
|
-
class FlirDownloadPackage : ReactPackage {
|
|
9
|
-
override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
|
|
10
|
-
return listOf(FlirDownloadManager(reactContext))
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
|
|
14
|
-
return emptyList()
|
|
15
|
-
}
|
|
16
|
-
}
|
|
1
|
+
package flir.android
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.ReactPackage
|
|
4
|
+
import com.facebook.react.bridge.NativeModule
|
|
5
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
|
+
import com.facebook.react.uimanager.ViewManager
|
|
7
|
+
|
|
8
|
+
class FlirDownloadPackage : ReactPackage {
|
|
9
|
+
override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
|
|
10
|
+
return listOf(FlirDownloadManager(reactContext))
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
|
|
14
|
+
return emptyList()
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
package flir.android
|
|
2
|
-
|
|
3
|
-
object FlirFrameCache {
|
|
4
|
-
@JvmStatic
|
|
5
|
-
var latestFramePath: String? = null
|
|
6
|
-
}
|
|
1
|
+
package flir.android
|
|
2
|
+
|
|
3
|
+
object FlirFrameCache {
|
|
4
|
+
@JvmStatic
|
|
5
|
+
var latestFramePath: String? = null
|
|
6
|
+
}
|