@100mslive/react-native-hms 1.5.0 → 1.6.0

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 (88) hide show
  1. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +52 -24
  2. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +245 -62
  3. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +15 -6
  4. package/ios/HMSConstants.swift +3 -1
  5. package/ios/HMSDecoder.swift +1 -1
  6. package/ios/HMSHelper.swift +44 -7
  7. package/ios/HMSManager.m +8 -0
  8. package/ios/HMSManager.swift +35 -1
  9. package/ios/HMSRNSDK.swift +268 -38
  10. package/lib/commonjs/classes/HMSAudioTrackSettings.js +14 -0
  11. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  12. package/lib/commonjs/classes/HMSEncoder.js +2 -1
  13. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  14. package/lib/commonjs/classes/HMSIOSAudioMode.js +13 -0
  15. package/lib/commonjs/classes/HMSIOSAudioMode.js.map +1 -0
  16. package/lib/commonjs/classes/HMSSDK.js +50 -0
  17. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  18. package/lib/commonjs/classes/HMSSessionStore.js +173 -0
  19. package/lib/commonjs/classes/HMSSessionStore.js.map +1 -0
  20. package/lib/commonjs/classes/HMSUpdateListenerActions.js +8 -0
  21. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  22. package/lib/commonjs/classes/HMSVideoTrackSettings.js +5 -0
  23. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  24. package/lib/commonjs/index.js +12 -0
  25. package/lib/commonjs/index.js.map +1 -1
  26. package/lib/commonjs/utils/emitter/EventEmitter.js +162 -0
  27. package/lib/commonjs/utils/emitter/EventEmitter.js.map +1 -0
  28. package/lib/commonjs/utils/emitter/_EmitterSubscription.js +46 -0
  29. package/lib/commonjs/utils/emitter/_EmitterSubscription.js.map +1 -0
  30. package/lib/commonjs/utils/emitter/_EventSubscription.js +36 -0
  31. package/lib/commonjs/utils/emitter/_EventSubscription.js.map +1 -0
  32. package/lib/commonjs/utils/emitter/_EventSubscriptionVendor.js +90 -0
  33. package/lib/commonjs/utils/emitter/_EventSubscriptionVendor.js.map +1 -0
  34. package/lib/commonjs/utils/index.js +17 -0
  35. package/lib/commonjs/utils/index.js.map +1 -0
  36. package/lib/module/classes/HMSAudioTrackSettings.js +14 -0
  37. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  38. package/lib/module/classes/HMSEncoder.js +2 -1
  39. package/lib/module/classes/HMSEncoder.js.map +1 -1
  40. package/lib/module/classes/HMSIOSAudioMode.js +6 -0
  41. package/lib/module/classes/HMSIOSAudioMode.js.map +1 -0
  42. package/lib/module/classes/HMSSDK.js +50 -0
  43. package/lib/module/classes/HMSSDK.js.map +1 -1
  44. package/lib/module/classes/HMSSessionStore.js +166 -0
  45. package/lib/module/classes/HMSSessionStore.js.map +1 -0
  46. package/lib/module/classes/HMSUpdateListenerActions.js +8 -0
  47. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  48. package/lib/module/classes/HMSVideoTrackSettings.js +5 -0
  49. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  50. package/lib/module/index.js +1 -0
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/utils/emitter/EventEmitter.js +151 -0
  53. package/lib/module/utils/emitter/EventEmitter.js.map +1 -0
  54. package/lib/module/utils/emitter/_EmitterSubscription.js +39 -0
  55. package/lib/module/utils/emitter/_EmitterSubscription.js.map +1 -0
  56. package/lib/module/utils/emitter/_EventSubscription.js +29 -0
  57. package/lib/module/utils/emitter/_EventSubscription.js.map +1 -0
  58. package/lib/module/utils/emitter/_EventSubscriptionVendor.js +83 -0
  59. package/lib/module/utils/emitter/_EventSubscriptionVendor.js.map +1 -0
  60. package/lib/module/utils/index.js +2 -0
  61. package/lib/module/utils/index.js.map +1 -0
  62. package/lib/typescript/classes/HMSAudioTrackSettings.d.ts +14 -0
  63. package/lib/typescript/classes/HMSIOSAudioMode.d.ts +4 -0
  64. package/lib/typescript/classes/HMSSDK.d.ts +16 -0
  65. package/lib/typescript/classes/HMSSessionStore.d.ts +63 -0
  66. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +9 -1
  67. package/lib/typescript/classes/HMSVideoTrackSettings.d.ts +5 -0
  68. package/lib/typescript/index.d.ts +2 -0
  69. package/lib/typescript/utils/emitter/EventEmitter.d.ts +91 -0
  70. package/lib/typescript/utils/emitter/_EmitterSubscription.d.ts +29 -0
  71. package/lib/typescript/utils/emitter/_EventSubscription.d.ts +19 -0
  72. package/lib/typescript/utils/emitter/_EventSubscriptionVendor.d.ts +44 -0
  73. package/lib/typescript/utils/index.d.ts +1 -0
  74. package/package.json +21 -2
  75. package/sdk-versions.json +2 -2
  76. package/src/classes/HMSAudioTrackSettings.ts +16 -0
  77. package/src/classes/HMSEncoder.ts +1 -0
  78. package/src/classes/HMSIOSAudioMode.ts +4 -0
  79. package/src/classes/HMSSDK.tsx +70 -4
  80. package/src/classes/HMSSessionStore.ts +209 -0
  81. package/src/classes/HMSUpdateListenerActions.ts +8 -0
  82. package/src/classes/HMSVideoTrackSettings.ts +5 -0
  83. package/src/index.ts +5 -0
  84. package/src/utils/emitter/EventEmitter.ts +160 -0
  85. package/src/utils/emitter/_EmitterSubscription.ts +44 -0
  86. package/src/utils/emitter/_EventSubscription.ts +28 -0
  87. package/src/utils/emitter/_EventSubscriptionVendor.ts +89 -0
  88. package/src/utils/index.ts +1 -0
