@stream-io/video-react-native-sdk 0.7.16 → 0.7.18

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/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ### [0.7.18](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.7.17...@stream-io/video-react-native-sdk-0.7.18) (2024-06-03)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **react-native:** getting if pip was enabled from native was randomly broken ([#1385](https://github.com/GetStream/stream-video-js/issues/1385)) ([a055011](https://github.com/GetStream/stream-video-js/commit/a055011117fc4cee4ff00c855315aa72ffd7d881))
11
+
12
+ ### [0.7.17](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.7.16...@stream-io/video-react-native-sdk-0.7.17) (2024-06-03)
13
+
14
+ ### Dependency Updates
15
+
16
+ * `@stream-io/video-client` updated to version `1.2.0`
17
+ * `@stream-io/video-react-bindings` updated to version `0.4.38`
5
18
  ### [0.7.16](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.7.15...@stream-io/video-react-native-sdk-0.7.16) (2024-06-03)
6
19
 
7
20
  ### Dependency Updates
@@ -23,15 +23,12 @@ class StreamVideoReactNativeModule(reactContext: ReactApplicationContext) : Reac
23
23
  return NAME;
24
24
  }
25
25
 
26
- private var isInPictureInPictureMode = false
27
-
28
26
  override fun initialize() {
29
27
  super.initialize()
30
28
  StreamVideoReactNative.pipListeners.add { isInPictureInPictureMode ->
31
29
  reactApplicationContext.getJSModule(
32
30
  RCTDeviceEventEmitter::class.java
33
31
  ).emit(PIP_CHANGE_EVENT, isInPictureInPictureMode)
34
- this.isInPictureInPictureMode = isInPictureInPictureMode
35
32
  }
36
33
  }
37
34
 
@@ -48,7 +45,9 @@ class StreamVideoReactNativeModule(reactContext: ReactApplicationContext) : Reac
48
45
 
49
46
  @ReactMethod
50
47
  fun isInPiPMode(promise: Promise) {
51
- promise.resolve(isInPictureInPictureMode);
48
+ val inPictureInPictureMode: Boolean? =
49
+ reactApplicationContext.currentActivity?.isInPictureInPictureMode
50
+ promise.resolve(inPictureInPictureMode)
52
51
  }
53
52
 
