@100mslive/react-native-hms 1.6.1 → 1.7.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 (216) hide show
  1. package/android/build.gradle +15 -7
  2. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +14 -15
  3. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +248 -0
  4. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +101 -0
  5. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +10 -5
  6. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +0 -14
  7. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +90 -106
  8. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +1 -1
  9. package/android/src/main/res/layout/player_view.xml +9 -0
  10. package/ios/HMSDecoder.swift +4 -4
  11. package/ios/HMSHLSPlayerManager.m +22 -0
  12. package/ios/HMSHLSPlayerManager.swift +368 -0
  13. package/ios/HMSManager.m +1 -2
  14. package/ios/HMSManager.swift +22 -16
  15. package/ios/HMSRNSDK.swift +34 -85
  16. package/lib/commonjs/classes/HMSEncoder.js +12 -4
  17. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  18. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  19. package/lib/commonjs/classes/HMSMessage.js +2 -1
  20. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  21. package/lib/commonjs/classes/HMSPeer.js +55 -20
  22. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  23. package/lib/commonjs/classes/HMSPeerUpdate.js +1 -1
  24. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  25. package/lib/commonjs/classes/HMSPeersCache.js +30 -38
  26. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  27. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  28. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  29. package/lib/commonjs/classes/HMSSDK.js +36 -33
  30. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  31. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +147 -0
  32. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -0
  33. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +12 -0
  34. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -0
  35. package/lib/commonjs/components/HMSHLSPlayer/hooks.js +71 -0
  36. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -0
  37. package/lib/commonjs/components/HMSHLSPlayer/index.js +63 -0
  38. package/lib/commonjs/components/HMSHLSPlayer/index.js.map +1 -0
  39. package/lib/commonjs/index.js +38 -0
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/stores/hls-player-playback-slice.js +23 -0
  42. package/lib/commonjs/stores/hls-player-playback-slice.js.map +1 -0
  43. package/lib/commonjs/stores/hls-player-stats-store.js +36 -0
  44. package/lib/commonjs/stores/hls-player-stats-store.js.map +1 -0
  45. package/lib/commonjs/stores/hms-store.js +16 -0
  46. package/lib/commonjs/stores/hms-store.js.map +1 -0
  47. package/lib/commonjs/stores/types.js +6 -0
  48. package/lib/commonjs/stores/types.js.map +1 -0
  49. package/lib/commonjs/types.js +36 -0
  50. package/lib/commonjs/types.js.map +1 -0
  51. package/lib/module/classes/HMSEncoder.js +12 -4
  52. package/lib/module/classes/HMSEncoder.js.map +1 -1
  53. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  54. package/lib/module/classes/HMSMessage.js +2 -1
  55. package/lib/module/classes/HMSMessage.js.map +1 -1
  56. package/lib/module/classes/HMSPeer.js +55 -20
  57. package/lib/module/classes/HMSPeer.js.map +1 -1
  58. package/lib/module/classes/HMSPeerUpdate.js +1 -1
  59. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  60. package/lib/module/classes/HMSPeersCache.js +30 -38
  61. package/lib/module/classes/HMSPeersCache.js.map +1 -1
  62. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  63. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  64. package/lib/module/classes/HMSSDK.js +36 -33
  65. package/lib/module/classes/HMSSDK.js.map +1 -1
  66. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +138 -0
  67. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -0
  68. package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +4 -0
  69. package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -0
  70. package/lib/module/components/HMSHLSPlayer/hooks.js +56 -0
  71. package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -0
  72. package/lib/module/components/HMSHLSPlayer/index.js +3 -0
  73. package/lib/module/components/HMSHLSPlayer/index.js.map +1 -0
  74. package/lib/module/index.js +7 -0
  75. package/lib/module/index.js.map +1 -1
  76. package/lib/module/stores/hls-player-playback-slice.js +16 -0
  77. package/lib/module/stores/hls-player-playback-slice.js.map +1 -0
  78. package/lib/module/stores/hls-player-stats-store.js +29 -0
  79. package/lib/module/stores/hls-player-stats-store.js.map +1 -0
  80. package/lib/module/stores/hms-store.js +9 -0
  81. package/lib/module/stores/hms-store.js.map +1 -0
  82. package/lib/module/stores/types.js +2 -0
  83. package/lib/module/stores/types.js.map +1 -0
  84. package/lib/module/types.js +32 -0
  85. package/lib/module/types.js.map +1 -0
  86. package/lib/typescript/classes/HMSEncoder.d.ts +1 -0
  87. package/lib/typescript/classes/HMSLocalPeer.d.ts +0 -1
  88. package/lib/typescript/classes/HMSMessage.d.ts +2 -0
  89. package/lib/typescript/classes/HMSPeer.d.ts +10 -5
  90. package/lib/typescript/classes/HMSPeersCache.d.ts +17 -2
  91. package/lib/typescript/classes/HMSRTMPConfig.d.ts +2 -2
  92. package/lib/typescript/classes/HMSRemotePeer.d.ts +0 -1
  93. package/lib/typescript/classes/HMSSDK.d.ts +12 -17
  94. package/lib/typescript/components/HMSHLSPlayer/HMSHLSPlayer.d.ts +21 -0
  95. package/lib/typescript/components/HMSHLSPlayer/RCTHMSHLSPlayer.d.ts +19 -0
  96. package/lib/typescript/components/HMSHLSPlayer/hooks.d.ts +17 -0
  97. package/lib/typescript/components/HMSHLSPlayer/index.d.ts +2 -0
  98. package/lib/typescript/index.d.ts +3 -0
  99. package/lib/typescript/stores/hls-player-playback-slice.d.ts +5 -0
  100. package/lib/typescript/stores/hls-player-stats-store.d.ts +9 -0
  101. package/lib/typescript/stores/hms-store.d.ts +9 -0
  102. package/lib/typescript/stores/types.d.ts +25 -0
  103. package/lib/typescript/types.d.ts +63 -0
  104. package/package.json +10 -5
  105. package/react-native-hms.podspec +1 -0
  106. package/sdk-versions.json +3 -2
  107. package/src/classes/HMSEncoder.ts +15 -3
  108. package/src/classes/HMSLocalPeer.ts +0 -1
  109. package/src/classes/HMSMessage.ts +3 -1
  110. package/src/classes/HMSPeer.ts +96 -48
  111. package/src/classes/HMSPeerUpdate.ts +4 -4
  112. package/src/classes/HMSPeersCache.ts +53 -40
  113. package/src/classes/HMSRTMPConfig.ts +2 -2
  114. package/src/classes/HMSRemotePeer.ts +0 -1
  115. package/src/classes/HMSSDK.tsx +59 -47
  116. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +235 -0
  117. package/src/components/HMSHLSPlayer/RCTHMSHLSPlayer.ts +38 -0
  118. package/src/components/HMSHLSPlayer/hooks.ts +100 -0
  119. package/src/components/HMSHLSPlayer/index.ts +9 -0
  120. package/src/index.ts +8 -0
  121. package/src/stores/hls-player-playback-slice.ts +25 -0
  122. package/src/stores/hls-player-stats-store.ts +37 -0
  123. package/src/stores/hms-store.ts +11 -0
  124. package/src/stores/types.ts +49 -0
  125. package/src/types.ts +119 -0
  126. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  127. package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
  128. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  129. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  130. package/android/.gradle/6.9/gc.properties +0 -0
  131. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  132. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  133. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  134. package/android/.gradle/checksums/checksums.lock +0 -0
  135. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  136. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  137. package/android/.gradle/vcs-1/gc.properties +0 -0
  138. package/android/.idea/compiler.xml +0 -6
  139. package/android/.idea/gradle.xml +0 -18
  140. package/android/.idea/jarRepositories.xml +0 -50
  141. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_4_aar.xml +0 -16
  142. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_3_0.xml +0 -11
  143. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_aar.xml +0 -13
  144. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_4_1_aar.xml +0 -16
  145. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_4_1_aar.xml +0 -13
  146. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +0 -11
  147. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +0 -13
  148. package/android/.idea/libraries/Gradle__androidx_autofill_autofill_1_1_0_aar.xml +0 -16
  149. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +0 -11
  150. package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_1_3_aar.xml +0 -13
  151. package/android/.idea/libraries/Gradle__androidx_core_core_1_7_0_aar.xml +0 -16
  152. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
  153. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
  154. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
  155. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_6_aar.xml +0 -16
  156. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
  157. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_4_0.xml +0 -11
  158. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -13
  159. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +0 -13
  160. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_4_0_aar.xml +0 -13
  161. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +0 -13
  162. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +0 -13
  163. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
  164. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +0 -13
  165. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
  166. package/android/.idea/libraries/Gradle__androidx_tracing_tracing_1_1_0_aar.xml +0 -13
  167. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +0 -13
  168. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +0 -13
  169. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +0 -13
  170. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
  171. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_0_3_0_aar.xml +0 -14
  172. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_5_0_aar.xml +0 -15
  173. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_5_0_aar.xml +0 -18
  174. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_5_0_aar.xml +0 -18
  175. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_5_0_aar.xml +0 -18
  176. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_5_0_aar.xml +0 -18
  177. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_native_2_5_0_aar.xml +0 -15
  178. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_5_0_aar.xml +0 -15
  179. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_ashmem_2_5_0_aar.xml +0 -15
  180. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_java_2_5_0_aar.xml +0 -15
  181. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_native_2_5_0_aar.xml +0 -15
  182. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_5_0_aar.xml +0 -15
  183. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_5_0_aar.xml +0 -15
  184. package/android/.idea/libraries/Gradle__com_facebook_fresco_ui_common_2_5_0_aar.xml +0 -15
  185. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_18_0.xml +0 -13
  186. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_71_0_rc_0_debug_aar.xml +0 -14
  187. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_4.xml +0 -13
  188. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_4.xml +0 -13
  189. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_4_aar.xml +0 -14
  190. package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_19_0.xml +0 -13
  191. package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_5_1_aar.xml +0 -10
  192. package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m104_hms_1_3_aar.xml +0 -10
  193. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -13
  194. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_2.xml +0 -13
  195. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_4_9_2.xml +0 -13
  196. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +0 -13
  197. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
  198. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +0 -13
  199. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_annotations_jvm_1_3_72.xml +0 -13
  200. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_10.xml +0 -13
  201. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_10.xml +0 -13
  202. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_10.xml +0 -13
  203. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_10.xml +0 -13
  204. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_6_0.xml +0 -13
  205. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_6_0.xml +0 -13
  206. package/android/.idea/misc.xml +0 -9
  207. package/android/.idea/modules/android.androidTest.iml +0 -203
  208. package/android/.idea/modules/android.iml +0 -40
  209. package/android/.idea/modules/android.main.iml +0 -199
  210. package/android/.idea/modules/android.unitTest.iml +0 -197
  211. package/android/.idea/modules.xml +0 -11
  212. package/android/.idea/sonarlint/issuestore/3/c/3c46088b6add3088181589d8ed726652742b6221 +0 -5
  213. package/android/.idea/sonarlint/issuestore/a/8/a8c9f5ddd88723818e51ae3cf8693d02355a8691 +0 -0
  214. package/android/.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35 +0 -0
  215. package/android/.idea/sonarlint/issuestore/index.pb +0 -7
  216. package/android/.idea/vcs.xml +0 -6
