react-native-firework-sdk 2.3.1 → 2.4.0-beta.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.
Files changed (119) hide show
  1. package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/FireworkVideoUI +0 -0
  2. package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Info.plist +0 -0
  3. package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios.abi.json +24 -10
  4. package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios.private.swiftinterface +1 -1
  5. package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  6. package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios.swiftinterface +1 -1
  7. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/FireworkVideoUI +0 -0
  8. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Info.plist +0 -0
  9. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.abi.json +24 -10
  10. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1 -1
  11. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  12. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1 -1
  13. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.abi.json +24 -10
  14. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +1 -1
  15. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  16. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1 -1
  17. package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/_CodeSignature/CodeResources +21 -21
  18. package/android/gradle.properties +1 -1
  19. package/android/src/main/java/com/fireworksdk/bridge/components/storyblock/StoryBlockFragment.kt +20 -0
  20. package/android/src/main/java/com/fireworksdk/bridge/components/videofeed/FWVideoFeed.kt +1 -69
  21. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedPropsModel.kt +3 -1
  22. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedPropsModelDeserializer.kt +21 -4
  23. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedPropsModelSerializer.kt +15 -3
  24. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModel.kt +2 -1
  25. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelDeserializer.kt +3 -0
  26. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelSerializer.kt +2 -0
  27. package/android/src/main/java/com/fireworksdk/bridge/models/enums/FWVideoFeedSource.kt +3 -1
  28. package/android/src/main/java/com/fireworksdk/bridge/reactnative/FWReactNativeSDK.kt +6 -0
  29. package/android/src/main/java/com/fireworksdk/bridge/reactnative/manager/FWStoryBlockManager.kt +20 -15
  30. package/android/src/main/java/com/fireworksdk/bridge/reactnative/manager/FWVideoFeedManager.kt +45 -16
  31. package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FireworkSDKModule.kt +5 -0
  32. package/android/src/main/java/com/fireworksdk/bridge/utils/FWConfigUtil.kt +11 -1
  33. package/android/src/main/java/com/fireworksdk/bridge/utils/FWImageLoaderUtil.kt +16 -0
  34. package/ios/Components/StoryBlock.swift +9 -7
  35. package/ios/Components/StoryBlockConfiguration.swift +13 -0
  36. package/ios/Components/StoryBlockManager.m +6 -1
  37. package/ios/Components/VideoFeed.swift +5 -10
  38. package/ios/Components/VideoFeedManager.m +1 -2
  39. package/ios/Components/VideoPlayerConfiguration.swift +1 -0
  40. package/ios/FireworkSdk.xcodeproj/project.pbxproj +4 -26
  41. package/ios/FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/AppLanguageManager.swift +13 -2
  42. package/ios/FireworkVideoUI/FireworkVideoUI/Sources/AppLanguage/Extensions/UIKit/UIImageView+AppLanguage.swift +0 -34
  43. package/ios/FireworkVideoUI/Podfile +1 -1
  44. package/ios/FireworkVideoUI/Podfile.lock +4 -4
  45. package/ios/Models/RNToNative/RCTConvert+FireworkSDKModule.swift +1 -0
  46. package/ios/Models/RNToNative/RCTConvert+StoryBlock.swift +16 -1
  47. package/ios/Models/RNToNative/RCTConvert+VideoFeed.swift +2 -1
  48. package/ios/Modules/FireworkSDKModule/FireworkSDKModule.swift +8 -4
  49. package/ios/Modules/Shopping/ShoppingModule.swift +6 -5
  50. package/ios/react_native_firework_sdk.h +0 -1
  51. package/lib/commonjs/FireworkSDK.js.map +1 -1
  52. package/lib/commonjs/components/StoryBlock.js +71 -33
  53. package/lib/commonjs/components/StoryBlock.js.map +1 -1
  54. package/lib/commonjs/components/VideoFeed.js +83 -57
  55. package/lib/commonjs/components/VideoFeed.js.map +1 -1
  56. package/lib/commonjs/index.js.map +1 -1
  57. package/lib/commonjs/models/OpenVideoPlayerConfiguration.js +2 -0
  58. package/lib/commonjs/models/OpenVideoPlayerConfiguration.js.map +1 -0
  59. package/lib/commonjs/models/StoryBlockNativeConfiguration.js +2 -0
  60. package/lib/commonjs/models/StoryBlockNativeConfiguration.js.map +1 -0
  61. package/lib/commonjs/models/VideoPlayerNativeConfiguration.js +2 -0
  62. package/lib/commonjs/models/VideoPlayerNativeConfiguration.js.map +1 -0
  63. package/lib/commonjs/modules/FireworkSDKModule.js.map +1 -1
  64. package/lib/module/FireworkSDK.js.map +1 -1
  65. package/lib/module/components/StoryBlock.js +67 -33
  66. package/lib/module/components/StoryBlock.js.map +1 -1
  67. package/lib/module/components/VideoFeed.js +79 -57
  68. package/lib/module/components/VideoFeed.js.map +1 -1
  69. package/lib/module/index.js.map +1 -1
  70. package/lib/module/models/OpenVideoPlayerConfiguration.js +2 -0
  71. package/lib/module/models/OpenVideoPlayerConfiguration.js.map +1 -0
  72. package/lib/module/models/StoryBlockNativeConfiguration.js +2 -0
  73. package/lib/module/models/StoryBlockNativeConfiguration.js.map +1 -0
  74. package/lib/module/models/VideoPlayerNativeConfiguration.js +2 -0
  75. package/lib/module/models/VideoPlayerNativeConfiguration.js.map +1 -0
  76. package/lib/module/modules/FireworkSDKModule.js.map +1 -1
  77. package/lib/typescript/FireworkSDK.d.ts +2 -2
  78. package/lib/typescript/components/StoryBlock.d.ts +8 -0
  79. package/lib/typescript/components/VideoFeed.d.ts +8 -1
  80. package/lib/typescript/index.d.ts +2 -1
  81. package/lib/typescript/models/AdBadgeConfiguration.d.ts +3 -0
  82. package/lib/typescript/models/AndroidFontInfo.d.ts +1 -1
  83. package/lib/typescript/models/OpenVideoPlayerConfiguration.d.ts +7 -0
  84. package/lib/typescript/models/Product.d.ts +1 -1
  85. package/lib/typescript/models/ProductUnit.d.ts +1 -1
  86. package/lib/typescript/models/StoryBlockConfiguration.d.ts +1 -1
  87. package/lib/typescript/models/StoryBlockNativeConfiguration.d.ts +7 -0
  88. package/lib/typescript/models/StoryBlockSource.d.ts +1 -1
  89. package/lib/typescript/models/VideoFeedConfiguration.d.ts +29 -4
  90. package/lib/typescript/models/VideoFeedSource.d.ts +1 -1
  91. package/lib/typescript/models/VideoPlayerCTAStyle.d.ts +6 -0
  92. package/lib/typescript/models/VideoPlayerConfiguration.d.ts +10 -1
  93. package/lib/typescript/models/VideoPlayerNativeConfiguration.d.ts +7 -0
  94. package/lib/typescript/modules/FireworkSDKModule.d.ts +2 -2
  95. package/package.json +2 -2
  96. package/react-native-firework-sdk.podspec +1 -1
  97. package/src/FireworkSDK.ts +2 -2
  98. package/src/components/StoryBlock.tsx +65 -36
  99. package/src/components/VideoFeed.tsx +87 -74
  100. package/src/index.ts +2 -0
  101. package/src/models/AdBadgeConfiguration.ts +3 -0
  102. package/src/models/AndroidFontInfo.ts +1 -1
  103. package/src/models/OpenVideoPlayerConfiguration.ts +9 -0
  104. package/src/models/Product.ts +1 -1
  105. package/src/models/ProductUnit.ts +1 -1
  106. package/src/models/StoryBlockConfiguration.ts +1 -1
  107. package/src/models/StoryBlockNativeConfiguration.ts +9 -0
  108. package/src/models/StoryBlockSource.ts +2 -1
  109. package/src/models/VideoFeedConfiguration.ts +29 -4
  110. package/src/models/VideoFeedSource.ts +2 -1
  111. package/src/models/VideoPlayerCTAStyle.ts +6 -0
  112. package/src/models/VideoPlayerConfiguration.ts +10 -1
  113. package/src/models/VideoPlayerNativeConfiguration.ts +9 -0
  114. package/src/modules/FireworkSDKModule.ts +2 -2
  115. package/ios/Modules/Shopping/FWCartViewController.swift +0 -14
  116. package/ios/Utils/Extensions/Swizzle/UINavigationController+FWSwizzle.swift +0 -31
  117. package/ios/Utils/FWSwizzleLoader.h +0 -15
  118. package/ios/Utils/FWSwizzleLoader.m +0 -21
  119. package/ios/Utils/FWSwizzleLoader.swift +0 -13
