ilabs-flir 1.0.3 → 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.
Files changed (24) hide show
  1. package/android/Flir/libs/flir-stubs.jar +0 -0
  2. package/android/Flir/src/main/java/com/flir/thermalsdk/ErrorCode.java +13 -0
  3. package/android/Flir/src/main/java/com/flir/thermalsdk/ThermalSdkAndroid.java +16 -0
  4. package/android/Flir/src/main/java/com/flir/thermalsdk/androidsdk/image/BitmapAndroid.java +20 -0
  5. package/android/Flir/src/main/java/com/flir/thermalsdk/live/Camera.java +26 -0
  6. package/android/Flir/src/main/java/com/flir/thermalsdk/live/ConnectParameters.java +16 -0
  7. package/android/Flir/src/main/java/com/flir/thermalsdk/live/RemoteControl.java +16 -0
  8. package/android/Flir/src/main/java/com/flir/thermalsdk/live/discovery/DiscoveryEventListener.java +14 -0
  9. package/android/Flir/src/main/java/com/flir/thermalsdk/live/discovery/DiscoveryFactory.java +33 -0
  10. package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/Stream.java +8 -0
  11. package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/ThermalStreamer.java +28 -0
  12. package/android/Flir/src/main/java/com/flir/thermalsdk/live/streaming/VisualStreamer.java +18 -0
  13. package/android/Flir/src/main/java/flir/android/FlirCommands.java +40 -15
  14. package/android/Flir/src/main/java/flir/android/FlirDownloadManager.kt +6 -5
  15. package/android/Flir/src/main/java/flir/android/FlirManager.kt +265 -42
  16. package/android/Flir/src/main/java/flir/android/FlirSDKLoader.kt +242 -194
  17. package/android/Flir/src/main/java/flir/android/FlirSdkManager.java +1376 -755
  18. package/package.json +1 -1
  19. package/sdk-manifest.json +14 -7
  20. package/android/Flir/src/main/java/flir/android/CameraHandler.java +0 -224
  21. package/android/Flir/src/main/java/flir/android/FlirConnectionManager.java +0 -354
  22. package/android/Flir/src/main/java/flir/android/FlirController.kt +0 -11
  23. package/android/Flir/src/main/java/flir/android/FlirDiscoveryManager.java +0 -236
  24. package/android/Flir/src/main/java/flir/android/FrameDataHolder.java +0 -14