54
53
  @ReactMethod
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useIsInPiPMode = useIsInPiPMode;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
+ const PIP_CHANGE_EVENT = 'StreamVideoReactNative_PIP_CHANGE_EVENT';
9
10
  function useIsInPiPMode() {
10
11
  const [isInPiPMode, setIsInPiPMode] = (0, _react.useState)(false);
11
12
  (0, _react.useEffect)(() => {
@@ -13,11 +14,23 @@ function useIsInPiPMode() {
13
14
  return;
14
15
  }
15
16
  const eventEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.StreamVideoReactNative);
16
- const subscription = eventEmitter.addListener('StreamVideoReactNative_PIP_CHANGE_EVENT', isPiPEnabled => {
17
- setIsInPiPMode(isPiPEnabled);
17
+ const subscriptionPiPChange = eventEmitter.addListener(PIP_CHANGE_EVENT, setIsInPiPMode);
18
+ const subscriptionAppState = _reactNative.AppState.addEventListener('change', nextAppState => {
19
+ var _NativeModules$Stream;
20
+ if (nextAppState === 'background') {
21
+ setIsInPiPMode(true); // set with an assumption that its enabled so that UI disabling happens faster
22
+ // if PiP was not enabled anyway, then in the next code we ll set it to false and UI wont be shown anyway
23
+ }
24
+ // attempt to take the value as soon as app state is changed
25
+ // this can be faster than event emitter at times
26
+ // also in new arch this can be made a synchronous method
27
+ _reactNative.NativeModules === null || _reactNative.NativeModules === void 0 || (_NativeModules$Stream = _reactNative.NativeModules.StreamVideoReactNative) === null || _NativeModules$Stream === void 0 || _NativeModules$Stream.isInPiPMode().then(isInPiPNativeMethod => {
28
+ setIsInPiPMode(!!isInPiPNativeMethod);
29
+ });
18
30
  });
19
31
  return () => {
20
- subscription.remove();
32
+ subscriptionPiPChange.remove();
33
+ subscriptionAppState.remove();
21
34
  };
22
35
  }, []);
23
36
  return isInPiPMode;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","useIsInPiPMode","isInPiPMode","setIsInPiPMode","useState","useEffect","Platform","OS","eventEmitter","NativeEventEmitter","NativeModules","StreamVideoReactNative","subscription","addListener","isPiPEnabled","remove"],"sourceRoot":"../../../src","sources":["hooks/useIsInPiPMode.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEO,SAASE,cAAcA,CAAA,EAAG;EAC/B,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAErD,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7B;IACF;IAEA,MAAMC,YAAY,GAAG,IAAIC,+BAAkB,CACzCC,0BAAa,CAACC,sBAChB,CAAC;IAED,MAAMC,YAAY,GAAGJ,YAAY,CAACK,WAAW,CAC3C,yCAAyC,EACxCC,YAAqB,IAAK;MACzBX,cAAc,CAACW,YAAY,CAAC;IAC9B,CACF,CAAC;IAED,OAAO,MAAM;MACXF,YAAY,CAACG,MAAM,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOb,WAAW;AACpB"}
1
+ {"version":3,"names":["_react","require","_reactNative","PIP_CHANGE_EVENT","useIsInPiPMode","isInPiPMode","setIsInPiPMode","useState","useEffect","Platform","OS","eventEmitter","NativeEventEmitter","NativeModules","StreamVideoReactNative","subscriptionPiPChange","addListener","subscriptionAppState","AppState","addEventListener","nextAppState","_NativeModules$Stream","then","isInPiPNativeMethod","remove"],"sourceRoot":"../../../src","sources":["hooks/useIsInPiPMode.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,MAAME,gBAAgB,GAAG,yCAAyC;AAE3D,SAASC,cAAcA,CAAA,EAAG;EAC/B,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAErD,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7B;IACF;IAEA,MAAMC,YAAY,GAAG,IAAIC,+BAAkB,CACzCC,0BAAa,CAACC,sBAChB,CAAC;IAED,MAAMC,qBAAqB,GAAGJ,YAAY,CAACK,WAAW,CACpDb,gBAAgB,EAChBG,cACF,CAAC;IAED,MAAMW,oBAAoB,GAAGC,qBAAQ,CAACC,gBAAgB,CACpD,QAAQ,EACPC,YAAY,IAAK;MAAA,IAAAC,qBAAA;MAChB,IAAID,YAAY,KAAK,YAAY,EAAE;QACjCd,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACtB;MACF;MACA;MACA;MACA;MACAO,0BAAa,aAAbA,0BAAa,gBAAAQ,qBAAA,GAAbR,0BAAa,CAAEC,sBAAsB,cAAAO,qBAAA,eAArCA,qBAAA,CAAuChB,WAAW,CAAC,CAAC,CAACiB,IAAI,CACtDC,mBAA+C,IAAK;QACnDjB,cAAc,CAAC,CAAC,CAACiB,mBAAmB,CAAC;MACvC,CACF,CAAC;IACH,CACF,CAAC;IAED,OAAO,MAAM;MACXR,qBAAqB,CAACS,MAAM,CAAC,CAAC;MAC9BP,oBAAoB,CAACO,MAAM,CAAC,CAAC;IAC/B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOnB,WAAW;AACpB"}
@@ -1 +1 @@
1
- {"version":3,"names":["_videoReactBindings","require","_react","_interopRequireWildcard","_useIosCallkeepWithCallingStateEffect","_utils","_useAndroidKeepCallAliveEffect","_hooks","_reactNative","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","StreamCall","children","createElement","StreamCallProvider","AppStateListener","AndroidKeepCallAlive","IosInformCallkeepCallEnd","ClearPushWSSubscriptions","exports","useCall","useAppStateListener","_call$camera","camera","resume","Platform","OS","_NativeModules$Stream","NativeModules","StreamVideoReactNative","isInPiPMode","then","isInPiP","_call$camera2","disable","_call$camera3","useAndroidKeepCallAliveEffect","useIosCallkeepWithCallingStateEffect","useEffect","clearPushWSEventSubscriptions","canAddPushWSSubscriptionsRef","current"],"sourceRoot":"../../../src","sources":["providers/StreamCall.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_videoReactBindings","require","_react","_interopRequireWildcard","_useIosCallkeepWithCallingStateEffect","_utils","_useAndroidKeepCallAliveEffect","_hooks","_reactNative","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","StreamCall","children","createElement","StreamCallProvider","AppStateListener","AndroidKeepCallAlive","IosInformCallkeepCallEnd","ClearPushWSSubscriptions","exports","useCall","useAppStateListener","_call$camera","camera","resume","Platform","OS","_NativeModules$Stream","NativeModules","StreamVideoReactNative","isInPiPMode","then","isInPiP","_call$camera2","disable","_call$camera3","useAndroidKeepCallAliveEffect","useIosCallkeepWithCallingStateEffect","useEffect","clearPushWSEventSubscriptions","canAddPushWSSubscriptionsRef","current"],"sourceRoot":"../../../src","sources":["providers/StreamCall.tsx"],"mappings":"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"}
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- const version = exports.version = '0.7.16';
7
+ const version = exports.version = '0.7.18';
8
8
  //# sourceMappingURL=version.js.map
@@ -1,5 +1,6 @@
1
1
  import { useEffect, useState } from 'react';
2
- import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
2
+ import { AppState, NativeEventEmitter, NativeModules, Platform } from 'react-native';
3
+ const PIP_CHANGE_EVENT = 'StreamVideoReactNative_PIP_CHANGE_EVENT';
3
4
  export function useIsInPiPMode() {
4
5
  const [isInPiPMode, setIsInPiPMode] = useState(false);
5
6
  useEffect(() => {
@@ -7,11 +8,23 @@ export function useIsInPiPMode() {
7
8
  return;
8
9
  }
9
10
  const eventEmitter = new NativeEventEmitter(NativeModules.StreamVideoReactNative);
10
- const subscription = eventEmitter.addListener('StreamVideoReactNative_PIP_CHANGE_EVENT', isPiPEnabled => {
11
- setIsInPiPMode(isPiPEnabled);
11
+ const subscriptionPiPChange = eventEmitter.addListener(PIP_CHANGE_EVENT, setIsInPiPMode);
12
+ const subscriptionAppState = AppState.addEventListener('change', nextAppState => {
13
+ var _NativeModules$Stream;
14
+ if (nextAppState === 'background') {
15
+ setIsInPiPMode(true); // set with an assumption that its enabled so that UI disabling happens faster
16
+ // if PiP was not enabled anyway, then in the next code we ll set it to false and UI wont be shown anyway
17
+ }
18
+ // attempt to take the value as soon as app state is changed
19
+ // this can be faster than event emitter at times
20
+ // also in new arch this can be made a synchronous method
21
+ NativeModules === null || NativeModules === void 0 || (_NativeModules$Stream = NativeModules.StreamVideoReactNative) === null || _NativeModules$Stream === void 0 || _NativeModules$Stream.isInPiPMode().then(isInPiPNativeMethod => {
22
+ setIsInPiPMode(!!isInPiPNativeMethod);
23
+ });
12
24
  });
13
25
  return () => {
14
- subscription.remove();
26
+ subscriptionPiPChange.remove();
27
+ subscriptionAppState.remove();
15
28
  };
16
29
  }, []);
17
30
  return isInPiPMode;
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","NativeEventEmitter","NativeModules","Platform","useIsInPiPMode","isInPiPMode","setIsInPiPMode","OS","eventEmitter","StreamVideoReactNative","subscription","addListener","isPiPEnabled","remove"],"sourceRoot":"../../../src","sources":["hooks/useIsInPiPMode.tsx"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAE1E,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC/B,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGN,QAAQ,CAAC,KAAK,CAAC;EAErDD,SAAS,CAAC,MAAM;IACd,IAAII,QAAQ,CAACI,EAAE,KAAK,SAAS,EAAE;MAC7B;IACF;IAEA,MAAMC,YAAY,GAAG,IAAIP,kBAAkB,CACzCC,aAAa,CAACO,sBAChB,CAAC;IAED,MAAMC,YAAY,GAAGF,YAAY,CAACG,WAAW,CAC3C,yCAAyC,EACxCC,YAAqB,IAAK;MACzBN,cAAc,CAACM,YAAY,CAAC;IAC9B,CACF,CAAC;IAED,OAAO,MAAM;MACXF,YAAY,CAACG,MAAM,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOR,WAAW;AACpB"}
1
+ {"version":3,"names":["useEffect","useState","AppState","NativeEventEmitter","NativeModules","Platform","PIP_CHANGE_EVENT","useIsInPiPMode","isInPiPMode","setIsInPiPMode","OS","eventEmitter","StreamVideoReactNative","subscriptionPiPChange","addListener","subscriptionAppState","addEventListener","nextAppState","_NativeModules$Stream","then","isInPiPNativeMethod","remove"],"sourceRoot":"../../../src","sources":["hooks/useIsInPiPMode.tsx"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,QACH,cAAc;AAErB,MAAMC,gBAAgB,GAAG,yCAAyC;AAElE,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC/B,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC;EAErDD,SAAS,CAAC,MAAM;IACd,IAAIK,QAAQ,CAACK,EAAE,KAAK,SAAS,EAAE;MAC7B;IACF;IAEA,MAAMC,YAAY,GAAG,IAAIR,kBAAkB,CACzCC,aAAa,CAACQ,sBAChB,CAAC;IAED,MAAMC,qBAAqB,GAAGF,YAAY,CAACG,WAAW,CACpDR,gBAAgB,EAChBG,cACF,CAAC;IAED,MAAMM,oBAAoB,GAAGb,QAAQ,CAACc,gBAAgB,CACpD,QAAQ,EACPC,YAAY,IAAK;MAAA,IAAAC,qBAAA;MAChB,IAAID,YAAY,KAAK,YAAY,EAAE;QACjCR,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACtB;MACF;MACA;MACA;MACA;MACAL,aAAa,aAAbA,aAAa,gBAAAc,qBAAA,GAAbd,aAAa,CAAEQ,sBAAsB,cAAAM,qBAAA,eAArCA,qBAAA,CAAuCV,WAAW,CAAC,CAAC,CAACW,IAAI,CACtDC,mBAA+C,IAAK;QACnDX,cAAc,CAAC,CAAC,CAACW,mBAAmB,CAAC;MACvC,CACF,CAAC;IACH,CACF,CAAC;IAED,OAAO,MAAM;MACXP,qBAAqB,CAACQ,MAAM,CAAC,CAAC;MAC9BN,oBAAoB,CAACM,MAAM,CAAC,CAAC;IAC/B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOb,WAAW;AACpB"}
@@ -1 +1 @@
1
- {"version":3,"names":["StreamCallProvider","useCall","React","useEffect","useIosCallkeepWithCallingStateEffect","canAddPushWSSubscriptionsRef","clearPushWSEventSubscriptions","useAndroidKeepCallAliveEffect","useAppStateListener","NativeModules","Platform","StreamCall","call","children","createElement","AppStateListener","AndroidKeepCallAlive","IosInformCallkeepCallEnd","ClearPushWSSubscriptions","_call$camera","camera","resume","OS","_NativeModules$Stream","StreamVideoReactNative","isInPiPMode","then","isInPiP","_call$camera2","disable","_call$camera3","current"],"sourceRoot":"../../../src","sources":["providers/StreamCall.tsx"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,OAAO,QAAQ,iCAAiC;AAC7E,OAAOC,KAAK,IAAuBC,SAAS,QAAQ,OAAO;AAE3D,SAASC,oCAAoC,QAAQ,oDAAoD;AACzG,SACEC,4BAA4B,EAC5BC,6BAA6B,QACxB,qBAAqB;AAC5B,SAASC,6BAA6B,QAAQ,wCAAwC;AACtF,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAStD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAGA,CAAC;EACzBC,IAAI;EACJC;AACkC,CAAC,KAAK;EACxC,oBACEX,KAAA,CAAAY,aAAA,CAACd,kBAAkB;IAACY,IAAI,EAAEA;EAAK,gBAC7BV,KAAA,CAAAY,aAAA,CAACC,gBAAgB,MAAE,CAAC,eACpBb,KAAA,CAAAY,aAAA,CAACE,oBAAoB,MAAE,CAAC,eACxBd,KAAA,CAAAY,aAAA,CAACG,wBAAwB,MAAE,CAAC,eAC5Bf,KAAA,CAAAY,aAAA,CAACI,wBAAwB,MAAE,CAAC,EAC3BL,QACiB,CAAC;AAEzB,CAAC;AAED,MAAME,gBAAgB,GAAGA,CAAA,KAAM;EAC7B,MAAMH,IAAI,GAAGX,OAAO,CAAC,CAAC;;EAEtB;EACA;EACAO,mBAAmB,CACjB,YAAY;IAAA,IAAAW,YAAA;IACV,OAAMP,IAAI,aAAJA,IAAI,gBAAAO,YAAA,GAAJP,IAAI,CAAEQ,MAAM,cAAAD,YAAA,uBAAZA,YAAA,CAAcE,MAAM,CAAC,CAAC;EAC9B,CAAC,EACD,YAAY;IACV,IAAIX,QAAQ,CAACY,EAAE,KAAK,SAAS,EAAE;MAAA,IAAAC,qBAAA;MAC7B;MACA;MACAd,aAAa,aAAbA,aAAa,gBAAAc,qBAAA,GAAbd,aAAa,CAAEe,sBAAsB,cAAAD,qBAAA,eAArCA,qBAAA,CAAuCE,WAAW,CAAC,CAAC,CAACC,IAAI,CACvD,MAAOC,OAAgB,IAAK;QAC1B,IAAI,CAACA,OAAO,EAAE;UAAA,IAAAC,aAAA;UACZ,OAAMhB,IAAI,aAAJA,IAAI,gBAAAgB,aAAA,GAAJhB,IAAI,CAAEQ,MAAM,cAAAQ,aAAA,uBAAZA,aAAA,CAAcC,OAAO,CAAC,CAAC;QAC/B;MACF,CACF,CAAC;IACH,CAAC,MAAM;MAAA,IAAAC,aAAA;MACL,OAAMlB,IAAI,aAAJA,IAAI,gBAAAkB,aAAA,GAAJlB,IAAI,CAAEQ,MAAM,cAAAU,aAAA,uBAAZA,aAAA,CAAcD,OAAO,CAAC,CAAC;IAC/B;EACF,CACF,CAAC;EAED,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMb,oBAAoB,GAAGA,CAAA,KAAM;EACjCT,6BAA6B,CAAC,CAAC;EAC/B,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMU,wBAAwB,GAAGA,CAAA,KAAM;EACrCb,oCAAoC,CAAC,CAAC;EACtC,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMc,wBAAwB,GAAGA,CAAA,KAAM;EACrCf,SAAS,CAAC,MAAM;IACdG,6BAA6B,CAAC,CAAC;IAC/BD,4BAA4B,CAAC0B,OAAO,GAAG,KAAK;IAC5C,OAAO,MAAM;MACX1B,4BAA4B,CAAC0B,OAAO,GAAG,IAAI;IAC7C,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,IAAI;AACb,CAAC"}
1
+ {"version":3,"names":["StreamCallProvider","useCall","React","useEffect","useIosCallkeepWithCallingStateEffect","canAddPushWSSubscriptionsRef","clearPushWSEventSubscriptions","useAndroidKeepCallAliveEffect","useAppStateListener","NativeModules","Platform","StreamCall","call","children","createElement","AppStateListener","AndroidKeepCallAlive","IosInformCallkeepCallEnd","ClearPushWSSubscriptions","_call$camera","camera","resume","OS","_NativeModules$Stream","StreamVideoReactNative","isInPiPMode","then","isInPiP","_call$camera2","disable","_call$camera3","current"],"sourceRoot":"../../../src","sources":["providers/StreamCall.tsx"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,OAAO,QAAQ,iCAAiC;AAC7E,OAAOC,KAAK,IAAuBC,SAAS,QAAQ,OAAO;AAE3D,SAASC,oCAAoC,QAAQ,oDAAoD;AACzG,SACEC,4BAA4B,EAC5BC,6BAA6B,QACxB,qBAAqB;AAC5B,SAASC,6BAA6B,QAAQ,wCAAwC;AACtF,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAStD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAGA,CAAC;EACzBC,IAAI;EACJC;AACkC,CAAC,KAAK;EACxC,oBACEX,KAAA,CAAAY,aAAA,CAACd,kBAAkB;IAACY,IAAI,EAAEA;EAAK,gBAC7BV,KAAA,CAAAY,aAAA,CAACC,gBAAgB,MAAE,CAAC,eACpBb,KAAA,CAAAY,aAAA,CAACE,oBAAoB,MAAE,CAAC,eACxBd,KAAA,CAAAY,aAAA,CAACG,wBAAwB,MAAE,CAAC,eAC5Bf,KAAA,CAAAY,aAAA,CAACI,wBAAwB,MAAE,CAAC,EAC3BL,QACiB,CAAC;AAEzB,CAAC;AAED,MAAME,gBAAgB,GAAGA,CAAA,KAAM;EAC7B,MAAMH,IAAI,GAAGX,OAAO,CAAC,CAAC;;EAEtB;EACA;EACAO,mBAAmB,CACjB,YAAY;IAAA,IAAAW,YAAA;IACV,OAAMP,IAAI,aAAJA,IAAI,gBAAAO,YAAA,GAAJP,IAAI,CAAEQ,MAAM,cAAAD,YAAA,uBAAZA,YAAA,CAAcE,MAAM,CAAC,CAAC;EAC9B,CAAC,EACD,YAAY;IACV,IAAIX,QAAQ,CAACY,EAAE,KAAK,SAAS,EAAE;MAAA,IAAAC,qBAAA;MAC7B;MACA;MACAd,aAAa,aAAbA,aAAa,gBAAAc,qBAAA,GAAbd,aAAa,CAAEe,sBAAsB,cAAAD,qBAAA,eAArCA,qBAAA,CAAuCE,WAAW,CAAC,CAAC,CAACC,IAAI,CACvD,MAAOC,OAAmC,IAAK;QAC7C,IAAI,CAACA,OAAO,EAAE;UAAA,IAAAC,aAAA;UACZ,OAAMhB,IAAI,aAAJA,IAAI,gBAAAgB,aAAA,GAAJhB,IAAI,CAAEQ,MAAM,cAAAQ,aAAA,uBAAZA,aAAA,CAAcC,OAAO,CAAC,CAAC;QAC/B;MACF,CACF,CAAC;IACH,CAAC,MAAM;MAAA,IAAAC,aAAA;MACL,OAAMlB,IAAI,aAAJA,IAAI,gBAAAkB,aAAA,GAAJlB,IAAI,CAAEQ,MAAM,cAAAU,aAAA,uBAAZA,aAAA,CAAcD,OAAO,CAAC,CAAC;IAC/B;EACF,CACF,CAAC;EAED,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMb,oBAAoB,GAAGA,CAAA,KAAM;EACjCT,6BAA6B,CAAC,CAAC;EAC/B,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMU,wBAAwB,GAAGA,CAAA,KAAM;EACrCb,oCAAoC,CAAC,CAAC;EACtC,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMc,wBAAwB,GAAGA,CAAA,KAAM;EACrCf,SAAS,CAAC,MAAM;IACdG,6BAA6B,CAAC,CAAC;IAC/BD,4BAA4B,CAAC0B,OAAO,GAAG,KAAK;IAC5C,OAAO,MAAM;MACX1B,4BAA4B,CAAC0B,OAAO,GAAG,IAAI;IAC7C,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,IAAI;AACb,CAAC"}
@@ -1,2 +1,2 @@
1
- export const version = '0.7.16';
1
+ export const version = '0.7.18';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsInPiPMode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useIsInPiPMode.tsx"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,YAyB7B"}
1
+ {"version":3,"file":"useIsInPiPMode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useIsInPiPMode.tsx"],"names":[],"mappings":"AAUA,wBAAgB,cAAc,YA0C7B"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.7.16";
1
+ export declare const version = "0.7.18";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-native-sdk",
3
- "version": "0.7.16",
3
+ "version": "0.7.18",
4
4
  "packageManager": "yarn@3.2.4",
5
5
  "main": "dist/commonjs/index.js",
6
6
  "module": "dist/module/index.js",
@@ -46,8 +46,8 @@
46
46
  "!**/.*"
47
47
  ],
48
48
  "dependencies": {
49
- "@stream-io/video-client": "^1.1.0",
50
- "@stream-io/video-react-bindings": "^0.4.37",
49
+ "@stream-io/video-client": "^1.2.0",
50
+ "@stream-io/video-react-bindings": "^0.4.38",
51
51
  "intl-pluralrules": "2.0.1",
52
52
  "lodash.merge": "^4.6.2",
53
53
  "react-native-url-polyfill": "1.3.0",
@@ -1,5 +1,12 @@
1
1
  import { useEffect, useState } from 'react';
2
- import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
2
+ import {
3
+ AppState,
4
+ NativeEventEmitter,
5
+ NativeModules,
6
+ Platform,
7
+ } from 'react-native';
8
+
9
+ const PIP_CHANGE_EVENT = 'StreamVideoReactNative_PIP_CHANGE_EVENT';
3
10
 
4
11
  export function useIsInPiPMode() {
5
12
  const [isInPiPMode, setIsInPiPMode] = useState(false);
@@ -13,15 +20,32 @@ export function useIsInPiPMode() {
13
20
  NativeModules.StreamVideoReactNative
14
21
  );
15
22
 
16
- const subscription = eventEmitter.addListener(
17
- 'StreamVideoReactNative_PIP_CHANGE_EVENT',
18
- (isPiPEnabled: boolean) => {
19
- setIsInPiPMode(isPiPEnabled);
23
+ const subscriptionPiPChange = eventEmitter.addListener(
24
+ PIP_CHANGE_EVENT,
25
+ setIsInPiPMode
26
+ );
27
+
28
+ const subscriptionAppState = AppState.addEventListener(
29
+ 'change',
30
+ (nextAppState) => {
31
+ if (nextAppState === 'background') {
32
+ setIsInPiPMode(true); // set with an assumption that its enabled so that UI disabling happens faster
33
+ // if PiP was not enabled anyway, then in the next code we ll set it to false and UI wont be shown anyway
34
+ }
35
+ // attempt to take the value as soon as app state is changed
36
+ // this can be faster than event emitter at times
37
+ // also in new arch this can be made a synchronous method
38
+ NativeModules?.StreamVideoReactNative?.isInPiPMode().then(
39
+ (isInPiPNativeMethod: boolean | null | undefined) => {
40
+ setIsInPiPMode(!!isInPiPNativeMethod);
41
+ }
42
+ );
20
43
  }
21
44
  );
22
45
 
23
46
  return () => {
24
- subscription.remove();
47
+ subscriptionPiPChange.remove();
48
+ subscriptionAppState.remove();
25
49
  };
26
50
  }, []);
27
51
 
@@ -53,7 +53,7 @@ const AppStateListener = () => {
53
53
  // in Android, we need to check if we are in PiP mode
54
54
  // in PiP mode, we don't want to disable the camera
55
55
  NativeModules?.StreamVideoReactNative?.isInPiPMode().then(
56
- async (isInPiP: boolean) => {
56
+ async (isInPiP: boolean | null | undefined) => {
57
57
  if (!isInPiP) {
58
58
  await call?.camera?.disable();
59
59
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '0.7.16';
1
+ export const version = '0.7.18';