@stream-io/video-react-native-sdk 1.14.1 → 1.15.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.
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
+ ## [1.15.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.14.2...@stream-io/video-react-native-sdk-1.15.0) (2025-05-27)
6
+
7
+ ### Features
8
+
9
+ - **android:** Accept incoming call without device unlock ([#1806](https://github.com/GetStream/stream-video-js/issues/1806)) ([6b8ee36](https://github.com/GetStream/stream-video-js/commit/6b8ee36323c0c352742e23bf845eed47c581e6ab))
10
+
11
+ ## [1.14.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.14.1...@stream-io/video-react-native-sdk-1.14.2) (2025-05-22)
12
+
13
+ ### Dependency Updates
14
+
15
+ - `@stream-io/video-client` updated to version `1.23.2`
16
+ - `@stream-io/video-react-bindings` updated to version `1.6.5`
17
+
5
18
  ## [1.14.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.14.0...@stream-io/video-react-native-sdk-1.14.1) (2025-05-21)
6
19
 
7
20
  ### Dependency Updates
@@ -1,6 +1,11 @@
1
1
  package com.streamvideo.reactnative
2
2
 
3
+ import android.app.Activity
4
+ import android.app.KeyguardManager
3
5
  import android.content.res.Configuration
6
+ import android.os.Build
7
+ import android.view.WindowManager
8
+ import androidx.core.content.getSystemService
4
9
  import java.util.concurrent.CopyOnWriteArrayList // For thread safety
5
10
 
6
11
  object StreamVideoReactNative {
@@ -37,4 +42,26 @@ object StreamVideoReactNative {
37
42
  listener(isInPictureInPictureMode, newConfig)
38
43
  }
39
44
  }
45
+
46
+ /**
47
+ * Enable the calling activity to be shown in the lockscreen and dismiss the keyguard to enable
48
+ * users to answer without unblocking.
49
+ */
50
+ @JvmStatic
51
+ fun setupCallActivity(activity: Activity) {
52
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
53
+ activity.setShowWhenLocked(true)
54
+ activity.setTurnScreenOn(true)
55
+ } else {
56
+ activity.window.addFlags(
57
+ WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
58
+ or WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON,
59
+ )
60
+ }
61
+
62
+ val keyguardManager = activity.getSystemService<KeyguardManager>()
63
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && keyguardManager != null) {
64
+ keyguardManager.requestDismissKeyguard(activity, null)
65
+ }
66
+ }
40
67
  }
@@ -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 = '1.14.1';
7
+ const version = exports.version = '1.15.0';
8
8
  //# sourceMappingURL=version.js.map
@@ -1,2 +1,2 @@
1
- export const version = '1.14.1';
1
+ export const version = '1.15.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -1,2 +1,2 @@
1
- export declare const version = "1.14.1";
1
+ export declare const version = "1.15.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -52,11 +52,6 @@ const withStreamVideoReactNativeSDKManifest = (configuration, props) => {
52
52
  mainActivity.$['android:configChanges'] = mergedConfigChanges.join('|');
53
53
  mainActivity.$['android:supportsPictureInPicture'] = 'true';
54
54
  }
55
- if (props?.ringingPushNotifications?.showWhenLockedAndroid) {
56
- const mainActivity = getMainActivityOrThrow(androidManifest);
57
- mainActivity.$['android:showWhenLocked'] = 'true';
58
- mainActivity.$['android:turnScreenOn'] = 'true';
59
- }
60
55
  config.modResults = androidManifest;
61
56
  return config;
62
57
  });
@@ -21,7 +21,10 @@ const withStreamVideoReactNativeSDKMainActivity = (configuration, props) => {
21
21
  config.modResults.contents = addOnUserLeaveHint(config.modResults.contents, isMainActivityJava);
22
22
  }
23
23
  if (props?.enableScreenshare) {
24
- config.modResults.contents = addInsideOnCreate(config.modResults.contents, isMainActivityJava);
24
+ config.modResults.contents = addInsideOnCreateScreenshare(config.modResults.contents, isMainActivityJava);
25
+ }
26
+ if (props?.ringingPushNotifications?.showWhenLockedAndroid) {
27
+ config.modResults.contents = addInsideOnCreateLockscreen(config.modResults.contents, isMainActivityJava);
25
28
  }
26
29
  return config;
27
30
  });
@@ -94,7 +97,7 @@ function addOnUserLeaveHint(contents, isJava) {
94
97
  }
95
98
  return contents;
96
99
  }
97
- function addInsideOnCreate(contents, isJava) {
100
+ function addInsideOnCreateScreenshare(contents, isJava) {
98
101
  const addScreenShareServiceEnablerBlock = isJava
99
102
  ? `WebRTCModuleOptions options = WebRTCModuleOptions.getInstance();
100
103
  options.enableMediaProjectionService = true;
@@ -107,4 +110,13 @@ function addInsideOnCreate(contents, isJava) {
107
110
  }
108
111
  return contents;
109
112
  }
113
+ function addInsideOnCreateLockscreen(contents, isJava) {
114
+ const addLockscreenServiceEnablerBlock = isJava
115
+ ? `StreamVideoReactNative.setupCallActivity(this);`
116
+ : `StreamVideoReactNative.setupCallActivity(this)`;
117
+ if (!contents.includes('StreamVideoReactNative.setupCallActivity')) {
118
+ contents = (0, codeMod_1.appendContentsInsideDeclarationBlock)(contents, 'onCreate', addLockscreenServiceEnablerBlock);
119
+ }
120
+ return contents;
121
+ }
110
122
  exports.default = withStreamVideoReactNativeSDKMainActivity;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/video-react-native-sdk",
3
- "version": "1.14.1",
3
+ "version": "1.15.0",
4
4
  "description": "Stream Video SDK for React Native",
5
5
  "author": "https://getstream.io",
6
6
  "homepage": "https://getstream.io/video/docs/react-native/",
@@ -45,8 +45,8 @@
45
45
  "!**/.*"
46
46
  ],
47
47
  "dependencies": {
48
- "@stream-io/video-client": "1.23.1",
49
- "@stream-io/video-react-bindings": "1.6.4",
48
+ "@stream-io/video-client": "1.23.2",
49
+ "@stream-io/video-react-bindings": "1.6.5",
50
50
  "intl-pluralrules": "2.0.1",
51
51
  "lodash.merge": "^4.6.2",
52
52
  "react-native-url-polyfill": "1.3.0",
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '1.14.1';
1
+ export const version = '1.15.0';