react-native-tpstreams 1.0.3-debug.10 → 1.0.3-debug.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/README.md CHANGED
@@ -41,14 +41,14 @@ import { TPStreamsPlayerView } from "react-native-tpstreams";
41
41
 
42
42
  | Prop | Type | Required | Description |
43
43
  |------|------|----------|-------------|
44
- | `videoId` | `string` | Yes | Video ID to play |
45
- | `accessToken` | `string` | Yes | Access token for the video |
46
- | `startAt` | `number` | No | Start position in seconds (default: 0) |
47
- | `shouldAutoPlay` | `boolean` | No | Auto-play on load (default: true) |
48
- | `showDefaultCaptions` | `boolean` | No | Show captions if available (default: false) |
49
- | `enableDownload` | `boolean` | No | Enable download functionality (default: false) |
50
- | `offlineLicenseExpireTime` | `number` | No | License expiration in seconds (default: 15 days) |
51
- | `downloadMetadata` | `object` | No | Custom metadata for downloads |
44
+ | `videoId` | `string` | | Video ID to play |
45
+ | `accessToken` | `string` | | Access token for the video |
46
+ | `startAt` | `number` | | Start position in seconds (default: 0) |
47
+ | `shouldAutoPlay` | `boolean` | | Auto-play on load (default: true) |
48
+ | `showDefaultCaptions` | `boolean` | | Show captions if available (default: false) |
49
+ | `enableDownload` | `boolean` | | Enable download functionality (default: false) |
50
+ | `offlineLicenseExpireTime` | `number` | | License expiration in seconds (default: 15 days) |
51
+ | `downloadMetadata` | `object` | | Custom metadata for downloads |
52
52
 
53
53
  ### Player Methods
54
54
 
@@ -109,8 +109,13 @@ class TPStreamsDownloadModule(private val reactContext: ReactApplicationContext)
109
109
  map.putDouble("downloadedBytes", item.downloadedBytes.toDouble())
110
110
  map.putDouble("progressPercentage", item.progressPercentage.toDouble())
111
111
  map.putString("state", downloadClient.getDownloadStatus(item.assetId))
112
- val parsedMetadata = JsonUtils.parseJsonString(item.metadata)
113
- map.putMap("metadata", Arguments.makeNativeMap(parsedMetadata))
112
+
113
+ val metadataJson = org.json.JSONObject()
114
+ item.metadata.forEach { (key, value) ->
115
+ metadataJson.put(key, value)
116
+ }
117
+ map.putString("metadata", metadataJson.toString())
118
+
114
119
  return map
115
120
  }
116
121
 
@@ -30,7 +30,7 @@ class TPStreamsRNPlayerView(context: ThemedReactContext) : FrameLayout(context)
30
30
  private var startAt: Long = 0
31
31
  private var showDefaultCaptions: Boolean = false
32
32
  private var enableDownload: Boolean = false
33
- private var downloadMetadata: Map<String, Any>? = null
33
+ private var downloadMetadata: Map<String, String>? = null
34
34
  private var offlineLicenseExpireTime: Long = DEFAULT_OFFLINE_LICENSE_EXPIRE_TIME
35
35
  private var accessTokenCallback: ((String) -> Unit)? = null
36
36
 
@@ -87,7 +87,7 @@ class TPStreamsRNPlayerView(context: ThemedReactContext) : FrameLayout(context)
87
87
  this.enableDownload = enableDownload
88
88
  }
89
89
 
90
- fun setDownloadMetadata(metadata: Map<String, Any>?) {
90
+ fun setDownloadMetadata(metadata: Map<String, String>?) {
91
91
  this.downloadMetadata = metadata
92
92
  }
93
93
 
@@ -116,7 +116,7 @@ class TPStreamsRNPlayerView(context: ThemedReactContext) : FrameLayout(context)
116
116
  startAt,
117
117
  enableDownload,
118
118
  showDefaultCaptions,
119
- downloadMetadata?.mapValues { it.value.toString() },
119
+ downloadMetadata,
120
120
  offlineLicenseExpireTime
121
121
  )
