@wscsports/blaze-rtn-sdk 0.3.0 → 1.0.4

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 (219) hide show
  1. package/README.md +2 -2
  2. package/android/build.gradle +7 -1
  3. package/android/consumer-rules.pro +0 -0
  4. package/android/src/main/java/com/blaze/rtnblazesdk/BlazeMomentsGridViewManager.kt +21 -18
  5. package/android/src/main/java/com/blaze/rtnblazesdk/BlazeMomentsRowViewManager.kt +21 -14
  6. package/android/src/main/java/com/blaze/rtnblazesdk/BlazeReactSDKHelper.kt +1 -1
  7. package/android/src/main/java/com/blaze/rtnblazesdk/BlazeSdkModule.kt +107 -50
  8. package/android/src/main/java/com/blaze/rtnblazesdk/BlazeSdkModuleRepo.kt +7 -0
  9. package/android/src/main/java/com/blaze/rtnblazesdk/BlazeStoriesGridViewManager.kt +22 -15
  10. package/android/src/main/java/com/blaze/rtnblazesdk/BlazeStoriesRowViewManager.kt +24 -11
  11. package/android/src/main/java/com/blaze/rtnblazesdk/NativeBlazeSdkSpec.kt +9 -1
  12. package/android/src/main/java/com/blaze/rtnblazesdk/base/BaseViewManager.kt +26 -2
  13. package/android/src/main/java/com/blaze/rtnblazesdk/base/BaseWidgetView.kt +196 -93
  14. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeEnumMapper.kt +5 -0
  15. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactCommonMerger.kt +37 -46
  16. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactLayoutMerger.kt +134 -113
  17. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactMomentPlayerStyleMerger.kt +299 -0
  18. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactMomentsPlayerStyle.kt +243 -0
  19. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactStoriesPlayerStyleMerger.kt +226 -0
  20. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactStoryPlayerStyle.kt +119 -0
  21. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactWidgetCommon.kt +27 -65
  22. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactWidgetLayout.kt +211 -242
  23. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactWidgetStylesOverrides.kt +19 -0
  24. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactWidgetStylesOverridesMerger.kt +43 -0
  25. package/android/src/main/java/com/blaze/rtnblazesdk/events/SdkModuleJsEvent.kt +23 -6
  26. package/android/src/main/java/com/blaze/rtnblazesdk/events/WidgetDataLoadCompletedEvent.kt +1 -1
  27. package/android/src/main/java/com/blaze/rtnblazesdk/events/WidgetItemClickedEvent.kt +0 -1
  28. package/android/src/main/java/com/blaze/rtnblazesdk/events/WidgetOnPlayerEventTriggered.kt +34 -0
  29. package/android/src/main/java/com/blaze/rtnblazesdk/events/WidgetOnTriggerPlayerBodyTextLinkEvent.kt +1 -1
  30. package/android/src/main/java/com/blaze/rtnblazesdk/moments/BlazeMomentsGridView.kt +63 -34
  31. package/android/src/main/java/com/blaze/rtnblazesdk/moments/BlazeMomentsRowView.kt +71 -42
  32. package/android/src/main/java/com/blaze/rtnblazesdk/stories/BlazeStoriesGridView.kt +63 -33
  33. package/android/src/main/java/com/blaze/rtnblazesdk/stories/BlazeStoriesRowView.kt +62 -32
  34. package/android/src/main/java/com/blaze/rtnblazesdk/utils/ArrayExtensions.kt +8 -0
  35. package/android/src/main/java/com/blaze/rtnblazesdk/utils/BlazePlayerEventExtensions.kt +54 -0
  36. package/android/src/main/java/com/blaze/rtnblazesdk/utils/DataSourceTypeExtractUtils.kt +38 -14
  37. package/android/src/main/java/com/blaze/rtnblazesdk/utils/GeneralExtractExtensions.kt +13 -0
  38. package/android/src/main/java/com/blaze/rtnblazesdk/utils/PlayerThemeExtractUtils.kt +16 -16
  39. package/android/src/main/java/com/blaze/rtnblazesdk/utils/{PromiseExtentions.kt → PromiseExtensions.kt} +4 -3
  40. package/android/src/main/java/com/blaze/rtnblazesdk/utils/parsing/BlazeEnumMapperAdapterFactory.kt +98 -0
  41. package/android/src/main/java/com/blaze/rtnblazesdk/utils/parsing/GsonSerializable.kt +10 -0
  42. package/android/src/main/java/com/blaze/rtnblazesdk/utils/parsing/GsonUtils.kt +104 -0
  43. package/android/src/main/java/com/blaze/rtnblazesdk/utils/parsing/RoundingIntAdapterFactory.kt +72 -0
  44. package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeMomentsGridViewManagerDelegate.kt +8 -3
  45. package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeMomentsGridViewManagerInterface.kt +5 -3
  46. package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeMomentsRowViewManagerDelegate.kt +8 -3
  47. package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeMomentsRowViewManagerInterface.kt +5 -3
  48. package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeStoriesGridViewManagerDelegate.kt +8 -2
  49. package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeStoriesGridViewManagerInterface.kt +5 -2
  50. package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeStoriesRowViewManagerDelegate.kt +8 -2
  51. package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeStoriesRowViewManagerInterface.kt +5 -2
  52. package/blaze-rtn-sdk.podspec +1 -1
  53. package/ios/Sources/BlazeNativeSDKModule/BlazeNativeSDKModule.m +17 -1
  54. package/ios/Sources/BlazeNativeSDKModule/BlazeNativeSDKModule.swift +120 -21
  55. package/ios/Sources/BlazeNativeSDKModule/RTNBlazeSdkModule+AppEvents.swift +22 -0
  56. package/ios/Sources/LayoutCustomization/BlazeReactLayoutMerger.swift +240 -170
  57. package/ios/Sources/LayoutCustomization/BlazeReactWidgetLayout.swift +252 -193
  58. package/ios/Sources/Utils/BlazePlayerEvent+Extensions.swift +54 -0
  59. package/ios/Sources/Utils/BlazeReactParamsParser.swift +84 -6
  60. package/ios/Sources/Utils/Encodable+Extensions.swift +21 -0
  61. package/ios/Sources/Utils/PlayerStyleExtractUtils.swift +27 -0
  62. package/ios/Sources/Widgets/Base/BlazeWidgetBase.swift +141 -7
  63. package/ios/Sources/Widgets/Base/BlazeWidgetBaseProtocol.swift +7 -1
  64. package/ios/Sources/Widgets/Base/BlazeWidgetMomentsBase.swift +2 -4
  65. package/ios/Sources/Widgets/Base/BlazeWidgetStoriesBase.swift +1 -1
  66. package/ios/Sources/Widgets/Base/BlazeWidgetViewManagerBase.m +14 -5
  67. package/ios/Sources/Widgets/Base/BlazeWidgetViewManagerBase.swift +33 -2
  68. package/ios/Sources/Widgets/BlazeMomentsGridWidget.swift +10 -10
  69. package/ios/Sources/Widgets/BlazeMomentsRowWidget.swift +9 -10
  70. package/ios/Sources/Widgets/BlazeStoriesGridWidget.swift +9 -9
  71. package/ios/Sources/Widgets/BlazeStoriesRowWidget.swift +9 -9
  72. package/lib/commonjs/NativeBlazeSdk.js +9 -0
  73. package/lib/commonjs/NativeBlazeSdk.js.map +1 -1
  74. package/lib/commonjs/classes/RegisterGlobalEvents.js.map +1 -1
  75. package/lib/commonjs/classes/blaze-recommendations-type.js +2 -0
  76. package/lib/commonjs/classes/blaze-recommendations-type.js.map +1 -0
  77. package/lib/commonjs/classes/blaze-widget-label.js.map +1 -1
  78. package/lib/commonjs/classes/blaze-widget-overrides-styles.js +7 -0
  79. package/lib/commonjs/classes/blaze-widget-overrides-styles.js.map +1 -0
  80. package/lib/commonjs/classes/common-parser.js +29 -0
  81. package/lib/commonjs/classes/common-parser.js.map +1 -0
  82. package/lib/commonjs/classes/entry-point-delegate.js +27 -0
  83. package/lib/commonjs/classes/entry-point-delegate.js.map +1 -1
  84. package/lib/commonjs/classes/global-delegate.js.map +1 -1
  85. package/lib/commonjs/index.js +0 -7
  86. package/lib/commonjs/index.js.map +1 -1
  87. package/lib/commonjs/interfaces/actions-options.interface.js.map +1 -1
  88. package/lib/commonjs/interfaces/blaze-analytics.interface.js +24 -5
  89. package/lib/commonjs/interfaces/blaze-analytics.interface.js.map +1 -1
  90. package/lib/commonjs/interfaces/blaze-player-event.js +2 -0
  91. package/lib/commonjs/interfaces/blaze-player-event.js.map +1 -0
  92. package/lib/commonjs/interfaces/blaze-result.interface.js.map +1 -1
  93. package/lib/commonjs/interfaces/common.interface.js.map +1 -1
  94. package/lib/commonjs/interfaces/index.js +11 -0
  95. package/lib/commonjs/interfaces/index.js.map +1 -1
  96. package/lib/commonjs/interfaces/init-options.interface.js +0 -8
  97. package/lib/commonjs/interfaces/init-options.interface.js.map +1 -1
  98. package/lib/commonjs/interfaces/widget-layout.interface.js.map +1 -1
  99. package/lib/commonjs/interfaces/widget-moment-theme.interface.js.map +1 -1
  100. package/lib/commonjs/interfaces/widget-story-theme.interface.js.map +1 -1
  101. package/lib/commonjs/interfaces/widgets-props.interface.js.map +1 -1
  102. package/lib/commonjs/utils/index.js +17 -0
  103. package/lib/commonjs/utils/index.js.map +1 -0
  104. package/lib/commonjs/utils/map-parser.js +56 -0
  105. package/lib/commonjs/utils/map-parser.js.map +1 -0
  106. package/lib/commonjs/widgets/BlazeBaseWidgetComponent.js +44 -4
  107. package/lib/commonjs/widgets/BlazeBaseWidgetComponent.js.map +1 -1
  108. package/lib/commonjs/widgets/BlazeBaseWidgetViewProps.js.map +1 -1
  109. package/lib/commonjs/widgets/BlazeMomentsGridView.js.map +1 -1
  110. package/lib/commonjs/widgets/BlazeMomentsRowView.js.map +1 -1
  111. package/lib/commonjs/widgets/BlazeStoriesGridView.js.map +1 -1
  112. package/lib/commonjs/widgets/BlazeStoriesRowView.js.map +1 -1
  113. package/lib/module/NativeBlazeSdk.js +9 -0
  114. package/lib/module/NativeBlazeSdk.js.map +1 -1
  115. package/lib/module/classes/RegisterGlobalEvents.js.map +1 -1
  116. package/lib/module/classes/blaze-recommendations-type.js +2 -0
  117. package/lib/module/classes/blaze-recommendations-type.js.map +1 -0
  118. package/lib/module/classes/blaze-widget-label.js.map +1 -1
  119. package/lib/module/classes/blaze-widget-overrides-styles.js +3 -0
  120. package/lib/module/classes/blaze-widget-overrides-styles.js.map +1 -0
  121. package/lib/module/classes/common-parser.js +22 -0
  122. package/lib/module/classes/common-parser.js.map +1 -0
  123. package/lib/module/classes/entry-point-delegate.js +27 -0
  124. package/lib/module/classes/entry-point-delegate.js.map +1 -1
  125. package/lib/module/classes/global-delegate.js.map +1 -1
  126. package/lib/module/index.js +0 -1
  127. package/lib/module/index.js.map +1 -1
  128. package/lib/module/interfaces/actions-options.interface.js.map +1 -1
  129. package/lib/module/interfaces/blaze-analytics.interface.js +23 -4
  130. package/lib/module/interfaces/blaze-analytics.interface.js.map +1 -1
  131. package/lib/module/interfaces/blaze-player-event.js +2 -0
  132. package/lib/module/interfaces/blaze-player-event.js.map +1 -0
  133. package/lib/module/interfaces/blaze-result.interface.js.map +1 -1
  134. package/lib/module/interfaces/common.interface.js.map +1 -1
  135. package/lib/module/interfaces/index.js +1 -0
  136. package/lib/module/interfaces/index.js.map +1 -1
  137. package/lib/module/interfaces/init-options.interface.js +1 -7
  138. package/lib/module/interfaces/init-options.interface.js.map +1 -1
  139. package/lib/module/interfaces/widget-layout.interface.js.map +1 -1
  140. package/lib/module/interfaces/widget-moment-theme.interface.js.map +1 -1
  141. package/lib/module/interfaces/widget-story-theme.interface.js.map +1 -1
  142. package/lib/module/interfaces/widgets-props.interface.js.map +1 -1
  143. package/lib/module/utils/index.js +2 -0
  144. package/lib/module/utils/index.js.map +1 -0
  145. package/lib/module/utils/map-parser.js +50 -0
  146. package/lib/module/utils/map-parser.js.map +1 -0
  147. package/lib/module/widgets/BlazeBaseWidgetComponent.js +44 -4
  148. package/lib/module/widgets/BlazeBaseWidgetComponent.js.map +1 -1
  149. package/lib/module/widgets/BlazeBaseWidgetViewProps.js.map +1 -1
  150. package/lib/module/widgets/BlazeMomentsGridView.js.map +1 -1
  151. package/lib/module/widgets/BlazeMomentsRowView.js.map +1 -1
  152. package/lib/module/widgets/BlazeStoriesGridView.js.map +1 -1
  153. package/lib/module/widgets/BlazeStoriesRowView.js.map +1 -1
  154. package/lib/typescript/NativeBlazeSdk.d.ts +4 -2
  155. package/lib/typescript/NativeBlazeSdk.d.ts.map +1 -1
  156. package/lib/typescript/classes/blaze-recommendations-type.d.ts +30 -0
  157. package/lib/typescript/classes/blaze-recommendations-type.d.ts.map +1 -0
  158. package/lib/typescript/classes/blaze-widget-overrides-styles.d.ts +13 -0
  159. package/lib/typescript/classes/blaze-widget-overrides-styles.d.ts.map +1 -0
  160. package/lib/typescript/classes/common-parser.d.ts +5 -0
  161. package/lib/typescript/classes/common-parser.d.ts.map +1 -0
  162. package/lib/typescript/classes/entry-point-delegate.d.ts +8 -0
  163. package/lib/typescript/classes/entry-point-delegate.d.ts.map +1 -1
  164. package/lib/typescript/index.d.ts +3 -2
  165. package/lib/typescript/index.d.ts.map +1 -1
  166. package/lib/typescript/interfaces/actions-options.interface.d.ts +6 -6
  167. package/lib/typescript/interfaces/actions-options.interface.d.ts.map +1 -1
  168. package/lib/typescript/interfaces/blaze-analytics.interface.d.ts +36 -10
  169. package/lib/typescript/interfaces/blaze-analytics.interface.d.ts.map +1 -1
  170. package/lib/typescript/interfaces/blaze-player-event.d.ts +15 -0
  171. package/lib/typescript/interfaces/blaze-player-event.d.ts.map +1 -0
  172. package/lib/typescript/interfaces/common.interface.d.ts +10 -10
  173. package/lib/typescript/interfaces/common.interface.d.ts.map +1 -1
  174. package/lib/typescript/interfaces/index.d.ts +1 -0
  175. package/lib/typescript/interfaces/index.d.ts.map +1 -1
  176. package/lib/typescript/interfaces/init-options.interface.d.ts +6 -11
  177. package/lib/typescript/interfaces/init-options.interface.d.ts.map +1 -1
  178. package/lib/typescript/interfaces/widget-layout.interface.d.ts +54 -34
  179. package/lib/typescript/interfaces/widget-layout.interface.d.ts.map +1 -1
  180. package/lib/typescript/interfaces/widget-moment-theme.interface.d.ts +85 -55
  181. package/lib/typescript/interfaces/widget-moment-theme.interface.d.ts.map +1 -1
  182. package/lib/typescript/interfaces/widget-story-theme.interface.d.ts +36 -41
  183. package/lib/typescript/interfaces/widget-story-theme.interface.d.ts.map +1 -1
  184. package/lib/typescript/interfaces/widgets-props.interface.d.ts +17 -3
  185. package/lib/typescript/interfaces/widgets-props.interface.d.ts.map +1 -1
  186. package/lib/typescript/utils/index.d.ts +2 -0
  187. package/lib/typescript/utils/index.d.ts.map +1 -0
  188. package/lib/typescript/utils/map-parser.d.ts +43 -0
  189. package/lib/typescript/utils/map-parser.d.ts.map +1 -0
  190. package/lib/typescript/widgets/BlazeBaseWidgetComponent.d.ts +6 -1
  191. package/lib/typescript/widgets/BlazeBaseWidgetComponent.d.ts.map +1 -1
  192. package/lib/typescript/widgets/BlazeBaseWidgetViewProps.d.ts +11 -6
  193. package/lib/typescript/widgets/BlazeBaseWidgetViewProps.d.ts.map +1 -1
  194. package/package.json +2 -4
  195. package/src/NativeBlazeSdk.tsx +20 -2
  196. package/src/classes/blaze-recommendations-type.tsx +32 -0
  197. package/src/classes/blaze-widget-overrides-styles.tsx +15 -0
  198. package/src/classes/common-parser.tsx +22 -0
  199. package/src/classes/entry-point-delegate.tsx +45 -1
  200. package/src/index.tsx +18 -8
  201. package/src/interfaces/actions-options.interface.tsx +6 -6
  202. package/src/interfaces/blaze-analytics.interface.tsx +43 -10
  203. package/src/interfaces/blaze-player-event.tsx +21 -0
  204. package/src/interfaces/common.interface.tsx +10 -10
  205. package/src/interfaces/index.tsx +1 -0
  206. package/src/interfaces/init-options.interface.tsx +10 -11
  207. package/src/interfaces/widget-layout.interface.tsx +58 -38
  208. package/src/interfaces/widget-moment-theme.interface.tsx +101 -61
  209. package/src/interfaces/widget-story-theme.interface.tsx +39 -45
  210. package/src/interfaces/widgets-props.interface.tsx +24 -5
  211. package/src/utils/index.tsx +2 -0
  212. package/src/utils/map-parser.tsx +49 -0
  213. package/src/widgets/BlazeBaseWidgetComponent.tsx +75 -3
  214. package/src/widgets/BlazeBaseWidgetViewProps.tsx +19 -9
  215. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactMomentThemeMerger.kt +0 -273
  216. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactStoriesThemeMerger.kt +0 -271
  217. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactWidgetMomentTheme.kt +0 -269
  218. package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactWidgetStoriesTheme.kt +0 -207
  219. package/ios/Sources/Utils/PlayerThemeExtractUtils.swift +0 -27
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # react-native-blaze-react-module
1
+ # @wscsports/blaze-rtn-sdk
2
2
 
