amazon-ivs-react-native-player 1.5.1-rc.1 → 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 (114) hide show
  1. package/AmazonIvs.podspec +22 -0
  2. package/README.md +4 -1
  3. package/android/build.gradle +48 -88
  4. package/android/gradle.properties +6 -5
  5. package/android/src/main/AndroidManifest.xml +7 -1
  6. package/android/src/main/java/com/amazonaws/ivs/reactnative/player/AmazonIvsPackage.kt +6 -6
  7. package/android/src/main/java/com/amazonaws/ivs/reactnative/player/AmazonIvsView.kt +454 -66
  8. package/android/src/main/java/com/amazonaws/ivs/reactnative/player/AmazonIvsViewManager.kt +207 -97
  9. package/android/src/main/java/com/amazonaws/ivs/reactnative/player/IVSBackgroundService.kt +117 -0
  10. package/android/src/main/java/com/amazonaws/ivs/reactnative/player/IVSEvent.kt +15 -0
  11. package/ios/AmazonIvs.h +16 -0
  12. package/ios/AmazonIvs.mm +663 -0
  13. package/ios/AmazonIvsView.swift +704 -514
  14. package/lib/module/components/AmazonIvsViewNativeComponent.ts +156 -0
  15. package/lib/module/components/ErrorNotification.js +65 -0
  16. package/lib/module/components/ErrorNotification.js.map +1 -0
  17. package/lib/module/components/IVSPlayer.js +316 -0
  18. package/lib/module/components/IVSPlayer.js.map +1 -0
  19. package/lib/module/index.js +7 -3
  20. package/lib/module/index.js.map +1 -1
  21. package/lib/module/package.json +1 -0
  22. package/lib/module/{enums.js → types/enums.js} +7 -8
  23. package/lib/module/types/enums.js.map +1 -0
  24. package/lib/module/types/index.js +2 -0
  25. package/lib/module/types/index.js.map +1 -0
  26. package/lib/module/types/source.js +19 -0
  27. package/lib/module/types/source.js.map +1 -0
  28. package/lib/typescript/e2e/basicProps.e2e.d.ts +2 -0
  29. package/lib/typescript/e2e/basicProps.e2e.d.ts.map +1 -0
  30. package/lib/typescript/e2e/events.e2e.d.ts +2 -0
  31. package/lib/typescript/e2e/events.e2e.d.ts.map +1 -0
  32. package/lib/typescript/e2e/jest.config.d.ts +1 -0
  33. package/lib/typescript/e2e/jest.config.d.ts.map +1 -0
  34. package/lib/typescript/e2e/refApi.e2e.d.ts +2 -0
  35. package/lib/typescript/e2e/refApi.e2e.d.ts.map +1 -0
  36. package/lib/typescript/e2e/testPlan.d.ts +14 -0
  37. package/lib/typescript/e2e/testPlan.d.ts.map +1 -0
  38. package/lib/typescript/package.json +1 -0
  39. package/lib/typescript/scripts/example-dot-env.d.ts +2 -0
  40. package/lib/typescript/scripts/example-dot-env.d.ts.map +1 -0
  41. package/lib/typescript/scripts/release-create.d.ts +2 -0
  42. package/lib/typescript/scripts/release-create.d.ts.map +1 -0
  43. package/lib/typescript/scripts/release-tag.d.ts +2 -0
  44. package/lib/typescript/scripts/release-tag.d.ts.map +1 -0
  45. package/lib/typescript/scripts/release-verify.d.ts +2 -0
  46. package/lib/typescript/scripts/release-verify.d.ts.map +1 -0
  47. package/lib/typescript/scripts/utils.d.ts +3 -0
  48. package/lib/typescript/scripts/utils.d.ts.map +1 -0
  49. package/lib/typescript/src/components/AmazonIvsViewNativeComponent.d.ts +143 -0
  50. package/lib/typescript/src/components/AmazonIvsViewNativeComponent.d.ts.map +1 -0
  51. package/lib/typescript/src/components/ErrorNotification.d.ts +7 -0
  52. package/lib/typescript/src/components/ErrorNotification.d.ts.map +1 -0
  53. package/lib/typescript/{IVSPlayer.d.ts → src/components/IVSPlayer.d.ts} +24 -5
  54. package/lib/typescript/src/components/IVSPlayer.d.ts.map +1 -0
  55. package/lib/typescript/src/index.d.ts +7 -0
  56. package/lib/typescript/src/index.d.ts.map +1 -0
  57. package/lib/typescript/{enums.d.ts → src/types/enums.d.ts} +1 -0
  58. package/lib/typescript/src/types/enums.d.ts.map +1 -0
  59. package/lib/typescript/{types.d.ts → src/types/index.d.ts} +16 -12
  60. package/lib/typescript/src/types/index.d.ts.map +1 -0
  61. package/lib/typescript/src/types/source.d.ts +3 -0
  62. package/lib/typescript/src/types/source.d.ts.map +1 -0
  63. package/package.json +103 -57
  64. package/src/components/AmazonIvsViewNativeComponent.ts +156 -0
  65. package/src/components/ErrorNotification.tsx +70 -0
  66. package/src/{IVSPlayer.tsx → components/IVSPlayer.tsx} +134 -141
  67. package/src/index.ts +5 -3
  68. package/src/{types.ts → types/index.ts} +9 -4
  69. package/src/{source.ts → types/source.ts} +1 -1
  70. package/amazon-ivs-react-native-player.podspec +0 -31
  71. package/android/.project +0 -17
  72. package/android/.settings/org.eclipse.buildship.core.prefs +0 -13
  73. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  74. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  75. package/android/gradlew +0 -234
  76. package/android/gradlew.bat +0 -84
  77. package/ios/AmazonIvs-Bridging-Header.h +0 -3
  78. package/ios/AmazonIvs.xcodeproj/project.pbxproj +0 -283
  79. package/ios/AmazonIvsManager.m +0 -49
  80. package/ios/AmazonIvsManager.swift +0 -64
  81. package/lib/commonjs/IVSPlayer.js +0 -288
  82. package/lib/commonjs/IVSPlayer.js.flow +0 -58
  83. package/lib/commonjs/IVSPlayer.js.map +0 -1
  84. package/lib/commonjs/enums.js +0 -27
  85. package/lib/commonjs/enums.js.flow +0 -21
  86. package/lib/commonjs/enums.js.map +0 -1
  87. package/lib/commonjs/index.js +0 -45
  88. package/lib/commonjs/index.js.flow +0 -11
  89. package/lib/commonjs/index.js.map +0 -1
  90. package/lib/commonjs/source.js +0 -37
  91. package/lib/commonjs/source.js.map +0 -1
  92. package/lib/commonjs/types.js +0 -2
  93. package/lib/commonjs/types.js.flow +0 -46
  94. package/lib/commonjs/types.js.map +0 -1
  95. package/lib/module/IVSPlayer.js +0 -269
  96. package/lib/module/IVSPlayer.js.flow +0 -58
  97. package/lib/module/IVSPlayer.js.map +0 -1
  98. package/lib/module/enums.js.flow +0 -21
  99. package/lib/module/enums.js.map +0 -1
  100. package/lib/module/index.js.flow +0 -11
  101. package/lib/module/source.js +0 -27
  102. package/lib/module/source.js.map +0 -1
  103. package/lib/module/types.js +0 -2
  104. package/lib/module/types.js.flow +0 -46
  105. package/lib/module/types.js.map +0 -1
  106. package/lib/typescript/__tests__/index.test.d.ts +0 -1
  107. package/lib/typescript/index.d.ts +0 -4
  108. package/lib/typescript/source.d.ts +0 -2
  109. package/src/IVSPlayer.js.flow +0 -58
  110. package/src/__tests__/index.test.tsx +0 -261
  111. package/src/enums.js.flow +0 -21
  112. package/src/index.js.flow +0 -11
  113. package/src/types.js.flow +0 -46
  114. /package/src/{enums.ts → types/enums.ts} +0 -0