@@ -526,7 +526,7 @@
526
526
  {
527
527
  "kind": "Function",
528
528
  "name": "changeAppLanguage",
529
- "printedName": "changeAppLanguage(_:)",
529
+ "printedName": "changeAppLanguage(_:_:)",
530
530
  "children": [
531
531
  {
532
532
  "kind": "TypeNominal",
@@ -547,11 +547,18 @@
547
547
  }
548
548
  ],
549
549
  "usr": "s:Sq"
550
+ },
551
+ {
552
+ "kind": "TypeNominal",
553
+ "name": "Bool",
554
+ "printedName": "Swift.Bool",
555
+ "hasDefaultArg": true,
556
+ "usr": "s:Sb"
550
557
  }
551
558
  ],
552
559
  "declKind": "Func",
553
- "usr": "s:15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSgF",
554
- "mangledName": "$s15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSgF",
560
+ "usr": "s:15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSg_SbtF",
561
+ "mangledName": "$s15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSg_SbtF",
555
562
  "moduleName": "FireworkVideoUI",
556
563
  "declAttributes": [
557
564
  "AccessControl",
@@ -1064,13 +1071,6 @@
1064
1071
  "length": 34,
1065
1072
  "value": "\"VUlEYXRlUGlja2VyQ29udGVudFZpZXc=\""
1066
1073
  },
