react-native-firework-sdk 2.19.0 → 2.19.2
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/gradle.properties +1 -1
- package/android/src/main/java/com/fireworksdk/bridge/components/storyblock/StoryBlockContainerView.kt +12 -3
- package/android/src/main/java/com/fireworksdk/bridge/components/videofeed/FWVideoFeed.kt +50 -0
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/FWReactNativeSDK.kt +4 -0
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/manager/FWStoryBlockManager.kt +111 -109
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/manager/FWVideoFeedManager.kt +4 -6
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/models/FireworkSDKInterface.kt +1 -0
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FireworkSDKModule.kt +6 -0
- package/ios/Modules/FireworkSDKModule/FireworkSDKModule.swift +12 -5
- package/lib/commonjs/FireworkSDK.js +17 -0
- package/lib/commonjs/FireworkSDK.js.map +1 -1
- package/lib/commonjs/components/StoryBlock.js +18 -8
- package/lib/commonjs/components/StoryBlock.js.map +1 -1
- package/lib/commonjs/components/VideoFeed.js +1 -3
- package/lib/commonjs/components/VideoFeed.js.map +1 -1
- package/lib/commonjs/modules/FireworkSDKModule.js.map +1 -1
- package/lib/module/FireworkSDK.js +17 -0
- package/lib/module/FireworkSDK.js.map +1 -1
- package/lib/module/components/StoryBlock.js +15 -5
- package/lib/module/components/StoryBlock.js.map +1 -1
- package/lib/module/components/VideoFeed.js +1 -3
- package/lib/module/components/VideoFeed.js.map +1 -1
- package/lib/module/modules/FireworkSDKModule.js.map +1 -1
- package/lib/typescript/commonjs/src/FireworkSDK.d.ts +9 -0
- package/lib/typescript/commonjs/src/FireworkSDK.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/StoryBlock.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/VideoFeed.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/FireworkSDKModule.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/FireworkSDKModule.d.ts.map +1 -1
- package/lib/typescript/module/src/FireworkSDK.d.ts +9 -0
- package/lib/typescript/module/src/FireworkSDK.d.ts.map +1 -1
- package/lib/typescript/module/src/components/StoryBlock.d.ts.map +1 -1
- package/lib/typescript/module/src/components/VideoFeed.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/FireworkSDKModule.d.ts +1 -0
- package/lib/typescript/module/src/modules/FireworkSDKModule.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/FireworkSDK.ts +17 -0
- package/src/components/StoryBlock.tsx +5 -3
- package/src/components/VideoFeed.tsx +1 -3
- package/src/modules/FireworkSDKModule.ts +1 -0
|
@@ -133,6 +133,18 @@ class StoryBlockContainerView(
|
|
|
133
133
|
|
|
134
134
|
override fun onAttachedToWindow() {
|
|
135
135
|
super.onAttachedToWindow()
|
|
136
|
+
|
|
137
|
+
// Re-register fragment lifecycle callbacks after reattach (e.g., from removeClippedSubviews)
|
|
138
|
+
if (!isCallbackRegistered && storyBlockFragment != null) {
|
|
139
|
+
(context as? FragmentActivity)?.supportFragmentManager?.let { fm ->
|
|
140
|
+
fm.registerFragmentLifecycleCallbacks(fragmentLifecycleCallbacks, false)
|
|
141
|
+
isCallbackRegistered = true
|
|
142
|
+
}
|
|
143
|
+
if (storyBlockFragment?.isAdded == true) {
|
|
144
|
+
isFragmentAttached = true
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
136
148
|
// Try to attach pending fragment when view is attached to window
|
|
137
149
|
pendingFragment?.let { fragment ->
|
|
138
150
|
val savedPendingFragment = fragment
|
|
@@ -169,9 +181,6 @@ class StoryBlockContainerView(
|
|
|
169
181
|
}
|
|
170
182
|
}
|
|
171
183
|
|
|
172
|
-
// Clear all references to prevent memory leaks
|
|
173
|
-
// pendingFragment = null
|
|
174
|
-
// storyBlockFragment = null
|
|
175
184
|
isFragmentAttached = false
|
|
176
185
|
retryCount = 0
|
|
177
186
|
totalRetryCount = 0
|
|
@@ -2,6 +2,7 @@ package com.fireworksdk.bridge.components.videofeed
|
|
|
2
2
|
|
|
3
3
|
import android.content.Context
|
|
4
4
|
import android.util.AttributeSet
|
|
5
|
+
import android.view.Choreographer
|
|
5
6
|
import android.widget.FrameLayout
|
|
6
7
|
import com.firework.error.FwErrorListener
|
|
7
8
|
import com.firework.videofeed.FeedViewStateListener
|
|
@@ -21,10 +22,13 @@ class FWVideoFeed(
|
|
|
21
22
|
|
|
22
23
|
val videoFeedView = FwVideoFeedView(context)
|
|
23
24
|
var videoFeedPropsModel: FWVideoFeedPropsModel = FWVideoFeedPropsModel()
|
|
25
|
+
var themedReactContext: Any? = null
|
|
24
26
|
private var isInit = false
|
|
25
27
|
|
|
26
28
|
private var onWindowFocusChanged = false
|
|
27
29
|
private var feedViewStateListener: FeedViewStateListener? = null
|
|
30
|
+
private var layoutFrameCallback: Choreographer.FrameCallback? = null
|
|
31
|
+
private var needsForceLayout = false
|
|
28
32
|
|
|
29
33
|
init {
|
|
30
34
|
FWLanguageUtil.getInstance(context).updateBaseContextLocale(context)
|
|
@@ -32,6 +36,52 @@ class FWVideoFeed(
|
|
|
32
36
|
addView(videoFeedView, LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT))
|
|
33
37
|
}
|
|
34
38
|
|
|
39
|
+
override fun onAttachedToWindow() {
|
|
40
|
+
super.onAttachedToWindow()
|
|
41
|
+
needsForceLayout = true
|
|
42
|
+
startLayoutUpdates()
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
override fun onDetachedFromWindow() {
|
|
46
|
+
super.onDetachedFromWindow()
|
|
47
|
+
stopLayoutUpdates()
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
private fun startLayoutUpdates() {
|
|
51
|
+
if (layoutFrameCallback != null) return
|
|
52
|
+
layoutFrameCallback = object : Choreographer.FrameCallback {
|
|
53
|
+
override fun doFrame(frameTimeNanos: Long) {
|
|
54
|
+
manuallyLayoutChildren()
|
|
55
|
+
if (viewTreeObserver.isAlive) {
|
|
56
|
+
viewTreeObserver.dispatchOnGlobalLayout()
|
|
57
|
+
}
|
|
58
|
+
layoutFrameCallback?.let {
|
|
59
|
+
Choreographer.getInstance().postFrameCallback(it)
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
Choreographer.getInstance().postFrameCallback(layoutFrameCallback!!)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
private fun stopLayoutUpdates() {
|
|
67
|
+
layoutFrameCallback?.let {
|
|
68
|
+
Choreographer.getInstance().removeFrameCallback(it)
|
|
69
|
+
}
|
|
70
|
+
layoutFrameCallback = null
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
private fun manuallyLayoutChildren() {
|
|
74
|
+
if (needsForceLayout) {
|
|
75
|
+
videoFeedView.forceLayout()
|
|
76
|
+
needsForceLayout = false
|
|
77
|
+
}
|
|
78
|
+
videoFeedView.measure(
|
|
79
|
+
MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
|
|
80
|
+
MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
|
|
81
|
+
)
|
|
82
|
+
videoFeedView.layout(0, 0, width, height)
|
|
83
|
+
}
|
|
84
|
+
|
|
35
85
|
fun setVideoFeedLayoutParams(l: LayoutParams?) {
|
|
36
86
|
l ?: return
|
|
37
87
|
videoFeedView.layoutParams = l
|
|
@@ -42,6 +42,10 @@ object FWReactNativeSDK {
|
|
|
42
42
|
})
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
fun setLanguageSwitchingBehavior(behavior: FWSwitchLanguageBehavior) {
|
|
46
|
+
FWGlobalDataUtil.switchLanguageBehavior = behavior
|
|
47
|
+
}
|
|
48
|
+
|
|
45
49
|
fun addLivestreamPlayerInitializer(initializer: LivestreamPlayerInitializer?) {
|
|
46
50
|
FWLiveStreamUtil.addLivestreamPlayerInitializer(initializer)
|
|
47
51
|
}
|
package/android/src/main/java/com/fireworksdk/bridge/reactnative/manager/FWStoryBlockManager.kt
CHANGED
|
@@ -2,7 +2,6 @@ package com.fireworksdk.bridge.reactnative.manager
|
|
|
2
2
|
|
|
3
3
|
import android.view.Choreographer
|
|
4
4
|
import android.view.View
|
|
5
|
-
import android.view.ViewGroup
|
|
6
5
|
import androidx.fragment.app.FragmentActivity
|
|
7
6
|
import com.facebook.react.bridge.ReadableArray
|
|
8
7
|
import com.facebook.react.bridge.ReadableMap
|
|
@@ -12,34 +11,99 @@ import com.facebook.react.uimanager.ViewGroupManager
|
|
|
12
11
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
13
12
|
import com.firework.error.storyblock.StoryBlockError
|
|
14
13
|
import com.firework.storyblock.FeedLoadState
|
|
14
|
+
import com.fireworksdk.bridge.components.storyblock.StoryBlockContainerView
|
|
15
15
|
import com.fireworksdk.bridge.components.storyblock.StoryBlockFragment
|
|
16
|
-
import com.fireworksdk.bridge.components.storyblock.StoryBlockFrameLayout
|
|
17
16
|
import com.fireworksdk.bridge.models.*
|
|
18
17
|
import com.fireworksdk.bridge.models.enums.FWStoryBlockEventName
|
|
19
18
|
import com.fireworksdk.bridge.models.enums.FWVideoFeedSource
|
|
20
19
|
import com.fireworksdk.bridge.reactnative.utils.FWEventUtils
|
|
21
|
-
import com.fireworksdk.bridge.utils.FWFragmentUtil
|
|
22
20
|
import com.fireworksdk.bridge.utils.FWLogUtils
|
|
23
21
|
import org.json.JSONObject
|
|
22
|
+
import java.util.WeakHashMap
|
|
24
23
|
|
|
25
24
|
|
|
26
|
-
class FWStoryBlockManager : ViewGroupManager<
|
|
25
|
+
class FWStoryBlockManager : ViewGroupManager<StoryBlockContainerView>() {
|
|
27
26
|
|
|
28
|
-
private
|
|
27
|
+
private val viewContextMap = WeakHashMap<StoryBlockContainerView, ThemedReactContext>()
|
|
28
|
+
private val viewLayoutCallbackMap = WeakHashMap<StoryBlockContainerView, Choreographer.FrameCallback>()
|
|
29
|
+
private val viewNeedsForceLayoutMap = WeakHashMap<StoryBlockContainerView, Boolean>()
|
|
29
30
|
|
|
30
31
|
override fun getName(): String {
|
|
31
32
|
return REACT_CLASS
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
override fun createViewInstance(reactContext: ThemedReactContext):
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
override fun createViewInstance(reactContext: ThemedReactContext): StoryBlockContainerView {
|
|
36
|
+
val activity = reactContext.currentActivity as? FragmentActivity
|
|
37
|
+
?: throw IllegalStateException("StoryBlock requires a FragmentActivity")
|
|
38
|
+
val containerView = StoryBlockContainerView(activity)
|
|
39
|
+
viewContextMap[containerView] = reactContext
|
|
40
|
+
containerView.addOnAttachStateChangeListener(object : View.OnAttachStateChangeListener {
|
|
41
|
+
override fun onViewAttachedToWindow(v: View) {
|
|
42
|
+
viewNeedsForceLayoutMap[containerView] = true
|
|
43
|
+
startLayoutUpdates(containerView)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
override fun onViewDetachedFromWindow(v: View) {
|
|
47
|
+
stopLayoutUpdates(containerView)
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
return containerView
|
|
37
51
|
}
|
|
38
52
|
|
|
39
|
-
override fun onAfterUpdateTransaction(view:
|
|
53
|
+
override fun onAfterUpdateTransaction(view: StoryBlockContainerView) {
|
|
40
54
|
super.onAfterUpdateTransaction(view)
|
|
41
|
-
|
|
42
|
-
|
|
55
|
+
initStoryBlock(view)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
private fun initStoryBlock(containerView: StoryBlockContainerView) {
|
|
59
|
+
if (containerView.storyBlockFragment != null) {
|
|
60
|
+
return
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
val fragment = StoryBlockFragment.newInstance(containerView.videoFeedPropsModel)
|
|
64
|
+
val reactContext = viewContextMap[containerView] ?: return
|
|
65
|
+
addStoryBlockListener(reactContext, fragment, containerView.id)
|
|
66
|
+
containerView.setFragment(fragment)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
private fun startLayoutUpdates(containerView: StoryBlockContainerView) {
|
|
70
|
+
if (viewLayoutCallbackMap.containsKey(containerView)) return
|
|
71
|
+
val callback = object : Choreographer.FrameCallback {
|
|
72
|
+
override fun doFrame(frameTimeNanos: Long) {
|
|
73
|
+
manuallyLayoutChildren(containerView)
|
|
74
|
+
if (containerView.viewTreeObserver.isAlive) {
|
|
75
|
+
containerView.viewTreeObserver.dispatchOnGlobalLayout()
|
|
76
|
+
}
|
|
77
|
+
if (viewLayoutCallbackMap.containsKey(containerView)) {
|
|
78
|
+
Choreographer.getInstance().postFrameCallback(this)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
viewLayoutCallbackMap[containerView] = callback
|
|
83
|
+
Choreographer.getInstance().postFrameCallback(callback)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
private fun stopLayoutUpdates(containerView: StoryBlockContainerView) {
|
|
87
|
+
viewLayoutCallbackMap.remove(containerView)?.let {
|
|
88
|
+
Choreographer.getInstance().removeFrameCallback(it)
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
private fun manuallyLayoutChildren(containerView: StoryBlockContainerView) {
|
|
93
|
+
val needsForce = viewNeedsForceLayoutMap.remove(containerView) == true
|
|
94
|
+
val width = containerView.width
|
|
95
|
+
val height = containerView.height
|
|
96
|
+
for (i in 0 until containerView.childCount) {
|
|
97
|
+
val child = containerView.getChildAt(i)
|
|
98
|
+
if (needsForce) {
|
|
99
|
+
child.forceLayout()
|
|
100
|
+
}
|
|
101
|
+
child.measure(
|
|
102
|
+
View.MeasureSpec.makeMeasureSpec(width, View.MeasureSpec.EXACTLY),
|
|
103
|
+
View.MeasureSpec.makeMeasureSpec(height, View.MeasureSpec.EXACTLY)
|
|
104
|
+
)
|
|
105
|
+
child.layout(0, 0, width, height)
|
|
106
|
+
}
|
|
43
107
|
}
|
|
44
108
|
|
|
45
109
|
override fun getCommandsMap(): Map<String, Int> {
|
|
@@ -54,37 +118,30 @@ class FWStoryBlockManager : ViewGroupManager<StoryBlockFrameLayout>() {
|
|
|
54
118
|
}
|
|
55
119
|
|
|
56
120
|
override fun receiveCommand(
|
|
57
|
-
root:
|
|
121
|
+
root: StoryBlockContainerView,
|
|
58
122
|
commandId: Int,
|
|
59
123
|
args: ReadableArray?
|
|
60
124
|
) {
|
|
61
125
|
super.receiveCommand(root, commandId, args)
|
|
62
|
-
FWLogUtils.d { "FWStoryBlockManager receiveCommand
|
|
63
|
-
|
|
64
|
-
COMMAND_CREATE -> {
|
|
65
|
-
val reactNativeViewId = requireNotNull(args).getInt(0)
|
|
66
|
-
createFragment(root, reactNativeViewId)
|
|
67
|
-
}
|
|
68
|
-
COMMAND_PLAY -> root.storyBlockFragment?.play()
|
|
69
|
-
COMMAND_PAUSE -> root.storyBlockFragment?.pause()
|
|
70
|
-
COMMAND_OPEN_FULL_SCREEN -> root.storyBlockFragment?.openFullscreen()
|
|
71
|
-
COMMAND_ON_VIEWPORT_ENTERED -> root.storyBlockFragment?.onViewportEntered()
|
|
72
|
-
COMMAND_ON_VIEWPORT_LEFT -> root.storyBlockFragment?.onViewportLeft()
|
|
73
|
-
else -> {}
|
|
74
|
-
}
|
|
126
|
+
FWLogUtils.d { "FWStoryBlockManager receiveCommand (Int), commandId: $commandId" }
|
|
127
|
+
handleCommand(root, commandId)
|
|
75
128
|
}
|
|
76
129
|
|
|
77
130
|
override fun receiveCommand(
|
|
78
|
-
root:
|
|
131
|
+
root: StoryBlockContainerView,
|
|
79
132
|
commandId: String?,
|
|
80
133
|
args: ReadableArray?
|
|
81
134
|
) {
|
|
82
135
|
super.receiveCommand(root, commandId, args)
|
|
83
|
-
FWLogUtils.d { "FWStoryBlockManager receiveCommand
|
|
84
|
-
|
|
136
|
+
FWLogUtils.d { "FWStoryBlockManager receiveCommand (String), commandId: $commandId" }
|
|
137
|
+
handleCommand(root, commandId?.toIntOrNull() ?: return)
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
private fun handleCommand(root: StoryBlockContainerView, commandId: Int) {
|
|
141
|
+
when (commandId) {
|
|
85
142
|
COMMAND_CREATE -> {
|
|
86
|
-
|
|
87
|
-
|
|
143
|
+
// No-op: fragment creation is now handled in onAfterUpdateTransaction.
|
|
144
|
+
// Kept for backward compatibility with older JS versions.
|
|
88
145
|
}
|
|
89
146
|
COMMAND_PLAY -> root.storyBlockFragment?.play()
|
|
90
147
|
COMMAND_PAUSE -> root.storyBlockFragment?.pause()
|
|
@@ -96,28 +153,28 @@ class FWStoryBlockManager : ViewGroupManager<StoryBlockFrameLayout>() {
|
|
|
96
153
|
}
|
|
97
154
|
|
|
98
155
|
@ReactProp(name = "source")
|
|
99
|
-
fun setSource(view:
|
|
156
|
+
fun setSource(view: StoryBlockContainerView, source: String?) {
|
|
100
157
|
view.videoFeedPropsModel = view.videoFeedPropsModel.copy(
|
|
101
158
|
source = FWVideoFeedSource.deserialize(source)
|
|
102
159
|
)
|
|
103
160
|
}
|
|
104
161
|
|
|
105
162
|
@ReactProp(name = "channel")
|
|
106
|
-
fun setChannel(view:
|
|
163
|
+
fun setChannel(view: StoryBlockContainerView, channel: String?) {
|
|
107
164
|
view.videoFeedPropsModel = view.videoFeedPropsModel.copy(
|
|
108
165
|
channel = channel
|
|
109
166
|
)
|
|
110
167
|
}
|
|
111
168
|
|
|
112
169
|
@ReactProp(name = "playlist")
|
|
113
|
-
fun setPlaylist(view:
|
|
170
|
+
fun setPlaylist(view: StoryBlockContainerView, playlist: String?) {
|
|
114
171
|
view.videoFeedPropsModel = view.videoFeedPropsModel.copy(
|
|
115
172
|
playlist = playlist
|
|
116
173
|
)
|
|
117
174
|
}
|
|
118
175
|
|
|
119
176
|
@ReactProp(name = "hashtagFilterExpression")
|
|
120
|
-
fun setHashtagFilterExpression(view:
|
|
177
|
+
fun setHashtagFilterExpression(view: StoryBlockContainerView, hashtagFilterExpression: String?) {
|
|
121
178
|
view.videoFeedPropsModel = view.videoFeedPropsModel.copy(
|
|
122
179
|
hashtagFilterExpression = hashtagFilterExpression
|
|
123
180
|
)
|
|
@@ -125,21 +182,21 @@ class FWStoryBlockManager : ViewGroupManager<StoryBlockFrameLayout>() {
|
|
|
125
182
|
|
|
126
183
|
@Suppress("UNCHECKED_CAST")
|
|
127
184
|
@ReactProp(name = "productIds")
|
|
128
|
-
fun setProductIds(view:
|
|
185
|
+
fun setProductIds(view: StoryBlockContainerView, productIdArray: ReadableArray?) {
|
|
129
186
|
view.videoFeedPropsModel = view.videoFeedPropsModel.copy(
|
|
130
187
|
productIds = productIdArray?.toArrayList() as ArrayList<String>?
|
|
131
188
|
)
|
|
132
189
|
}
|
|
133
190
|
|
|
134
191
|
@ReactProp(name = "contentId")
|
|
135
|
-
fun setContentId(view:
|
|
192
|
+
fun setContentId(view: StoryBlockContainerView, contentId: String?) {
|
|
136
193
|
view.videoFeedPropsModel = view.videoFeedPropsModel.copy(
|
|
137
194
|
contentId = contentId
|
|
138
195
|
)
|
|
139
196
|
}
|
|
140
197
|
|
|
141
198
|
@ReactProp(name = "shareUrl")
|
|
142
|
-
fun setShareUrl(view:
|
|
199
|
+
fun setShareUrl(view: StoryBlockContainerView, shareUrl: String?) {
|
|
143
200
|
view.videoFeedPropsModel = view.videoFeedPropsModel.copy(
|
|
144
201
|
shareUrl = shareUrl
|
|
145
202
|
)
|
|
@@ -147,7 +204,7 @@ class FWStoryBlockManager : ViewGroupManager<StoryBlockFrameLayout>() {
|
|
|
147
204
|
|
|
148
205
|
@Suppress("UNCHECKED_CAST")
|
|
149
206
|
@ReactProp(name = "dynamicContentParameters")
|
|
150
|
-
fun setDynamicContentParameters(view:
|
|
207
|
+
fun setDynamicContentParameters(view: StoryBlockContainerView, parameters: ReadableMap?) {
|
|
151
208
|
val parametersMap = parameters?.toHashMap() as? HashMap<String, List<String>>
|
|
152
209
|
view.videoFeedPropsModel = view.videoFeedPropsModel.copy(
|
|
153
210
|
dynamicContentParameters = parametersMap
|
|
@@ -155,7 +212,7 @@ class FWStoryBlockManager : ViewGroupManager<StoryBlockFrameLayout>() {
|
|
|
155
212
|
}
|
|
156
213
|
|
|
157
214
|
@ReactProp(name = "videoFeedConfiguration")
|
|
158
|
-
fun setVideoFeedConfig(view:
|
|
215
|
+
fun setVideoFeedConfig(view: StoryBlockContainerView, config: ReadableMap?) {
|
|
159
216
|
val configMap = config?.toHashMap() ?: hashMapOf()
|
|
160
217
|
val jsonObject = JSONObject(configMap)
|
|
161
218
|
val videoFeedConfigModel = FWVideoFeedConfigModelDeserializer.deserialize(jsonObject)
|
|
@@ -165,7 +222,7 @@ class FWStoryBlockManager : ViewGroupManager<StoryBlockFrameLayout>() {
|
|
|
165
222
|
}
|
|
166
223
|
|
|
167
224
|
@ReactProp(name = "storyBlockConfiguration")
|
|
168
|
-
fun setStoryBlockConfig(view:
|
|
225
|
+
fun setStoryBlockConfig(view: StoryBlockContainerView, config: ReadableMap?) {
|
|
169
226
|
val configMap = config?.toHashMap() ?: hashMapOf()
|
|
170
227
|
val jsonObject = JSONObject(configMap)
|
|
171
228
|
val videoPlayerConfigModel = FWVideoPlayerConfigModelDeserializer.deserialize(jsonObject)
|
|
@@ -175,7 +232,7 @@ class FWStoryBlockManager : ViewGroupManager<StoryBlockFrameLayout>() {
|
|
|
175
232
|
}
|
|
176
233
|
|
|
177
234
|
@ReactProp(name = "adConfiguration")
|
|
178
|
-
fun setAdConfiguration(view:
|
|
235
|
+
fun setAdConfiguration(view: StoryBlockContainerView, config: ReadableMap?) {
|
|
179
236
|
val configMap = config?.toHashMap() ?: hashMapOf()
|
|
180
237
|
val jsonObject = JSONObject(configMap)
|
|
181
238
|
val adConfigurationModel = FWAdConfigurationDeserializer.deserialize(jsonObject)
|
|
@@ -185,42 +242,27 @@ class FWStoryBlockManager : ViewGroupManager<StoryBlockFrameLayout>() {
|
|
|
185
242
|
}
|
|
186
243
|
|
|
187
244
|
@ReactProp(name = "cornerRadius")
|
|
188
|
-
fun setCornerRadius(view:
|
|
245
|
+
fun setCornerRadius(view: StoryBlockContainerView, cornerRadius: Int?) {
|
|
189
246
|
view.videoFeedPropsModel = view.videoFeedPropsModel.copy(
|
|
190
247
|
cornerRadius = cornerRadius
|
|
191
248
|
)
|
|
192
249
|
}
|
|
193
250
|
|
|
194
|
-
private fun
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
Choreographer.getInstance().postFrameCallback(this)
|
|
200
|
-
}
|
|
201
|
-
})
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
private fun manuallyLayoutChildren(view: View) {
|
|
205
|
-
view.measure(
|
|
206
|
-
View.MeasureSpec.makeMeasureSpec(view.measuredWidth, View.MeasureSpec.EXACTLY),
|
|
207
|
-
View.MeasureSpec.makeMeasureSpec(view.measuredHeight, View.MeasureSpec.EXACTLY)
|
|
208
|
-
)
|
|
209
|
-
view.layout(view.left, view.top, view.right, view.bottom)
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
private fun addStoryBlockListener(fragment: StoryBlockFragment, reactNativeViewId: Int) {
|
|
251
|
+
private fun addStoryBlockListener(
|
|
252
|
+
reactContext: ThemedReactContext,
|
|
253
|
+
fragment: StoryBlockFragment,
|
|
254
|
+
reactNativeViewId: Int
|
|
255
|
+
) {
|
|
213
256
|
fragment.setCreateViewCallback(object : StoryBlockFragment.OnCreateViewCallback {
|
|
214
257
|
override fun onCreateView() {
|
|
215
|
-
|
|
216
258
|
FWEventUtils.receiveStoryBlockGetFeedIdEvent(
|
|
217
259
|
reactContext,
|
|
218
260
|
reactNativeViewId,
|
|
219
261
|
fragment.getFeedId()
|
|
220
262
|
)
|
|
221
263
|
}
|
|
222
|
-
|
|
223
264
|
})
|
|
265
|
+
|
|
224
266
|
fragment.setFeedLoadListener { feedLoadState ->
|
|
225
267
|
when (feedLoadState) {
|
|
226
268
|
FeedLoadState.Loading -> {
|
|
@@ -262,52 +304,12 @@ class FWStoryBlockManager : ViewGroupManager<StoryBlockFrameLayout>() {
|
|
|
262
304
|
}
|
|
263
305
|
}
|
|
264
306
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
val parentView = root.findViewById(reactNativeViewId) as ViewGroup
|
|
273
|
-
// parentView.setBackgroundColor(Color.YELLOW)
|
|
274
|
-
setupLayout(parentView)
|
|
275
|
-
|
|
276
|
-
val fragment = StoryBlockFragment.newInstance(root.videoFeedPropsModel)
|
|
277
|
-
root.storyBlockFragment = fragment
|
|
278
|
-
addStoryBlockListener(fragment, reactNativeViewId)
|
|
279
|
-
|
|
280
|
-
if (parentView.isAttachedToWindow) {
|
|
281
|
-
if (!fragment.isAdded) {
|
|
282
|
-
activity.supportFragmentManager
|
|
283
|
-
.beginTransaction()
|
|
284
|
-
.replace(reactNativeViewId, fragment, reactNativeViewId.toString())
|
|
285
|
-
.commit()
|
|
286
|
-
}
|
|
287
|
-
} else {
|
|
288
|
-
parentView.addOnAttachStateChangeListener(object : View.OnAttachStateChangeListener {
|
|
289
|
-
override fun onViewAttachedToWindow(v: View) {
|
|
290
|
-
FWLogUtils.d { "FWStoryBlockManager createFragment doOnAttach" }
|
|
291
|
-
if (!fragment.isAdded) {
|
|
292
|
-
activity.supportFragmentManager
|
|
293
|
-
.beginTransaction()
|
|
294
|
-
.replace(reactNativeViewId, fragment, reactNativeViewId.toString())
|
|
295
|
-
.commit()
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
override fun onViewDetachedFromWindow(v: View) {
|
|
300
|
-
}
|
|
301
|
-
})
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
override fun onDropViewInstance(storyBlockFrameLayout: StoryBlockFrameLayout) {
|
|
306
|
-
val activity = reactContext.currentActivity as FragmentActivity?
|
|
307
|
-
FWFragmentUtil.removeFragment(activity, storyBlockFrameLayout.storyBlockFragment)
|
|
308
|
-
storyBlockFrameLayout.destroy()
|
|
309
|
-
|
|
310
|
-
super.onDropViewInstance(storyBlockFrameLayout)
|
|
307
|
+
override fun onDropViewInstance(containerView: StoryBlockContainerView) {
|
|
308
|
+
stopLayoutUpdates(containerView)
|
|
309
|
+
viewContextMap.remove(containerView)
|
|
310
|
+
viewNeedsForceLayoutMap.remove(containerView)
|
|
311
|
+
containerView.destroy()
|
|
312
|
+
super.onDropViewInstance(containerView)
|
|
311
313
|
}
|
|
312
314
|
|
|
313
315
|
override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any>? {
|
package/android/src/main/java/com/fireworksdk/bridge/reactnative/manager/FWVideoFeedManager.kt
CHANGED
|
@@ -29,16 +29,13 @@ import org.json.JSONObject
|
|
|
29
29
|
|
|
30
30
|
class FWVideoFeedManager : SimpleViewManager<FWVideoFeed>() {
|
|
31
31
|
|
|
32
|
-
private lateinit var reactContext: ThemedReactContext
|
|
33
|
-
private lateinit var videoFeed: FWVideoFeed
|
|
34
|
-
|
|
35
32
|
override fun getName(): String {
|
|
36
33
|
return "FWVideoFeed"
|
|
37
34
|
}
|
|
38
35
|
|
|
39
36
|
override fun createViewInstance(reactContext: ThemedReactContext): FWVideoFeed {
|
|
40
|
-
|
|
41
|
-
videoFeed =
|
|
37
|
+
val videoFeed = FWVideoFeed(reactContext.currentActivity as Activity)
|
|
38
|
+
videoFeed.themedReactContext = reactContext
|
|
42
39
|
addVideoFeedListener(reactContext, videoFeed)
|
|
43
40
|
return videoFeed
|
|
44
41
|
}
|
|
@@ -52,9 +49,10 @@ class FWVideoFeedManager : SimpleViewManager<FWVideoFeed>() {
|
|
|
52
49
|
super.onAfterUpdateTransaction(view)
|
|
53
50
|
view.initVideoFeedView()
|
|
54
51
|
|
|
52
|
+
val reactContext = view.themedReactContext as? ThemedReactContext ?: return
|
|
55
53
|
FWEventUtils.receiveVideoFeedGetFeedIdEvent(
|
|
56
54
|
reactContext,
|
|
57
|
-
|
|
55
|
+
view.id,
|
|
58
56
|
view.getFeedId()
|
|
59
57
|
)
|
|
60
58
|
}
|
package/android/src/main/java/com/fireworksdk/bridge/reactnative/models/FireworkSDKInterface.kt
CHANGED
|
@@ -18,4 +18,5 @@ interface FireworkSDKInterface {
|
|
|
18
18
|
fun setDataTrackingLevel(level: String?, promise: Promise)
|
|
19
19
|
fun setLivestreamPlayerDesignVersion(version: String?, promise: Promise)
|
|
20
20
|
fun setShortVideoPlayerDesignVersion(version: String?, promise: Promise)
|
|
21
|
+
fun setPreventPipOnLeave(prevent: Boolean?, promise: Promise)
|
|
21
22
|
}
|
package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FireworkSDKModule.kt
CHANGED
|
@@ -360,6 +360,12 @@ class FireworkSDKModule(
|
|
|
360
360
|
promise.resolve(true)
|
|
361
361
|
}
|
|
362
362
|
|
|
363
|
+
@ReactMethod
|
|
364
|
+
override fun setPreventPipOnLeave(prevent: Boolean?, promise: Promise) {
|
|
365
|
+
FireworkSdk.setPreventPipOnLeave(prevent ?: false)
|
|
366
|
+
promise.resolve(true)
|
|
367
|
+
}
|
|
368
|
+
|
|
363
369
|
@ReactMethod
|
|
364
370
|
fun addListener(eventName: String?, promise: Promise) {
|
|
365
371
|
// Set up any upstream listeners or background tasks as necessary
|
|
@@ -66,10 +66,9 @@ class FireworkSDKModule: RCTEventEmitter, FireworkVideoSDKDelegate {
|
|
|
66
66
|
static func initializeSDK(_ options: SDKInitOptions?) {
|
|
67
67
|
if let shared = shared {
|
|
68
68
|
shared.initializeSDK(options, true)
|
|
69
|
-
} else {
|
|
70
|
-
hasCachedSDKInitOptions = true
|
|
71
|
-
cachedSDKInitOptions = options
|
|
72
69
|
}
|
|
70
|
+
hasCachedSDKInitOptions = true
|
|
71
|
+
cachedSDKInitOptions = options
|
|
73
72
|
}
|
|
74
73
|
|
|
75
74
|
@objc(markInitCalled:rejecter:)
|
|
@@ -88,8 +87,16 @@ class FireworkSDKModule: RCTEventEmitter, FireworkVideoSDKDelegate {
|
|
|
88
87
|
|
|
89
88
|
func initializeSDK(_ options: SDKInitOptions?, _ fromNative: Bool) {
|
|
90
89
|
if hasCalledSDKInit {
|
|
91
|
-
if let argumentsForInitEvent = argumentsForInitEvent {
|
|
92
|
-
|
|
90
|
+
if hasListeners, let argumentsForInitEvent = argumentsForInitEvent {
|
|
91
|
+
sendEvent(withName: FWEventName.sdkInit.rawValue, body: argumentsForInitEvent)
|
|
92
|
+
}
|
|
93
|
+
} else if FireworkVideoSDK.isInitialized {
|
|
94
|
+
argumentsForInitEvent = [:]
|
|
95
|
+
gVideoLaunchBehavior = options?.videoLaunchBehavior
|
|
96
|
+
FireworkVideoSDK.ctaDelegate = self
|
|
97
|
+
FireworkVideoSDK.eventTracking.videoPlaybackDelegate = self
|
|
98
|
+
FireworkVideoSDK.eventTracking.feedDelegate = self
|
|
99
|
+
if hasListeners {
|
|
93
100
|
sendEvent(withName: FWEventName.sdkInit.rawValue, body: argumentsForInitEvent)
|
|
94
101
|
}
|
|
95
102
|
} else {
|
|
@@ -154,6 +154,23 @@ class FireworkSDK {
|
|
|
154
154
|
});
|
|
155
155
|
}
|
|
156
156
|
_shortVideoPlayerDesignVersion = _ShortVideoPlayerDesignVersion.default.v1;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* When enabled, prevents auto-entering PiP when the user leaves the fullscreen player
|
|
160
|
+
* (e.g. presses Home or switches to another app). The player activity stays in the
|
|
161
|
+
* background stack instead of entering PiP mode.
|
|
162
|
+
* Defaults to false. Only supported on Android.
|
|
163
|
+
*/
|
|
164
|
+
set preventPipOnLeave(prevent) {
|
|
165
|
+
this._preventPipOnLeave = prevent;
|
|
166
|
+
if (_reactNative.Platform.OS === 'android') {
|
|
167
|
+
_FireworkSDKModule.default.setPreventPipOnLeave(prevent);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
get preventPipOnLeave() {
|
|
171
|
+
return this._preventPipOnLeave;
|
|
172
|
+
}
|
|
173
|
+
_preventPipOnLeave = false;
|
|
157
174
|
get eventEmitter() {
|
|
158
175
|
return _FireworkSDKModule.FireworkSDKModuleEventEmitter;
|
|
159
176
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_FWNavigator","_interopRequireDefault","_LiveStream","_FWEventName","_LivestreamPlayerDesignVersion","_ShortVideoPlayerDesignVersion","_FireworkSDKModule","_interopRequireWildcard","_LiveStreamModule","_ShoppingModule","_FWGlobalState","_FWLoggerUtil","_VideoShopping","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FireworkSDK","onVideoFeedClick","_onVideoFeedClick","value","Platform","OS","FireworkSDKModule","setVideoFeedClickCallbackEnabled","onCustomCTAClick","_onCustomCTAClick","FWLoggerUtil","log","setCustomCTAClickEnabled","onVideoPlayback","_onVideoPlayback","setVideoPlaybackEventEnabled","shareBaseURL","_shareBaseURL","updateInternalShareBaseURL","adBadgeConfiguration","_adBadgeConfiguration","valueHasChanged","badgeTextType","backgroundColor","textColor","androidFontInfo","isCustom","typefaceName","setAdBadgeConfiguration","then","eventEmitter","emit","FWEventName","AdBadgeConfigurationUpdated","appLanguage","_appLanguage","dataTrackingLevel","_dataTrackingLevel","setDataTrackingLevel","DataTrackingLevelUpdated","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","livestreamPlayerDesignVersion","_livestreamPlayerDesignVersion","setLivestreamPlayerDesignVersion","LivestreamPlayerDesignVersionUpdated","LivestreamPlayerDesignVersion","v1","shortVideoPlayerDesignVersion","_shortVideoPlayerDesignVersion","setShortVideoPlayerDesignVersion","ShortVideoPlayerDesignVersionUpdated","ShortVideoPlayerDesignVersion","FireworkSDKModuleEventEmitter","shopping","_shopping","VideoShopping","getInstance","liveStream","_liveStream","LiveStream","navigator","_navigator","FWNavigator","hasCalledSDKInitCallback","_instance","constructor","addListener","SDKInit","event","error","FWGlobalState","sdkInitSucceeded","completeRemainingInitialization","onSDKInit","name","reason","LogMessage","logNativeMessage","message","CustomCTAClick","url","callbackId","playerHandler","pause","pausePlayer","resume","resumePlayer","VideoPlayback","eventName","VideoFeedClick","info","id","NativeAppLanguageUpdated","language","updateInternalAppLanguage","markInitCalled","options","directlyCallNativeInit","initSucceeded","openVideoPlayer","config","sdkInitSucceededPromise","trackPurchase","parameters","changeAppLanguage","result","languageChanged","stopFloatingPlayer","getComponentType","feedId","componentTypeByFeedIdMap","AppLanguageUpdated","shareBaseURLChanged","setShareBaseURL","ShareBaseURLUpdated","resolveSdkInitSucceeded","ShoppingModule","init","LiveStreamModule","_default","exports"],"sourceRoot":"../../src","sources":["FireworkSDK.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_FWNavigator","_interopRequireDefault","_LiveStream","_FWEventName","_LivestreamPlayerDesignVersion","_ShortVideoPlayerDesignVersion","_FireworkSDKModule","_interopRequireWildcard","_LiveStreamModule","_ShoppingModule","_FWGlobalState","_FWLoggerUtil","_VideoShopping","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FireworkSDK","onVideoFeedClick","_onVideoFeedClick","value","Platform","OS","FireworkSDKModule","setVideoFeedClickCallbackEnabled","onCustomCTAClick","_onCustomCTAClick","FWLoggerUtil","log","setCustomCTAClickEnabled","onVideoPlayback","_onVideoPlayback","setVideoPlaybackEventEnabled","shareBaseURL","_shareBaseURL","updateInternalShareBaseURL","adBadgeConfiguration","_adBadgeConfiguration","valueHasChanged","badgeTextType","backgroundColor","textColor","androidFontInfo","isCustom","typefaceName","setAdBadgeConfiguration","then","eventEmitter","emit","FWEventName","AdBadgeConfigurationUpdated","appLanguage","_appLanguage","dataTrackingLevel","_dataTrackingLevel","setDataTrackingLevel","DataTrackingLevelUpdated","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","livestreamPlayerDesignVersion","_livestreamPlayerDesignVersion","setLivestreamPlayerDesignVersion","LivestreamPlayerDesignVersionUpdated","LivestreamPlayerDesignVersion","v1","shortVideoPlayerDesignVersion","_shortVideoPlayerDesignVersion","setShortVideoPlayerDesignVersion","ShortVideoPlayerDesignVersionUpdated","ShortVideoPlayerDesignVersion","preventPipOnLeave","prevent","_preventPipOnLeave","setPreventPipOnLeave","FireworkSDKModuleEventEmitter","shopping","_shopping","VideoShopping","getInstance","liveStream","_liveStream","LiveStream","navigator","_navigator","FWNavigator","hasCalledSDKInitCallback","_instance","constructor","addListener","SDKInit","event","error","FWGlobalState","sdkInitSucceeded","completeRemainingInitialization","onSDKInit","name","reason","LogMessage","logNativeMessage","message","CustomCTAClick","url","callbackId","playerHandler","pause","pausePlayer","resume","resumePlayer","VideoPlayback","eventName","VideoFeedClick","info","id","NativeAppLanguageUpdated","language","updateInternalAppLanguage","markInitCalled","options","directlyCallNativeInit","initSucceeded","openVideoPlayer","config","sdkInitSucceededPromise","trackPurchase","parameters","changeAppLanguage","result","languageChanged","stopFloatingPlayer","getComponentType","feedId","componentTypeByFeedIdMap","AppLanguageUpdated","shareBaseURLChanged","setShareBaseURL","ShareBaseURLUpdated","resolveSdkInitSucceeded","ShoppingModule","init","LiveStreamModule","_default","exports"],"sourceRoot":"../../src","sources":["FireworkSDK.ts"],"mappings":"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","ignoreList":[]}
|