@amazon-devices/kepler-player-server 2.2.3

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 (31) hide show
  1. package/LICENSE +7 -0
  2. package/SystemBundles/1ec2db48db4ef1b38507a6710528f56ecd29852766bb462b44556dd0c9057b71.bundle +1801 -0
  3. package/SystemBundles/1ec2db48db4ef1b38507a6710528f56ecd29852766bb462b44556dd0c9057b71.bundle.map +1 -0
  4. package/SystemModules/amzn__kepler-player-server-2.modules.txt +6 -0
  5. package/SystemModules/amzn__kepler-player-server-2.private.modules.txt +22 -0
  6. package/SystemModules/keplerscript-system-bundle-config.json +7 -0
  7. package/dist/index.d.ts +7 -0
  8. package/dist/index.js +3 -0
  9. package/dist/kepler/tm-manifest.json +1 -0
  10. package/dist/turbo-modules/IPlayerServer.d.ts +393 -0
  11. package/dist/turbo-modules/IPlayerServer.js +14 -0
  12. package/dist/turbo-modules/KeplerPlayerServerTurboModule.d.ts +18 -0
  13. package/dist/turbo-modules/KeplerPlayerServerTurboModule.js +3 -0
  14. package/dist/turbo-modules/PlayerServer.d.ts +42 -0
  15. package/dist/turbo-modules/PlayerServer.js +642 -0
  16. package/dist/turbo-modules/PlayerServerDataTypes/PlayerServerDataTypes.d.ts +319 -0
  17. package/dist/turbo-modules/PlayerServerDataTypes/PlayerServerDataTypes.js +67 -0
  18. package/dist/turbo-modules/PlayerServerDataTypes/PlayerServerDataTypesInternal.d.ts +17 -0
  19. package/dist/turbo-modules/PlayerServerDataTypes/PlayerServerDataTypesInternal.js +14 -0
  20. package/dist/turbo-modules/PlayerServerDataTypes/PlayerSessionError.d.ts +22 -0
  21. package/dist/turbo-modules/PlayerServerDataTypes/PlayerSessionError.js +37 -0
  22. package/dist/turbo-modules/PlayerServerFactory.d.ts +38 -0
  23. package/dist/turbo-modules/PlayerServerFactory.js +28 -0
  24. package/dist/turbo-modules/PlayerServerHandler.d.ts +374 -0
  25. package/dist/turbo-modules/PlayerServerHandler.js +1 -0
  26. package/dist/turbo-modules/__mocks__/KeplerPlayerServerTurboModule.d.ts +22 -0
  27. package/dist/turbo-modules/__mocks__/KeplerPlayerServerTurboModule.js +32 -0
  28. package/kepler-compatibility.json +14 -0
  29. package/kepler-transformed-package-info.json +3 -0
  30. package/package.json +1 -0
  31. package/react-native.config.js +17 -0