1067
- {
1068
- "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/Extensions\/UIKit\/UIImageView+AppLanguage.swift",
1069
- "kind": "Array",
1070
- "offset": 172,
1071
- "length": 145,
1072
- "value": "[\"shopping-cart\", \"left-arrow\", \"right-arrow\", \"speaker-unmute\", \"speaker-mute\", \"mute\", \"mute-off\", \"mute-on\"]"
1073
- },
1074
1074
  {
1075
1075
  "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/Extensions\/UIKit\/UITextField+AppLanguage.swift",
1076
1076
  "kind": "StringLiteral",
@@ -1148,6 +1148,20 @@
1148
1148
  "length": 47,
1149
1149
  "value": "\"firework.notification.name.appLanguageChanged\""
1150
1150
  },
1151
+ {
1152
+ "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/AppLanguageManager.swift",
1153
+ "kind": "BooleanLiteral",
1154
+ "offset": 893,
1155
+ "length": 4,
1156
+ "value": "true"
1157
+ },
1158
+ {
1159
+ "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/AppLanguageManager.swift",
1160
+ "kind": "BooleanLiteral",
1161
+ "offset": 4386,
1162
+ "length": 4,
1163
+ "value": "true"
1164
+ },
1151
1165
  {
1152
1166
  "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/Extensions\/UIKit\/UITextView+AppLanguage.swift",
1153
1167
  "kind": "StringLiteral",
@@ -36,6 +36,6 @@ extension UIKit.UIView {
36
36
  get
37
37
  }
38
38
  @discardableResult
39
- public func changeAppLanguage(_ language: Swift.String?) -> Swift.Bool
39
+ public func changeAppLanguage(_ language: Swift.String?, _ enableAutoHorizontalFlip: Swift.Bool = true) -> Swift.Bool
40
40
  @objc deinit
41
41
  }
@@ -36,6 +36,6 @@ extension UIKit.UIView {
36
36
  get
37
37
  }
38
38
  @discardableResult
39
- public func changeAppLanguage(_ language: Swift.String?) -> Swift.Bool
39
+ public func changeAppLanguage(_ language: Swift.String?, _ enableAutoHorizontalFlip: Swift.Bool = true) -> Swift.Bool
40
40
  @objc deinit
41
41
  }
@@ -526,7 +526,7 @@
526
526
  {
527
527
  "kind": "Function",
528
528
  "name": "changeAppLanguage",
529
- "printedName": "changeAppLanguage(_:)",
529
+ "printedName": "changeAppLanguage(_:_:)",
530
530
  "children": [
531
531
  {
532
532
  "kind": "TypeNominal",
@@ -547,11 +547,18 @@
547
547
  }
548
548
  ],
549
549
  "usr": "s:Sq"
550
+ },
551
+ {
552
+ "kind": "TypeNominal",
553
+ "name": "Bool",
554
+ "printedName": "Swift.Bool",
555
+ "hasDefaultArg": true,
556
+ "usr": "s:Sb"
550
557
  }
551
558
  ],
552
559
  "declKind": "Func",
553
- "usr": "s:15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSgF",
554
- "mangledName": "$s15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSgF",
560
+ "usr": "s:15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSg_SbtF",
561
+ "mangledName": "$s15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSg_SbtF",
555
562
  "moduleName": "FireworkVideoUI",
556
563
  "declAttributes": [
557
564
  "AccessControl",
@@ -1064,13 +1071,6 @@
1064
1071
  "length": 34,
1065
1072
  "value": "\"VUlEYXRlUGlja2VyQ29udGVudFZpZXc=\""
1066
1073
  },