Binary file
@@ -0,0 +1,13 @@
1
+ package com.flir.thermalsdk;
2
+
3
+ /**
4
+ * Stub enum for FLIR SDK ErrorCode - compile-time only.
5
+ */
6
+ public enum ErrorCode {
7
+ OK,
8
+ GENERIC_ERROR,
9
+ CAMERA_ERROR,
10
+ CONNECTION_ERROR,
11
+ TIMEOUT,
12
+ CANCELLED
13
+ }
@@ -0,0 +1,16 @@
1
+ package com.flir.thermalsdk;
2
+
3
+ import android.content.Context;
4
+
5
+ /**
6
+ * Stub class for FLIR SDK ThermalSdkAndroid - compile-time only.
7
+ */
8
+ public class ThermalSdkAndroid {
9
+ public static void init(Context context) {
10
+ throw new UnsupportedOperationException("Stub!");
11
+ }
12
+
13
+ public static void init(Context context, Object licenseCallback) {
14
+ throw new UnsupportedOperationException("Stub!");
15
+ }
16
+ }
@@ -0,0 +1,20 @@
1
+ package com.flir.thermalsdk.androidsdk.image;
2
+
3
+ import android.graphics.Bitmap;
4
+ import com.flir.thermalsdk.image.JavaImageBuffer;
5
+
6
+ /**
7
+ * Stub class for FLIR SDK BitmapAndroid - compile-time only.
8
+ * The actual implementation is loaded at runtime from the FLIR SDK AAR.
9
+ */
10
+ public class BitmapAndroid {
11
+ private Bitmap bitMap;
12
+
13
+ public static BitmapAndroid createBitmap(JavaImageBuffer buffer) {
14
+ throw new UnsupportedOperationException("Stub!");
15
+ }
16
+
17
+ public Bitmap getBitMap() {
18
+ throw new UnsupportedOperationException("Stub!");
19
+ }
20
+ }
@@ -0,0 +1,26 @@
1
+ package com.flir.thermalsdk.live;
2
+
3
+ import com.flir.thermalsdk.live.connectivity.ConnectionStatusListener;
4
+ import com.flir.thermalsdk.live.streaming.Stream;
5
+ import java.util.List;
6
+
7
+ /**
8
+ * Stub class for FLIR SDK Camera - compile-time only.
9
+ */
10
+ public class Camera {
11
+ public void connect(ConnectParameters params, ConnectionStatusListener listener) {
12
+ throw new UnsupportedOperationException("Stub!");
13
+ }
14
+
15
+ public void disconnect() {
16
+ throw new UnsupportedOperationException("Stub!");
17
+ }
18
+
19
+ public List<Stream> getStreams() {
20
+ throw new UnsupportedOperationException("Stub!");
21
+ }
22
+
23
+ public RemoteControl getRemoteControl() {
24
+ throw new UnsupportedOperationException("Stub!");
25
+ }
26
+ }
@@ -0,0 +1,16 @@
1
+ package com.flir.thermalsdk.live;
2
+
3
+ import com.flir.thermalsdk.live.Identity;
4
+
5
+ /**
6
+ * Stub class for FLIR SDK ConnectParameters - compile-time only.
7
+ */
8
+ public class ConnectParameters {
9
+ public ConnectParameters() {
10
+ throw new UnsupportedOperationException("Stub!");
11
+ }
12
+
13
+ public ConnectParameters(Identity identity) {
14
+ throw new UnsupportedOperationException("Stub!");
15
+ }
16
+ }
@@ -0,0 +1,16 @@
1
+ package com.flir.thermalsdk.live;
2
+
3
+ /**
4
+ * Stub class for FLIR SDK RemoteControl - compile-time only.
5
+ */
6
+ public class RemoteControl {
7
+ public void subscribeStream(com.flir.thermalsdk.live.streaming.Stream stream,
8
+ com.flir.thermalsdk.live.remote.OnReceived callback,
9
+ com.flir.thermalsdk.live.remote.OnRemoteError errorCallback) {
10
+ throw new UnsupportedOperationException("Stub!");
11
+ }
12
+
13
+ public void unsubscribeStream(com.flir.thermalsdk.live.streaming.Stream stream) {
14
+ throw new UnsupportedOperationException("Stub!");
15
+ }
16
+ }
@@ -0,0 +1,14 @@
1
+ package com.flir.thermalsdk.live.discovery;
2
+
3
+ import com.flir.thermalsdk.live.CommunicationInterface;
4
+ import com.flir.thermalsdk.live.Identity;
5
+
6
+ /**
7
+ * Stub interface for FLIR SDK DiscoveryEventListener - compile-time only.
8
+ */
9
+ public interface DiscoveryEventListener {
10
+ void onCameraFound(Identity identity);
11
+ void onCameraLost(Identity identity);
12
+ void onDiscoveryError(CommunicationInterface iface, String errorMessage);
13
+ void onDiscoveryFinished(CommunicationInterface iface);
14
+ }
@@ -0,0 +1,33 @@
1
+ package com.flir.thermalsdk.live.discovery;
2
+
3
+ import com.flir.thermalsdk.live.CommunicationInterface;
4
+
5
+ /**
6
+ * Stub class for FLIR SDK DiscoveryFactory - compile-time only.
7
+ * The real SDK uses instance methods via getInstance().
8
+ */
9
+ public class DiscoveryFactory {
10
+
11
+ private static DiscoveryFactory instance;
12
+
13
+ private DiscoveryFactory() {}
14
+
15
+ public static DiscoveryFactory getInstance() {
16
+ if (instance == null) {
17
+ instance = new DiscoveryFactory();
18
+ }
19
+ return instance;
20
+ }
21
+
22
+ public void scan(DiscoveryEventListener listener, CommunicationInterface... interfaces) {
23
+ throw new UnsupportedOperationException("Stub!");
24
+ }
25
+
26
+ public void stop(CommunicationInterface... interfaces) {
27
+ throw new UnsupportedOperationException("Stub!");
28
+ }
29
+
30
+ public void stop() {
31
+ throw new UnsupportedOperationException("Stub!");
32
+ }
33
+ }
@@ -0,0 +1,8 @@
1
+ package com.flir.thermalsdk.live.streaming;
2
+
3
+ /**
4
+ * Stub interface for FLIR SDK Stream - compile-time only.
5
+ */
6
+ public interface Stream {
7
+ // Marker interface for stream types
8
+ }
@@ -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
+ }
@@ -3,8 +3,6 @@ package flir.android;
3
3
  import androidx.annotation.Nullable;
