react-native-tpstreams 1.0.0 → 1.0.1

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.
@@ -21,7 +21,7 @@ Pod::Spec.new do |s|
21
21
  'DEFINES_MODULE' => 'YES',
22
22
  'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES'
23
23
  }
24
- s.dependency "TPStreamsSDK"
24
+ s.dependency "TPStreamsSDK" , "1.2.7"
25
25
 
26
26
 
27
27
  # Ensure the module is not built as a framework to avoid bridging header conflicts
@@ -104,11 +104,12 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
104
104
  var item: [String: Any] = [:]
105
105
  item["videoId"] = asset.assetId
106
106
  item["title"] = asset.title
107
+ item["thumbnailUrl"] = asset.thumbnailURL
107
108
  item["totalBytes"] = asset.size
108
109
  item["downloadedBytes"] = calculateDownloadedBytes(size: asset.size, progress: asset.percentageCompleted)
109
110
  item["progressPercentage"] = asset.percentageCompleted
110
111
  item["state"] = mapDownloadStatus(Status(rawValue: asset.status))
111
- item["metadata"] = "{}"
112
+ item["metadata"] = asset.metadata ?? "{}"
112
113
 
113
114
  return item
114
115
  }
@@ -131,11 +131,13 @@ class TPStreamsRNPlayerView: UIView {
131
131
  }
132
132
 
133
133
  private func createPlayerConfigBuilder() -> TPStreamPlayerConfigurationBuilder {
134
+ let metadataDict = parseMetadataJSON(from: downloadMetadata)
134
135
  let configBuilder = TPStreamPlayerConfigurationBuilder()
135
136
  .setPreferredForwardDuration(15)
136
137
  .setPreferredRewindDuration(5)
137
138
  .setprogressBarThumbColor(.systemBlue)
138
139
  .setwatchedProgressTrackColor(.systemBlue)
140
+ .setDownloadMetadata(metadataDict)
139
141
 
140
142
  if enableDownload {
141
143
  configBuilder.showDownloadOption()
@@ -170,6 +172,20 @@ class TPStreamsRNPlayerView: UIView {
170
172
  self.playerStatusObserver = nil
171
173
  }
172
174
  }
175
+
176
+ private func parseMetadataJSON(from jsonString: NSString?) -> [String: String]? {
177
+ guard let metadataString = jsonString as String? else { return nil }
178
+
179
+ guard let data = metadataString.data(using: .utf8) else { return nil }
180
+ do {
181
+ if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: String] {
182
+ return json
183
+ }
184
+ } catch {
185
+ print("Error parsing metadata JSON: \(error)")
186
+ }
187
+ return nil
188
+ }
173
189
 
174
190
  @objc func seekTo(position: Double) {
175
191
  guard position >= 0, let player = player else { return }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tpstreams",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Video component for TPStreams",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",