1067
- {
1068
- "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/Extensions\/UIKit\/UIImageView+AppLanguage.swift",
1069
- "kind": "Array",
1070
- "offset": 172,
1071
- "length": 145,
1072
- "value": "[\"shopping-cart\", \"left-arrow\", \"right-arrow\", \"speaker-unmute\", \"speaker-mute\", \"mute\", \"mute-off\", \"mute-on\"]"
1073
- },
1074
1074
  {
1075
1075
  "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/Extensions\/UIKit\/UITextField+AppLanguage.swift",
1076
1076
  "kind": "StringLiteral",
@@ -1148,6 +1148,20 @@
1148
1148
  "length": 47,
1149
1149
  "value": "\"firework.notification.name.appLanguageChanged\""
1150
1150
  },
1151
+ {
1152
+ "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/AppLanguageManager.swift",
1153
+ "kind": "BooleanLiteral",
1154
+ "offset": 893,
1155
+ "length": 4,
1156
+ "value": "true"
1157
+ },
1158
+ {
1159
+ "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/AppLanguageManager.swift",
1160
+ "kind": "BooleanLiteral",
1161
+ "offset": 4386,
1162
+ "length": 4,
1163
+ "value": "true"
1164
+ },
1151
1165
  {
1152
1166
  "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/Extensions\/UIKit\/UITextView+AppLanguage.swift",
1153
1167
  "kind": "StringLiteral",
@@ -36,6 +36,6 @@ extension UIKit.UIView {
36
36
  get
37
37
  }
38
38
  @discardableResult
39
- public func changeAppLanguage(_ language: Swift.String?) -> Swift.Bool
39
+ public func changeAppLanguage(_ language: Swift.String?, _ enableAutoHorizontalFlip: Swift.Bool = true) -> Swift.Bool
40
40
  @objc deinit
41
41
  }
@@ -36,6 +36,6 @@ extension UIKit.UIView {
36
36
  get
37
37
  }
38
38
  @discardableResult
39
- public func changeAppLanguage(_ language: Swift.String?) -> Swift.Bool
39
+ public func changeAppLanguage(_ language: Swift.String?, _ enableAutoHorizontalFlip: Swift.Bool = true) -> Swift.Bool
40
40
  @objc deinit
41
41
  }
@@ -526,7 +526,7 @@
526
526
  {
527
527
  "kind": "Function",
528
528
  "name": "changeAppLanguage",
529
- "printedName": "changeAppLanguage(_:)",
529
+ "printedName": "changeAppLanguage(_:_:)",
530
530
  "children": [
531
531
  {
532
532
  "kind": "TypeNominal",
@@ -547,11 +547,18 @@
547
547
  }
548
548
  ],
549
549
  "usr": "s:Sq"
550
+ },
551
+ {
552
+ "kind": "TypeNominal",
553
+ "name": "Bool",
554
+ "printedName": "Swift.Bool",
555
+ "hasDefaultArg": true,
556
+ "usr": "s:Sb"
550
557
  }
551
558
  ],
552
559
  "declKind": "Func",
553
- "usr": "s:15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSgF",
554
- "mangledName": "$s15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSgF",
560
+ "usr": "s:15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSg_SbtF",
561
+ "mangledName": "$s15FireworkVideoUI18AppLanguageManagerC06changedE0ySbSSSg_SbtF",
555
562
  "moduleName": "FireworkVideoUI",
556
563
  "declAttributes": [
557
564
  "AccessControl",
@@ -1064,13 +1071,6 @@
1064
1071
  "length": 34,
1065
1072
  "value": "\"VUlEYXRlUGlja2VyQ29udGVudFZpZXc=\""
1066
1073
  },
1067
- {
1068
- "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/Extensions\/UIKit\/UIImageView+AppLanguage.swift",
1069
- "kind": "Array",
1070
- "offset": 172,
1071
- "length": 145,
1072
- "value": "[\"shopping-cart\", \"left-arrow\", \"right-arrow\", \"speaker-unmute\", \"speaker-mute\", \"mute\", \"mute-off\", \"mute-on\"]"
1073
- },
1074
1074
  {
1075
1075
  "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/Extensions\/UIKit\/UITextField+AppLanguage.swift",
1076
1076
  "kind": "StringLiteral",
@@ -1148,6 +1148,20 @@
1148
1148
  "length": 47,
1149
1149
  "value": "\"firework.notification.name.appLanguageChanged\""
1150
1150
  },