4
4
  import com.facebook.react.bridge.ReadableArray;
5
5
  import com.facebook.react.bridge.WritableMap;
6
- // import com.otaliastudios.cameraview.CameraView; // Removed dependency
7
- // import ilabs.libs.io.data.Var; // Removed dependency
8
6
 
9
7
  public final class FlirCommands {
10
8
 
@@ -27,19 +25,16 @@ public final class FlirCommands {
27
25
  String deviceId = args.getString(0);
28
26
  android.util.Log.i("CameraCommand", "[FLIR] Selecting device: " + deviceId);
29
27
 
30
- // Get device from discovery manager
31
- FlirDiscoveryManager discoveryMgr = FlirDiscoveryManager.getInstance();
32
-
33
- com.flir.thermalsdk.live.Identity identity = discoveryMgr.getDeviceById(deviceId);
34
-
35
- if (identity == null) {
28
+ // Get FlirManager instance and select device
29
+ FlirManager flirManager = FlirManager.INSTANCE;
30
+ if (flirManager == null) {
36
31
  resp.putString("status", "error");
37
- resp.putString("message", "Device not found: " + deviceId);
32
+ resp.putString("message", "FlirManager not initialized");
38
33
  return;
39
34
  }
40
35
 
41
- // Select and connect to device
42
- FlirConnectionManager.getInstance().selectDevice(identity);
36
+ // Select device by ID (triggers connection)
37
+ flirManager.switchToDevice(deviceId);
43
38
 
44
39
  resp.putString("status", "ok");
45
40
  resp.putString("message", "Device selected");
@@ -71,8 +66,15 @@ public final class FlirCommands {
71
66
  return;
72
67
  }
73
68
 
74
- // Set type in discovery manager
75
- FlirDiscoveryManager.getInstance().setEmulatorType(type);
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);
76
78
 
77
79
  android.util.Log.i("CameraCommand", "[FLIR] Emulator type set to: " + type);
78
80
 
@@ -96,8 +98,17 @@ public final class FlirCommands {
96
98
 
97
99
  android.util.Log.i("CameraCommand", "[FLIR] Setting palette acol=" + acol);
98
100
 
99
- // Set palette via FlirConnectionManager
100
- FlirConnectionManager.getInstance().setPalette(acol);
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);
101
112
 
102
113
  resp.putString("status", "ok");
103
114
  resp.putString("message", "Palette set");
@@ -108,4 +119,18 @@ public final class FlirCommands {
108
119
  resp.putString("message", e.getMessage());
109
120
  }
110
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
+ }
111
136
  }
@@ -12,10 +12,6 @@ class FlirDownloadManager(private val reactContext: ReactApplicationContext) :
12
12
 
13
13
  override fun getName() = "FlirDownloadManager"
14
14
 
15
- override fun initialize() {
16
- FlirSDKLoader.init(reactContext)
17
- }
18
-
19
15
  @ReactMethod
20
16
  fun isFlirAvailable(promise: Promise) {
21
17
  promise.resolve(FlirSDKLoader.isSDKAvailable(reactContext))
@@ -26,10 +22,15 @@ class FlirDownloadManager(private val reactContext: ReactApplicationContext) :
26
22
  promise.resolve(FlirSDKLoader.getDownloadSize(reactContext).toDouble())
27
23
  }
28
24
 
25
+ @ReactMethod
26
+ fun getDeviceArch(promise: Promise) {
27
+ promise.resolve(FlirSDKLoader.getDeviceArch())
28
+ }
29
+
29
30
  @ReactMethod
30
31
  fun downloadFlirSDK(promise: Promise) {
31
32
  downloadJob = scope.launch {
32
- val result = FlirSDKLoader.downloadDirect(reactContext) { downloaded, total ->
33
+ val result = FlirSDKLoader.downloadSDK(reactContext) { downloaded, total ->
33
34
  sendEvent("FlirDownloadProgress", Arguments.createMap().apply {
34
35
  putDouble("bytesDownloaded", downloaded.toDouble())
35
36
  putDouble("totalBytes", total.toDouble())