@@ -15,6 +15,7 @@ import { HMSNativeEventEmitter } from './HMSNativeEventEmitter';
15
15
  import { clearHmsPeersCache, getHmsPeersCache, HMSPeersCache, setHmsPeersCache } from './HMSPeersCache';
16
16
  import { clearHmsRoomCache, getHmsRoomCache, HMSRoomCache, setHmsRoomCache } from './HMSRoomCache';
17
17
  import { HMSPeerUpdateOrdinals } from './HMSPeerUpdate';
18
+ import { HMSSessionStore } from './HMSSessionStore';
18
19
 
19
20
  // TODO: Rename to HMSPIPConfig & to be moved to a separate file
20
21
 
@@ -52,6 +53,7 @@ export class HMSSDK {
52
53
  _defineProperty(this, "onRemoteAudioStatsDelegate", void 0);
53
54
  _defineProperty(this, "onRemoteVideoStatsDelegate", void 0);
54
55
  _defineProperty(this, "onAudioDeviceChangedDelegate", void 0);
56
+ _defineProperty(this, "onSessionStoreAvailableDelegate", void 0);
55
57
  _defineProperty(this, "onPIPRoomLeaveDelegate", void 0);
56
58
  _defineProperty(this, "emitterSubscriptions", {});
57
59
  /**
@@ -1001,6 +1003,12 @@ export class HMSSDK {
1001
1003
  return 'API currently not available for iOS';
1002
1004
  }
1003
1005
  });
1006
+ /**
1007
+ * @deprecated Older SessionMetaData APIs has been deprecated in favour of newer Session Store APIs.
1008
+ * You can subscribe to `ON_SESSION_STORE_AVAILABLE` event to get notified when the `HMSSessionStore`
1009
+ * is available and use `set` method on `HMSSessionStore` instance
1010
+ * checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/}
1011
+ */
1004
1012
  _defineProperty(this, "setSessionMetaData", async sessionMetaData => {
1005
1013
  logger === null || logger === void 0 ? void 0 : logger.verbose('#Function setSessionMetaData', {
1006
1014
  id: this.id,
@@ -1011,6 +1019,12 @@ export class HMSSDK {
1011
1019
  sessionMetaData
1012
1020
  });
1013
1021
  });
1022
+ /**
1023
+ * @deprecated Older SessionMetaData APIs has been deprecated in favour of newer Session Store APIs.
1024
+ * You can subscribe to `ON_SESSION_STORE_AVAILABLE` event to get notified when the `HMSSessionStore`
1025
+ * is available and use `get` or `addKeyChangeListener` method on `HMSSessionStore` instance
1026
+ * checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/}
1027
+ */
1014
1028
  _defineProperty(this, "getSessionMetaData", async () => {
1015
1029
  logger === null || logger === void 0 ? void 0 : logger.verbose('#Function getSessionMetaData', {
1016
1030
  id: this.id
@@ -1282,6 +1296,18 @@ export class HMSSDK {
1282
1296
  this.onAudioDeviceChangedDelegate = callback;
1283
1297
  break;
1284
1298
  }
1299
+ case HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE:
1300
+ {
1301
+ // Checking if we already have ON_SESSION_STORE_AVAILABLE subscription
1302
+ if (!this.emitterSubscriptions[HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE]) {
1303
+ // Adding ON_SESSION_STORE_AVAILABLE native listener
1304
+ const sessionStoreAvailableSubscription = HmsEventEmitter.addListener(this.id, HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE, this.onSessionStoreAvailableListener);
1305
+ this.emitterSubscriptions[HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE] = sessionStoreAvailableSubscription;
1306
+ }
1307
+ // Adding Session Store Available App Delegate listener
1308
+ this.onSessionStoreAvailableDelegate = callback;
1309
+ break;
1310
+ }
1285
1311
  case HMSPIPListenerActions.ON_PIP_ROOM_LEAVE:
1286
1312
  {
1287
1313
  if (Platform.OS === 'android') {
@@ -1540,6 +1566,18 @@ export class HMSSDK {
1540
1566
  this.onAudioDeviceChangedDelegate = null;
1541
1567
  break;
1542
1568
  }
1569
+ case HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE:
1570
+ {
1571
+ const subscription = this.emitterSubscriptions[HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE];
1572
+ // Removing ON_SESSION_STORE_AVAILABLE native listener
1573
+ if (subscription) {
1574
+ subscription.remove();
1575
+ this.emitterSubscriptions[HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE] = undefined;
1576
+ }
1577
+ // Removing App Delegate listener
1578
+ this.onSessionStoreAvailableDelegate = null;
1579
+ break;
1580
+ }
1543
1581
  case HMSPIPListenerActions.ON_PIP_ROOM_LEAVE:
1544
1582
  {
1545
1583
  if (Platform.OS === 'android') {
@@ -1912,6 +1950,18 @@ export class HMSSDK {
1912
1950
  });
1913
1951
  }
1914
1952
  });
1953
+ _defineProperty(this, "onSessionStoreAvailableListener", data => {
1954
+ if (data.id !== this.id) {
1955
+ return;
1956
+ }
1957
+ if (this.onSessionStoreAvailableDelegate) {
1958
+ logger === null || logger === void 0 ? void 0 : logger.verbose('#Listener ON_SESSION_STORE_AVAILABLE_LISTENER_CALL', data);
1959
+ this.onSessionStoreAvailableDelegate({
1960
+ ...data,
1961
+ sessionStore: new HMSSessionStore()
1962
+ });
1963
+ }
1964
+ });
1915
1965
  _defineProperty(this, "onPIPRoomLeaveListener", data => {
1916
1966
  if (data.id !== this.id) {
1917
1967
  return;