1151
+ {
1152
+ "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/AppLanguageManager.swift",
1153
+ "kind": "BooleanLiteral",
1154
+ "offset": 893,
1155
+ "length": 4,
1156
+ "value": "true"
1157
+ },
1158
+ {
1159
+ "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/AppLanguageManager.swift",
1160
+ "kind": "BooleanLiteral",
1161
+ "offset": 4386,
1162
+ "length": 4,
1163
+ "value": "true"
1164
+ },
1151
1165
  {
1152
1166
  "filePath": "\/Users\/runner\/work\/bogano\/bogano\/ios\/FireworkVideoUI\/FireworkVideoUI\/Sources\/AppLanguage\/Extensions\/UIKit\/UITextView+AppLanguage.swift",
1153
1167
  "kind": "StringLiteral",
@@ -36,6 +36,6 @@ extension UIKit.UIView {
36
36
  get
37
37
  }
38
38
  @discardableResult
39
- public func changeAppLanguage(_ language: Swift.String?) -> Swift.Bool
39
+ public func changeAppLanguage(_ language: Swift.String?, _ enableAutoHorizontalFlip: Swift.Bool = true) -> Swift.Bool
40
40
  @objc deinit
41
41
  }
@@ -36,6 +36,6 @@ extension UIKit.UIView {
36
36
  get
37
37
  }
38
38
  @discardableResult
39
- public func changeAppLanguage(_ language: Swift.String?) -> Swift.Bool
39
+ public func changeAppLanguage(_ language: Swift.String?, _ enableAutoHorizontalFlip: Swift.Bool = true) -> Swift.Bool
40
40
  @objc deinit
41
41
  }
@@ -14,47 +14,47 @@
14
14
  </data>
15
15
  <key>Info.plist</key>
16
16
  <data>
17
- bJBEvOE+WJbSoSkR6Xh6+u4bfOs=
17
+ O9ZYW5rn6k1d30mu7kIIf0Lha38=
18
18
  </data>
19
19
  <key>Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
20
20
  <data>
21
- lQx5YtEpXss7I8lfCQehqabnXgo=
21
+ dMRyiIaNTc2DTqPk948EJmYzKh4=
22
22
  </data>
23
23
  <key>Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
24
24
  <data>
25
- h6vJW+NP0+gY51ZhP57nW392cYk=
25
+ 7+KJLuabK8w3RMmQoqXrxOhEAWM=
26
26
  </data>
27
27
  <key>Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
28
28
  <data>
29
- atyRF4RCvp3Q7O/mp4rYXB1jE0Q=
29
+ mReyD1nzTi7yjjtbqGNuULJ++xg=
30
30
  </data>
31
31
  <key>Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
32
32
  <data>
33
- h6vJW+NP0+gY51ZhP57nW392cYk=
33
+ 7+KJLuabK8w3RMmQoqXrxOhEAWM=
34
34
  </data>
35
35
  <key>Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
36
36
  <data>
37
- qRfrL9mXazL6J5BnSlWDYMeoUac=
37
+ 6v3c2UNz21FI9s4IWueGL0xmMeg=
38
38
  </data>
39
39
  <key>Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
40
40
  <data>
41
- lQx5YtEpXss7I8lfCQehqabnXgo=
41
+ dMRyiIaNTc2DTqPk948EJmYzKh4=
42
42
  </data>
43
43
  <key>Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
44
44
  <data>
45
- y0ggQlQYk8fPmRZJgyJe3Ma5o+w=
45
+ XiVyxQ5qQeESrMP18Wjw3i/EpHU=
46
46
  </data>
47
47
  <key>Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
48
48
  <data>
49
- JazAtiVxFvmfMtiCcVLmAg7e1KM=
49
+ /zEUo9x+sL6mRTrPsL76/fIRbpA=
50
50
  </data>
51
51
  <key>Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
52
52
  <data>
53
- y0ggQlQYk8fPmRZJgyJe3Ma5o+w=
53
+ XiVyxQ5qQeESrMP18Wjw3i/EpHU=
54
54
  </data>
55
55
  <key>Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
56
56
  <data>
57
- cZABauPlCz6cG08CTLoue1d6SDU=
57
+ BlQ2HvO9NmVglW3bfoBdru3/du4=
58
58
  </data>
59
59
  <key>Modules/module.modulemap</key>
60
60
  <data>
@@ -81,70 +81,70 @@
81
81
  <dict>
82
82
  <key>hash2</key>
83
83
  <data>
84
- 8/CE+s8YrIvyr2EMm7MB1wpvwF/m4lFyf/192ZqQeqI=
84
+ LzeK1yoOZH+rhNERCIw/P5+MhbU2ewncikOTcgts3DE=
85
85
  </data>
86
86
  </dict>
87
87
  <key>Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
88
88
  <dict>
89
89
  <key>hash2</key>
90
90
  <data>
91
- UkEtCk4njRXmEtNtWaE93q1xAPpSOkHeaFgW+Lz63CI=
91
+ CHQ90qLA2fkcqELlq58/FuKWvVt5HOGkpb6qVfHTdtQ=
92
92
  </data>
93
93
  </dict>
94
94
  <key>Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
95
95
  <dict>
96
96
  <key>hash2</key>
97
97
  <data>
