capacitor-plugin-playlist 0.8.7 → 0.9.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.
Files changed (30) hide show
  1. package/android/src/main/java/org/dwbn/plugins/playlist/OnStatusCallback.kt +3 -13
  2. package/android/src/main/java/org/dwbn/plugins/playlist/PlaylistPlugin.kt +120 -32
  3. package/android/src/main/java/org/dwbn/plugins/playlist/RmxAudioPlayer.java +41 -0
  4. package/android/src/test/java/org/dwbn/plugins/playlist/StatusBridgePolicyTest.kt +56 -0
  5. package/dist/docs.json +72 -0
  6. package/dist/esm/RmxAudioPlayer.js +14 -3
  7. package/dist/esm/RmxAudioPlayer.js.map +1 -1
  8. package/dist/esm/definitions.d.ts +19 -0
  9. package/dist/esm/web.d.ts +8 -0
  10. package/dist/esm/web.js +39 -24
  11. package/dist/esm/web.js.map +1 -1
  12. package/dist/plugin.cjs.js +55 -27
  13. package/dist/plugin.cjs.js.map +1 -1
  14. package/dist/plugin.js +55 -27
  15. package/dist/plugin.js.map +1 -1
  16. package/ios/Plugin/AudioTrack.swift +6 -1
  17. package/ios/Plugin/Plugin.m +0 -1
  18. package/ios/Plugin/Plugin.swift +42 -17
  19. package/ios/Plugin/RmxAudioPlayer.swift +101 -8
  20. package/ios/PluginTests/PluginTests.swift +12 -24
  21. package/package.json +1 -1
  22. package/android/.gradle/8.11.1/checksums/checksums.lock +0 -0
  23. package/android/.gradle/8.11.1/checksums/md5-checksums.bin +0 -0
  24. package/android/.gradle/8.11.1/checksums/sha1-checksums.bin +0 -0
  25. package/android/.gradle/8.11.1/executionHistory/executionHistory.bin +0 -0
  26. package/android/.gradle/8.11.1/executionHistory/executionHistory.lock +0 -0
  27. package/android/.gradle/8.11.1/fileChanges/last-build.bin +0 -0
  28. package/android/.gradle/8.11.1/fileHashes/fileHashes.bin +0 -0
  29. package/android/.gradle/8.11.1/fileHashes/fileHashes.lock +0 -0
  30. package/android/.gradle/8.11.1/gc.properties +0 -0
package/dist/esm/web.js CHANGED
@@ -9,6 +9,7 @@ export class PlaylistWeb extends WebPlugin {
9
9
  this.options = {};
10
10
  this.currentTrack = null;
11
11
  this.lastState = 'stopped';
12
+ this.lastKnownHandoffPosition = 0;
12
13
  this.hlsLoaded = false;
13
14
  }
14
15
  addAllItems(options) {
@@ -86,16 +87,18 @@ export class PlaylistWeb extends WebPlugin {
86
87
  return Promise.resolve();
87
88
  }
88
89
  removeItem(options) {
89
- this.playlistItems.forEach((item, index) => {
90
- if (options.index && options.index === index) {
91
- const removedTrack = this.playlistItems.splice(index, 1);
92
- this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
93
- }
94
- else if (options.id && options.id === item.trackId) {
95
- const removedTrack = this.playlistItems.splice(index, 1);
96
- this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
97
- }
98
- });
90
+ // options.index can be 0; don't use a truthy check.
91
+ let removeIndex = -1;
92
+ if (options.index !== undefined && options.index !== null) {
93
+ removeIndex = options.index;
94
+ }
95
+ else if (options.id) {
96
+ removeIndex = this.playlistItems.findIndex((t) => t.trackId === options.id);
97
+ }
98
+ if (removeIndex >= 0 && removeIndex < this.playlistItems.length) {
99
+ const removedTrack = this.playlistItems.splice(removeIndex, 1)[0];
100
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack, removedTrack === null || removedTrack === void 0 ? void 0 : removedTrack.trackId);
101
+ }
99
102
  return Promise.resolve();
100
103
  }
101
104
  removeItems(options) {
@@ -162,7 +165,7 @@ export class PlaylistWeb extends WebPlugin {
162
165
  async skipForward() {
163
166
  let found = null;
164
167
  this.playlistItems.forEach((item, index) => {
165
- if (!found && this.getCurrentTrackId() === item.trackId) {
168
+ if (found === null && this.getCurrentTrackId() === item.trackId) {
166
169
  found = index;
167
170
  }
168
171
  });
@@ -170,30 +173,29 @@ export class PlaylistWeb extends WebPlugin {
170
173
  found = -1;
171
174
  }
172
175
  if (found !== null) {
173
- this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
174
- currentIndex: found + 1,
175
- currentItem: this.playlistItems[found + 1]
176
- }, this.playlistItems[found + 1].trackId);
177
- return this.setCurrent(this.playlistItems[found + 1]);
176
+ const targetIndex = found + 1;
177
+ this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_FORWARD, {
178
+ currentIndex: targetIndex,
179
+ currentItem: this.playlistItems[targetIndex]
180
+ }, this.playlistItems[targetIndex].trackId);
181
+ return this.setCurrent(this.playlistItems[targetIndex]);
178
182
  }
179
183
  return Promise.reject();
180
184
  }