122
122
 
@@ -23,16 +23,14 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
23
23
  private let downloadManager = TPStreamsDownloadManager.shared
24
24
  private var isListening = false
25
25
  private var tokenDelegate: TokenRequestDelegate?
26
- private static var _shared: TPStreamsDownloadModule?
27
-
28
- static var shared: TPStreamsDownloadModule? {
29
- return _shared
30
- }
31
-
26
+ static var shared: TPStreamsDownloadModule?
27
+
32
28
  override init() {
33
29
  super.init()
34
- TPStreamsDownloadModule._shared = self
35
30
  downloadManager.setTPStreamsDownloadDelegate(tpStreamsDownloadDelegate: self)
31
+ TPStreamsDownloadModule.shared = self
32
+ print("TPStreamsDownloadModule initialized")
33
+ print("Downloadmanager delegates are set")
36
34
  }
37
35
 
38
36
  func setAccessTokenDelegate(_ delegate: TokenRequestDelegate) {
@@ -46,71 +44,81 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
46
44
 
47
45
  @objc
48
46
  func addDownloadProgressListener(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
47
+ print("DownloadModule: adding download progress listener")
49
48
  isListening = true
50
- notifyDownloadsChange()
51
49
  resolve(nil)
52
50
  }
53
51
 
54
52
  @objc
55
53
  func removeDownloadProgressListener(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
54
+ print("DownloadModule: removing download progress listener")
56
55
  isListening = false
57
56
  resolve(nil)
58
57
  }
59
58
 
60
59
  func onProgressChange(assetId: String, percentage: Double) {
60
+ print("DownloadModule:Download Progress Changed")
61
61
  if isListening {
62
62
  notifyDownloadsChange()
63
63
  }
64
64
  }
65
65
 
66
66
  func onStateChange(status: Status, offlineAsset: OfflineAsset) {
67
+ print("DownloadModule: Download State Changed")
67
68
  if isListening {
68
69
  notifyDownloadsChange()
69
70
  }
70
71
  }
71
72
 
72
73
  func onDelete(assetId: String) {
74
+ print("DownloadModule: Download Deleted")
73
75
  if isListening {
74
- if let offlineAsset = getOfflineAsset(assetId: assetId) {
75
- notifyDownloadStateChanged(offlineAsset: offlineAsset)
76
- }
76
+ // if let offlineAsset = getOfflineAsset(assetId: assetId) {
77
+ // notifyDownloadStateChanged(offlineAsset: offlineAsset)
78
+ // }
77
79
  notifyDownloadsChange()
78
80
  }
79
81
  }
80
82
 
81
83
  func onStart(offlineAsset: OfflineAsset) {
84
+ print("DownloadModule: Download Started")
85
+ print("DownloadModule: is Download Progress Listening: \(isListening)")
82
86
  if isListening {
83
- notifyDownloadStateChanged(offlineAsset: offlineAsset)
87
+ // notifyDownloadStateChanged(offlineAsset: offlineAsset)
84
88
  notifyDownloadsChange()
85
89
  }
86
90
  }
87
91
 
88
92
  func onComplete(offlineAsset: OfflineAsset) {
93
+ print("DownloadModule: Download Completed")
89
94
  if isListening {
90
- notifyDownloadStateChanged(offlineAsset: offlineAsset)
95
+ // notifyDownloadStateChanged(offlineAsset: offlineAsset)
91
96
  notifyDownloadsChange()
92
97
  }
93
98
  }
94
99
 
95
100
  func onPause(offlineAsset: OfflineAsset) {
101
+ print("DownloadModule: Download Paused")
96
102
  if isListening {
97
- notifyDownloadStateChanged(offlineAsset: offlineAsset)
103
+ // notifyDownloadStateChanged(offlineAsset: offlineAsset)
98
104
  notifyDownloadsChange()
99
105
  }
100
106
  }
101
107
 
102
108
  func onResume(offlineAsset: OfflineAsset) {
109
+ print("DownloadModule: Download Resumed")
103
110
  if isListening {
104
- notifyDownloadStateChanged(offlineAsset: offlineAsset)
111
+ // notifyDownloadStateChanged(offlineAsset: offlineAsset)
105
112
  notifyDownloadsChange()
106
113
  }
107
114
  }
108
115
 
109
116
  func onCanceled(assetId: String) {
117
+ print("DownloadModule: Download Canceled")
110
118
  if isListening {
111
- if let offlineAsset = getOfflineAsset(assetId: assetId) {
112
- notifyDownloadStateChanged(offlineAsset: offlineAsset)
113
- }
119
+ // if let offlineAsset = getOfflineAsset(assetId: assetId) {
120
+ // notifyDownloadStateChanged(offlineAsset: offlineAsset)
121
+ // }
114
122
  notifyDownloadsChange()
115
123
  }
116
124
  }
@@ -124,10 +132,12 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
124
132
  }