@@ -0,0 +1,100 @@
1
+ import { DependencyList, useEffect } from 'react';
2
+ import { shallow } from 'zustand/shallow';
3
+
4
+ import { useHMSHLSPlayerStatsStore } from '../../stores/hls-player-stats-store';
5
+ import { useHMSStore } from '../../stores/hms-store';
6
+ import type { HMSHLSPlayerStatsUpdateEventData } from '../../types';
7
+ import type {
8
+ HMSHLSPlayerCue,
9
+ HMSHLSPlayerPlaybackError,
10
+ HMSHLSPlayerStatsError,
11
+ } from '../../stores/types';
12
+
13
+ // use latest state (with component rerender)
14
+
15
+ export const useHMSHLSPlayerPlaybackState = () => {
16
+ return useHMSStore((state) => state.playbackState);
17
+ };
18
+
19
+ export const useHMSHLSPlayerStats = () => {
20
+ return useHMSHLSPlayerStatsStore(
21
+ (state) => ({
22
+ stats: state.stats,
23
+ error: state.error,
24
+ }),
25
+ shallow
26
+ );
27
+ };
28
+
29
+ export const useHMSHLSPlayerStat = <
30
+ T extends keyof HMSHLSPlayerStatsUpdateEventData
31
+ >(
32
+ stat: T
33
+ ) => {
34
+ return useHMSHLSPlayerStatsStore((state) => state.stats[stat]);
35
+ };
36
+
37
+ // // The distance of current playback position from the live edge of HLS stream
38
+ // export const useIsHLSStreamLive = (liveOffsetMillis: number = 1000) => {
39
+ // return useHMSHLSPlayerStatsStore((state) => state.stats.distanceFromLive < liveOffsetMillis);
40
+ // }
41
+
42
+ // get latest state (without component rerender)
43
+
44
+ export const useHMSHLSPlayerStatsError = (
45
+ callback: (error: NonNullable<HMSHLSPlayerStatsError>) => void,
46
+ deps: DependencyList
47
+ ) => {
48
+ useEffect(() => {
49
+ return useHMSHLSPlayerStatsStore.subscribe(
50
+ (state) => state.error,
51
+ (data) => {
52
+ if (data) callback(data);
53
+ }
54
+ );
55
+ }, deps);
56
+ };
57
+
58
+ export const useHMSHLSPlayerPlaybackError = (
59
+ callback: (error: NonNullable<HMSHLSPlayerPlaybackError>) => void,
60
+ deps: DependencyList
61
+ ) => {
62
+ useEffect(() => {
63
+ return useHMSStore.subscribe(
64
+ (state) => state.error,
65
+ (data) => {
66
+ if (data) callback(data);
67
+ }
68
+ );
69
+ }, deps);
70
+ };
71
+
72
+ export const useHMSHLSPlayerCue = (
73
+ callback: (error: NonNullable<HMSHLSPlayerCue>) => void,
74
+ deps: DependencyList
75
+ ) => {
76
+ useEffect(() => {
77
+ return useHMSStore.subscribe(
78
+ (state) => state.cue,
79
+ (data) => {
80
+ if (data) callback(data);
81
+ }
82
+ );
83
+ }, deps);
84
+ };
85
+
86
+ // state setters
87
+
88
+ export const setHMSHLSPlayerPlaybackState =
89
+ useHMSStore.getState().setPlaybackState;
90
+
91
+ export const setHMSHLSPlayerCue = useHMSStore.getState().setCue;
92
+
93
+ export const setHMSHLSPlayerPlaybackError =
94
+ useHMSStore.getState().setPlaybackError;
95
+
96
+ export const setHMSHLSPlayerStats =
97
+ useHMSHLSPlayerStatsStore.getState().changeStats;
98
+
99
+ export const setHMSHLSPlayerStatsError =
100
+ useHMSHLSPlayerStatsStore.getState().setError;
@@ -0,0 +1,9 @@
1
+ export * from './HMSHLSPlayer';
2
+ export {
3
+ useHMSHLSPlayerPlaybackState,
4
+ useHMSHLSPlayerCue,
5
+ useHMSHLSPlayerPlaybackError,
6
+ useHMSHLSPlayerStats,
7
+ useHMSHLSPlayerStat,
8
+ useHMSHLSPlayerStatsError,
9
+ } from './hooks';
package/src/index.ts CHANGED
@@ -88,4 +88,12 @@ export type {
88
88
  export type { HmsViewComponent as HMSView } from './classes/HmsView';
89
89
 
90
90
  import { HMSSDK as HmsManager } from './classes/HMSSDK';
91
+
92
+ // 100ms Components
93
+ export * from './components/HMSHLSPlayer';
94
+
95
+ // 100ms types
96
+ export * from './types';
97
+ export * from './stores/types';
98
+
91
99
  export default HmsManager;
@@ -0,0 +1,25 @@
1
+ import type { StateCreator } from 'zustand';
2
+ import { HMSHLSPlayerPlaybackState } from '../types';
3
+ import type {
4
+ HMSHLSPlayerPlaybackCue,
5
+ HMSHLSPlayerPlaybackError,
6
+ HMSHLSPlayerPlaybackSlice,
7
+ HMSStore,
8
+ } from './types';
9
+
10
+ export const createHMSHLSPlayerPlaybackSlice: StateCreator<
11
+ HMSStore,
12
+ [],
13
+ [],
14
+ HMSHLSPlayerPlaybackSlice
15
+ > = (set) => ({
16
+ cue: undefined,
17
+ setCue: (cue: HMSHLSPlayerPlaybackCue) => set({ cue }),
18
+
19
+ playbackState: HMSHLSPlayerPlaybackState.UNKNOWN,
20
+ setPlaybackState: (playbackState: HMSHLSPlayerPlaybackState) =>
21
+ set({ playbackState }),
22
+
23
+ error: undefined,
24
+ setPlaybackError: (error: HMSHLSPlayerPlaybackError) => set({ error }),
25
+ });
@@ -0,0 +1,37 @@
1
+ import { create } from 'zustand';
2
+ import { subscribeWithSelector } from 'zustand/middleware';
3
+ import type {
4
+ HMSHLSPlayerStats,
5
+ HMSHLSPlayerStatsError,
6
+ HMSHLSPlayerStatsStore,
7
+ } from './types';
8
+
9
+ export const useHMSHLSPlayerStatsStore = create<HMSHLSPlayerStatsStore>()(
10
+ subscribeWithSelector((set) => ({
11
+ // Handle Stats
12
+ stats: {
13
+ // bandwidth
14
+ bandWidthEstimate: 0,
15
+ totalBytesLoaded: 0,
16
+
17
+ // bufferedDuration
18
+ bufferedDuration: 0,
19
+
20
+ // distanceFromLive
21
+ distanceFromLive: 0,
22
+
23
+ // frameInfo
24
+ droppedFrameCount: 0,
25
+
26
+ // videoInfo
27
+ averageBitrate: 0,
28
+ videoHeight: 0,
29
+ videoWidth: 0,
30
+ },
31
+ changeStats: (stats: HMSHLSPlayerStats) => set({ stats }),
32
+
33
+ // Handle Stats Error
34
+ error: undefined,
35
+ setError: (error: HMSHLSPlayerStatsError) => set({ error }),
36
+ }))
37
+ );
@@ -0,0 +1,11 @@
1
+ import { create } from 'zustand';
2
+ import { subscribeWithSelector } from 'zustand/middleware';
3
+
4
+ import { createHMSHLSPlayerPlaybackSlice } from './hls-player-playback-slice';
5
+ import type { HMSStore } from './types';
6
+
7
+ export const useHMSStore = create<HMSStore>()(
8
+ subscribeWithSelector((...a) => ({
9
+ ...createHMSHLSPlayerPlaybackSlice(...a),
10
+ }))
11
+ );
@@ -0,0 +1,49 @@
1
+ // Stores
2
+
3
+ import type {
4
+ HMSHLSPlayerPlaybackState,
5
+ HMSHLSPlayerPlaybackCueEventData,
6
+ HMSHLSPlayerPlaybackFailureEventData,
7
+ HMSHLSPlayerStatsErrorEventData,
8
+ HMSHLSPlayerStatsUpdateEventData,
9
+ } from '../types';
10
+
11
+ export type HMSStore = HMSHLSPlayerPlaybackSlice;
12
+ export type HMSHLSPlayerStatsStore = HMSHLSPlayerStatsSlice;
13
+
14
+ // HLS Player Playback Slice
15
+
16
+ export interface HMSHLSPlayerPlaybackCue
17
+ extends Omit<HMSHLSPlayerPlaybackCueEventData, 'endDate' | 'startDate'> {
18
+ endDate?: Date;
19
+ startDate: Date;
20
+ }
21
+
22
+ export type HMSHLSPlayerCue = HMSHLSPlayerPlaybackCue | undefined;
23
+
24
+ export type HMSHLSPlayerPlaybackError =
25
+ | HMSHLSPlayerPlaybackFailureEventData['error']
26
+ | undefined;
27
+
28
+ export interface HMSHLSPlayerPlaybackSlice {
29
+ cue: HMSHLSPlayerCue;
30
+ playbackState: HMSHLSPlayerPlaybackState;
31
+ error: HMSHLSPlayerPlaybackError;
32
+ setCue(cue: HMSHLSPlayerPlaybackCue): void;
33
+ setPlaybackState(playbackState: HMSHLSPlayerPlaybackState): void;
34
+ setPlaybackError(error: HMSHLSPlayerPlaybackError): void;
35
+ }
36
+
37
+ // HLS Player Stats Slice
38
+
39
+ export type HMSHLSPlayerStats = HMSHLSPlayerStatsUpdateEventData;
40
+ export type HMSHLSPlayerStatsError =
41
+ | HMSHLSPlayerStatsErrorEventData
42
+ | undefined;
43
+
44
+ export interface HMSHLSPlayerStatsSlice {
45
+ stats: HMSHLSPlayerStats;
46
+ error: HMSHLSPlayerStatsError | undefined;
47
+ changeStats(stats: HMSHLSPlayerStats): void;
48
+ setError(error: HMSHLSPlayerStatsError): void;
49
+ }
package/src/types.ts ADDED
@@ -0,0 +1,119 @@
1
+ // Base HMSHLSPlayer Event
2
+ type HMSHLSPlayerEvent<T extends string, U> = {
3
+ event: T;
4
+ data: U;
5
+ };
6
+
7
+ // #region HMSHLSPlayer Playback Events
8
+
9
+ export enum HMSHLSPlayerPlaybackEventTypes {
10
+ ON_PLAYBACK_CUE_EVENT = 'ON_PLAYBACK_CUE_EVENT',
11
+ ON_PLAYBACK_FAILURE_EVENT = 'ON_PLAYBACK_FAILURE_EVENT',
12
+ ON_PLAYBACK_STATE_CHANGE_EVENT = 'ON_PLAYBACK_STATE_CHANGE_EVENT',
13
+ }
14
+
15
+ export type HMSHLSPlayerPlaybackCueEventData = {
16
+ id?: string;
17
+ endDate?: string;
18
+ payloadval?: string;
19
+ startDate: string;
20
+ };
21
+
22
+ export type HMSHLSPlayerPlaybackFailureEventData = {
23
+ error: {
24
+ errorCode: number;
25
+ errorCodeName: string;
26
+ message?: string;
27
+ };
28
+ };
29
+
30
+ export enum HMSHLSPlayerPlaybackState {
31
+ BUFFERING = 'buffering',
32
+ FAILED = 'failed',
33
+ PAUSED = 'paused',
34
+ PLAYING = 'playing',
35
+ STOPPED = 'stopped',
36
+ UNKNOWN = 'unknown',
37
+ }
38
+
39
+ export type HMSHLSPlayerPlaybackStateChangeEventData = {
40
+ state: HMSHLSPlayerPlaybackState;
41
+ };
42
+
43
+ type HMSHLSPlayerPlaybackCueEvent = HMSHLSPlayerEvent<
44
+ HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT,
45
+ HMSHLSPlayerPlaybackCueEventData
46
+ >;
47
+
48
+ type HMSHLSPlayerPlaybackFailureEvent = HMSHLSPlayerEvent<
49
+ HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT,
50
+ HMSHLSPlayerPlaybackFailureEventData
51
+ >;
52
+
53
+ type HMSHLSPlayerPlaybackStateChangeEvent = HMSHLSPlayerEvent<
54
+ HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_STATE_CHANGE_EVENT,
55
+ HMSHLSPlayerPlaybackStateChangeEventData
56
+ >;
57
+
58
+ export type HMSHLSPlayerPlaybackEvent =
59
+ | HMSHLSPlayerPlaybackCueEvent
60
+ | HMSHLSPlayerPlaybackFailureEvent
61
+ | HMSHLSPlayerPlaybackStateChangeEvent;
62
+
63
+ // #endregion HMS HLSPlayer Playback Events
64
+
65
+ // #region HMS HLSPlayer Stats Events
66
+
67
+ export enum HMSHLSPlayerStatsEventTypes {
68
+ ON_STATS_EVENT_ERROR = 'ON_STATS_EVENT_ERROR',
69
+ ON_STATS_EVENT_UPDATE = 'ON_STATS_EVENT_UPDATE',
70
+ }
71
+
72
+ export type HMSHLSPlayerStatsErrorEventData = {
73
+ action: string;
74
+ code: number;
75
+ description: string;
76
+ isTerminal: boolean;
77
+ message: string;
78
+ name: string;
79
+ };
80
+
81
+ export type HMSHLSPlayerStatsUpdateEventData = {
82
+ // bandwidth
83
+ bandWidthEstimate: number;
84
+ totalBytesLoaded: number;
85
+
86
+ // bufferedDuration
87
+ bufferedDuration: number;
88
+
89
+ // distanceFromLive
90
+ distanceFromLive: number;
91
+
92
+ // frameInfo
93
+ droppedFrameCount: number;
94
+
95
+ // videoInfo
96
+ averageBitrate: number;
97
+
98
+ videoHeight: number;
99
+ videoWidth: number;
100
+ };
101
+
102
+ type HMSHLSPlayerStatsErrorEvent = HMSHLSPlayerEvent<
103
+ HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_ERROR,
104
+ HMSHLSPlayerStatsErrorEventData
105
+ >;
106
+
107
+ type HMSHLSPlayerStatsUpdateEvent = HMSHLSPlayerEvent<
108
+ HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_UPDATE,
109
+ HMSHLSPlayerStatsUpdateEventData
110
+ >;
111
+
112
+ export type HMSHLSPlayerStatsEvent =
113
+ | HMSHLSPlayerStatsErrorEvent
114
+ | HMSHLSPlayerStatsUpdateEvent;
115
+
116
+ // #endregion HMS HLSPlayer Stats Events
117
+
118
+ // #region Utility types
119
+ // #endregion Utility types
File without changes
@@ -1,2 +0,0 @@
1
- #Thu Jan 06 21:33:45 IST 2022
2
- gradle.version=6.9
File without changes
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="CompilerConfiguration">
4
- <bytecodeTargetLevel target="11" />
5
- </component>
6
- </project>
@@ -1,18 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="GradleMigrationSettings" migrationVersion="1" />
4
- <component name="GradleSettings">
5
- <option name="linkedExternalProjectsSettings">
6
- <GradleProjectSettings>
7
- <option name="testRunner" value="GRADLE" />
8
- <option name="distributionType" value="DEFAULT_WRAPPED" />
9
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
10
- <option name="modules">
11
- <set>
12
- <option value="$PROJECT_DIR$" />
13
- </set>
14
- </option>
15
- </GradleProjectSettings>
16
- </option>
17
- </component>
18
- </project>
@@ -1,50 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="RemoteRepositoriesConfiguration">
4
- <remote-repository>
5
- <option name="id" value="central" />
6
- <option name="name" value="Maven Central repository" />
7
- <option name="url" value="https://repo1.maven.org/maven2" />
8
- </remote-repository>
9
- <remote-repository>
10
- <option name="id" value="jboss.community" />
11
- <option name="name" value="JBoss Community repository" />
12
- <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
13
- </remote-repository>
14
- <remote-repository>
15
- <option name="id" value="MavenLocal" />
16
- <option name="name" value="MavenLocal" />
17
- <option name="url" value="file:$USER_HOME$/.m2/repository/" />
18
- </remote-repository>
19
- <remote-repository>
20
- <option name="id" value="maven" />
21
- <option name="name" value="maven" />
22
- <option name="url" value="file:$PROJECT_DIR$/../node_modules/react-native/android/" />
23
- </remote-repository>
24
- <remote-repository>
25
- <option name="id" value="BintrayJCenter" />
26
- <option name="name" value="BintrayJCenter" />
27
- <option name="url" value="https://jcenter.bintray.com/" />
28
- </remote-repository>
29
- <remote-repository>
30
- <option name="id" value="Google" />
31
- <option name="name" value="Google" />
32
- <option name="url" value="https://dl.google.com/dl/android/maven2/" />
33
- </remote-repository>
34
- <remote-repository>
35
- <option name="id" value="maven2" />
36
- <option name="name" value="maven2" />
37
- <option name="url" value="https://jitpack.io" />
38
- </remote-repository>
39
- <remote-repository>
40
- <option name="id" value="MavenRepo" />
41
- <option name="name" value="MavenRepo" />
42
- <option name="url" value="https://repo.maven.apache.org/maven2/" />
43
- </remote-repository>
44
- <remote-repository>
45
- <option name="id" value="Gradle Central Plugin Repository" />
46
- <option name="name" value="Gradle Central Plugin Repository" />
47
- <option name="url" value="https://plugins.gradle.org/m2" />
48
- </remote-repository>
49
- </component>
50
- </project>
@@ -1,16 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.activity:activity:1.2.4@aar">
3
- <ANNOTATIONS>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/fb6d928e56a4384a19f53c44aa9c4b76/transformed/activity-1.2.4/annotations.zip!/" />
5
- </ANNOTATIONS>
6
- <CLASSES>
7
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/fb6d928e56a4384a19f53c44aa9c4b76/transformed/activity-1.2.4/jars/classes.jar!/" />
8
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/fb6d928e56a4384a19f53c44aa9c4b76/transformed/activity-1.2.4/res" />
9
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/fb6d928e56a4384a19f53c44aa9c4b76/transformed/activity-1.2.4/AndroidManifest.xml" />
10
- </CLASSES>
11
- <JAVADOC />
12
- <SOURCES>
13
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.2.4/2572345ff3e71e4e97140b01423cb80765b5b3e5/activity-1.2.4-sources.jar!/" />
14
- </SOURCES>
15
- </library>
16
- </component>
@@ -1,11 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.annotation:annotation:1.3.0">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.3.0/21f49f5f9b85fc49de712539f79123119740595/annotation-1.3.0.jar!/" />
5
- </CLASSES>
6
- <JAVADOC />
7
- <SOURCES>
8
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.3.0/661529c7dfdacef81b03e6dd27e5daa73793a9b2/annotation-1.3.0-sources.jar!/" />
9
- </SOURCES>
10
- </library>
11
- </component>
@@ -1,13 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.annotation:annotation-experimental:1.1.0@aar">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/99057754ee983544d4b282d0eb42dc52/transformed/annotation-experimental-1.1.0/jars/classes.jar!/" />
5
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/99057754ee983544d4b282d0eb42dc52/transformed/annotation-experimental-1.1.0/res" />
6
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/99057754ee983544d4b282d0eb42dc52/transformed/annotation-experimental-1.1.0/AndroidManifest.xml" />
7
- </CLASSES>
8
- <JAVADOC />
9
- <SOURCES>
10
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation-experimental/1.1.0/238eb640abf1ca6c952c7cd2e9423fe7f715713f/annotation-experimental-1.1.0-sources.jar!/" />
11
- </SOURCES>
12
- </library>
13
- </component>
@@ -1,16 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.appcompat:appcompat:1.4.1@aar">
3
- <ANNOTATIONS>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/8a32466de4e59cbab456f15911b8dbc1/transformed/appcompat-1.4.1/annotations.zip!/" />
5
- </ANNOTATIONS>
6
- <CLASSES>
7
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/8a32466de4e59cbab456f15911b8dbc1/transformed/appcompat-1.4.1/jars/classes.jar!/" />
8
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/8a32466de4e59cbab456f15911b8dbc1/transformed/appcompat-1.4.1/res" />
9
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/8a32466de4e59cbab456f15911b8dbc1/transformed/appcompat-1.4.1/AndroidManifest.xml" />
10
- </CLASSES>
11
- <JAVADOC />
12
- <SOURCES>
13
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.appcompat/appcompat/1.4.1/f9e48179ea0c6ac0080a277b9383f74523f56aa2/appcompat-1.4.1-sources.jar!/" />
14
- </SOURCES>
15
- </library>
16
- </component>
@@ -1,13 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.appcompat:appcompat-resources:1.4.1@aar">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/7dbc687cfc3bc269705a377078c644d7/transformed/appcompat-resources-1.4.1/jars/classes.jar!/" />
5
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/7dbc687cfc3bc269705a377078c644d7/transformed/appcompat-resources-1.4.1/res" />
6
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/7dbc687cfc3bc269705a377078c644d7/transformed/appcompat-resources-1.4.1/AndroidManifest.xml" />
7
- </CLASSES>
8
- <JAVADOC />
9
- <SOURCES>
10
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.appcompat/appcompat-resources/1.4.1/8f78838745a125dea62514f7b4f70e8776a6244e/appcompat-resources-1.4.1-sources.jar!/" />
11
- </SOURCES>
12
- </library>
13
- </component>
@@ -1,11 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.arch.core:core-common:2.1.0">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.1.0/b3152fc64428c9354344bd89848ecddc09b6f07e/core-common-2.1.0.jar!/" />
5
- </CLASSES>
6
- <JAVADOC />
7
- <SOURCES>
8
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.1.0/80ac2d7c8e6400ce2fbc663cd1a7e1cbef38c4b8/core-common-2.1.0-sources.jar!/" />
9
- </SOURCES>
10
- </library>
11
- </component>
@@ -1,13 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.arch.core:core-runtime:2.1.0@aar">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/1c178d8b9a13c2a65fbfa6cdaccce070/transformed/core-runtime-2.1.0/jars/classes.jar!/" />
5
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/1c178d8b9a13c2a65fbfa6cdaccce070/transformed/core-runtime-2.1.0/res" />
6
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/1c178d8b9a13c2a65fbfa6cdaccce070/transformed/core-runtime-2.1.0/AndroidManifest.xml" />
7
- </CLASSES>
8
- <JAVADOC />
9
- <SOURCES>
10
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-runtime/2.1.0/f19886651c9946b39f83d8c184fd0e2ce9f43c16/core-runtime-2.1.0-sources.jar!/" />
11
- </SOURCES>
12
- </library>
13
- </component>
@@ -1,16 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.autofill:autofill:1.1.0@aar">
3
- <ANNOTATIONS>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/550dcbb8c05c38c4edfdbf2a2e1c479d/transformed/autofill-1.1.0/annotations.zip!/" />
5
- </ANNOTATIONS>
6
- <CLASSES>
7
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/550dcbb8c05c38c4edfdbf2a2e1c479d/transformed/autofill-1.1.0/jars/classes.jar!/" />
8
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/550dcbb8c05c38c4edfdbf2a2e1c479d/transformed/autofill-1.1.0/res" />
9
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/550dcbb8c05c38c4edfdbf2a2e1c479d/transformed/autofill-1.1.0/AndroidManifest.xml" />
10
- </CLASSES>
11
- <JAVADOC />
12
- <SOURCES>
13
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.autofill/autofill/1.1.0/78bdbf14bb97d579bf191bc0de7e969027c4375/autofill-1.1.0-sources.jar!/" />
14
- </SOURCES>
15
- </library>
16
- </component>
@@ -1,11 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.collection:collection:1.1.0">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.1.0/1f27220b47669781457de0d600849a5de0e89909/collection-1.1.0.jar!/" />
5
- </CLASSES>
6
- <JAVADOC />
7
- <SOURCES>
8
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.1.0/bae67b0019fbb38498198fcc2d0282a340b71c5b/collection-1.1.0-sources.jar!/" />
9
- </SOURCES>
10
- </library>
11
- </component>
@@ -1,13 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.constraintlayout:constraintlayout:2.1.3@aar">
3
- <CLASSES>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/7061b6b5e4785dbb2d3569c58e4383ed/transformed/constraintlayout-2.1.3/jars/classes.jar!/" />
5
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/7061b6b5e4785dbb2d3569c58e4383ed/transformed/constraintlayout-2.1.3/res" />
6
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/7061b6b5e4785dbb2d3569c58e4383ed/transformed/constraintlayout-2.1.3/AndroidManifest.xml" />
7
- </CLASSES>
8
- <JAVADOC />
9
- <SOURCES>
10
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.constraintlayout/constraintlayout/2.1.3/ef09d725f04e18996fce65076118fc289416b8ca/constraintlayout-2.1.3-sources.jar!/" />
11
- </SOURCES>
12
- </library>
13
- </component>
@@ -1,16 +0,0 @@
1
- <component name="libraryTable">
2
- <library name="Gradle: androidx.core:core:1.7.0@aar">
3
- <ANNOTATIONS>
4
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/050c0cfc9c4b887d56110de430464748/transformed/core-1.7.0/annotations.zip!/" />
5
- </ANNOTATIONS>
6
- <CLASSES>
7
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-3/050c0cfc9c4b887d56110de430464748/transformed/core-1.7.0/jars/classes.jar!/" />
8
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/050c0cfc9c4b887d56110de430464748/transformed/core-1.7.0/res" />
9
- <root url="file://$USER_HOME$/.gradle/caches/transforms-3/050c0cfc9c4b887d56110de430464748/transformed/core-1.7.0/AndroidManifest.xml" />
10
- </CLASSES>
11
- <JAVADOC />
12
- <SOURCES>
13
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.core/core/1.7.0/f1c3685231d49092ae301932de1481d9b7a9e025/core-1.7.0-sources.jar!/" />
14
- </SOURCES>
15
- </library>
16
- </component>