181
185
  async skipBack() {
182
186
  let found = null;
183
187
  this.playlistItems.forEach((item, index) => {
184
- if (!found && this.getCurrentTrackId() === item.trackId) {
188
+ if (found === null && this.getCurrentTrackId() === item.trackId) {
185
189
  found = index;
186
190
  }
187
191
  });
188
- if (found === 0) {
189
- found = this.playlistItems.length - 1;
190
- }
191
192
  if (found !== null) {
193
+ const targetIndex = found === 0 ? this.playlistItems.length - 1 : found - 1;
192
194
  this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
193
- currentIndex: found - 1,
194
- currentItem: this.playlistItems[found - 1]
195
- }, this.playlistItems[found - 1].trackId);
196
- return this.setCurrent(this.playlistItems[found - 1]);
195
+ currentIndex: targetIndex,
196
+ currentItem: this.playlistItems[targetIndex]
197
+ }, this.playlistItems[targetIndex].trackId);
198
+ return this.setCurrent(this.playlistItems[targetIndex]);
197
199
  }
198
200
  return Promise.reject();
199
201
  }
@@ -204,6 +206,19 @@ export class PlaylistWeb extends WebPlugin {
204
206
  }
205
207
  return Promise.reject();
206
208
  }
209
+ async prepareForVideoHandoff() {
210
+ var _a, _b;
211
+ this.lastKnownHandoffPosition = (_b = (_a = this.audio) === null || _a === void 0 ? void 0 : _a.currentTime) !== null && _b !== void 0 ? _b : 0;
212
+ await this.pause();
213
+ return Promise.resolve();
214
+ }
215
+ async resumeAfterVideoHandoff(options) {
216
+ this.lastKnownHandoffPosition = options.position;
217
+ return Promise.resolve();
218
+ }
219
+ async getLastKnownPosition() {
220
+ return Promise.resolve({ position: this.lastKnownHandoffPosition });
221
+ }
207
222
  async setMediaSessionRemoteControlMetadata() {
208
223
  const audioTrack = this.currentTrack;
209
224
  if (!navigator.mediaSession) {
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
@@ -383,15 +383,28 @@ class RmxAudioPlayer {
383
383
  if (!removeItem) {
384
384
  throw new Error('Track removal spec is empty');
385
385
  }
386
- if (!removeItem.trackId && !removeItem.trackIndex) ;
387
- return Playlist.removeItem({ id: removeItem.trackId, index: removeItem.trackIndex });
386
+ if (!removeItem.trackId && !removeItem.trackIndex) {
387
+ throw new Error('Track removal spec is invalid');
388
+ }
389
+ const opts = {};
390
+ if (removeItem.trackIndex !== undefined && removeItem.trackIndex !== null) {
391
+ opts.index = removeItem.trackIndex;
392
+ }
393
+ if (removeItem.trackId) {
394
+ opts.id = removeItem.trackId;
395
+ }
396
+ return Playlist.removeItem(opts);
388
397
  };
389
398
  /**
390
399
  * Removes all given tracks from the playlist; these can be specified either by trackId or trackIndex. If the removed items
391
400
  * include the currently playing item, the next available item will automatically begin playing.
392
401
  */
393
402
  this.removeItems = (items) => {
394
- return Playlist.removeItems({ items: items });
403
+ const mapped = (items || []).map((item) => ({
404
+ id: item === null || item === void 0 ? void 0 : item.trackId,
405
+ index: item === null || item === void 0 ? void 0 : item.trackIndex
406
+ }));
407
+ return Playlist.removeItems({ items: mapped });
395
408
  };
396
409
  /**
397
410
  * Clear the entire playlist. This will result in the STOPPED event being raised.
@@ -573,6 +586,7 @@ class PlaylistWeb extends core.WebPlugin {
573
586
  this.options = {};
574
587
  this.currentTrack = null;
575
588
  this.lastState = 'stopped';
589
+ this.lastKnownHandoffPosition = 0;
576
590
  this.hlsLoaded = false;
577
591
  }
578
592
  addAllItems(options) {
@@ -650,16 +664,18 @@ class PlaylistWeb extends core.WebPlugin {
650
664
  return Promise.resolve();
651
665
  }
652
666
  removeItem(options) {
653
- this.playlistItems.forEach((item, index) => {
654
- if (options.index && options.index === index) {
655
- const removedTrack = this.playlistItems.splice(index, 1);
656
- this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
657
- }
658
- else if (options.id && options.id === item.trackId) {
659
- const removedTrack = this.playlistItems.splice(index, 1);
660
- this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
661
- }
662
- });
667
+ // options.index can be 0; don't use a truthy check.
668
+ let removeIndex = -1;
669
+ if (options.index !== undefined && options.index !== null) {
670
+ removeIndex = options.index;
671
+ }
672
+ else if (options.id) {
673
+ removeIndex = this.playlistItems.findIndex((t) => t.trackId === options.id);
674
+ }
675
+ if (removeIndex >= 0 && removeIndex < this.playlistItems.length) {
676
+ const removedTrack = this.playlistItems.splice(removeIndex, 1)[0];
677
+ this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack, removedTrack === null || removedTrack === void 0 ? void 0 : removedTrack.trackId);
678
+ }
663
679
  return Promise.resolve();
664
680
  }
665
681
  removeItems(options) {
@@ -726,7 +742,7 @@ class PlaylistWeb extends core.WebPlugin {
726
742
  async skipForward() {
727
743
  let found = null;
728
744
  this.playlistItems.forEach((item, index) => {
729
- if (!found && this.getCurrentTrackId() === item.trackId) {
745
+ if (found === null && this.getCurrentTrackId() === item.trackId) {
730
746
  found = index;
731
747
  }
732
748
  });
@@ -734,30 +750,29 @@ class PlaylistWeb extends core.WebPlugin {
734
750
  found = -1;
735
751
  }
736
752
  if (found !== null) {
737
- this.updateStatus(exports.RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
738
- currentIndex: found + 1,
739
- currentItem: this.playlistItems[found + 1]
740
- }, this.playlistItems[found + 1].trackId);
741
- return this.setCurrent(this.playlistItems[found + 1]);
753
+ const targetIndex = found + 1;
754
+ this.updateStatus(exports.RmxAudioStatusMessage.RMX_STATUS_SKIP_FORWARD, {
755
+ currentIndex: targetIndex,
756
+ currentItem: this.playlistItems[targetIndex]
757
+ }, this.playlistItems[targetIndex].trackId);
758
+ return this.setCurrent(this.playlistItems[targetIndex]);
742
759
  }
743
760
  return Promise.reject();
744
761
  }
745
762
  async skipBack() {
746
763
  let found = null;
747
764
  this.playlistItems.forEach((item, index) => {
748
- if (!found && this.getCurrentTrackId() === item.trackId) {
765
+ if (found === null && this.getCurrentTrackId() === item.trackId) {
749
766
  found = index;
750
767
  }
751
768
  });
752
- if (found === 0) {
753
- found = this.playlistItems.length - 1;
754
- }
755
769
  if (found !== null) {
770
+ const targetIndex = found === 0 ? this.playlistItems.length - 1 : found - 1;
756
771
  this.updateStatus(exports.RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
757
- currentIndex: found - 1,
758
- currentItem: this.playlistItems[found - 1]
759
- }, this.playlistItems[found - 1].trackId);
760
- return this.setCurrent(this.playlistItems[found - 1]);
772
+ currentIndex: targetIndex,
773
+ currentItem: this.playlistItems[targetIndex]
774
+ }, this.playlistItems[targetIndex].trackId);
775
+ return this.setCurrent(this.playlistItems[targetIndex]);
761
776
  }
762
777
  return Promise.reject();
763
778
  }
@@ -768,6 +783,19 @@ class PlaylistWeb extends core.WebPlugin {
768
783
  }
769
784
  return Promise.reject();
770
785
  }
786
+ async prepareForVideoHandoff() {
787
+ var _a, _b;
788
+ this.lastKnownHandoffPosition = (_b = (_a = this.audio) === null || _a === void 0 ? void 0 : _a.currentTime) !== null && _b !== void 0 ? _b : 0;
789
+ await this.pause();
790
+ return Promise.resolve();
791
+ }
792
+ async resumeAfterVideoHandoff(options) {
793
+ this.lastKnownHandoffPosition = options.position;
794
+ return Promise.resolve();
795
+ }
796
+ async getLastKnownPosition() {
797
+ return Promise.resolve({ position: this.lastKnownHandoffPosition });
798
+ }
771
799
  async setMediaSessionRemoteControlMetadata() {
772
800
  const audioTrack = this.currentTrack;
773
801
  if (!navigator.mediaSession) {