98
- ijGRDjteeQYBsYlAIa1ygEoPzdBUK0odDABdGpCdg6I=
98
+ d/c4QW8UlEOcsQwd0RfDpf1VZed745sqPKV9WdQzHUc=
99
99
  </data>
100
100
  </dict>
101
101
  <key>Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
102
102
  <dict>
103
103
  <key>hash2</key>
104
104
  <data>
105
- UkEtCk4njRXmEtNtWaE93q1xAPpSOkHeaFgW+Lz63CI=
105
+ CHQ90qLA2fkcqELlq58/FuKWvVt5HOGkpb6qVfHTdtQ=
106
106
  </data>
107
107
  </dict>
108
108
  <key>Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
109
109
  <dict>
110
110
  <key>hash2</key>
111
111
  <data>
112
- C+ZSYS37c1XWrJdfi9CjMAv6kfZ0/nRr3Xsm+jCmWT8=
112
+ LeTg5NKnPyYZHXHAntfiNpfiZnIEAyQKvnipn8wnlcA=
113
113
  </data>
114
114
  </dict>
115
115
  <key>Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
116
116
  <dict>
117
117
  <key>hash2</key>
118
118
  <data>
119
- 8/CE+s8YrIvyr2EMm7MB1wpvwF/m4lFyf/192ZqQeqI=
119
+ LzeK1yoOZH+rhNERCIw/P5+MhbU2ewncikOTcgts3DE=
120
120
  </data>
121
121
  </dict>
122
122
  <key>Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
123
123
  <dict>
124
124
  <key>hash2</key>
125
125
  <data>
126
- Mzu7kL+XazpOcd2k3KQRRBTHmNTN7XErWwVGHsUJv7E=
126
+ BVcdKXbJZdpfKfPmi1NRbSGLkXwrhtX/epd/HyDKHxk=
127
127
  </data>
128
128
  </dict>
129
129
  <key>Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
130
130
  <dict>
131
131
  <key>hash2</key>
132
132
  <data>
133
- /VtAsoSxZoVfhFW8ufywQGyBJU+cSfB3cI/rcVkUFGU=
133
+ Jfh1jfFxV3Otr37O6pia2JYNPNHI/jcU3LmHHYmsyuw=
134
134
  </data>
135
135
  </dict>
136
136
  <key>Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
137
137
  <dict>
138
138
  <key>hash2</key>
139
139
  <data>
140
- Mzu7kL+XazpOcd2k3KQRRBTHmNTN7XErWwVGHsUJv7E=
140
+ BVcdKXbJZdpfKfPmi1NRbSGLkXwrhtX/epd/HyDKHxk=
141
141
  </data>
142
142
  </dict>
143
143
  <key>Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
144
144
  <dict>
145
145
  <key>hash2</key>
146
146
  <data>
147
- 8Nb8KKhfffu+q3nPAgfXOc1Jp/m9uLncYeYthtqbqkE=
147
+ tE4zuZk99YjkJQtf+EoFTXppXEQEGe2RwUNT7luu7iY=
148
148
  </data>
149
149
  </dict>
150
150
  <key>Modules/module.modulemap</key>
@@ -5,4 +5,4 @@ FireworkSDK_kotlinVersion=1.6.10
5
5
  FireworkSDK_minSdkVersion=21
6
6
  FireworkSDK_compileSdkVersion=33
7
7
  FireworkSDK_targetSdkVersion=33
8
- FireworkSDK_fwNativeVersion=6.3.2
8
+ FireworkSDK_fwNativeVersion=6.3.4
@@ -1,10 +1,12 @@
1
1
  package com.fireworksdk.bridge.components.storyblock
2
2
 
3
+ import android.graphics.Outline
3
4
  import android.os.Bundle
4
5
  import android.view.LayoutInflater
5
6
  import android.view.View
6
7
  import android.view.View.LAYOUT_DIRECTION_LOCALE
7
8
  import android.view.ViewGroup
9
+ import android.view.ViewOutlineProvider
8
10
  import android.widget.FrameLayout
9
11
  import com.firework.storyblock.FeedLoadListener
10
12
  import com.firework.storyblock.FwStoryBlockView
@@ -65,6 +67,7 @@ class StoryBlockFragment : FWBaseFragment() {
65
67
 
66
68
  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
67
69
  super.onViewCreated(view, savedInstanceState)
70
+ setStoryBlockContainerCorner()
68
71
  initStoryBlock()
69
72
  }
70
73
 
@@ -154,4 +157,21 @@ class StoryBlockFragment : FWBaseFragment() {
154
157
  }
155
158
  }
156
159
  }