125
133
 
126
134
  private func notifyDownloadsChange() {
135
+ print("DownloadModule: Notifying downloads change to js")
127
136
  DispatchQueue.main.async { [weak self] in
128
137
  guard let self = self else { return }
129
138
  let downloadAssets = self.getAllDownloadItems()
130
139
  self.sendEvent(withName: "onDownloadProgressChanged", body: downloadAssets)
140
+ print("DownloadModule: Notified (emitted) downloads change event to js")
131
141
  }
132
142
  }
133
143
 
@@ -314,11 +324,13 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
314
324
 
315
325
  @objc
316
326
  override func addListener(_ eventName: String) {
327
+ print("adding listener: \(eventName)")
317
328
  super.addListener(eventName)
318
329
  }
319
330
 
320
331
  @objc
321
332
  override func removeListeners(_ count: Double) {
333
+ print("removing listener: \(count)")
322
334
  super.removeListeners(count)
323
335
 
324
336
  if count >= 1 && isListening {
@@ -9,6 +9,7 @@ class TPStreamsModule: NSObject {
9
9
 
10
10
  @objc func initialize(_ organizationId: NSString) {
11
11
  if !isInitialized {
12
+ print("Initializing TPStreamsSDK with org code: \(organizationId)")
12
13
  DispatchQueue.main.async {
13
14
  TPStreamsSDK.initialize(withOrgCode: organizationId as String)
14
15
  self.isInitialized = true
@@ -18,7 +19,9 @@ class TPStreamsModule: NSObject {
18
19
  }
19
20
 
20
21
  private func initializeDownloadModule() {
21
- _ = TPStreamsDownloadModule.shared
22
+ print("Initializing TPStreamsDownloadModule")
23
+ let _ = TPStreamsDownloadModule()
24
+ print("Intitalized TPStreamsDownloadModule")
22
25
  }
23
26
 
24
27
  @objc
@@ -184,12 +184,12 @@ class TPStreamsRNPlayerView: UIView {
184
184
  TPStreamsDownloadModule.shared?.setAccessTokenDelegate(self)
185
185
  }
186
186
 
187
- private func parseMetadataJSON(from jsonString: NSString?) -> [String: Any]? {
187
+ private func parseMetadataJSON(from jsonString: NSString?) -> [String: String]? {
188
188
  guard let metadataString = jsonString as String? else { return nil }
189
189
 
190
190
  guard let data = metadataString.data(using: .utf8) else { return nil }
191
191
  do {
192
- if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
192
+ if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: String] {
193
193
  return json
194
194
  }
195
195
  } catch {
@@ -6,15 +6,19 @@ const {
6
6
  } = NativeModules;
7
7
  const downloadEventEmitter = new NativeEventEmitter(TPStreamsDownload);
8
8
  export function addDownloadProgressListener() {
9
+ console.log('RN TPStreamsDownload: addDownloadProgressListener');
9
10
  return TPStreamsDownload.addDownloadProgressListener();
10
11
  }
11
12
  export function removeDownloadProgressListener() {
13
+ console.log('RN TPStreamsDownload: removeDownloadProgressListener');
12
14
  return TPStreamsDownload.removeDownloadProgressListener();
13
15
  }
14
16
  export function onDownloadProgressChanged(listener) {
17
+ console.log('RN TPStreamsDownload: onDownloadProgressChanged');
15
18
  return downloadEventEmitter.addListener('onDownloadProgressChanged', listener);
16
19
  }
17
20
  export function onDownloadStateChanged(listener) {
21
+ console.log('RN TPStreamsDownload: onDownloadStateChanged');
18
22
  return downloadEventEmitter.addListener('onDownloadStateChanged', event => {
19
23
  listener(event.downloadItem, event.error);
20
24
  });
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","NativeEventEmitter","TPStreamsDownload","downloadEventEmitter","addDownloadProgressListener","removeDownloadProgressListener","onDownloadProgressChanged","listener","addListener","onDownloadStateChanged","event","downloadItem","error","pauseDownload","videoId","resumeDownload","removeDownload","isDownloaded","isDownloading","isPaused","getDownloadStatus","getAllDownloads"],"sourceRoot":"../../src","sources":["TPStreamsDownload.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,kBAAkB,QAAQ,cAAc;AAGhE,MAAM;EAAEC;AAAkB,CAAC,GAAGF,aAAa;AA4B3C,MAAMG,oBAAoB,GAAG,IAAIF,kBAAkB,CAACC,iBAAiB,CAAC;AAEtE,OAAO,SAASE,2BAA2BA,CAAA,EAAkB;EAC3D,OAAOF,iBAAiB,CAACE,2BAA2B,CAAC,CAAC;AACxD;AAEA,OAAO,SAASC,8BAA8BA,CAAA,EAAkB;EAC9D,OAAOH,iBAAiB,CAACG,8BAA8B,CAAC,CAAC;AAC3D;AAEA,OAAO,SAASC,yBAAyBA,CACvCC,QAAkC,EACb;EACrB,OAAOJ,oBAAoB,CAACK,WAAW,CACrC,2BAA2B,EAC3BD,QACF,CAAC;AACH;AAEA,OAAO,SAASE,sBAAsBA,CACpCF,QAAqC,EAChB;EACrB,OAAOJ,oBAAoB,CAACK,WAAW,CAAC,wBAAwB,EAAGE,KAAK,IAAK;IAC3EH,QAAQ,CAACG,KAAK,CAACC,YAAY,EAAED,KAAK,CAACE,KAAK,CAAC;EAC3C,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,aAAaA,CAACC,OAAe,EAAiB;EAC5D,OAAOZ,iBAAiB,CAACW,aAAa,CAACC,OAAO,CAAC;AACjD;AAEA,OAAO,SAASC,cAAcA,CAACD,OAAe,EAAiB;EAC7D,OAAOZ,iBAAiB,CAACa,cAAc,CAACD,OAAO,CAAC;AAClD;AAEA,OAAO,SAASE,cAAcA,CAACF,OAAe,EAAiB;EAC7D,OAAOZ,iBAAiB,CAACc,cAAc,CAACF,OAAO,CAAC;AAClD;AAEA,OAAO,SAASG,YAAYA,CAACH,OAAe,EAAoB;EAC9D,OAAOZ,iBAAiB,CAACe,YAAY,CAACH,OAAO,CAAC;AAChD;AAEA,OAAO,SAASI,aAAaA,CAACJ,OAAe,EAAoB;EAC/D,OAAOZ,iBAAiB,CAACgB,aAAa,CAACJ,OAAO,CAAC;AACjD;AAEA,OAAO,SAASK,QAAQA,CAACL,OAAe,EAAoB;EAC1D,OAAOZ,iBAAiB,CAACiB,QAAQ,CAACL,OAAO,CAAC;AAC5C;AAEA,OAAO,SAASM,iBAAiBA,CAACN,OAAe,EAAmB;EAClE,OAAOZ,iBAAiB,CAACkB,iBAAiB,CAACN,OAAO,CAAC;AACrD;AAEA,OAAO,SAASO,eAAeA,CAAA,EAA4B;EACzD,OAAOnB,iBAAiB,CAACmB,eAAe,CAAC,CAAC;AAC5C","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","NativeEventEmitter","TPStreamsDownload","downloadEventEmitter","addDownloadProgressListener","console","log","removeDownloadProgressListener","onDownloadProgressChanged","listener","addListener","onDownloadStateChanged","event","downloadItem","error","pauseDownload","videoId","resumeDownload","removeDownload","isDownloaded","isDownloading","isPaused","getDownloadStatus","getAllDownloads"],"sourceRoot":"../../src","sources":["TPStreamsDownload.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,kBAAkB,QAAQ,cAAc;AAGhE,MAAM;EAAEC;AAAkB,CAAC,GAAGF,aAAa;AA4B3C,MAAMG,oBAAoB,GAAG,IAAIF,kBAAkB,CAACC,iBAAiB,CAAC;AAEtE,OAAO,SAASE,2BAA2BA,CAAA,EAAkB;EAC3DC,OAAO,CAACC,GAAG,CAAC,mDAAmD,CAAC;EAChE,OAAOJ,iBAAiB,CAACE,2BAA2B,CAAC,CAAC;AACxD;AAEA,OAAO,SAASG,8BAA8BA,CAAA,EAAkB;EAC9DF,OAAO,CAACC,GAAG,CAAC,sDAAsD,CAAC;EACnE,OAAOJ,iBAAiB,CAACK,8BAA8B,CAAC,CAAC;AAC3D;AAEA,OAAO,SAASC,yBAAyBA,CACvCC,QAAkC,EACb;EACrBJ,OAAO,CAACC,GAAG,CAAC,iDAAiD,CAAC;EAC9D,OAAOH,oBAAoB,CAACO,WAAW,CACrC,2BAA2B,EAC3BD,QACF,CAAC;AACH;AAEA,OAAO,SAASE,sBAAsBA,CACpCF,QAAqC,EAChB;EACrBJ,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;EAC3D,OAAOH,oBAAoB,CAACO,WAAW,CAAC,wBAAwB,EAAGE,KAAK,IAAK;IAC3EH,QAAQ,CAACG,KAAK,CAACC,YAAY,EAAED,KAAK,CAACE,KAAK,CAAC;EAC3C,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,aAAaA,CAACC,OAAe,EAAiB;EAC5D,OAAOd,iBAAiB,CAACa,aAAa,CAACC,OAAO,CAAC;AACjD;AAEA,OAAO,SAASC,cAAcA,CAACD,OAAe,EAAiB;EAC7D,OAAOd,iBAAiB,CAACe,cAAc,CAACD,OAAO,CAAC;AAClD;AAEA,OAAO,SAASE,cAAcA,CAACF,OAAe,EAAiB;EAC7D,OAAOd,iBAAiB,CAACgB,cAAc,CAACF,OAAO,CAAC;AAClD;AAEA,OAAO,SAASG,YAAYA,CAACH,OAAe,EAAoB;EAC9D,OAAOd,iBAAiB,CAACiB,YAAY,CAACH,OAAO,CAAC;AAChD;AAEA,OAAO,SAASI,aAAaA,CAACJ,OAAe,EAAoB;EAC/D,OAAOd,iBAAiB,CAACkB,aAAa,CAACJ,OAAO,CAAC;AACjD;AAEA,OAAO,SAASK,QAAQA,CAACL,OAAe,EAAoB;EAC1D,OAAOd,iBAAiB,CAACmB,QAAQ,CAACL,OAAO,CAAC;AAC5C;AAEA,OAAO,SAASM,iBAAiBA,CAACN,OAAe,EAAmB;EAClE,OAAOd,iBAAiB,CAACoB,iBAAiB,CAACN,OAAO,CAAC;AACrD;AAEA,OAAO,SAASO,eAAeA,CAAA,EAA4B;EACzD,OAAOrB,iBAAiB,CAACqB,eAAe,CAAC,CAAC;AAC5C","ignoreList":[]}
@@ -7,7 +7,7 @@ export interface DownloadItem {
7
7
  downloadedBytes: number;
8
8
  progressPercentage: number;
9
9
  state: string;
10
- metadata: Record<string, any>;
10
+ metadata: string;
11
11
  }
12
12
  export type DownloadProgressChange = DownloadItem;
13
13
  export type DownloadProgressListener = (downloads: DownloadProgressChange[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"TPStreamsDownload.d.ts","sourceRoot":"","sources":["../../../src/TPStreamsDownload.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAClD,MAAM,MAAM,wBAAwB,GAAG,CACrC,SAAS,EAAE,sBAAsB,EAAE,KAChC,IAAI,CAAC;AAEV,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,2BAA2B,GAAG,CACxC,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,aAAa,GAAG,IAAI,KACxB,IAAI,CAAC;AAIV,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,wBAAwB,GACjC,mBAAmB,CAKrB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,2BAA2B,GACpC,mBAAmB,CAIrB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE9D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAElE;AAED,wBAAgB,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAEzD"}
1
+ {"version":3,"file":"TPStreamsDownload.d.ts","sourceRoot":"","sources":["../../../src/TPStreamsDownload.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAClD,MAAM,MAAM,wBAAwB,GAAG,CACrC,SAAS,EAAE,sBAAsB,EAAE,KAChC,IAAI,CAAC;AAEV,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,2BAA2B,GAAG,CACxC,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,aAAa,GAAG,IAAI,KACxB,IAAI,CAAC;AAIV,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3D;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAG9D;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,wBAAwB,GACjC,mBAAmB,CAMrB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,2BAA2B,GACpC,mBAAmB,CAKrB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE9D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAElE;AAED,wBAAgB,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAEzD"}
@@ -19,7 +19,7 @@ export interface TPStreamsPlayerProps extends ViewProps {
19
19
  offlineLicenseExpireTime?: number;
20
20
  showDefaultCaptions?: boolean;
21
21
  downloadMetadata?: {
22
- [key: string]: any;
22
+ [key: string]: string;
23
23
  };
24
24
  onPlayerStateChanged?: (state: number) => void;
25
25
  onIsPlayingChanged?: (isPlaying: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"TPStreamsPlayer.d.ts","sourceRoot":"","sources":["../../../src/TPStreamsPlayer.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAc9C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,kBAAkB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC;AAGD,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC1C,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,CAAC;IACX,oBAAoB,CAAC,EAAE,CACrB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,KACjC,IAAI,CAAC;CACX;AAED;;;GAGG;AACH,QAAA,MAAM,mBAAmB,qHAyMvB,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"TPStreamsPlayer.d.ts","sourceRoot":"","sources":["../../../src/TPStreamsPlayer.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAc9C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,kBAAkB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC;AAGD,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,CAAC;IACX,oBAAoB,CAAC,EAAE,CACrB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,KACjC,IAAI,CAAC;CACX;AAED;;;GAGG;AACH,QAAA,MAAM,mBAAmB,qHAyMvB,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tpstreams",
3
- "version": "1.0.3-debug.10",
3
+ "version": "1.0.3-debug.2",
4
4
  "description": "Video component for TPStreams",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -11,7 +11,7 @@ export interface DownloadItem {
11
11
  downloadedBytes: number;
12
12
  progressPercentage: number;
13
13
  state: string;
14
- metadata: Record<string, any>;
14
+ metadata: string;
15
15
  }
16
16
 
17
17
  export type DownloadProgressChange = DownloadItem;
@@ -32,16 +32,19 @@ export type DownloadStateChangeListener = (
32
32
  const downloadEventEmitter = new NativeEventEmitter(TPStreamsDownload);
33
33
 
34
34
  export function addDownloadProgressListener(): Promise<void> {
35
+ console.log('RN TPStreamsDownload: addDownloadProgressListener');
35
36
  return TPStreamsDownload.addDownloadProgressListener();
36
37
  }
37
38
 
38
39
  export function removeDownloadProgressListener(): Promise<void> {
40
+ console.log('RN TPStreamsDownload: removeDownloadProgressListener');
39
41
  return TPStreamsDownload.removeDownloadProgressListener();
40
42
  }
41
43
 
42
44
  export function onDownloadProgressChanged(
43
45
  listener: DownloadProgressListener
44
46
  ): EmitterSubscription {
47
+ console.log('RN TPStreamsDownload: onDownloadProgressChanged');
45
48
  return downloadEventEmitter.addListener(
46
49
  'onDownloadProgressChanged',
47
50
  listener
@@ -51,6 +54,7 @@ export function onDownloadProgressChanged(
51
54
  export function onDownloadStateChanged(
52
55
  listener: DownloadStateChangeListener
53
56
  ): EmitterSubscription {
57
+ console.log('RN TPStreamsDownload: onDownloadStateChanged');
54
58
  return downloadEventEmitter.addListener('onDownloadStateChanged', (event) => {
55
59
  listener(event.downloadItem, event.error);
56
60
  });
@@ -40,7 +40,7 @@ export interface TPStreamsPlayerProps extends ViewProps {
40
40
  enableDownload?: boolean;
41
41
  offlineLicenseExpireTime?: number;
42
42
  showDefaultCaptions?: boolean;
43
- downloadMetadata?: { [key: string]: any };
43
+ downloadMetadata?: { [key: string]: string };
44
44
  onPlayerStateChanged?: (state: number) => void;
45
45
  onIsPlayingChanged?: (isPlaying: boolean) => void;
46
46
  onPlaybackSpeedChanged?: (speed: number) => void;
@@ -1,46 +0,0 @@
1
- package com.tpstreams
2
-
3
- import org.json.JSONObject
4
-
5
- object JsonUtils {
6
-
7
- fun parseJsonString(map: Map<String, Any>?): Map<String, Any> {
8
- val result = mutableMapOf<String, Any>()
9
- map?.forEach { (key, value) ->
10
- when (value) {
11
- is String -> {
12
- if (value.startsWith("{") && value.endsWith("}")) {
13
- try {
14
- val json = JSONObject(value)
15
- result[key] = jsonToMap(json)
16
- } catch (e: Exception) {
17
- result[key] = value
18
- }
19
- } else {
20
- result[key] = value
21
- }
22
- }
23
- else -> result[key] = value
24
- }
25
- }
26
- return result
27
- }
28
-
29
- private fun jsonToMap(json: JSONObject): Map<String, Any> {
30
- val map = mutableMapOf<String, Any>()
31
- val keys = json.keys()
32
- while (keys.hasNext()) {
33
- val key = keys.next()
34
- val value = json.get(key)
35
- when (value) {
36
- is String -> map[key] = value
37
- is Int -> map[key] = value
38
- is Double -> map[key] = value
39
- is Boolean -> map[key] = value
40
- is JSONObject -> map[key] = jsonToMap(value)
41
- else -> map[key] = value.toString()
42
- }
43
- }
44
- return map
45
- }
46
- }