@bits-innovate/react-native-vstarcam 1.0.10 → 1.0.12

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.
@@ -40,8 +40,43 @@ public class VStarCamModule extends ReactContextBaseJavaModule {
40
40
  private static final String TAG = "VStarCamModule";
41
41
  private static final String MODULE_NAME = "VStarCam";
42
42
 
43
- // P2P Server parameter - used for cloud relay connection
44
- private static final String P2P_SERVER_PARAM = "EBGNAKFCKFCDDNJCNHFDFKNJKLDGCMGPPJLKLLMF:1234";
43
+ // P2P Server parameters by DID prefix (from Flutter SDK)
44
+ private static final Map<String, String> SERVICE_PARAM_MAP = new HashMap<String, String>() {{
45
+ put("VSTC", "EBGBEMBMKGJMGAJPEIGIFKEGHBMCHMNFGKEGBFCBBMJELILDCJADCIOLHHLLJBKEAMMBLCDGONMDBJCJJPNFJP");
46
+ put("VSTB", "EBGBEMBMKGJMGAJPEIGIFKEGHBMCHMNFGKEGBFCBBMJELILDCJADCIOLHHLLJBKEAMMBLCDGONMDBJCJJPNFJP");
47
+ put("VSTA", "EFGBFFBJKDJKGGJMEAHKFHEJHNNHHANIHIFBBKDFAMJDLKKODNANCBPJGGLEIELOBGNDKADKPGNJBNCNIF");
48
+ put("VSTE", "EEGDFHBAKKIOGNJHEGHMFEEDGLNOHJMPHAFPBEDLADILKEKPDLBDDNPOHKKCIFKJBNNNKLCPPPNDBFDL");
49
+ put("VSTG", "EEGDFHBLKGJIGEJLEKGOFMEDHAMHHJNAGGFABMCOBGJOLHLJDFAFCPPHGILKIKLMANNHKEDKOINIBNCPJOMK:vstarcam2018");
50
+ put("VSTH", "EEGDFHBLKGJIGEJLEKGOFMEDHAMHHJNAGGFABMCOBGJOLHLJDFAFCPPHGILKIKLMANNHKEDKOINIBNCPJOMK:vstarcam2018");
51
+ put("VSTJ", "EEGDFHBLKGJIGEJNEOHEFBEIGANCHHMBHIFEAHDEAMJCKCKJDJAFDDPPHLKJIHLMBENHKDCHPHNJBODA:vstarcam2019");
52
+ put("VSTK", "EBGDEJBJKGJFGJJBEFHPFCEKHGNMHNNMHMFFBICPAJJNLDLLDHACCNONGLLPJGLKANMJLDDHODMEBOCIJEMA:vstarcam2019");
53
+ put("VSTL", "EEGDFHBLKGJIGEJIEIGN FPEEHGNMHPNBGOFIBECEBLJDLMLGDKAPCNPFGOLLJFLJAOMKLBDFOGMAAFCJJPNFJP:vstarcam2019");
54
+ put("VSTM", "EBGEEOBOKHJNHGJGEAGAEPEPHDMGHINBGIECBBCBBJIKLKLCCDBBCFODHLKLJJKPBOMELECKPNMNAICEJCNNJH:vstarcam2019");
55
+ put("VSTN", "EEGDFHBBKBIFGAIAFGHDFLFJGJNIGEMOHFFPAMDMAAIIKBKNCDBDDMOGHLKCJCKFBFMPLMCBPEMG:vstarcam2019");
56
+ put("VSTP", "EEGDFHBLKGJIGEJLEIGJFLENHLNBHCNMGAFGBNCOAIJMLKKODNALCCPKGBLHJLLHAHMBKNDFOGNGBDCIJFMB:vstarcam2019");
57
+ put("VSGG", "EBGDEJBJKGJEGIJHELGKFIEEHBMPHBNNGEFCBGCAAGJBLOLFDJAMCPODGFLEJIKNAFMBKNDHPLNEAM:vstarcam2021");
58
+ put("VSKK", "EIHGFNBAKMIIGLJHECHIFFECGKNNHONAHAFOBBDOAEJGLLKPDMAMCAPIGGLBIBLCAEMIKEDPOEMMBGCFJHNMJG:veepai2023");
59
+ put("VSKM", "EIHGFNBAKMIIGLJEEAHKFEEJHLNBHCNIGFFDBLCMAKJNLELPDDAGCNOOGILMJFLJAOMKLADEOEMJAPCDJCNPJF:veepai2024");
60
+ put("VSLL", "EIHGFOBBKKIOGNJKENHHFKEEGMNOHLMNHBFKBBDOAHJBLMKIDLAJCAPIGDLBJGLKAOMILNDJOJMGAHCLJHNMJG:veepai2024");
61
+ put("ACAE", "EEGDFHBLKGJIGEJLEKGOFMEDHAMHHJNAGGFABMCOBGJOLHLJDFAFCPPHGILKIKLMANNHKEDKOINIBNCPJOMK:vstarcam2018"); // Try VSTH params
62
+ // Fallback for unknown prefixes
63
+ put("DEFAULT", "EBGBEMBMKGJMGAJPEIGIFKEGHBMCHMNFGKEGBFCBBMJELILDCJADCIOLHHLLJBKEAMMBLCDGONMDBJCJJPNFJP");
64
+ }};
65
+
66
+ // Get service parameter for a DID
67
+ private static String getServiceParam(String did) {
68
+ if (did == null || did.length() < 4) {
69
+ return SERVICE_PARAM_MAP.get("DEFAULT");
70
+ }
71
+ String prefix = did.substring(0, 4).toUpperCase();
72
+ String param = SERVICE_PARAM_MAP.get(prefix);
73
+ if (param == null) {
74
+ Log.w(TAG, "No service param for prefix: " + prefix + ", using DEFAULT");
75
+ param = SERVICE_PARAM_MAP.get("DEFAULT");
76
+ }
77
+ Log.d(TAG, "Using service param for prefix " + prefix + ": " + (param.length() > 20 ? param.substring(0, 20) + "..." : param));
78
+ return param;
79
+ }
45
80
 
46
81
  private final ReactApplicationContext reactContext;
47
82
  private final ExecutorService executor;
@@ -91,6 +126,20 @@ public class VStarCamModule extends ReactContextBaseJavaModule {
91
126
  releaseListenerClass = Class.forName("com.vstarcam.app_p2p_api.ClientReleaseListener");
92
127
  Log.d(TAG, "Listener interfaces loaded");
93
128
 
129
+ // Log all methods on each listener for debugging
130
+ Log.d(TAG, "ClientStateListener methods:");
131
+ for (Method m : stateListenerClass.getDeclaredMethods()) {
132
+ Log.d(TAG, " -> " + m.getName() + "(" + java.util.Arrays.toString(m.getParameterTypes()) + ")");
133
+ }
134
+ Log.d(TAG, "ClientCommandListener methods:");
135
+ for (Method m : commandListenerClass.getDeclaredMethods()) {
136
+ Log.d(TAG, " -> " + m.getName() + "(" + java.util.Arrays.toString(m.getParameterTypes()) + ")");
137
+ }
138
+ Log.d(TAG, "ClientReleaseListener methods:");
139
+ for (Method m : releaseListenerClass.getDeclaredMethods()) {
140
+ Log.d(TAG, " -> " + m.getName() + "(" + java.util.Arrays.toString(m.getParameterTypes()) + ")");
141
+ }
142
+
94
143
  // Initialize P2P system with listeners
95
144
  initializeP2P();
96
145
  } catch (ClassNotFoundException e) {
@@ -241,8 +290,9 @@ public class VStarCamModule extends ReactContextBaseJavaModule {
241
290
  }
242
291
 
243
292
  // Call JNIApi.create(did, serverParam)
293
+ String serviceParam = getServiceParam(deviceId);
244
294
  Method createMethod = jniApiClass.getMethod("create", String.class, String.class);
245
- Object result = createMethod.invoke(null, deviceId, P2P_SERVER_PARAM);
295
+ Object result = createMethod.invoke(null, deviceId, serviceParam);
246
296
  long sdkClientPtr = (Long) result;
247
297
 
248
298
  Log.d(TAG, "JNIApi.create result: " + sdkClientPtr);
@@ -299,7 +349,7 @@ public class VStarCamModule extends ReactContextBaseJavaModule {
299
349
 
300
350
  String param = (serverParam != null && !serverParam.isEmpty())
301
351
  ? serverParam
302
- : P2P_SERVER_PARAM;
352
+ : getServiceParam(clientInfo.deviceId);
303
353
 
304
354
  // Call JNIApi.connect(sdkClientPtr, timeout, serverParam, connectType)
305
355
  // Signature: connect([long, int, class java.lang.String, int])
@@ -549,7 +599,7 @@ public class VStarCamModule extends ReactContextBaseJavaModule {
549
599
  @ReactMethod
550
600
  public void getSdkVersion(Promise promise) {
551
601
  WritableMap result = Arguments.createMap();
552
- result.putString("version", "1.0.10");
602
+ result.putString("version", "1.0.12");
553
603
  result.putBoolean("nativeLoaded", isNativeLibraryLoaded);
554
604
  result.putString("nativeLib", "OKSMARTPPCS");
555
605
  result.putBoolean("p2pInitialized", isP2PInitialized);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bits-innovate/react-native-vstarcam",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "React Native bridge for VStarCam P2P SDK",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",