@wscsports/blaze-rtn-sdk 0.2.5 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +11 -21
- package/android/src/main/AndroidManifest.xml +1 -1
- package/android/src/main/java/com/blaze/rtnblazesdk/BlazeMomentsGridViewManager.kt +9 -26
- package/android/src/main/java/com/blaze/rtnblazesdk/BlazeMomentsRowViewManager.kt +8 -24
- package/android/src/main/java/com/blaze/rtnblazesdk/BlazeSdkModule.kt +277 -18
- package/android/src/main/java/com/blaze/rtnblazesdk/BlazeStoriesGridViewManager.kt +3 -21
- package/android/src/main/java/com/blaze/rtnblazesdk/BlazeStoriesRowViewManager.kt +3 -25
- package/android/src/main/java/com/blaze/rtnblazesdk/NativeBlazeSdkSpec.kt +63 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/base/BaseViewManager.kt +23 -11
- package/android/src/main/java/com/blaze/rtnblazesdk/base/BaseWidgetView.kt +194 -40
- package/android/src/main/java/com/blaze/rtnblazesdk/base/BlazeReactSizeFixingView.kt +0 -4
- package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeEnumMapper.kt +5 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactCommonMerger.kt +31 -5
- package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactLayoutMerger.kt +58 -13
- package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactMomentThemeMerger.kt +71 -76
- package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactStoriesThemeMerger.kt +5 -21
- package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactWidgetCommon.kt +21 -14
- package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactWidgetLayout.kt +77 -12
- package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactWidgetMomentTheme.kt +130 -52
- package/android/src/main/java/com/blaze/rtnblazesdk/customization/BlazeReactWidgetStoriesTheme.kt +30 -42
- package/android/src/main/java/com/blaze/rtnblazesdk/events/SdkModuleJsEvent.kt +139 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/events/WidgetCTAClickEvent.kt +1 -1
- package/android/src/main/java/com/blaze/rtnblazesdk/events/WidgetDataLoadCompletedEvent.kt +1 -1
- package/android/src/main/java/com/blaze/rtnblazesdk/events/WidgetDataLoadStartedEvent.kt +2 -3
- package/android/src/main/java/com/blaze/rtnblazesdk/events/WidgetItemClickedEvent.kt +1 -1
- package/android/src/main/java/com/blaze/rtnblazesdk/events/WidgetOnTriggerPlayerBodyTextLinkEvent.kt +28 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/events/WidgetPlayerDidAppearEvent.kt +27 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/events/WidgetPlayerDismissedEvent.kt +1 -1
- package/android/src/main/java/com/blaze/rtnblazesdk/moments/BlazeMomentsGridView.kt +19 -141
- package/android/src/main/java/com/blaze/rtnblazesdk/moments/BlazeMomentsRowView.kt +26 -151
- package/android/src/main/java/com/blaze/rtnblazesdk/stories/BlazeStoriesGridView.kt +18 -140
- package/android/src/main/java/com/blaze/rtnblazesdk/stories/BlazeStoriesRowView.kt +17 -143
- package/android/src/main/java/com/blaze/rtnblazesdk/utils/ArrayExtensions.kt +15 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/utils/DataSourceTypeExtractUtils.kt +63 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/utils/MapExtensions.kt +33 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/utils/PlayerThemeExtractUtils.kt +27 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeMomentsGridViewManagerDelegate.kt +4 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeMomentsGridViewManagerInterface.kt +1 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeMomentsRowViewManagerDelegate.kt +4 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/viewmanagers/RTNBlazeMomentsRowViewManagerInterface.kt +1 -1
- package/blaze-rtn-sdk.podspec +1 -1
- package/ios/Sources/BlazeMomentsGridWidgetManager/BlazeMomentsGridWidgetManager.swift +0 -19
- package/ios/Sources/BlazeMomentsRowWidgetManager/BlazeMomentsRowWidgetManager.swift +0 -19
- package/ios/Sources/BlazeNativeSDKModule/BlazeNativeSDKModule.m +15 -0
- package/ios/Sources/BlazeNativeSDKModule/BlazeNativeSDKModule.swift +136 -67
- package/ios/Sources/BlazeNativeSDKModule/RTNBlazeSdkModule+AppEvents.swift +154 -0
- package/ios/Sources/BlazeStoriesGridWidgetManager/BlazeStoriesGridWidgetManager.swift +0 -19
- package/ios/Sources/BlazeStoriesRowWidgetManager/BlazeStoriesRowWidgetManager.swift +0 -19
- package/ios/Sources/Events/BlazeAppEvent.swift +31 -0
- package/ios/Sources/LayoutCustomization/BlazeReactLayoutMerger.swift +160 -10
- package/ios/Sources/LayoutCustomization/BlazeReactWidgetLayout.swift +80 -10
- package/ios/Sources/Utils/BlazeReactParamsParser.swift +62 -7
- package/ios/Sources/Utils/PlayerThemeExtractUtils.swift +27 -0
- package/ios/Sources/Widgets/Base/BlazeWidgetBase.swift +43 -17
- package/ios/Sources/Widgets/Base/BlazeWidgetBaseProtocol.swift +16 -0
- package/ios/Sources/Widgets/Base/BlazeWidgetMomentsBase.swift +4 -0
- package/ios/Sources/Widgets/Base/BlazeWidgetViewManagerBase.m +15 -3
- package/ios/Sources/Widgets/Base/BlazeWidgetViewManagerBase.swift +20 -0
- package/ios/Sources/Widgets/BlazeMomentsGridWidget.swift +4 -4
- package/ios/Sources/Widgets/BlazeMomentsRowWidget.swift +4 -4
- package/ios/Sources/Widgets/BlazeStoriesGridWidget.swift +1 -3
- package/ios/Sources/Widgets/BlazeStoriesRowWidget.swift +1 -3
- package/lib/commonjs/NativeBlazeSdk.js +69 -39
- package/lib/commonjs/NativeBlazeSdk.js.map +1 -1
- package/lib/commonjs/classes/RegisterGlobalEvents.js +20 -0
- package/lib/commonjs/classes/RegisterGlobalEvents.js.map +1 -0
- package/lib/commonjs/classes/entry-point-delegate.js +146 -0
- package/lib/commonjs/classes/entry-point-delegate.js.map +1 -0
- package/lib/commonjs/classes/global-delegate.js +52 -0
- package/lib/commonjs/classes/global-delegate.js.map +1 -0
- package/lib/commonjs/index.js +8 -14
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/interfaces/actions-options.interface.js +4 -0
- package/lib/commonjs/interfaces/blaze-analytics.interface.js +4 -1
- package/lib/commonjs/interfaces/blaze-analytics.interface.js.map +1 -1
- package/lib/commonjs/interfaces/init-options.interface.js.map +1 -1
- package/lib/commonjs/widgets/BlazeBaseWidgetComponent.js +74 -0
- package/lib/commonjs/widgets/BlazeBaseWidgetComponent.js.map +1 -0
- package/lib/commonjs/widgets/BlazeBaseWidgetViewProps.js +6 -0
- package/lib/commonjs/widgets/BlazeBaseWidgetViewProps.js.map +1 -0
- package/lib/commonjs/widgets/BlazeMomentsGridView.js +27 -0
- package/lib/commonjs/widgets/BlazeMomentsGridView.js.map +1 -0
- package/lib/commonjs/widgets/BlazeMomentsRowView.js +27 -0
- package/lib/commonjs/widgets/BlazeMomentsRowView.js.map +1 -0
- package/lib/commonjs/widgets/BlazeStoriesGridView.js +27 -0
- package/lib/commonjs/widgets/BlazeStoriesGridView.js.map +1 -0
- package/lib/commonjs/widgets/BlazeStoriesRowView.js +27 -0
- package/lib/commonjs/widgets/BlazeStoriesRowView.js.map +1 -0
- package/lib/module/NativeBlazeSdk.js +69 -38
- package/lib/module/NativeBlazeSdk.js.map +1 -1
- package/lib/module/classes/RegisterGlobalEvents.js +13 -0
- package/lib/module/classes/RegisterGlobalEvents.js.map +1 -0
- package/lib/module/classes/entry-point-delegate.js +139 -0
- package/lib/module/classes/entry-point-delegate.js.map +1 -0
- package/lib/module/classes/global-delegate.js +45 -0
- package/lib/module/classes/global-delegate.js.map +1 -0
- package/lib/module/index.js +4 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/interfaces/actions-options.interface.js +1 -1
- package/lib/module/interfaces/blaze-analytics.interface.js +4 -1
- package/lib/module/interfaces/blaze-analytics.interface.js.map +1 -1
- package/lib/module/interfaces/init-options.interface.js.map +1 -1
- package/lib/module/widgets/BlazeBaseWidgetComponent.js +67 -0
- package/lib/module/widgets/BlazeBaseWidgetComponent.js.map +1 -0
- package/lib/module/widgets/BlazeBaseWidgetViewProps.js +2 -0
- package/lib/module/widgets/BlazeBaseWidgetViewProps.js.map +1 -0
- package/lib/module/widgets/BlazeMomentsGridView.js +19 -0
- package/lib/module/widgets/BlazeMomentsGridView.js.map +1 -0
- package/lib/module/widgets/BlazeMomentsRowView.js +19 -0
- package/lib/module/widgets/BlazeMomentsRowView.js.map +1 -0
- package/lib/module/widgets/BlazeStoriesGridView.js +19 -0
- package/lib/module/widgets/BlazeStoriesGridView.js.map +1 -0
- package/lib/module/widgets/BlazeStoriesRowView.js +19 -0
- package/lib/module/widgets/BlazeStoriesRowView.js.map +1 -0
- package/lib/typescript/NativeBlazeSdk.d.ts +11 -15
- package/lib/typescript/NativeBlazeSdk.d.ts.map +1 -1
- package/lib/typescript/classes/RegisterGlobalEvents.d.ts +5 -0
- package/lib/typescript/classes/RegisterGlobalEvents.d.ts.map +1 -0
- package/lib/typescript/classes/entry-point-delegate.d.ts +49 -0
- package/lib/typescript/classes/entry-point-delegate.d.ts.map +1 -0
- package/lib/typescript/classes/global-delegate.d.ts +17 -0
- package/lib/typescript/classes/global-delegate.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +7 -6
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/interfaces/actions-options.interface.d.ts +19 -0
- package/lib/typescript/interfaces/actions-options.interface.d.ts.map +1 -1
- package/lib/typescript/interfaces/blaze-analytics.interface.d.ts +5 -1
- package/lib/typescript/interfaces/blaze-analytics.interface.d.ts.map +1 -1
- package/lib/typescript/interfaces/common.interface.d.ts +9 -13
- package/lib/typescript/interfaces/common.interface.d.ts.map +1 -1
- package/lib/typescript/interfaces/init-options.interface.d.ts +9 -0
- package/lib/typescript/interfaces/init-options.interface.d.ts.map +1 -1
- package/lib/typescript/interfaces/widget-layout.interface.d.ts +6 -15
- package/lib/typescript/interfaces/widget-layout.interface.d.ts.map +1 -1
- package/lib/typescript/interfaces/widget-moment-theme.interface.d.ts +46 -19
- package/lib/typescript/interfaces/widget-moment-theme.interface.d.ts.map +1 -1
- package/lib/typescript/interfaces/widget-story-theme.interface.d.ts +17 -20
- package/lib/typescript/interfaces/widget-story-theme.interface.d.ts.map +1 -1
- package/lib/typescript/interfaces/widgets-props.interface.d.ts +27 -9
- package/lib/typescript/interfaces/widgets-props.interface.d.ts.map +1 -1
- package/lib/typescript/widgets/BlazeBaseWidgetComponent.d.ts +18 -0
- package/lib/typescript/widgets/BlazeBaseWidgetComponent.d.ts.map +1 -0
- package/lib/typescript/widgets/BlazeBaseWidgetViewProps.d.ts +34 -0
- package/lib/typescript/widgets/BlazeBaseWidgetViewProps.d.ts.map +1 -0
- package/lib/typescript/widgets/BlazeMomentsGridView.d.ts +11 -0
- package/lib/typescript/widgets/BlazeMomentsGridView.d.ts.map +1 -0
- package/lib/typescript/widgets/BlazeMomentsRowView.d.ts +11 -0
- package/lib/typescript/widgets/BlazeMomentsRowView.d.ts.map +1 -0
- package/lib/typescript/widgets/BlazeStoriesGridView.d.ts +11 -0
- package/lib/typescript/widgets/BlazeStoriesGridView.d.ts.map +1 -0
- package/lib/typescript/widgets/BlazeStoriesRowView.d.ts +11 -0
- package/lib/typescript/widgets/BlazeStoriesRowView.d.ts.map +1 -0
- package/package.json +11 -9
- package/src/NativeBlazeSdk.tsx +112 -96
- package/src/classes/RegisterGlobalEvents.tsx +24 -0
- package/src/classes/entry-point-delegate.tsx +226 -0
- package/src/classes/global-delegate.tsx +77 -0
- package/src/index.tsx +15 -11
- package/src/interfaces/actions-options.interface.tsx +24 -0
- package/src/interfaces/blaze-analytics.interface.tsx +7 -1
- package/src/interfaces/common.interface.tsx +14 -16
- package/src/interfaces/init-options.interface.tsx +10 -0
- package/src/interfaces/widget-layout.interface.tsx +6 -19
- package/src/interfaces/widget-moment-theme.interface.tsx +50 -19
- package/src/interfaces/widget-story-theme.interface.tsx +16 -22
- package/src/interfaces/widgets-props.interface.tsx +41 -11
- package/src/widgets/BlazeBaseWidgetComponent.tsx +111 -0
- package/src/widgets/BlazeBaseWidgetViewProps.tsx +60 -0
- package/src/widgets/BlazeMomentsGridView.tsx +56 -0
- package/src/widgets/BlazeMomentsRowView.tsx +56 -0
- package/src/widgets/BlazeStoriesGridView.tsx +56 -0
- package/src/widgets/BlazeStoriesRowView.tsx +56 -0
- package/android/src/main/java/com/blaze/rtnblazesdk/BlazeSdkModuleImp.kt +0 -205
- package/android/src/main/java/com/blaze/rtnblazesdk/NativeBlazeSdkSpec.java +0 -65
- package/lib/commonjs/BlazeMomentsGridViewNativeComponent.js +0 -59
- package/lib/commonjs/BlazeMomentsGridViewNativeComponent.js.map +0 -1
- package/lib/commonjs/BlazeMomentsRowViewNativeComponent.js +0 -59
- package/lib/commonjs/BlazeMomentsRowViewNativeComponent.js.map +0 -1
- package/lib/commonjs/BlazeStoriesGridViewNativeComponent.js +0 -59
- package/lib/commonjs/BlazeStoriesGridViewNativeComponent.js.map +0 -1
- package/lib/commonjs/BlazeStoriesRowViewNativeComponent.js +0 -59
- package/lib/commonjs/BlazeStoriesRowViewNativeComponent.js.map +0 -1
- package/lib/commonjs/constants/widgets-constants.js +0 -11
- package/lib/commonjs/constants/widgets-constants.js.map +0 -1
- package/lib/commonjs/utils/viewComponents.util.js +0 -20
- package/lib/commonjs/utils/viewComponents.util.js.map +0 -1
- package/lib/module/BlazeMomentsGridViewNativeComponent.js +0 -50
- package/lib/module/BlazeMomentsGridViewNativeComponent.js.map +0 -1
- package/lib/module/BlazeMomentsRowViewNativeComponent.js +0 -50
- package/lib/module/BlazeMomentsRowViewNativeComponent.js.map +0 -1
- package/lib/module/BlazeStoriesGridViewNativeComponent.js +0 -50
- package/lib/module/BlazeStoriesGridViewNativeComponent.js.map +0 -1
- package/lib/module/BlazeStoriesRowViewNativeComponent.js +0 -50
- package/lib/module/BlazeStoriesRowViewNativeComponent.js.map +0 -1
- package/lib/module/constants/widgets-constants.js +0 -5
- package/lib/module/constants/widgets-constants.js.map +0 -1
- package/lib/module/utils/viewComponents.util.js +0 -12
- package/lib/module/utils/viewComponents.util.js.map +0 -1
- package/lib/typescript/BlazeMomentsGridViewNativeComponent.d.ts +0 -29
- package/lib/typescript/BlazeMomentsGridViewNativeComponent.d.ts.map +0 -1
- package/lib/typescript/BlazeMomentsRowViewNativeComponent.d.ts +0 -28
- package/lib/typescript/BlazeMomentsRowViewNativeComponent.d.ts.map +0 -1
- package/lib/typescript/BlazeStoriesGridViewNativeComponent.d.ts +0 -29
- package/lib/typescript/BlazeStoriesGridViewNativeComponent.d.ts.map +0 -1
- package/lib/typescript/BlazeStoriesRowViewNativeComponent.d.ts +0 -28
- package/lib/typescript/BlazeStoriesRowViewNativeComponent.d.ts.map +0 -1
- package/lib/typescript/constants/widgets-constants.d.ts +0 -5
- package/lib/typescript/constants/widgets-constants.d.ts.map +0 -1
- package/lib/typescript/utils/viewComponents.util.d.ts +0 -4
- package/lib/typescript/utils/viewComponents.util.d.ts.map +0 -1
- package/src/BlazeMomentsGridViewNativeComponent.tsx +0 -123
- package/src/BlazeMomentsRowViewNativeComponent.tsx +0 -122
- package/src/BlazeStoriesGridViewNativeComponent.tsx +0 -123
- package/src/BlazeStoriesRowViewNativeComponent.tsx +0 -122
- package/src/constants/widgets-constants.tsx +0 -4
- package/src/utils/viewComponents.util.tsx +0 -31
package/android/build.gradle
CHANGED
|
@@ -48,14 +48,18 @@ android {
|
|
|
48
48
|
disable 'GradleCompatible'
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION
|
|
52
|
+
if (agpVersion.tokenize('.')[0].toInteger() < 8) {
|
|
53
|
+
compileOptions {
|
|
54
|
+
sourceCompatibility JavaVersion.VERSION_11
|
|
55
|
+
targetCompatibility JavaVersion.VERSION_11
|
|
56
|
+
}
|
|
55
57
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
+
kotlinOptions {
|
|
59
|
+
jvmTarget = JavaVersion.VERSION_11.majorVersion
|
|
60
|
+
}
|
|
58
61
|
}
|
|
62
|
+
|
|
59
63
|
buildFeatures {
|
|
60
64
|
buildConfig = true
|
|
61
65
|
}
|
|
@@ -64,20 +68,6 @@ android {
|
|
|
64
68
|
repositories {
|
|
65
69
|
google()
|
|
66
70
|
mavenCentral()
|
|
67
|
-
maven {
|
|
68
|
-
name = "GitHubPackages"
|
|
69
|
-
url = uri("https://maven.pkg.github.com/WSCSports/blaze-android-release")
|
|
70
|
-
credentials {
|
|
71
|
-
/** you can add to gradle.properties the following keys
|
|
72
|
-
** gprUsr=GITHUB_USER_ID & gprKey=PERSONAL_ACCESS_TOKEN
|
|
73
|
-
* GITHUB_USER_ID is your github user
|
|
74
|
-
* PERSONAL_ACCESS_TOKEN is your github personal token
|
|
75
|
-
**/
|
|
76
|
-
|
|
77
|
-
username = "$gprUsr" ?: System.getenv("GPR_USER")
|
|
78
|
-
password = "$gprKey" ?: System.getenv("GPR_API_KEY")
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
71
|
}
|
|
82
72
|
|
|
83
73
|
dependencies {
|
|
@@ -86,6 +76,6 @@ dependencies {
|
|
|
86
76
|
// noinspection GradleDynamicVersion
|
|
87
77
|
api 'com.facebook.react:react-native:+'
|
|
88
78
|
|
|
89
|
-
def blazeSDK = '0.
|
|
79
|
+
def blazeSDK = '0.90.0'
|
|
90
80
|
implementation group: "com.blaze", name: "blazesdk", version: "${blazeSDK}"
|
|
91
81
|
}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
package com.blaze.rtnblazesdk
|
|
2
2
|
|
|
3
3
|
import com.blaze.rtnblazesdk.base.BaseViewManager
|
|
4
|
-
import com.blaze.rtnblazesdk.events.WidgetDataLoadCompletedEvent
|
|
5
|
-
import com.blaze.rtnblazesdk.events.WidgetDataLoadStartedEvent
|
|
6
4
|
import com.blaze.rtnblazesdk.moments.BlazeGridViewManagerImp
|
|
7
5
|
import com.blaze.rtnblazesdk.moments.BlazeMomentsGridView
|
|
8
6
|
import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeMomentsGridViewManagerDelegate
|
|
9
7
|
import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeMomentsGridViewManagerInterface
|
|
10
8
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
11
|
-
import com.facebook.react.bridge.ReadableArray
|
|
12
9
|
import com.facebook.react.bridge.ReadableMap
|
|
13
|
-
import com.facebook.react.common.MapBuilder
|
|
14
10
|
import com.facebook.react.module.annotations.ReactModule
|
|
15
11
|
import com.facebook.react.uimanager.ReactStylesDiffMap
|
|
16
12
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
@@ -21,8 +17,7 @@ import com.facebook.react.uimanager.annotations.ReactProp
|
|
|
21
17
|
@ReactModule(name = BlazeGridViewManagerImp.NAME)
|
|
22
18
|
class BlazeMomentsGridViewManager(
|
|
23
19
|
context: ReactApplicationContext?
|
|
24
|
-
) :
|
|
25
|
-
BaseViewManager<BlazeMomentsGridView>(context),
|
|
20
|
+
) : BaseViewManager<BlazeMomentsGridView>(context),
|
|
26
21
|
RTNBlazeMomentsGridViewManagerInterface<BlazeMomentsGridView?> {
|
|
27
22
|
private val mDelegate: ViewManagerDelegate<BlazeMomentsGridView>
|
|
28
23
|
|
|
@@ -43,23 +38,6 @@ class BlazeMomentsGridViewManager(
|
|
|
43
38
|
return view
|
|
44
39
|
}
|
|
45
40
|
|
|
46
|
-
override fun receiveCommand(
|
|
47
|
-
view: BlazeMomentsGridView,
|
|
48
|
-
commandId: Int,
|
|
49
|
-
args: ReadableArray?
|
|
50
|
-
) {
|
|
51
|
-
when (commandId) {
|
|
52
|
-
COMMAND_RELOAD_DATA_ID -> view.reloadData()
|
|
53
|
-
|
|
54
|
-
COMMAND_UPDATE_DATA_SOURCE_ID -> if (args != null && args.size() > 0) {
|
|
55
|
-
val dataSource = args.getMap(0)
|
|
56
|
-
if (dataSource != null) {
|
|
57
|
-
view.updateDataSource(dataSource)
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
41
|
override fun updateProperties(viewToUpdate: BlazeMomentsGridView, props: ReactStylesDiffMap) {
|
|
64
42
|
super.updateProperties(viewToUpdate, props)
|
|
65
43
|
|
|
@@ -72,7 +50,7 @@ class BlazeMomentsGridViewManager(
|
|
|
72
50
|
|
|
73
51
|
@ReactProp(name = "dataSource")
|
|
74
52
|
override fun setDataSource(view: BlazeMomentsGridView?, value: ReadableMap?) {
|
|
75
|
-
view?.
|
|
53
|
+
view?.setDataSourceTypeFromMap(value)
|
|
76
54
|
}
|
|
77
55
|
|
|
78
56
|
@ReactProp(name = "presetTheme")
|
|
@@ -92,12 +70,17 @@ class BlazeMomentsGridViewManager(
|
|
|
92
70
|
|
|
93
71
|
@ReactProp(name = "blazeWidgetLayout")
|
|
94
72
|
override fun setBlazeWidgetLayout(view: BlazeMomentsGridView?, value: ReadableMap?) {
|
|
95
|
-
view?.
|
|
73
|
+
view?.reactWidgetLayoutStyleMap = value
|
|
96
74
|
}
|
|
97
75
|
|
|
98
76
|
@ReactProp(name = "blazePlayerMomentTheme")
|
|
99
77
|
override fun setBlazePlayerMomentTheme(view: BlazeMomentsGridView?, value: ReadableMap?) {
|
|
100
|
-
view?.
|
|
78
|
+
view?.reactWidgetThemeMap = value
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
@ReactProp(name = "shouldOrderMomentsByReadStatus")
|
|
82
|
+
override fun setShouldOrderMomentsByReadStatus(view: BlazeMomentsGridView?, value: Boolean) {
|
|
83
|
+
view?.shouldOrderMomentsByReadStatus = value
|
|
101
84
|
}
|
|
102
85
|
|
|
103
86
|
}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
package com.blaze.rtnblazesdk
|
|
2
2
|
|
|
3
3
|
import com.blaze.rtnblazesdk.base.BaseViewManager
|
|
4
|
-
import com.blaze.rtnblazesdk.events.WidgetDataLoadCompletedEvent
|
|
5
|
-
import com.blaze.rtnblazesdk.events.WidgetDataLoadStartedEvent
|
|
6
4
|
import com.blaze.rtnblazesdk.moments.BlazeMomentsRowView
|
|
7
5
|
import com.blaze.rtnblazesdk.moments.BlazeRowViewManagerImp
|
|
8
6
|
import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeMomentsRowViewManagerDelegate
|
|
9
7
|
import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeMomentsRowViewManagerInterface
|
|
10
8
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
11
|
-
import com.facebook.react.bridge.ReadableArray
|
|
12
9
|
import com.facebook.react.bridge.ReadableMap
|
|
13
|
-
import com.facebook.react.common.MapBuilder
|
|
14
10
|
import com.facebook.react.module.annotations.ReactModule
|
|
15
11
|
import com.facebook.react.uimanager.ReactStylesDiffMap
|
|
16
12
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
@@ -39,23 +35,6 @@ class BlazeMomentsRowViewManager(context: ReactApplicationContext?) :
|
|
|
39
35
|
return BlazeRowViewManagerImp.createViewInstance(context)
|
|
40
36
|
}
|
|
41
37
|
|
|
42
|
-
override fun receiveCommand(
|
|
43
|
-
view: BlazeMomentsRowView,
|
|
44
|
-
commandId: Int,
|
|
45
|
-
args: ReadableArray?
|
|
46
|
-
) {
|
|
47
|
-
when (commandId) {
|
|
48
|
-
COMMAND_RELOAD_DATA_ID -> view.reloadData()
|
|
49
|
-
|
|
50
|
-
COMMAND_UPDATE_DATA_SOURCE_ID -> if (args != null && args.size() > 0) {
|
|
51
|
-
val dataSource = args.getMap(0)
|
|
52
|
-
if (dataSource != null) {
|
|
53
|
-
view.updateDataSource(dataSource)
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
38
|
override fun updateProperties(viewToUpdate: BlazeMomentsRowView, props: ReactStylesDiffMap) {
|
|
60
39
|
super.updateProperties(viewToUpdate, props)
|
|
61
40
|
viewToUpdate.onPropsUpdate(props)
|
|
@@ -63,7 +42,7 @@ class BlazeMomentsRowViewManager(context: ReactApplicationContext?) :
|
|
|
63
42
|
|
|
64
43
|
@ReactProp(name = "dataSource")
|
|
65
44
|
override fun setDataSource(view: BlazeMomentsRowView?, value: ReadableMap?) {
|
|
66
|
-
view?.
|
|
45
|
+
view?.setDataSourceTypeFromMap(value)
|
|
67
46
|
}
|
|
68
47
|
|
|
69
48
|
@ReactProp(name = "presetTheme")
|
|
@@ -78,12 +57,17 @@ class BlazeMomentsRowViewManager(context: ReactApplicationContext?) :
|
|
|
78
57
|
|
|
79
58
|
@ReactProp(name = "blazeWidgetLayout")
|
|
80
59
|
override fun setBlazeWidgetLayout(view: BlazeMomentsRowView?, value: ReadableMap?) {
|
|
81
|
-
view?.
|
|
60
|
+
view?.reactWidgetLayoutStyleMap = value
|
|
82
61
|
}
|
|
83
62
|
|
|
84
63
|
@ReactProp(name = "blazePlayerMomentTheme")
|
|
85
64
|
override fun setBlazePlayerMomentTheme(view: BlazeMomentsRowView?, value: ReadableMap?) {
|
|
86
|
-
view?.
|
|
65
|
+
view?.reactWidgetThemeMap = value
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@ReactProp(name = "shouldOrderMomentsByReadStatus")
|
|
69
|
+
override fun setShouldOrderMomentsByReadStatus(view: BlazeMomentsRowView?, value: Boolean) {
|
|
70
|
+
view?.shouldOrderMomentsByReadStatus = value
|
|
87
71
|
}
|
|
88
72
|
|
|
89
73
|
}
|
|
@@ -1,57 +1,316 @@
|
|
|
1
1
|
package com.blaze.rtnblazesdk
|
|
2
2
|
|
|
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
|
|
15
|
+
import com.blaze.rtnblazesdk.events.SdkModuleJsEvent
|
|
16
|
+
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.handleResult
|
|
20
|
+
import com.blaze.rtnblazesdk.utils.rejectWith
|
|
21
|
+
import com.facebook.react.bridge.NoSuchKeyException
|
|
3
22
|
import com.facebook.react.bridge.Promise
|
|
4
23
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
24
|
import com.facebook.react.bridge.ReadableMap
|
|
6
25
|
|
|
7
|
-
class BlazeSdkModule(context: ReactApplicationContext)
|
|
8
|
-
private val implementation: BlazeSdkModuleImp
|
|
26
|
+
class BlazeSdkModule(private val context: ReactApplicationContext): NativeBlazeSdkSpec(context) {
|
|
9
27
|
|
|
10
|
-
|
|
11
|
-
|
|
28
|
+
private val reactNativeSDKHelper = BlazeReactSDKHelper()
|
|
29
|
+
private var appOverridesCTAHandling: Boolean = false
|
|
30
|
+
|
|
31
|
+
private var globalStoryPlayerTheme: StoryPlayerTheme? = null
|
|
32
|
+
private var globalMomentPlayerTheme: MomentPlayerTheme? = null
|
|
33
|
+
|
|
34
|
+
private val globalDelegate = object : BlazeGlobalDelegate {
|
|
35
|
+
override fun onErrorThrown(error: BlazeResult.Error) {
|
|
36
|
+
val event = SdkModuleJsEvent.ErrorThrown(error)
|
|
37
|
+
sendJsEvent(event)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
override fun onEventTriggered(eventData: BlazeAnalyticsEvent) {
|
|
41
|
+
val event = SdkModuleJsEvent.AnalyticEventTriggered(eventData)
|
|
42
|
+
sendJsEvent(event)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
private val playerEntryPointDelegate = object : BlazePlayerEntryPointDelegate {
|
|
47
|
+
override fun onDataLoadComplete(
|
|
48
|
+
playerType: BlazePlayerType,
|
|
49
|
+
sourceId: String?,
|
|
50
|
+
itemsCount: Int,
|
|
51
|
+
result: BlazeResult<Unit>
|
|
52
|
+
) {
|
|
53
|
+
val event = SdkModuleJsEvent.DataLoadCompleted(playerType, sourceId, itemsCount, result)
|
|
54
|
+
sendJsEvent(event)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
override fun onDataLoadStarted(playerType: BlazePlayerType, sourceId: String?) {
|
|
58
|
+
val event = SdkModuleJsEvent.DataLoadStarted(playerType, sourceId)
|
|
59
|
+
sendJsEvent(event)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
override fun onPlayerDidAppear(playerType: BlazePlayerType, sourceId: String?) {
|
|
63
|
+
val event = SdkModuleJsEvent.PlayerDidAppear(playerType, sourceId)
|
|
64
|
+
sendJsEvent(event)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
override fun onPlayerDidDismiss(playerType: BlazePlayerType, sourceId: String?) {
|
|
68
|
+
val event = SdkModuleJsEvent.PlayerDidDismiss(playerType, sourceId)
|
|
69
|
+
sendJsEvent(event)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
override fun onTriggerCTA(
|
|
73
|
+
playerType: BlazePlayerType,
|
|
74
|
+
sourceId: String?,
|
|
75
|
+
actionType: String,
|
|
76
|
+
actionParam: String
|
|
77
|
+
): Boolean {
|
|
78
|
+
val event = SdkModuleJsEvent.TriggerCTA(playerType, sourceId, actionType, actionParam)
|
|
79
|
+
sendJsEvent(event)
|
|
80
|
+
return appOverridesCTAHandling
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
override fun onTriggerPlayerBodyTextLink(
|
|
84
|
+
playerType: BlazePlayerType,
|
|
85
|
+
sourceId: String?,
|
|
86
|
+
actionParam: String
|
|
87
|
+
): BlazeLinkActionHandleType {
|
|
88
|
+
val event = SdkModuleJsEvent.TriggerPlayerBodyTextLink(playerType, sourceId, actionParam)
|
|
89
|
+
sendJsEvent(event)
|
|
90
|
+
return BlazeLinkActionHandleType.DEEPLINK
|
|
91
|
+
}
|
|
12
92
|
}
|
|
13
93
|
|
|
14
|
-
|
|
15
|
-
|
|
94
|
+
init {
|
|
95
|
+
BlazeExternalModulesBinder.reactNativeSDKHelper = reactNativeSDKHelper
|
|
16
96
|
}
|
|
17
97
|
|
|
18
98
|
override fun init(options: ReadableMap, promise: Promise) {
|
|
19
|
-
|
|
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
|
+
|
|
109
|
+
try {
|
|
110
|
+
setAppOverrideCtaHandling(options)
|
|
111
|
+
BlazeSDK.init(
|
|
112
|
+
apiKey = options.getString(KEY_INIT_API_KEY)!!,
|
|
113
|
+
externalUserId = options.getString(KEY_INIT_EXTERNAL_USER_ID),
|
|
114
|
+
geoLocation = options.getString(KEY_INIT_GEO_LOCATION),
|
|
115
|
+
cachingSize = options.getInt(KEY_INIT_CACHING_SIZE),
|
|
116
|
+
globalStoryAppearanceLayout = storyPlayerTheme,
|
|
117
|
+
globalMomentsAppearanceTheme = momentPlayerTheme,
|
|
118
|
+
cachingLevel = CachingLevel.DEFAULT,
|
|
119
|
+
completionBlock = {
|
|
120
|
+
promise.resolve(BlazeResult.Success(true).toString())
|
|
121
|
+
},
|
|
122
|
+
errorBlock = { e: BlazeResult.Error ->
|
|
123
|
+
promise.handleResult(e)
|
|
124
|
+
},
|
|
125
|
+
globalDelegate = globalDelegate,
|
|
126
|
+
playerEntryPointDelegate = playerEntryPointDelegate,
|
|
127
|
+
)
|
|
128
|
+
} catch (e: Exception) {
|
|
129
|
+
promise.reject("BlazeSDK", e.toString())
|
|
130
|
+
Log.e("BlazeSdkModuleImp", "init: Exception - $e")
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
private fun setAppOverrideCtaHandling(options: ReadableMap) {
|
|
135
|
+
// getBoolean can throw exception while getString will return null if no such key
|
|
136
|
+
try {
|
|
137
|
+
appOverridesCTAHandling = options.getBoolean(KEY_INIT_APP_OVERRIDES_CTA_HANDLING)
|
|
138
|
+
} catch(e: NoSuchKeyException) {
|
|
139
|
+
Log.e("BlazeSdkModuleImp", "setAppOverrideCtaHandling: NoSuchKeyException - ${e.message}")
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
private fun sendJsEvent(event: SdkModuleJsEvent) {
|
|
144
|
+
context.emitDeviceEvent(event.eventName, event.params)
|
|
20
145
|
}
|
|
21
146
|
|
|
22
147
|
override fun playStory(options: ReadableMap, promise: Promise) {
|
|
23
|
-
|
|
148
|
+
try {
|
|
149
|
+
val storyId = options.getString(KEY_STORY_OPT_STORY_ID) ?: run {
|
|
150
|
+
promise.rejectWith("no story id")
|
|
151
|
+
return
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
val pageId = options.getString(KEY_STORY_OPT_PAGE_ID)
|
|
155
|
+
val playerTheme = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
|
|
156
|
+
.extractStoriesPlayerTheme(context, defaultTheme = globalStoryPlayerTheme)
|
|
157
|
+
BlazeSDK.playStory(
|
|
158
|
+
storyId = storyId,
|
|
159
|
+
pageId = pageId,
|
|
160
|
+
storyPlayerTheme = playerTheme
|
|
161
|
+
) { result ->
|
|
162
|
+
promise.handleResult(result)
|
|
163
|
+
}
|
|
164
|
+
} catch (e: Exception) {
|
|
165
|
+
promise.reject("BlazeSDK", e.toString())
|
|
166
|
+
}
|
|
24
167
|
}
|
|
25
168
|
|
|
26
169
|
override fun playMoment(options: ReadableMap, promise: Promise) {
|
|
27
|
-
|
|
170
|
+
|
|
171
|
+
try {
|
|
172
|
+
val momentId = options.getString(KEY_STORY_OPT_MOMENT_ID) ?: run {
|
|
173
|
+
promise.rejectWith("no moment id")
|
|
174
|
+
return
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
val playerTheme = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
|
|
178
|
+
.extractMomentsPlayerTheme(context, defaultTheme = globalMomentPlayerTheme)
|
|
179
|
+
BlazeSDK.playMoment(
|
|
180
|
+
momentId = momentId,
|
|
181
|
+
momentPlayerTheme = playerTheme) { result ->
|
|
182
|
+
promise.handleResult(result)
|
|
183
|
+
}
|
|
184
|
+
} catch (e: Exception) {
|
|
185
|
+
promise.rejectWith(e.toString())
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
override fun prepareStories(options: ReadableMap, promise: Promise) {
|
|
190
|
+
try {
|
|
191
|
+
val dataSource = options.getMap(KEY_ENTRY_POINT_DATA_SOURCE)?.extractDataSource() ?: run {
|
|
192
|
+
promise.rejectWith("Error parsing data source for prepareStories")
|
|
193
|
+
return
|
|
194
|
+
}
|
|
195
|
+
BlazeSDK.prepareStories(dataSource) { result ->
|
|
196
|
+
promise.handleResult(result)
|
|
197
|
+
}
|
|
198
|
+
} catch (e: Exception) {
|
|
199
|
+
promise.rejectWith(e.toString())
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
override fun prepareMoments(options: ReadableMap, promise: Promise) {
|
|
205
|
+
try {
|
|
206
|
+
val dataSource = options.getMap(KEY_ENTRY_POINT_DATA_SOURCE)?.extractDataSource() ?: run {
|
|
207
|
+
promise.rejectWith("Error parsing data source for prepareMoments")
|
|
208
|
+
return
|
|
209
|
+
}
|
|
210
|
+
BlazeSDK.prepareMoments(dataSource) { result ->
|
|
211
|
+
promise.handleResult(result)
|
|
212
|
+
}
|
|
213
|
+
} catch (e: Exception) {
|
|
214
|
+
promise.rejectWith(e.toString())
|
|
215
|
+
}
|
|
28
216
|
}
|
|
29
217
|
|
|
218
|
+
|
|
30
219
|
override fun dismissPlayer(promise: Promise) {
|
|
31
|
-
|
|
220
|
+
BlazeSDK.dismissPlayer()
|
|
221
|
+
promise.resolve(true)
|
|
32
222
|
}
|
|
33
223
|
|
|
34
224
|
override fun isInitialized(): Boolean {
|
|
35
|
-
return
|
|
225
|
+
return BlazeSDK.isInitialized()
|
|
36
226
|
}
|
|
37
227
|
|
|
38
228
|
override fun setExternalUserId(externalUserId: String?, promise: Promise) {
|
|
39
|
-
|
|
229
|
+
BlazeSDK.setExternalUserId(externalUserId) { result ->
|
|
230
|
+
promise.handleResult(result)
|
|
231
|
+
}
|
|
40
232
|
}
|
|
41
233
|
|
|
42
|
-
override fun
|
|
43
|
-
|
|
234
|
+
override fun setDoNotTrack(doNotTrack: Boolean, promise: Promise) {
|
|
235
|
+
BlazeSDK.setDoNotTrack(doNotTrack)
|
|
236
|
+
promise.resolve(doNotTrack)
|
|
44
237
|
}
|
|
45
238
|
|
|
46
|
-
override fun
|
|
47
|
-
|
|
239
|
+
override fun playStories(options: ReadableMap, promise: Promise) {
|
|
240
|
+
try {
|
|
241
|
+
val dataSource = options.getMap(KEY_ENTRY_POINT_DATA_SOURCE)?.extractDataSource() ?: run {
|
|
242
|
+
promise.rejectWith("Error parsing data source for playStories")
|
|
243
|
+
return
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
val playerTheme = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
|
|
247
|
+
.extractStoriesPlayerTheme(context, defaultTheme = globalStoryPlayerTheme)
|
|
248
|
+
BlazeSDK.playStories(
|
|
249
|
+
dataSource = dataSource,
|
|
250
|
+
storyPlayerTheme = playerTheme) { result ->
|
|
251
|
+
promise.handleResult(result)
|
|
252
|
+
}
|
|
253
|
+
} catch (e: Exception) {
|
|
254
|
+
promise.rejectWith(e.toString())
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
override fun playMoments(options: ReadableMap, promise: Promise) {
|
|
259
|
+
try {
|
|
260
|
+
val dataSource = options.getMap(KEY_ENTRY_POINT_DATA_SOURCE)?.extractDataSource() ?: run {
|
|
261
|
+
promise.rejectWith("Error parsing data source for playMoments")
|
|
262
|
+
return
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
val playerTheme = options.getMap(KEY_ENTRY_POINT_PLAYER_THEME)
|
|
266
|
+
.extractMomentsPlayerTheme(context, defaultTheme = globalMomentPlayerTheme)
|
|
267
|
+
BlazeSDK.playMoments(
|
|
268
|
+
dataSource = dataSource,
|
|
269
|
+
momentsPlayerTheme = playerTheme) { result ->
|
|
270
|
+
promise.handleResult(result)
|
|
271
|
+
}
|
|
272
|
+
} catch (e: Exception) {
|
|
273
|
+
promise.rejectWith(e.toString())
|
|
274
|
+
}
|
|
48
275
|
}
|
|
49
276
|
|
|
50
277
|
override fun handleUniversalLink(link: String, promise: Promise) {
|
|
51
|
-
|
|
278
|
+
try {
|
|
279
|
+
BlazeSDK.handleUniversalLink(link){ result ->
|
|
280
|
+
promise.handleResult(result)
|
|
281
|
+
}
|
|
282
|
+
} catch (e: Exception) {
|
|
283
|
+
promise.rejectWith(e.toString())
|
|
284
|
+
}
|
|
52
285
|
}
|
|
53
286
|
|
|
54
287
|
override fun updateGeoRestriction(geoLocation: String?, promise: Promise) {
|
|
55
|
-
|
|
288
|
+
val updatedGeoLocation = if (geoLocation.isNullOrEmpty()) null else geoLocation
|
|
289
|
+
try {
|
|
290
|
+
BlazeSDK.updateGeoRestriction(updatedGeoLocation){ result ->
|
|
291
|
+
promise.handleResult(result)
|
|
292
|
+
}
|
|
293
|
+
} catch (e: Exception) {
|
|
294
|
+
promise.rejectWith(e.toString())
|
|
295
|
+
}
|
|
56
296
|
}
|
|
297
|
+
|
|
298
|
+
companion object {
|
|
299
|
+
|
|
300
|
+
const val KEY_INIT_API_KEY = "apiKey"
|
|
301
|
+
const val KEY_INIT_EXTERNAL_USER_ID = "externalUserId"
|
|
302
|
+
const val KEY_INIT_GEO_LOCATION = "geoLocation"
|
|
303
|
+
const val KEY_INIT_CACHING_SIZE = "cachingSize"
|
|
304
|
+
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"
|
|
307
|
+
const val KEY_STORY_OPT_STORY_ID = "storyId"
|
|
308
|
+
const val KEY_STORY_OPT_PAGE_ID = "pageId"
|
|
309
|
+
const val KEY_STORY_OPT_MOMENT_ID = "momentId"
|
|
310
|
+
const val KEY_ENTRY_POINT_DATA_SOURCE = "dataSource"
|
|
311
|
+
const val KEY_ENTRY_POINT_PLAYER_THEME = "playerTheme"
|
|
312
|
+
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
|
|
57
316
|
}
|
|
@@ -6,7 +6,6 @@ import com.blaze.rtnblazesdk.stories.BlazeStoriesGridView
|
|
|
6
6
|
import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeStoriesGridViewManagerDelegate
|
|
7
7
|
import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeStoriesGridViewManagerInterface
|
|
8
8
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
9
|
-
import com.facebook.react.bridge.ReadableArray
|
|
10
9
|
import com.facebook.react.bridge.ReadableMap
|
|
11
10
|
import com.facebook.react.module.annotations.ReactModule
|
|
12
11
|
import com.facebook.react.uimanager.ReactStylesDiffMap
|
|
@@ -23,23 +22,6 @@ class BlazeStoriesGridViewManager(
|
|
|
23
22
|
RTNBlazeStoriesGridViewManagerInterface<BlazeStoriesGridView?> {
|
|
24
23
|
private val mDelegate: ViewManagerDelegate<BlazeStoriesGridView>
|
|
25
24
|
|
|
26
|
-
override fun receiveCommand(
|
|
27
|
-
view: BlazeStoriesGridView,
|
|
28
|
-
commandId: Int,
|
|
29
|
-
args: ReadableArray?
|
|
30
|
-
) {
|
|
31
|
-
when (commandId) {
|
|
32
|
-
COMMAND_RELOAD_DATA_ID -> view.reloadData()
|
|
33
|
-
|
|
34
|
-
COMMAND_UPDATE_DATA_SOURCE_ID -> if (args != null && args.size() > 0) {
|
|
35
|
-
val dataSource = args.getMap(0)
|
|
36
|
-
if (dataSource != null) {
|
|
37
|
-
view.updateDataSource(dataSource)
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
25
|
init {
|
|
44
26
|
mDelegate = RTNBlazeStoriesGridViewManagerDelegate(this)
|
|
45
27
|
}
|
|
@@ -69,7 +51,7 @@ class BlazeStoriesGridViewManager(
|
|
|
69
51
|
|
|
70
52
|
@ReactProp(name = "dataSource")
|
|
71
53
|
override fun setDataSource(view: BlazeStoriesGridView?, value: ReadableMap?) {
|
|
72
|
-
view?.
|
|
54
|
+
view?.setDataSourceTypeFromMap(value)
|
|
73
55
|
}
|
|
74
56
|
|
|
75
57
|
@ReactProp(name = "presetTheme")
|
|
@@ -89,12 +71,12 @@ class BlazeStoriesGridViewManager(
|
|
|
89
71
|
|
|
90
72
|
@ReactProp(name = "blazeWidgetLayout")
|
|
91
73
|
override fun setBlazeWidgetLayout(view: BlazeStoriesGridView?, value: ReadableMap?) {
|
|
92
|
-
view?.
|
|
74
|
+
view?.reactWidgetLayoutStyleMap = value
|
|
93
75
|
}
|
|
94
76
|
|
|
95
77
|
@ReactProp(name = "blazePlayerStoryTheme")
|
|
96
78
|
override fun setBlazePlayerStoryTheme(view: BlazeStoriesGridView?, value: ReadableMap?) {
|
|
97
|
-
view?.
|
|
79
|
+
view?.reactWidgetThemeMap = value
|
|
98
80
|
}
|
|
99
81
|
|
|
100
82
|
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
package com.blaze.rtnblazesdk
|
|
2
2
|
|
|
3
3
|
import com.blaze.rtnblazesdk.base.BaseViewManager
|
|
4
|
-
import com.blaze.rtnblazesdk.events.WidgetDataLoadCompletedEvent
|
|
5
|
-
import com.blaze.rtnblazesdk.events.WidgetDataLoadStartedEvent
|
|
6
4
|
import com.blaze.rtnblazesdk.stories.BlazeRowViewManagerImp
|
|
7
5
|
import com.blaze.rtnblazesdk.stories.BlazeStoriesRowView
|
|
8
6
|
import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeStoriesRowViewManagerDelegate
|
|
9
7
|
import com.blaze.rtnblazesdk.viewmanagers.RTNBlazeStoriesRowViewManagerInterface
|
|
10
8
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
11
|
-
import com.facebook.react.bridge.ReadableArray
|
|
12
9
|
import com.facebook.react.bridge.ReadableMap
|
|
13
|
-
import com.facebook.react.common.MapBuilder
|
|
14
10
|
import com.facebook.react.module.annotations.ReactModule
|
|
15
11
|
import com.facebook.react.uimanager.ReactStylesDiffMap
|
|
16
12
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
@@ -23,24 +19,6 @@ class BlazeStoriesRowViewManager(context: ReactApplicationContext?) :
|
|
|
23
19
|
RTNBlazeStoriesRowViewManagerInterface<BlazeStoriesRowView?> {
|
|
24
20
|
private val mDelegate: ViewManagerDelegate<BlazeStoriesRowView>
|
|
25
21
|
|
|
26
|
-
override fun receiveCommand(
|
|
27
|
-
view: BlazeStoriesRowView,
|
|
28
|
-
commandId: Int,
|
|
29
|
-
args: ReadableArray?
|
|
30
|
-
) {
|
|
31
|
-
when (commandId) {
|
|
32
|
-
COMMAND_RELOAD_DATA_ID -> view.reloadData()
|
|
33
|
-
|
|
34
|
-
COMMAND_UPDATE_DATA_SOURCE_ID -> if (args != null && args.size() > 0) {
|
|
35
|
-
val dataSource = args.getMap(0)
|
|
36
|
-
if (dataSource != null) {
|
|
37
|
-
view.updateDataSource(dataSource)
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
22
|
init {
|
|
45
23
|
mDelegate = RTNBlazeStoriesRowViewManagerDelegate(this)
|
|
46
24
|
}
|
|
@@ -64,7 +42,7 @@ class BlazeStoriesRowViewManager(context: ReactApplicationContext?) :
|
|
|
64
42
|
|
|
65
43
|
@ReactProp(name = "dataSource")
|
|
66
44
|
override fun setDataSource(view: BlazeStoriesRowView?, value: ReadableMap?) {
|
|
67
|
-
view?.
|
|
45
|
+
view?.setDataSourceTypeFromMap(value)
|
|
68
46
|
}
|
|
69
47
|
|
|
70
48
|
@ReactProp(name = "presetTheme")
|
|
@@ -79,11 +57,11 @@ class BlazeStoriesRowViewManager(context: ReactApplicationContext?) :
|
|
|
79
57
|
|
|
80
58
|
@ReactProp(name = "blazeWidgetLayout")
|
|
81
59
|
override fun setBlazeWidgetLayout(view: BlazeStoriesRowView?, value: ReadableMap?) {
|
|
82
|
-
view?.
|
|
60
|
+
view?.reactWidgetLayoutStyleMap = value
|
|
83
61
|
}
|
|
84
62
|
|
|
85
63
|
@ReactProp(name = "blazePlayerStoryTheme")
|
|
86
64
|
override fun setBlazePlayerStoryTheme(view: BlazeStoriesRowView?, value: ReadableMap?) {
|
|
87
|
-
view?.
|
|
65
|
+
view?.reactWidgetThemeMap = value
|
|
88
66
|
}
|
|
89
67
|
}
|