@@ -0,0 +1,22 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = "AmazonIvs"
7
+ s.version = package["version"]
8
+ s.summary = package["description"]
9
+ s.homepage = package["homepage"]
10
+ s.license = package["license"]
11
+ s.authors = package["author"]
12
+
13
+ s.platforms = { :ios => min_ios_version_supported }
14
+ s.source = { :git => "https://github.com/aws/amazon-ivs-react-native-player.git", :tag => "#{s.version}" }
15
+
16
+
17
+ s.source_files = "ios/**/*.{h,m,mm,cpp,swift}"
18
+ s.private_header_files = "ios/**/*.h"
19
+
20
+ s.dependency "AmazonIVSPlayer", "1.46.0"
21
+ install_modules_dependencies(s)
22
+ end
package/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Amazon IVS React Native Player
2
2
 
3
- This package implements native binding for Amazon IVS Player for iOS and Android.
3
+ This package implements native binding for Amazon IVS Player for iOS and Android Mobile Only.
4
+ | Android Mobile | iOS | Android TV | tvOS |
5
+ | :-----: | :-: | :---: | :-: |
6
+ | SDK >= 24 | >= 15.1 | **X** | **X** |
4
7
 
5
8
  ## Installation
6
9
 
@@ -1,33 +1,30 @@
1
1
  import groovy.json.JsonSlurper