160
+
161
+ private fun setStoryBlockContainerCorner() {
162
+ val cornerRadius = videoFeedPropsModel?.cornerRadius
163
+ if (cornerRadius != null && cornerRadius >= 0) {
164
+ val cornerRadiusPx = FWCommonUtil.dpToPx(cornerRadius.toFloat(), requireContext()).toFloat()
165
+
166
+ val outlineProvider = object : ViewOutlineProvider() {
167
+ override fun getOutline(view: View?, outline: Outline?) {
168
+ view?.let {
169
+ outline?.setRoundRect(0, 0, view.width, view.height, cornerRadiusPx)
170
+ }
171
+ }
172
+ }
173
+ binding.storyBlockContainer.outlineProvider = outlineProvider
174
+ binding.storyBlockContainer.clipToOutline = true
175
+ }
176
+ }
157
177
  }
@@ -6,8 +6,6 @@ import android.view.ViewGroup
6
6
  import android.widget.FrameLayout
7
7
  import com.firework.videofeed.FwVideoFeedView
8
8
  import com.fireworksdk.bridge.models.*
9
- import com.fireworksdk.bridge.models.enums.FWVideoFeedMode
10
- import com.fireworksdk.bridge.models.enums.FWVideoFeedSource
11
9
  import com.fireworksdk.bridge.utils.FWConfigUtil
12
10
  import com.fireworksdk.bridge.utils.FWLanguageUtil
13
11
 
@@ -34,77 +32,11 @@ class FWVideoFeed(
34
32
  requestLayout()
35
33
  }
36
34
 