@@ -0,0 +1,642 @@
1
+ /*
2
+ * Copyright 2025 Amazon.com, Inc. or its affiliates. All rights reserved.
3
+ *
4
+ * AMAZON PROPRIETARY/CONFIDENTIAL
5
+ *
6
+ * You may not use this file except in compliance with the terms and
7
+ * conditions set forth in the accompanying LICENSE.TXT file.
8
+ *
9
+ * THESE MATERIALS ARE PROVIDED ON AN "AS IS" BASIS. AMAZON SPECIFICALLY
10
+ * DISCLAIMS, WITH RESPECT TO THESE MATERIALS, ALL WARRANTIES, EXPRESS,
11
+ * IMPLIED, OR STATUTORY, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY,
12
+ * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
13
+ */
14
+ import { IUnloadSyncStatus } from './PlayerServerDataTypes/PlayerServerDataTypes';
15
+ import KeplerPlayerServerTurboModule from './KeplerPlayerServerTurboModule';
16
+ /**
17
+ * @ignore
18
+ * The implementation of IPlayerServer.
19
+ */
20
+ export class PlayerServer {
21
+ mServerHandler = null;
22
+ mPositionListenerMap = new Map();
23
+ clearPositionListeners(sessionId, listenerId) {
24
+ let _sessionId = sessionId ? sessionId.id : -1;
25
+ const sessionListeners = this.mPositionListenerMap.get(_sessionId);
26
+ if (!sessionListeners) {
27
+ // no listener for session, nothing to do
28
+ return false;
29
+ }
30
+ if (!listenerId) {
31
+ // not deleting specific listener, clear all timers and delete map entry for session.
32
+ sessionListeners.forEach(value => {
33
+ clearInterval(value[1]);
34
+ });
35
+ this.mPositionListenerMap.delete(_sessionId);
36
+ }
37
+ else {
38
+ // clear specific timer and update listener map
39
+ const match = sessionListeners.find(value => value[0] == listenerId);
40
+ if (!match) {
41
+ // listenerId not found
42
+ return false;
43
+ }
44
+ clearInterval(match[1]);
45
+ const remainingListeners = sessionListeners?.filter(values => values[0] != listenerId);
46
+ if (remainingListeners) {
47
+ this.mPositionListenerMap.set(_sessionId, remainingListeners);
48
+ }
49
+ else {
50
+ this.mPositionListenerMap.delete(_sessionId);
51
+ }
52
+ }
53
+ return true;
54
+ }
55
+ handleEvent(result, transactionId) {
56
+ console.log('KeplerPlayerServer: handleEvent with callback event ', result.event);
57
+ if (this.mServerHandler === null) {
58
+ return;
59
+ }
60
+ let resultCallback = result.event;
61
+ if (resultCallback === "handleLoad") {
62
+ try {
63
+ this.mServerHandler.handleLoad(result.urlInfo, result.loadParams, result.sessionId);
64
+ console.log("handleLoad: Success.");
65
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
66
+ }
67
+ catch (error) {
68
+ let message = "Unknown";
69
+ if (error instanceof Error) {
70
+ message = error.message;
71
+ }
72
+ console.log(`handleLoad: Error: ${message}`);
73
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
74
+ }
75
+ }
76
+ else if (resultCallback === "handleUnload") {
77
+ try {
78
+ this.clearPositionListeners(result.sessionId);
79
+ this.mServerHandler.handleUnload(result.sessionId);
80
+ console.log("handleUnload: Success.");
81
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
82
+ }
83
+ catch (error) {
84
+ let message = "Unknown";
85
+ if (error instanceof Error) {
86
+ message = error.message;
87
+ }
88
+ console.log(`handleUnload: Error: ${message}`);
89
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
90
+ }
91
+ }
92
+ else if (resultCallback === "handleSetVideoView") {
93
+ try {
94
+ this.mServerHandler.handleSetVideoView(result.handle, result.sessionId);
95
+ console.log("handleSetVideoView: Success.");
96
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
97
+ }
98
+ catch (error) {
99
+ let message = "Unknown";
100
+ if (error instanceof Error) {
101
+ message = error.message;
102
+ }
103
+ console.log(`handleSetVideoView: Error: ${message}`);
104
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
105
+ }
106
+ }
107
+ else if (resultCallback === "handleClearVideoView") {
108
+ try {
109
+ this.mServerHandler.handleClearVideoView(result.sessionId);
110
+ console.log("handleClearVideoView: Success.");
111
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
112
+ }
113
+ catch (error) {
114
+ let message = "Unknown";
115
+ if (error instanceof Error) {
116
+ message = error.message;
117
+ }
118
+ console.log(`handleClearVideoView: Error: ${message}`);
119
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
120
+ }
121
+ }
122
+ else if (resultCallback === "handleSetTextView") {
123
+ try {
124
+ this.mServerHandler.handleSetTextView(result.handle, result.sessionId);
125
+ console.log("handleSetTextView: Success.");
126
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
127
+ }
128
+ catch (error) {
129
+ let message = "Unknown";
130
+ if (error instanceof Error) {
131
+ message = error.message;
132
+ }
133
+ console.log(`handleSetTextView: Error: ${message}`);
134
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
135
+ }
136
+ }
137
+ else if (resultCallback === "handleClearTextView") {
138
+ try {
139
+ this.mServerHandler.handleClearTextView(result.sessionId);
140
+ console.log("handleClearTextView: Success.");
141
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
142
+ }
143
+ catch (error) {
144
+ let message = "Unknown";
145
+ if (error instanceof Error) {
146
+ message = error.message;
147
+ }
148
+ console.log(`handleClearTextView: Error: ${message}`);
149
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
150
+ }
151
+ }
152
+ else if (resultCallback === "handlePlay") {
153
+ try {
154
+ this.mServerHandler.handlePlay(result.sessionId);
155
+ console.log("handlePlay: Success.");
156
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
157
+ }
158
+ catch (error) {
159
+ let message = "Unknown";
160
+ if (error instanceof Error) {
161
+ message = error.message;
162
+ }
163
+ console.log(`handlePlay: Error: ${message}`);
164
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
165
+ }
166
+ }
167
+ else if (resultCallback === "handlePause") {
168
+ try {
169
+ this.mServerHandler.handlePause(result.sessionId);
170
+ console.log("handlePause: Success.");
171
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
172
+ }
173
+ catch (error) {
174
+ let message = "Unknown";
175
+ if (error instanceof Error) {
176
+ message = error.message;
177
+ }
178
+ console.log(`handlePause: Error: ${message}`);
179
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
180
+ }
181
+ }
182
+ else if (resultCallback === "handleSeek") {
183
+ try {
184
+ this.mServerHandler.handleSeek(result.timevalue, result.boolValue, result.sessionId);
185
+ console.log("handleSeek: Success.");
186
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
187
+ }
188
+ catch (error) {
189
+ let message = "Unknown";
190
+ if (error instanceof Error) {
191
+ message = error.message;
192
+ }
193
+ console.log(`handleSeek: Error: ${message}`);
194
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
195
+ }
196
+ }
197
+ else if (resultCallback === "handleSetMute") {
198
+ try {
199
+ this.mServerHandler.handleSetMute(result.boolValue, result.sessionId);
200
+ console.log("handleSetMute: Success.");
201
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
202
+ }
203
+ catch (error) {
204
+ let message = "Unknown";
205
+ if (error instanceof Error) {
206
+ message = error.message;
207
+ }
208
+ console.log(`handleSetMute: Error: ${message}`);
209
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
210
+ }
211
+ }
212
+ else if (resultCallback === "handleSetPlaybackRate") {
213
+ try {
214
+ this.mServerHandler.handleSetPlaybackRate(result.numberValue, result.sessionId);
215
+ console.log("handleSetPlaybackRate: Success.");
216
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
217
+ }
218
+ catch (error) {
219
+ let message = "Unknown";
220
+ if (error instanceof Error) {
221
+ message = error.message;
222
+ }
223
+ console.log(`handleSetPlaybackRate: Error: ${message}`);
224
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
225
+ }
226
+ }
227
+ else if (resultCallback === "handleSetVolume") {
228
+ try {
229
+ this.mServerHandler.handleSetVolume(result.numberValue, result.sessionId);
230
+ console.log("handleSetVolume: Success.");
231
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
232
+ }
233
+ catch (error) {
234
+ let message = "Unknown";
235
+ if (error instanceof Error) {
236
+ message = error.message;
237
+ }
238
+ console.log(`handleSetVolume: Error: ${message}`);
239
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
240
+ }
241
+ }
242
+ else if (resultCallback === "handleSetActiveTrack") {
243
+ try {
244
+ this.mServerHandler.handleSetActiveTrack(result.trackType, result.stringValue, result.sessionId);
245
+ console.log("handleSetActiveTrack: Success.");
246
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
247
+ }
248
+ catch (error) {
249
+ let message = "Unknown";
250
+ if (error instanceof Error) {
251
+ message = error.message;
252
+ }
253
+ console.log(`handleSetActiveTrack: Error: ${message}`);
254
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
255
+ }
256
+ }
257
+ else if (resultCallback === "handleGetCurrentPosition") {
258
+ try {
259
+ let position = this.mServerHandler.handleGetCurrentPosition(result.sessionId);
260
+ console.log("handleGetCurrentPosition: Success.");
261
+ KeplerPlayerServerTurboModule.transactionSuccessWithValue(transactionId, { positionValue: position });
262
+ }
263
+ catch (error) {
264
+ let message = "Unknown";
265
+ if (error instanceof Error) {
266
+ message = error.message;
267
+ }
268
+ console.log(`handleGetCurrentPosition: Error: ${message}`);
269
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
270
+ }
271
+ }
272
+ else if (resultCallback === "handleMessage") {
273
+ try {
274
+ let messageObj = JSON.parse(result.stringValue);
275
+ this.mServerHandler.handleMessage(messageObj, result.sessionId);
276
+ console.log("handleMessage: Success.");
277
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
278
+ }
279
+ catch (error) {
280
+ let message = "Unknown";
281
+ if (error instanceof Error) {
282
+ message = error.message;
283
+ }
284
+ console.log(`handleMessage: Error: ${message}`);
285
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
286
+ }
287
+ }
288
+ else if (resultCallback === "handleStartBufferedRangesUpdates") {
289
+ try {
290
+ this.mServerHandler.handleStartBufferedRangesUpdates(result.sessionId);
291
+ console.log("handleStartBufferedRangesUpdates: Success.");
292
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
293
+ }
294
+ catch (error) {
295
+ let message = "Unknown";
296
+ if (error instanceof Error) {
297
+ message = error.message;
298
+ }
299
+ console.log(`handleStartBufferedRangesUpdates: Error: ${message}`);
300
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
301
+ }
302
+ }
303
+ else if (resultCallback === "handleStopBufferedRangesUpdates") {
304
+ try {
305
+ this.mServerHandler.handleStopBufferedRangesUpdates(result.sessionId);
306
+ console.log("handleStopBufferedRangesUpdates: Success.");
307
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
308
+ }
309
+ catch (error) {
310
+ let message = "Unknown";
311
+ if (error instanceof Error) {
312
+ message = error.message;
313
+ }
314
+ console.log(`handleStopBufferedRangesUpdates: Error: ${message}`);
315
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
316
+ }
317
+ }
318
+ else if (resultCallback === "handleStartStatusUpdates") {
319
+ try {
320
+ this.mServerHandler.handleStartStatusUpdates(result.sessionId);
321
+ console.log("handleStartStatusUpdates: Success.");
322
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
323
+ }
324
+ catch (error) {
325
+ let message = "Unknown";
326
+ if (error instanceof Error) {
327
+ message = error.message;
328
+ }
329
+ console.log(`handleStartStatusUpdates: Error: ${message}`);
330
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
331
+ }
332
+ }
333
+ else if (resultCallback === "handleStopStatusUpdates") {
334
+ try {
335
+ this.mServerHandler.handleStopStatusUpdates(result.sessionId);
336
+ console.log("handleStopStatusUpdates: Success.");
337
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
338
+ }
339
+ catch (error) {
340
+ let message = "Unknown";
341
+ if (error instanceof Error) {
342
+ message = error.message;
343
+ }
344
+ console.log(`handleStopStatusUpdates: Error: ${message}`);
345
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
346
+ }
347
+ }
348
+ else if (resultCallback === "handleStartTrackUpdates") {
349
+ try {
350
+ this.mServerHandler.handleStartTrackUpdates(result.sessionId);
351
+ console.log("handleStartTrackUpdates: Success.");
352
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
353
+ }
354
+ catch (error) {
355
+ let message = "Unknown";
356
+ if (error instanceof Error) {
357
+ message = error.message;
358
+ }
359
+ console.log(`handleStartTrackUpdates: Error: ${message}`);
360
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
361
+ }
362
+ }
363
+ else if (resultCallback === "handleStopTrackUpdates") {
364
+ try {
365
+ this.mServerHandler.handleStopTrackUpdates(result.sessionId);
366
+ console.log("handleStopTrackUpdates: Success.");
367
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
368
+ }
369
+ catch (error) {
370
+ let message = "Unknown";
371
+ if (error instanceof Error) {
372
+ message = error.message;
373
+ }
374
+ console.log(`handleStopTrackUpdates: Error: ${message}`);
375
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
376
+ }
377
+ }
378
+ else if (resultCallback === "handleStartMessageUpdates") {
379
+ try {
380
+ this.mServerHandler.handleStartMessageUpdates(result.sessionId);
381
+ console.log("handleStartMessageUpdates: Success.");
382
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
383
+ }
384
+ catch (error) {
385
+ let message = "Unknown";
386
+ if (error instanceof Error) {
387
+ message = error.message;
388
+ }
389
+ console.log(`handleStartMessageUpdates: Error: ${message}`);
390
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
391
+ }
392
+ }
393
+ else if (resultCallback === "handleStopMessageUpdates") {
394
+ try {
395
+ this.mServerHandler.handleStopMessageUpdates(result.sessionId);
396
+ console.log("handleStopMessageUpdates: Success.");
397
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
398
+ }
399
+ catch (error) {
400
+ let message = "Unknown";
401
+ if (error instanceof Error) {
402
+ message = error.message;
403
+ }
404
+ console.log(`handleStopMessageUpdates: Error: ${message}`);
405
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
406
+ }
407
+ }
408
+ else if (resultCallback === "handleStartErrorUpdates") {
409
+ try {
410
+ this.mServerHandler.handleStartErrorUpdates(result.sessionId);
411
+ console.log("handleStartErrorUpdates: Success.");
412
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
413
+ }
414
+ catch (error) {
415
+ let message = "Unknown";
416
+ if (error instanceof Error) {
417
+ message = error.message;
418
+ }
419
+ console.log(`handleStartErrorUpdates: Error: ${message}`);
420
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
421
+ }
422
+ }
423
+ else if (resultCallback === "handleStopErrorUpdates") {
424
+ try {
425
+ this.mServerHandler.handleStopErrorUpdates(result.sessionId);
426
+ console.log("handleStopErrorUpdates: Success.");
427
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
428
+ }
429
+ catch (error) {
430
+ let message = "Unknown";
431
+ if (error instanceof Error) {
432
+ message = error.message;
433
+ }
434
+ console.log(`handleStopErrorUpdates: Error: ${message}`);
435
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
436
+ }
437
+ }
438
+ else if (resultCallback === "handleUnloadSync") {
439
+ try {
440
+ let _unloadSyncStatus = IUnloadSyncStatus.INVALID;
441
+ this.clearPositionListeners(result.sessionId);
442
+ if (this.mServerHandler.handleUnloadSync) {
443
+ _unloadSyncStatus = this.mServerHandler.handleUnloadSync(result.numberValue, result.sessionId);
444
+ console.log("handleUnloadSync: Success.");
445
+ KeplerPlayerServerTurboModule.transactionSuccessWithValue(transactionId, { unloadSyncStatus: _unloadSyncStatus });
446
+ }
447
+ else {
448
+ console.log("handleUnloadSync: not implemented, returning invalid.");
449
+ KeplerPlayerServerTurboModule.transactionError(transactionId, "handleUnloadSync not implemented.");
450
+ }
451
+ }
452
+ catch (error) {
453
+ let message = "Unknown";
454
+ if (error instanceof Error) {
455
+ message = error.message;
456
+ }
457
+ console.log(`handleUnloadSync: Error: ${message}`);
458
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
459
+ }
460
+ }
461
+ else if (resultCallback === "handleStartPlaybackPositionUpdates") {
462
+ try {
463
+ if (!result.timevalue || !result.numberValue) {
464
+ throw new Error(`invalid interval: ${result.timevalue} or listenerId: ${result.numberValue}`);
465
+ }
466
+ let sessionId = result.sessionId ? result.sessionId.id : -1;
467
+ let interval = result.timevalue;
468
+ let listenerId = result.numberValue;
469
+ let timerId = setInterval(async () => {
470
+ try {
471
+ if (!this.mServerHandler) {
472
+ throw new Error('invalid mServerHandler');
473
+ }
474
+ let position = this.mServerHandler.handleGetCurrentPosition(result.sessionId);
475
+ let sessionPosition = { sessionId: result.sessionId, position: position };
476
+ KeplerPlayerServerTurboModule.updatePlaybackPosition(listenerId, [sessionPosition]);
477
+ console.log(`updatePlaybackPosition: ${position}, for listenerId ${listenerId}`);
478
+ }
479
+ catch (error) {
480
+ console.error("updatePlaybackPosition error: ", error);
481
+ }
482
+ }, Math.floor(interval * 1000));
483
+ let listners = [[listenerId, timerId]];
484
+ const existingListeners = this.mPositionListenerMap.get(sessionId);
485
+ if (existingListeners) {
486
+ listners.concat(existingListeners);
487
+ }
488
+ this.mPositionListenerMap.set(sessionId, listners);
489
+ console.log("handleStartPlaybackPositionUpdates: Success.");
490
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
491
+ }
492
+ catch (error) {
493
+ let message = "Unknown";
494
+ if (error instanceof Error) {
495
+ message = error.message;
496
+ }
497
+ console.log(`handleStartPlaybackPositionUpdates: Error: ${message}`);
498
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
499
+ }
500
+ }
501
+ else if (resultCallback === "handleStopPlaybackPositionUpdates") {
502
+ try {
503
+ if (!result.numberValue) {
504
+ throw new Error(`invalid listenerId: ${result.numberValue}`);
505
+ }
506
+ if (!this.clearPositionListeners(result.sessionId, result.numberValue)) {
507
+ throw new Error(`ListenerId ${result.numberValue} not present for sessionId ${result.sessionId}`);
508
+ }
509
+ console.log("handleStopPlaybackPositionUpdates: Success.");
510
+ KeplerPlayerServerTurboModule.transactionSuccess(transactionId);
511
+ }
512
+ catch (error) {
513
+ let message = "Unknown";
514
+ if (error instanceof Error) {
515
+ message = error.message;
516
+ }
517
+ console.log(`handleStopPlaybackPositionUpdates: Error: ${message}`);
518
+ KeplerPlayerServerTurboModule.transactionError(transactionId, message);
519
+ }
520
+ }
521
+ else {
522
+ console.log("Unknown handler event: ", resultCallback);
523
+ }
524
+ }
525
+ /**
526
+ * {@inheritDoc}
527
+ */
528
+ setHandler(_handler, _componentId) {
529
+ this.mServerHandler = _handler;
530
+ this.handleEvent = this.handleEvent.bind(this);
531
+ KeplerPlayerServerTurboModule.setHandler(this.handleEvent, _componentId);
532
+ }
533
+ /**
534
+ * {@inheritDoc}
535
+ */
536
+ updateBufferedRanges(_bufferedRanges, _sessionId) {
537
+ if (!_sessionId) {
538
+ _sessionId = { id: -1 };
539
+ }
540
+ const resultPromise = new Promise((resolve, reject) => {
541
+ try {
542
+ KeplerPlayerServerTurboModule.updateBufferedRanges(_bufferedRanges, _sessionId);
543
+ resolve();
544
+ }
545
+ catch (error) {
546
+ reject(error);
547
+ }
548
+ });
549
+ return resultPromise;
550
+ }
551
+ /**
552
+ * {@inheritDoc}
553
+ */
554
+ updateStatus(_states) {
555
+ const resultPromise = new Promise((resolve, reject) => {
556
+ try {
557
+ KeplerPlayerServerTurboModule.updateStatus(_states);
558
+ resolve();
559
+ }
560
+ catch (error) {
561
+ reject(error);
562
+ }
563
+ });
564
+ return resultPromise;
565
+ }
566
+ /**
567
+ * {@inheritDoc}
568
+ */
569
+ addTrack(_newTrack, _sessionId) {
570
+ if (!_sessionId) {
571
+ _sessionId = { id: -1 };
572
+ }
573
+ const resultPromise = new Promise((resolve, reject) => {
574
+ try {
575
+ KeplerPlayerServerTurboModule.addTrack(_newTrack, _sessionId);
576
+ resolve();
577
+ }
578
+ catch (error) {
579
+ reject(error);
580
+ }
581
+ });
582
+ return resultPromise;
583
+ }
584
+ /**
585
+ * {@inheritDoc}
586
+ */
587
+ removeTrack(_removedTrack, _sessionId) {
588
+ if (!_sessionId) {
589
+ _sessionId = { id: -1 };
590
+ }
591
+ const resultPromise = new Promise((resolve, reject) => {
592
+ try {
593
+ KeplerPlayerServerTurboModule.removeTrack(_removedTrack, _sessionId);
594
+ resolve();
595
+ }
596
+ catch (error) {
597
+ reject(error);
598
+ }
599
+ });
600
+ return resultPromise;
601
+ }
602
+ /**
603
+ * {@inheritDoc}
604
+ */
605
+ sendMessage(_message, _sessionId) {
606
+ if (!_sessionId) {
607
+ _sessionId = { id: -1 };
608
+ }
609
+ if (_message === undefined) { // _message = null is allowed.
610
+ return Promise.reject("undefined message passed.");
611
+ }
612
+ const resultPromise = new Promise((resolve, reject) => {
613
+ try {
614
+ let _messageString = JSON.stringify(_message);
615
+ KeplerPlayerServerTurboModule.sendMessage(_messageString, _sessionId);
616
+ resolve();
617
+ }
618
+ catch (error) {
619
+ reject(error);
620
+ }
621
+ });
622
+ return resultPromise;
623
+ }
624
+ /**
625
+ * {@inheritDoc}
626
+ */
627
+ sendError(_error, _sessionId) {
628
+ if (!_sessionId) {
629
+ _sessionId = { id: -1 };
630
+ }
631
+ const resultPromise = new Promise((resolve, reject) => {
632
+ try {
633
+ KeplerPlayerServerTurboModule.sendError(_error, _sessionId);
634
+ resolve();
635
+ }
636
+ catch (error) {
637
+ reject(error);
638
+ }
639
+ });
640
+ return resultPromise;
641
+ }
642
+ }