2
2
 
3
3
  buildscript {
4
- // Buildscript is evaluated before everything else so we can't use getExtOrDefault
5
- def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : project.properties['AmazonIvs_kotlinVersion']
4
+ ext.getExtOrDefault = { name ->
5
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['AmazonIvs_' + name]
6
+ }
6
7
 
7
8
  repositories {
8
9
  google()
9
10
  mavenCentral()
10
- google()
11
11
  }
12
12
 
13
13
  dependencies {
14
- classpath("com.android.tools.build:gradle:7.0.4")
15
- classpath("com.facebook.react:react-native-gradle-plugin")
16
- classpath("de.undercouch:gradle-download-task:4.1.2")
14
+ classpath "com.android.tools.build:gradle:8.7.2"
17
15
  // noinspection DifferentKotlinGradleVersion
18
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
16
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}"
19
17
  }
20
18
  }
21
19
 
22
- apply plugin: 'com.android.library'
23
- apply plugin: 'kotlin-android'
24
20
 
25
- def getExtOrDefault(name) {
26
- return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['AmazonIvs_' + name]
27
- }
21
+ apply plugin: "com.android.library"
22
+ apply plugin: "kotlin-android"
23
+
24
+ apply plugin: "com.facebook.react"
28
25
 
29
26
  def getExtOrIntegerDefault(name) {
30
- return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties['AmazonIvs_' + name]).toInteger()
27
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["AmazonIvs_" + name]).toInteger()
31
28
  }
32
29
 
33
30
  def rootPkg = file('../package.json')
@@ -35,102 +32,65 @@ def pkgData = new JsonSlurper().parseText(rootPkg.text)
35
32
  def sdk_version = pkgData.version
36
33
 