37
- fun afterUpdateTransaction() {
35
+ fun initVideoFeedView() {
38
36
  val viewOptionsBuilder = FWConfigUtil.generateViewOptionsBuilder(context, videoFeedPropsModel)
39
37
  videoFeedView.init(viewOptionsBuilder.build())
40
38
  }
41
39
 
42
- fun setProps(props: FWVideoFeedPropsModel?) {
43
- props ?: return
44
- videoFeedPropsModel = props
45
- afterUpdateTransaction()
46
- }
47
-
48
- fun setSourceProps(source: String?) {
49
- videoFeedPropsModel = videoFeedPropsModel.copy(
50
- source = if (!source.isNullOrBlank()) FWVideoFeedSource.deserialize(source) else null
51
- )
52
- }
53
-
54
- fun setChannelProps(channel: String?) {
55
- videoFeedPropsModel = videoFeedPropsModel.copy(
56
- channel = channel
57
- )
58
- }
59
-
60
- fun setPlaylistProps(playlist: String?) {
61
- videoFeedPropsModel = videoFeedPropsModel.copy(
62
- playlist = playlist
63
- )
64
- }
65
-
66
- fun setPlaylistGroupProps(playlistGroup: String?) {
67
- videoFeedPropsModel = videoFeedPropsModel.copy(
68
- playlistGroup = playlistGroup
69
- )
70
- }
71
-
72
- fun setHashtagFilterExpressionProps(hashtagFilterExpression: String?) {
73
- videoFeedPropsModel = videoFeedPropsModel.copy(
74
- hashtagFilterExpression = hashtagFilterExpression
75
- )
76
- }
77
-
78
- fun setModeProps(mode: String?) {
79
- videoFeedPropsModel = videoFeedPropsModel.copy(
80
- mode = if (!mode.isNullOrBlank()) FWVideoFeedMode.deserialize(mode) else null
81
- )
82
- }
83
-
84
- fun setEnablePictureInPicture(enablePictureInPicture: Boolean?) {
85
- videoFeedPropsModel = videoFeedPropsModel.copy(
86
- enablePictureInPicture = enablePictureInPicture
87
- )
88
- }
89
-
90
- fun setDynamicContentParametersProps(dynamicContentParameters: HashMap<String, List<String>>?) {
91
- videoFeedPropsModel = videoFeedPropsModel.copy(
92
- dynamicContentParameters = dynamicContentParameters
93
- )
94
- }
95
-
96
- fun setVideoFeedConfigProps(config: FWVideoFeedConfigModel?) {
97
- videoFeedPropsModel = videoFeedPropsModel.copy(
98
- videoFeedConfiguration = config
99
- )
100
- }
101
-
102
- fun setVideoPlayerConfigProps(config: FWVideoPlayerConfigModel?) {
103
- videoFeedPropsModel = videoFeedPropsModel.copy(
104
- videoPlayerConfiguration = config
105
- )
106
- }
107
-
108
40
  fun refresh() {
109
41
  videoFeedView.refresh()
110
42
  }
@@ -9,10 +9,12 @@ data class FWVideoFeedPropsModel(
9
9
  val playlist: String? = null,
10
10
  val playlistGroup: String? = null,
11
11
  val hashtagFilterExpression: String? = null,
12
+ val productIds: List<String>? = null,
13
+ val shareUrl: String? = null,
12
14
  val mode: FWVideoFeedMode? = null,
13
- val enablePictureInPicture: Boolean? = null,
14
15
  val videoFeedConfiguration: FWVideoFeedConfigModel? = null,
15
16
  val videoPlayerConfiguration: FWVideoPlayerConfigModel? = null,
16
17
  val dynamicContentParameters: Map<String, List<String>>? = null,
17
18
  val marginRight: Double? = null,
19
+ val cornerRadius: Int? = null,
18
20
  )
@@ -11,9 +11,11 @@ object FWVideoFeedPropsModelDeserializer {
11
11
  private const val PLAYLIST_KEY = "playlist"
12
12
  private const val PLAYLIST_GROUP_KEY = "playlistGroup"
13
13
  private const val HASHTAG_FILTER_EXPRESSION_KEY = "hashtagFilterExpression"
14
+ private const val PRODUCT_IDS_KEY = "productIds"
15
+ private const val SHARE_URL_KEY = "shareUrl"
14
16
  private const val MODE_KEY = "mode"
15
- private const val ENABLE_PIP_KEY = "enablePictureInPicture"
16
17
  private const val MARGIN_RIGHT_KEY = "marginRight"
18
+ private const val CORNER_RADIUS_KEY = "cornerRadius"
17
19
 
18
20
  private const val VIDEO_FEED_CONFIGURATION_KEY = "videoFeedConfiguration"
19
21
  private const val VIDEO_PLAYER_CONFIGURATION_KEY = "videoPlayerConfiguration"
@@ -29,8 +31,20 @@ object FWVideoFeedPropsModelDeserializer {
29
31
  val playlistGroup = if (responseJson.has(PLAYLIST_GROUP_KEY)) responseJson.optString(PLAYLIST_GROUP_KEY) else null
30
32
  val hashtagFilterExpression = if (responseJson.has(HASHTAG_FILTER_EXPRESSION_KEY)) responseJson.optString(
31
33
  HASHTAG_FILTER_EXPRESSION_KEY) else null
34
+
35
+ var productIds: List<String>? = null
36
+ val productIdJsonArray = if (responseJson.has(PRODUCT_IDS_KEY)) responseJson.optJSONArray(PRODUCT_IDS_KEY) else null
37
+ if (productIdJsonArray != null) {
38
+ val list: MutableList<String> = mutableListOf()
39
+ (0 until productIdJsonArray.length()).forEach {
40
+ val value = productIdJsonArray.getString(it)
41
+ list.add(value)
42
+ }
43
+ productIds = list
44
+ }
45
+
46
+ val shareUrl = if (responseJson.has(SHARE_URL_KEY)) responseJson.optString(SHARE_URL_KEY) else null
32
47
  val mode = if (responseJson.has(MODE_KEY)) responseJson.optString(MODE_KEY) else null
33
- val enablePictureInPicture = if (responseJson.has(ENABLE_PIP_KEY)) responseJson.optBoolean(ENABLE_PIP_KEY) else null
34
48
 
35
49
  val videoFeedConfiguration = FWVideoFeedConfigModelDeserializer.deserialize(
36
50
  responseJson.optJSONObject(VIDEO_FEED_CONFIGURATION_KEY)
@@ -63,6 +77,7 @@ object FWVideoFeedPropsModelDeserializer {
63
77
  }
64
78
 
65
79
  val marginRight = if (responseJson.has(MARGIN_RIGHT_KEY)) responseJson.optDouble(MARGIN_RIGHT_KEY) else null
80
+ val cornerRadius = if (!responseJson.isNull(CORNER_RADIUS_KEY)) responseJson.optInt(CORNER_RADIUS_KEY) else null
66
81
 
67
82
  return FWVideoFeedPropsModel(
68
83
  source = if (!source.isNullOrBlank()) FWVideoFeedSource.deserialize(source) else null,
@@ -70,12 +85,14 @@ object FWVideoFeedPropsModelDeserializer {
70
85
  playlist = playlist,
71
86
  playlistGroup = playlistGroup,
72
87
  hashtagFilterExpression = hashtagFilterExpression,
88
+ productIds = productIds,
89
+ shareUrl = shareUrl,
73
90
  mode = if (!mode.isNullOrBlank()) FWVideoFeedMode.deserialize(mode) else null,
74
- enablePictureInPicture= enablePictureInPicture,
75
91
  videoFeedConfiguration = videoFeedConfiguration,
76
92
  videoPlayerConfiguration = storyBlockConfiguration ?: videoPlayerConfiguration,
77
93
  dynamicContentParameters = dynamicContentParameters,
78
- marginRight = marginRight
94
+ marginRight = marginRight,
95
+ cornerRadius = cornerRadius,
79
96
  )
80
97
  }
81
98
  }