3
3
  # Introduction
4
4
  Welcome to WSC Sports React Native SDK.
@@ -7,4 +7,4 @@ Welcome to WSC Sports React Native SDK.
7
7
  Further details can be found here:<br/>
8
8
  [Getting Started](https://dev.wsc-sports.com/docs/react-native-sdk-init)
9
9
 
10
- Please check our [Documentation and User Guide](https://dev.wsc-sports.com/docs/getting-started)
10
+ Please check our [Documentation and User Guide](https://dev.wsc-sports.com/docs/getting-started)
@@ -35,6 +35,8 @@ android {
35
35
  versionCode 1
36
36
  versionName packageVersion
37
37
 
38
+ consumerProguardFiles "consumer-rules.pro"
39
+
38
40
  buildConfigField("String", "rtn_sdk_verion", "\"$packageVersion\"")
39
41
  }
40
42
 
@@ -76,6 +78,10 @@ dependencies {
76
78
  // noinspection GradleDynamicVersion
77
79
  api 'com.facebook.react:react-native:+'
78
80
 
79
- def blazeSDK = '0.90.0'
81
+ def blazeSDK = '1.0.3'
80
82
  implementation group: "com.blaze", name: "blazesdk", version: "${blazeSDK}"
83
+
84
+ // Gson.
85
+ def GsonVersion = "2.10.1"
86
+ implementation "com.google.code.gson:gson:$GsonVersion"
81
87
  }
File without changes
@@ -19,11 +19,8 @@ class BlazeMomentsGridViewManager(
19
19
  context: ReactApplicationContext?
20
20
  ) : BaseViewManager<BlazeMomentsGridView>(context),
21
21
  RTNBlazeMomentsGridViewManagerInterface<BlazeMomentsGridView?> {
22
- private val mDelegate: ViewManagerDelegate<BlazeMomentsGridView>
23
-
24
- init {
25
- mDelegate = RTNBlazeMomentsGridViewManagerDelegate(this)
26
- }
22
+ private val mDelegate: ViewManagerDelegate<BlazeMomentsGridView> =
23
+ RTNBlazeMomentsGridViewManagerDelegate(this)
27
24
 
28
25
  override fun getDelegate(): ViewManagerDelegate<BlazeMomentsGridView> {
29
26
  return mDelegate
@@ -44,18 +41,14 @@ class BlazeMomentsGridViewManager(
44
41
  viewToUpdate.onPropsUpdate(props)
45
42
  }
46
43
 
47
- companion object {
48
- private const val TAG = "BlazeStoriesGridViewManager"
49
- }
50
-
51
44
  @ReactProp(name = "dataSource")
52
45
  override fun setDataSource(view: BlazeMomentsGridView?, value: ReadableMap?) {
53
46
  view?.setDataSourceTypeFromMap(value)
54
47
  }
55
48
 
56
- @ReactProp(name = "presetTheme")
57
- override fun setPresetTheme(view: BlazeMomentsGridView?, value: String?) {
58
- view?.presetTheme = value
49
+ @ReactProp(name = "presetWidgetLayout")
50
+ override fun setPresetWidgetLayout(view: BlazeMomentsGridView?, value: String?) {
51
+ view?.presetWidgetLayoutString = value
59
52
  }
60
53
 
61
54
  @ReactProp(name = "appOverridesCTAHandling")
@@ -73,14 +66,24 @@ class BlazeMomentsGridViewManager(
73
66
  view?.reactWidgetLayoutStyleMap = value
74
67
  }
75
68
 
76
- @ReactProp(name = "blazePlayerMomentTheme")
77
- override fun setBlazePlayerMomentTheme(view: BlazeMomentsGridView?, value: ReadableMap?) {
78
- view?.reactWidgetThemeMap = value
69
+ @ReactProp(name = "blazeMomentsPlayerStyle")
70
+ override fun setBlazeMomentsPlayerStyle(view: BlazeMomentsGridView?, value: ReadableMap?) {
71
+ view?.reactWidgetPlayerStyleMap = value
72
+ }
73
+
74
+ @ReactProp(name = "shouldOrderWidgetByReadStatus")
75
+ override fun setShouldOrderWidgetByReadStatus(view: BlazeMomentsGridView?, value: Boolean) {
76
+ view?.shouldOrderWidgetByReadStatus = value
77
+ }
78
+
79
+ @ReactProp(name = "perItemStyleOverridesInternal")
80
+ override fun setPerItemStyleOverrides(view: BlazeMomentsGridView?, value: ReadableMap?) {
81
+ view?.perItemStyleOverridesReadableMap = value
79
82
  }
80
83
 
81
- @ReactProp(name = "shouldOrderMomentsByReadStatus")
82
- override fun setShouldOrderMomentsByReadStatus(view: BlazeMomentsGridView?, value: Boolean) {
83
- view?.shouldOrderMomentsByReadStatus = value
84
+ @ReactProp(name = "cachingLevel")
85
+ override fun setCachingLevel(view: BlazeMomentsGridView?, value: String?) {
86
+ view?.reactCachingLevel = value
84
87
  }
85
88
 
86
89
  }
@@ -17,11 +17,8 @@ import com.facebook.react.uimanager.annotations.ReactProp
17
17
  class BlazeMomentsRowViewManager(context: ReactApplicationContext?) :
18
18
  BaseViewManager<BlazeMomentsRowView>(context),
19
19
  RTNBlazeMomentsRowViewManagerInterface<BlazeMomentsRowView?> {
20
- private val mDelegate: ViewManagerDelegate<BlazeMomentsRowView>
21
-
22
- init {
23
- mDelegate = RTNBlazeMomentsRowViewManagerDelegate(this)
24
- }
20
+ private val mDelegate: ViewManagerDelegate<BlazeMomentsRowView> =
21
+ RTNBlazeMomentsRowViewManagerDelegate(this)
25
22
 
26
23
  override fun getDelegate(): ViewManagerDelegate<BlazeMomentsRowView> {
27
24
  return mDelegate
@@ -45,9 +42,9 @@ class BlazeMomentsRowViewManager(context: ReactApplicationContext?) :
45
42
  view?.setDataSourceTypeFromMap(value)
46
43
  }
47
44
 
48
- @ReactProp(name = "presetTheme")
49
- override fun setPresetTheme(view: BlazeMomentsRowView?, value: String?) {
50
- view?.presetTheme = value
45
+ @ReactProp(name = "presetWidgetLayout")
46
+ override fun setPresetWidgetLayout(view: BlazeMomentsRowView?, value: String?) {
47
+ view?.presetWidgetLayoutString = value
51
48
  }
52
49
 
53
50
  @ReactProp(name = "appOverridesCTAHandling")
@@ -60,14 +57,24 @@ class BlazeMomentsRowViewManager(context: ReactApplicationContext?) :
60
57
  view?.reactWidgetLayoutStyleMap = value
61
58
  }
62
59
 
63
- @ReactProp(name = "blazePlayerMomentTheme")
64
- override fun setBlazePlayerMomentTheme(view: BlazeMomentsRowView?, value: ReadableMap?) {
65
- view?.reactWidgetThemeMap = value
60
+ @ReactProp(name = "blazeMomentsPlayerStyle")
61
+ override fun setBlazeMomentsPlayerStyle(view: BlazeMomentsRowView?, value: ReadableMap?) {
62
+ view?.reactWidgetPlayerStyleMap = value
63
+ }
64
+
65
+ @ReactProp(name = "shouldOrderWidgetByReadStatus")
66
+ override fun setShouldOrderWidgetByReadStatus(view: BlazeMomentsRowView?, value: Boolean) {
67
+ view?.shouldOrderWidgetByReadStatus = value
68
+ }
69
+
70
+ @ReactProp(name = "perItemStyleOverridesInternal")
71
+ override fun setPerItemStyleOverrides(view: BlazeMomentsRowView?, value: ReadableMap?) {
72
+ view?.perItemStyleOverridesReadableMap = value
66
73
  }
67
74
 
68
- @ReactProp(name = "shouldOrderMomentsByReadStatus")
69
- override fun setShouldOrderMomentsByReadStatus(view: BlazeMomentsRowView?, value: Boolean) {
70
- view?.shouldOrderMomentsByReadStatus = value
75
+ @ReactProp(name = "cachingLevel")
76
+ override fun setCachingLevel(view: BlazeMomentsRowView?, value: String?) {
77
+ view?.reactCachingLevel = value
71
78
  }
72
79
 
73
80
  }
@@ -1,6 +1,6 @@
1
1
  package com.blaze.rtnblazesdk
2
2
 
3
- import com.blaze.blazesdk.core.external_modules.react_native.BlazeReactSDKHelperInterface
3
+ import com.blaze.blazesdk.external_modules.react_native.BlazeReactSDKHelperInterface
4
4
 
5
5
  class BlazeReactSDKHelper : BlazeReactSDKHelperInterface {
6
6
 
@@ -1,21 +1,23 @@
1
1
  package com.blaze.rtnblazesdk
2
2
 
3
3
  import android.util.Log
4
- import com.blaze.blazesdk.BlazeSDK
5
- import com.blaze.blazesdk.core.analytics.models.BlazeAnalyticsEvent
6
- import com.blaze.blazesdk.core.delegates.BlazePlayerEntryPointDelegate
7
- import com.blaze.blazesdk.core.delegates.BlazePlayerType
8
- import com.blaze.blazesdk.core.external_modules.BlazeExternalModulesBinder
9
- import com.blaze.blazesdk.core.managers.CachingLevel
10
- import com.blaze.blazesdk.core.models.BlazeResult
11
- import com.blaze.blazesdk.features.moments.theme.player.MomentPlayerTheme
12
- import com.blaze.blazesdk.features.stories.models.ui.BlazeLinkActionHandleType
13
- import com.blaze.blazesdk.features.stories.theme.player.StoryPlayerTheme
14
- import com.blaze.blazesdk.features.widgets.shared.BlazeGlobalDelegate
4
+ import com.blaze.blazesdk.analytics.models.BlazeAnalyticsEvent
5
+ import com.blaze.blazesdk.delegates.BlazePlayerEntryPointDelegate
6
+ import com.blaze.blazesdk.delegates.BlazeSDKDelegate
7
+ import com.blaze.blazesdk.delegates.models.BlazePlayerEvent
8
+ import com.blaze.blazesdk.delegates.models.BlazePlayerType
9
+ import com.blaze.blazesdk.external_modules.BlazeExternalModulesBinder
10
+ import com.blaze.blazesdk.features.shared.models.ui_shared.BlazeLinkActionHandleType
11
+ import com.blaze.blazesdk.prefetch.models.BlazeCachingLevel
12
+ import com.blaze.blazesdk.shared.BlazeSDK
13
+ import com.blaze.blazesdk.shared.results.BlazeResult
14
+ import com.blaze.blazesdk.style.players.moments.BlazeMomentsPlayerStyle
15
+ import com.blaze.blazesdk.style.players.stories.BlazeStoryPlayerStyle
15
16
  import com.blaze.rtnblazesdk.events.SdkModuleJsEvent
17
+ import com.blaze.rtnblazesdk.utils.extractCachingLevel
16
18
  import com.blaze.rtnblazesdk.utils.extractDataSource
17
- import com.blaze.rtnblazesdk.utils.extractMomentsPlayerTheme
18
- import com.blaze.rtnblazesdk.utils.extractStoriesPlayerTheme
19
+ import com.blaze.rtnblazesdk.utils.extractMomentsPlayerStyle
20
+ import com.blaze.rtnblazesdk.utils.extractStoriesPlayerStyle
19
21
  import com.blaze.rtnblazesdk.utils.handleResult
20
22
  import com.blaze.rtnblazesdk.utils.rejectWith
21
23
  import com.facebook.react.bridge.NoSuchKeyException
@@ -28,10 +30,7 @@ class BlazeSdkModule(private val context: ReactApplicationContext): NativeBlazeS
28
30
  private val reactNativeSDKHelper = BlazeReactSDKHelper()
29
31
  private var appOverridesCTAHandling: Boolean = false
30
32
 
31
- private var globalStoryPlayerTheme: StoryPlayerTheme? = null
32
- private var globalMomentPlayerTheme: MomentPlayerTheme? = null
33
-
34
- private val globalDelegate = object : BlazeGlobalDelegate {
33
+ private val globalDelegate = object : BlazeSDKDelegate {
35
34
  override fun onErrorThrown(error: BlazeResult.Error) {
36
35
  val event = SdkModuleJsEvent.ErrorThrown(error)
37
36
  sendJsEvent(event)
@@ -89,6 +88,24 @@ class BlazeSdkModule(private val context: ReactApplicationContext): NativeBlazeS
89
88
  sendJsEvent(event)
90
89
  return BlazeLinkActionHandleType.DEEPLINK
91
90
  }
91
+
92
+ override fun onPlayerEventTriggered(
93
+ playerType: BlazePlayerType,
94
+ sourceId: String?,
95
+ event: BlazePlayerEvent
96
+ ) {
97
+ try {
98
+ val event =
99
+ SdkModuleJsEvent.TriggerPlayerEventTriggered(
100
+ playerType = playerType,
101
+ sourceId = sourceId,
102
+ event = event
103
+ )
104
+ sendJsEvent(event)
105
+ } catch (e: Throwable) {
106
+ Log.e(TAG, "onPlayerEventTriggered: Exception - $e")
107
+ }
108
+ }
92
109
  }
93
110
 
94
111
  init {
@@ -96,47 +113,54 @@ class BlazeSdkModule(private val context: ReactApplicationContext): NativeBlazeS
96
113
  }
97
114
 
98
115
  override fun init(options: ReadableMap, promise: Promise) {
99
- val reactStoryPlayerTheme = options.getMap(KEY_INIT_GLOBAL_STORY_PLAYER_THEME)
100
- val reactMomentPlayerTheme = options.getMap(KEY_INIT_GLOBAL_MOMENT_PLAYER_THEME)
101
-
102
- val storyPlayerTheme = reactStoryPlayerTheme.extractStoriesPlayerTheme(context).also {
103
- globalStoryPlayerTheme = it
104
- }
105
- val momentPlayerTheme = reactMomentPlayerTheme.extractMomentsPlayerTheme(context).also {
106
- globalMomentPlayerTheme = it
107
- }
108
116
 
109
117
  try {
110
118
  setAppOverrideCtaHandling(options)
119
+
120
+ val cachingLevel = options.extractCachingLevel() ?: BlazeCachingLevel.DEFAULT
121
+ BlazeSdkModuleRepo.cachingLevel = cachingLevel
122
+
111
123
  BlazeSDK.init(
112
124
  apiKey = options.getString(KEY_INIT_API_KEY)!!,
113
125
  externalUserId = options.getString(KEY_INIT_EXTERNAL_USER_ID),
114
126
  geoLocation = options.getString(KEY_INIT_GEO_LOCATION),
115
127
  cachingSize = options.getInt(KEY_INIT_CACHING_SIZE),
116
- globalStoryAppearanceLayout = storyPlayerTheme,
117
- globalMomentsAppearanceTheme = momentPlayerTheme,
118
- cachingLevel = CachingLevel.DEFAULT,
128
+ cachingLevel = cachingLevel,
119
129
  completionBlock = {
120
130
  promise.resolve(BlazeResult.Success(true).toString())
121
131
  },
122
132
  errorBlock = { e: BlazeResult.Error ->
123
133
  promise.handleResult(e)
124
134
  },
125
- globalDelegate = globalDelegate,
135
+ sdkDelegate = globalDelegate,
126
136
  playerEntryPointDelegate = playerEntryPointDelegate,
127
137
  )
138
+
139
+ val reactStoryPlayerStyle = options.getMap(KEY_INIT_DEFAULT_STORY_PLAYER_STYLE)
140
+ val reactMomentPlayerStyle = options.getMap(KEY_INIT_DEFAULT_MOMENT_PLAYER_STYLE)
141
+
142
+ reactStoryPlayerStyle.extractStoriesPlayerStyle(context).also {
143
+ BlazeSDK.setDefaultStoryPlayerStyle(it)
144
+ }
145
+ reactMomentPlayerStyle.extractMomentsPlayerStyle(context).also {
146
+ BlazeSDK.setDefaultMomentsPlayerStyle(it)
147
+ }
128
148
  } catch (e: Exception) {
129
149
  promise.reject("BlazeSDK", e.toString())
130
- Log.e("BlazeSdkModuleImp", "init: Exception - $e")
150
+ Log.e(TAG, "init: Exception - $e")
131
151
  }
132
152
  }
133
153
 
154
+ private fun ReadableMap.extractCachingLevel(): BlazeCachingLevel? {
155
+ return getString(KEY_INIT_CACHING_LEVEL)?.extractCachingLevel()
156
+ }
157
+
134
158
  private fun setAppOverrideCtaHandling(options: ReadableMap) {
135
159
  // getBoolean can throw exception while getString will return null if no such key
136
160
  try {
137
161
  appOverridesCTAHandling = options.getBoolean(KEY_INIT_APP_OVERRIDES_CTA_HANDLING)
138
162
  } catch(e: NoSuchKeyException) {
139
- Log.e("BlazeSdkModuleImp", "setAppOverrideCtaHandling: NoSuchKeyException - ${e.message}")
163
+ Log.e(TAG, "setAppOverrideCtaHandling: NoSuchKeyException - ${e.message}")
140
164
  }
141
165
  }
142
166
 
@@ -152,17 +176,17 @@ class BlazeSdkModule(private val context: ReactApplicationContext): NativeBlazeS
152
176
  }
153
177
 
154
178
  val pageId = options.getString(KEY_STORY_OPT_PAGE_ID)
155
- val playerTheme = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
156
- .extractStoriesPlayerTheme(context, defaultTheme = globalStoryPlayerTheme)
179
+ val playerStyle = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
180
+ .extractStoriesPlayerStyle(context)
157
181
  BlazeSDK.playStory(
158
182
  storyId = storyId,
159
183
  pageId = pageId,
160
- storyPlayerTheme = playerTheme
184
+ storyPlayerStyle = playerStyle
161
185
  ) { result ->
162
186
  promise.handleResult(result)
163
187
  }
164
188
  } catch (e: Exception) {
165
- promise.reject("BlazeSDK", e.toString())
189
+ promise.rejectWith(e.toString())
166
190
  }
167
191
  }
168
192
 
@@ -174,11 +198,11 @@ class BlazeSdkModule(private val context: ReactApplicationContext): NativeBlazeS
174
198
  return
175
199
  }
176
200
 
177
- val playerTheme = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
178
- .extractMomentsPlayerTheme(context, defaultTheme = globalMomentPlayerTheme)
201
+ val playerStyle = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
202
+ .extractMomentsPlayerStyle(context)
179
203
  BlazeSDK.playMoment(
180
204
  momentId = momentId,
181
- momentPlayerTheme = playerTheme) { result ->
205
+ momentsPlayerStyle = playerStyle) { result ->
182
206
  promise.handleResult(result)
183
207
  }
184
208
  } catch (e: Exception) {
@@ -217,7 +241,7 @@ class BlazeSdkModule(private val context: ReactApplicationContext): NativeBlazeS
217
241
 
218
242
 
219
243
  override fun dismissPlayer(promise: Promise) {
220
- BlazeSDK.dismissPlayer()
244
+ BlazeSDK.dismissCurrentPlayer()
221
245
  promise.resolve(true)
222
246
  }
223
247
 
@@ -243,11 +267,11 @@ class BlazeSdkModule(private val context: ReactApplicationContext): NativeBlazeS
243
267
  return
244
268
  }
245
269
 
246
- val playerTheme = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
247
- .extractStoriesPlayerTheme(context, defaultTheme = globalStoryPlayerTheme)
270
+ val playerStyle = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
271
+ .extractStoriesPlayerStyle(context)
248
272
  BlazeSDK.playStories(
249
273
  dataSource = dataSource,
250
- storyPlayerTheme = playerTheme) { result ->
274
+ storyPlayerStyle = playerStyle) { result ->
251
275
  promise.handleResult(result)
252
276
  }
253
277
  } catch (e: Exception) {
@@ -262,11 +286,11 @@ class BlazeSdkModule(private val context: ReactApplicationContext): NativeBlazeS
262
286
  return
263
287
  }
264
288
 
265
- val playerTheme = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
266
- .extractMomentsPlayerTheme(context, defaultTheme = globalMomentPlayerTheme)
289
+ val playerStyle = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
290
+ .extractMomentsPlayerStyle(context)
267
291
  BlazeSDK.playMoments(
268
292
  dataSource = dataSource,
269
- momentsPlayerTheme = playerTheme) { result ->
293
+ momentsPlayerStyle = playerStyle) { result ->
270
294
  promise.handleResult(result)
271
295
  }
272
296
  } catch (e: Exception) {
@@ -284,6 +308,15 @@ class BlazeSdkModule(private val context: ReactApplicationContext): NativeBlazeS
284
308
  }
285
309
  }
286
310
 
311
+ override fun canHandleUniversalLink(link: String, promise: Promise) {
312
+ try {
313
+ val canHandle = BlazeSDK.canHandleUniversalLink(link)
314
+ promise.resolve(canHandle)
315
+ } catch (e: Exception) {
316
+ promise.rejectWith(e.toString())
317
+ }
318
+ }
319
+
287
320
  override fun updateGeoRestriction(geoLocation: String?, promise: Promise) {
288
321
  val updatedGeoLocation = if (geoLocation.isNullOrEmpty()) null else geoLocation
289
322
  try {
@@ -295,22 +328,46 @@ class BlazeSdkModule(private val context: ReactApplicationContext): NativeBlazeS
295
328
  }
296
329
  }
297
330
 
331
+ override fun canHandlePushNotification(payload: ReadableMap, promise: Promise) {
332
+ try {
333
+ // This is needed for now since the Android SDK requires <String, String>. Remove if it changes.
334
+ val hashMap = payload.toHashMap() as HashMap<String, String>
335
+ val canHandle = BlazeSDK.canHandlePushNotification(hashMap)
336
+ promise.resolve(canHandle)
337
+ } catch (e: Exception) {
338
+ promise.rejectWith("Error parsing the payload: $e")
339
+ }
340
+ }
341
+
342
+ override fun handleNotificationPayload(payload: ReadableMap, promise: Promise) {
343
+ try {
344
+ // This is needed for now since the Android SDK requires <String, String>. Remove if it changes.
345
+ val hashMap = payload.toHashMap() as HashMap<String, String>
346
+ BlazeSDK.handlePushNotificationPayload(hashMap){ result ->
347
+ promise.handleResult(result)
348
+ }
349
+ } catch (e: Exception) {
350
+ promise.rejectWith(e.toString())
351
+ }
352
+ }
353
+
298
354
  companion object {
355
+ val TAG: String = BlazeSdkModule::class.java.simpleName
299
356
 
300
357
  const val KEY_INIT_API_KEY = "apiKey"
301
358
  const val KEY_INIT_EXTERNAL_USER_ID = "externalUserId"
302
359
  const val KEY_INIT_GEO_LOCATION = "geoLocation"
303
360
  const val KEY_INIT_CACHING_SIZE = "cachingSize"
361
+ const val KEY_INIT_CACHING_LEVEL = "cachingLevel"
304
362
  const val KEY_INIT_APP_OVERRIDES_CTA_HANDLING = "appOverridesCTAHandling"
305
- const val KEY_INIT_GLOBAL_STORY_PLAYER_THEME = "globalPlayerStoryTheme"
306
- const val KEY_INIT_GLOBAL_MOMENT_PLAYER_THEME = "globalPlayerMomentTheme"
363
+ const val KEY_INIT_DEFAULT_STORY_PLAYER_STYLE = "defaultStoryPlayerStyle"
364
+ const val KEY_INIT_DEFAULT_MOMENT_PLAYER_STYLE = "defaultMomentsPlayerStyle"
307
365
  const val KEY_STORY_OPT_STORY_ID = "storyId"
308
366
  const val KEY_STORY_OPT_PAGE_ID = "pageId"
309
367
  const val KEY_STORY_OPT_MOMENT_ID = "momentId"
310
368
  const val KEY_ENTRY_POINT_DATA_SOURCE = "dataSource"
311
- const val KEY_ENTRY_POINT_PLAYER_THEME = "playerTheme"
369
+ const val KEY_ENTRY_POINT_PLAYER_THEME = "playerStyle"
312
370
 
313
371
  }
314
372
 
315
-
316
373
  }
@@ -0,0 +1,7 @@
1
+ package com.blaze.rtnblazesdk
2
+
3
+ import com.blaze.blazesdk.prefetch.models.BlazeCachingLevel
4
+
5
+ object BlazeSdkModuleRepo {
6
+ var cachingLevel: BlazeCachingLevel? = null
7
+ }
@@ -20,11 +20,8 @@ class BlazeStoriesGridViewManager(
20
20
  ) :
21
21
  BaseViewManager<BlazeStoriesGridView>(context),
22
22
  RTNBlazeStoriesGridViewManagerInterface<BlazeStoriesGridView?> {
23
- private val mDelegate: ViewManagerDelegate<BlazeStoriesGridView>
24
-
25
- init {
26
- mDelegate = RTNBlazeStoriesGridViewManagerDelegate(this)
27
- }
23
+ private val mDelegate: ViewManagerDelegate<BlazeStoriesGridView> =
24
+ RTNBlazeStoriesGridViewManagerDelegate(this)
28
25
 
29
26
  override fun getDelegate(): ViewManagerDelegate<BlazeStoriesGridView> {
30
27
  return mDelegate
@@ -45,18 +42,14 @@ class BlazeStoriesGridViewManager(
45
42
  viewToUpdate.onPropsUpdate(props)
46
43
  }
47
44
 
48
- companion object {
49
- private const val TAG = "BlazeStoriesGridViewManager"
50
- }
51
-
52
45
  @ReactProp(name = "dataSource")
53
46
  override fun setDataSource(view: BlazeStoriesGridView?, value: ReadableMap?) {
54
47
  view?.setDataSourceTypeFromMap(value)
55
48
  }
56
49
 
57
- @ReactProp(name = "presetTheme")
58
- override fun setPresetTheme(view: BlazeStoriesGridView?, value: String?) {
59
- view?.presetTheme = value
50
+ @ReactProp(name = "presetWidgetLayout")
51
+ override fun setPresetWidgetLayout(view: BlazeStoriesGridView?, value: String?) {
52
+ view?.presetWidgetLayoutString = value
60
53
  }
61
54
 
62
55
  @ReactProp(name = "adjustSizeAutomatically")
@@ -74,10 +67,24 @@ class BlazeStoriesGridViewManager(
74
67
  view?.reactWidgetLayoutStyleMap = value
75
68
  }
76
69
 
77
- @ReactProp(name = "blazePlayerStoryTheme")
78
- override fun setBlazePlayerStoryTheme(view: BlazeStoriesGridView?, value: ReadableMap?) {
79
- view?.reactWidgetThemeMap = value
70
+ @ReactProp(name = "blazeStoryPlayerStyle")
71
+ override fun setBlazeStoryPlayerStyle(view: BlazeStoriesGridView?, value: ReadableMap?) {
72
+ view?.reactWidgetPlayerStyleMap = value
80
73
  }
81
74
 
75
+ @ReactProp(name = "shouldOrderWidgetByReadStatus")
76
+ override fun setShouldOrderWidgetByReadStatus(view: BlazeStoriesGridView?, value: Boolean) {
77
+ view?.shouldOrderWidgetByReadStatus = value
78
+ }
79
+
80
+ @ReactProp(name = "perItemStyleOverridesInternal")
81
+ override fun setPerItemStyleOverrides(view: BlazeStoriesGridView?, value: ReadableMap?) {
82
+ view?.perItemStyleOverridesReadableMap = value
83
+ }
84
+
85
+ @ReactProp(name = "cachingLevel")
86
+ override fun setCachingLevel(view: BlazeStoriesGridView?, value: String?) {
87
+ view?.reactCachingLevel = value
88
+ }
82
89
 
83
90
  }
@@ -17,11 +17,8 @@ import com.facebook.react.uimanager.annotations.ReactProp
17
17
  class BlazeStoriesRowViewManager(context: ReactApplicationContext?) :
18
18
  BaseViewManager<BlazeStoriesRowView>(context),
19
19
  RTNBlazeStoriesRowViewManagerInterface<BlazeStoriesRowView?> {
20
- private val mDelegate: ViewManagerDelegate<BlazeStoriesRowView>
21
-
22
- init {
23
- mDelegate = RTNBlazeStoriesRowViewManagerDelegate(this)
24
- }
20
+ private val mDelegate: ViewManagerDelegate<BlazeStoriesRowView> =
21
+ RTNBlazeStoriesRowViewManagerDelegate(this)
25
22
 
26
23
  override fun getDelegate(): ViewManagerDelegate<BlazeStoriesRowView> {
27
24
  return mDelegate
@@ -45,9 +42,9 @@ class BlazeStoriesRowViewManager(context: ReactApplicationContext?) :
45
42
  view?.setDataSourceTypeFromMap(value)
46
43
  }
47
44
 
48
- @ReactProp(name = "presetTheme")
49
- override fun setPresetTheme(view: BlazeStoriesRowView?, value: String?) {
50
- view?.presetTheme = value
45
+ @ReactProp(name = "presetWidgetLayout")
46
+ override fun setPresetWidgetLayout(view: BlazeStoriesRowView?, value: String?) {
47
+ view?.presetWidgetLayoutString = value
51
48
  }
52
49
 
53
50
  @ReactProp(name = "appOverridesCTAHandling")
@@ -60,8 +57,24 @@ class BlazeStoriesRowViewManager(context: ReactApplicationContext?) :
60
57
  view?.reactWidgetLayoutStyleMap = value
61
58
  }
62
59
 
63
- @ReactProp(name = "blazePlayerStoryTheme")
64
- override fun setBlazePlayerStoryTheme(view: BlazeStoriesRowView?, value: ReadableMap?) {
65
- view?.reactWidgetThemeMap = value
60
+ @ReactProp(name = "blazeStoryPlayerStyle")
61
+ override fun setBlazeStoryPlayerStyle(view: BlazeStoriesRowView?, value: ReadableMap?) {
62
+ view?.reactWidgetPlayerStyleMap = value
66
63
  }
64
+
65
+ @ReactProp(name = "shouldOrderWidgetByReadStatus")
66
+ override fun setShouldOrderWidgetByReadStatus(view: BlazeStoriesRowView?, value: Boolean) {
67
+ view?.shouldOrderWidgetByReadStatus = value
68
+ }
69
+
70
+ @ReactProp(name = "perItemStyleOverridesInternal")
71
+ override fun setPerItemStyleOverrides(view: BlazeStoriesRowView?, value: ReadableMap?) {
72
+ view?.perItemStyleOverridesReadableMap = value
73
+ }
74
+
75
+ @ReactProp(name = "cachingLevel")
76
+ override fun setCachingLevel(view: BlazeStoriesRowView?, value: String?) {
77
+ view?.reactCachingLevel = value
78
+ }
79
+
67
80
  }
@@ -55,8 +55,16 @@ abstract class NativeBlazeSdkSpec(reactContext: ReactApplicationContext?) :
55
55
  abstract fun handleUniversalLink(link: String, promise: Promise)
56
56
  @ReactMethod
57
57
  @DoNotStrip
58
+ abstract fun canHandleUniversalLink(link: String, promise: Promise)
59
+ @ReactMethod
60
+ @DoNotStrip
58
61
  abstract fun updateGeoRestriction(geoLocation: String?, promise: Promise)
59
-
62
+ @ReactMethod
63
+ @DoNotStrip
64
+ abstract fun canHandlePushNotification(payload: ReadableMap, promise: Promise)
65
+ @ReactMethod
66
+ @DoNotStrip
67
+ abstract fun handleNotificationPayload(payload: ReadableMap, promise: Promise)
60
68
  companion object {
61
69
  const val NAME = "RTNBlazeSdk"
62
70
  }