37
34
  android {
38
- compileSdkVersion getExtOrIntegerDefault('compileSdkVersion')
39
- buildToolsVersion getExtOrDefault('buildToolsVersion')
35
+ namespace "com.amazonaws.ivs.reactnative.player"
36
+
37
+ compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
38
+
40
39
  defaultConfig {
41
- minSdkVersion 21
42
- targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
43
- versionCode 1
40
+ minSdkVersion getExtOrIntegerDefault("minSdkVersion")
41
+ targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
44
42
  versionName sdk_version
45
- manifestPlaceholders = [sdkVersion:sdk_version]
43
+ manifestPlaceholders = [sdkVersion: sdk_version]
46
44
  }
45
+
46
+ packaging {
47
+ resources {
48
+ it.pickFirsts.add("**/libfbjni.so")
49
+ it.pickFirsts.add("**/libc++_shared.so")
50
+ }
51
+ }
52
+
53
+ buildFeatures {
54
+ buildConfig true
55
+ }
56
+
47
57
  buildTypes {
48
58
  release {
49
59
  minifyEnabled false
50
60
  }
51
61
  }
62
+
52
63
  lintOptions {
53
- disable 'GradleCompatible'
64
+ disable "GradleCompatible"
54
65
  }
55
- }
56
-
57
- repositories {
58
- mavenCentral()
59
- google()
60
66
 
61
- def found = false
62
- def defaultDir = null
63
- def androidSourcesName = 'React Native sources'
64
-
65
- if (rootProject.ext.has('reactNativeAndroidRoot')) {
66
- defaultDir = rootProject.ext.get('reactNativeAndroidRoot')
67
- } else {
68
- defaultDir = new File(
69
- projectDir,
70
- '/../../../node_modules/react-native/android'
71
- )
67
+ compileOptions {
68
+ sourceCompatibility JavaVersion.VERSION_1_8
69
+ targetCompatibility JavaVersion.VERSION_1_8
72
70
  }
73
71
 
74
- if (defaultDir.exists()) {
75
- maven {
76
- url defaultDir.toString()
77
- name androidSourcesName
72
+ sourceSets {
73
+ main {
74
+ java.srcDirs += [
75
+ "generated/java",
76
+ "generated/jni"
77
+ ]
78
78
  }
79
-
80
- logger.info(":${project.name}:reactNativeAndroidRoot ${defaultDir.canonicalPath}")
81
- found = true
82
- } else {
83
- def parentDir = rootProject.projectDir
84
-
85
- 1.upto(5, {
86
- if (found) return true
87
- parentDir = parentDir.parentFile
88
-
89
- def androidSourcesDir = new File(
90
- parentDir,
91
- 'node_modules/react-native'
92
- )
93
-
94
- def androidPrebuiltBinaryDir = new File(
95
- parentDir,
96
- 'node_modules/react-native/android'
97
- )
98
-
99
- if (androidPrebuiltBinaryDir.exists()) {
100
- maven {
101
- url androidPrebuiltBinaryDir.toString()
102
- name androidSourcesName
103
- }
104
-
105
- logger.info(":${project.name}:reactNativeAndroidRoot ${androidPrebuiltBinaryDir.canonicalPath}")
106
- found = true
107
- } else if (androidSourcesDir.exists()) {
108
- maven {
109
- url androidSourcesDir.toString()
110
- name androidSourcesName
111
- }
112
-
113
- logger.info(":${project.name}:reactNativeAndroidRoot ${androidSourcesDir.canonicalPath}")
114
- found = true
115
- }
116
- })
117
79
  }
80
+ }
118
81
 
119
- if (!found) {
120
- throw new GradleException(
121
- "${project.name}: unable to locate React Native android sources. " +
122
- "Ensure you have you installed React Native as a dependency in your project and try again."
123
- )
124
- }
82
+ repositories {
83
+ mavenCentral()
84
+ google()
125
85
  }
126
86
 
127
- def kotlin_version = getExtOrDefault('kotlinVersion')
87
+ def kotlin_version = getExtOrDefault("kotlinVersion")
128
88
  def ivs_version = getExtOrDefault('ivsVersion')
129
89
 
130
90
  dependencies {
131
- // noinspection GradleDynamicVersion
132
- implementation 'com.facebook.react:react-native:+'
91
+ implementation "com.facebook.react:react-android"
133
92
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
134
93
  implementation "com.amazonaws:ivs-player:$ivs_version"
135
- implementation "com.squareup.okhttp3:okhttp:4.2.2"
94
+ implementation("com.squareup.okhttp3:okhttp:5.2.1")
95
+ implementation "androidx.media:media:1.6.0"
136
96
  }
@@ -1,5 +1,6 @@
1
- AmazonIvs_kotlinVersion=1.6.10
2
- AmazonIvs_compileSdkVersion=31
3
- AmazonIvs_buildToolsVersion=31.0.0
4
- AmazonIvs_targetSdkVersion=31
5
- AmazonIvs_ivsVersion=1.25.0-rc.2
1
+ AmazonIvs_kotlinVersion=2.1.20
2
+ AmazonIvs_minSdkVersion=24
3
+ AmazonIvs_targetSdkVersion=36
4
+ AmazonIvs_compileSdkVersion=36
5
+ AmazonIvs_ndkVersion=27.1.12297006
6
+ AmazonIvs_ivsVersion=1.46.0
@@ -1,5 +1,6 @@
1
1
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
- package="com.amazonaws.ivs.reactnative.player">
2
+ package="com.amazonaws.ivs.reactnative.player">
3
+
3
4
  <application>
4
5
  <meta-data
5
6
  android:name="com.amazonaws.ivs.player.FRAMEWORK_NAME"
@@ -7,5 +8,10 @@
7
8
  <meta-data
8
9
  android:name="com.amazonaws.ivs.player.FRAMEWORK_VERSION"
9
10
  android:value="${sdkVersion}" />
11
+
12
+ <service
13
+ android:name="com.amazonaws.ivs.reactnative.player.IVSBackgroundService"
14
+ android:exported="false"
15
+ android:foregroundServiceType="mediaPlayback" />
10
16
  </application>
11
17
  </manifest>
@@ -6,11 +6,11 @@ import com.facebook.react.bridge.ReactApplicationContext
6
6
  import com.facebook.react.uimanager.ViewManager
7
7
 
8
8
  class AmazonIvsPackage : ReactPackage {
9
- override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
10
- return emptyList()
11
- }
9
+ override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
10
+ return emptyList()
11
+ }
12
12
 
13
- override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
14
- return listOf<ViewManager<*, *>>(AmazonIvsViewManager())
15
- }
13
+ override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
14
+ return listOf<ViewManager<*, *>>(AmazonIvsViewManager())
15
+ }
16
16
  }