capacitor-plugin-playlist 0.4.2 → 0.6.0

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 (132) hide show
  1. package/README.md +29 -23
  2. package/android/build.gradle +5 -7
  3. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  4. package/android/gradle/wrapper/gradle-wrapper.properties +2 -1
  5. package/android/gradlew +8 -4
  6. package/android/src/main/java/org/dwbn/plugins/playlist/App.kt +0 -43
  7. package/android/src/main/java/org/dwbn/plugins/playlist/PlaylistPlugin.kt +217 -153
  8. package/android/src/main/java/org/dwbn/plugins/playlist/RmxAudioPlayer.java +4 -2
  9. package/android/src/main/java/org/dwbn/plugins/playlist/manager/PlaylistManager.kt +8 -6
  10. package/android/src/main/java/org/dwbn/plugins/playlist/playlist/AudioApi.kt +20 -11
  11. package/android/src/main/java/org/dwbn/plugins/playlist/playlist/AudioPlaylistHandler.java +1 -46
  12. package/android/src/main/java/org/dwbn/plugins/playlist/playlist/BaseMediaApi.kt +4 -8
  13. package/android/src/main/java/org/dwbn/plugins/playlist/service/MediaService.kt +17 -0
  14. package/dist/docs.json +68 -489
  15. package/dist/esm/definitions.d.ts +1 -1
  16. package/package.json +8 -8
  17. package/android/.gradle/8.0.2/checksums/checksums.lock +0 -0
  18. package/android/.gradle/8.0.2/checksums/md5-checksums.bin +0 -0
  19. package/android/.gradle/8.0.2/checksums/sha1-checksums.bin +0 -0
  20. package/android/.gradle/8.0.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  21. package/android/.gradle/8.0.2/dependencies-accessors/gc.properties +0 -0
  22. package/android/.gradle/8.0.2/executionHistory/executionHistory.bin +0 -0
  23. package/android/.gradle/8.0.2/executionHistory/executionHistory.lock +0 -0
  24. package/android/.gradle/8.0.2/fileChanges/last-build.bin +0 -0
  25. package/android/.gradle/8.0.2/fileHashes/fileHashes.bin +0 -0
  26. package/android/.gradle/8.0.2/fileHashes/fileHashes.lock +0 -0
  27. package/android/.gradle/8.0.2/fileHashes/resourceHashesCache.bin +0 -0
  28. package/android/.gradle/8.0.2/gc.properties +0 -0
  29. package/android/.gradle/8.2.1/checksums/checksums.lock +0 -0
  30. package/android/.gradle/8.2.1/checksums/md5-checksums.bin +0 -0
  31. package/android/.gradle/8.2.1/checksums/sha1-checksums.bin +0 -0
  32. package/android/.gradle/8.2.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  33. package/android/.gradle/8.2.1/dependencies-accessors/gc.properties +0 -0
  34. package/android/.gradle/8.2.1/executionHistory/executionHistory.bin +0 -0
  35. package/android/.gradle/8.2.1/executionHistory/executionHistory.lock +0 -0
  36. package/android/.gradle/8.2.1/fileChanges/last-build.bin +0 -0
  37. package/android/.gradle/8.2.1/fileHashes/fileHashes.bin +0 -0
  38. package/android/.gradle/8.2.1/fileHashes/fileHashes.lock +0 -0
  39. package/android/.gradle/8.2.1/gc.properties +0 -0
  40. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  41. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  42. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  43. package/android/.gradle/config.properties +0 -2
  44. package/android/.gradle/file-system.probe +0 -0
  45. package/android/.gradle/vcs-1/gc.properties +0 -0
  46. package/android/.idea/compiler.xml +0 -6
  47. package/android/.idea/gradle.xml +0 -19
  48. package/android/.idea/kotlinc.xml +0 -6
  49. package/android/.idea/migrations.xml +0 -10
  50. package/android/.idea/misc.xml +0 -9
  51. package/android/.idea/vcs.xml +0 -6
  52. package/android/bin/.gradle/8.0.2/checksums/checksums.lock +0 -0
  53. package/android/bin/.gradle/8.0.2/checksums/md5-checksums.bin +0 -0
  54. package/android/bin/.gradle/8.0.2/checksums/sha1-checksums.bin +0 -0
  55. package/android/bin/.gradle/8.0.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  56. package/android/bin/.gradle/8.0.2/dependencies-accessors/gc.properties +0 -0
  57. package/android/bin/.gradle/8.0.2/executionHistory/executionHistory.bin +0 -0
  58. package/android/bin/.gradle/8.0.2/executionHistory/executionHistory.lock +0 -0
  59. package/android/bin/.gradle/8.0.2/fileChanges/last-build.bin +0 -0
  60. package/android/bin/.gradle/8.0.2/fileHashes/fileHashes.bin +0 -0
  61. package/android/bin/.gradle/8.0.2/fileHashes/fileHashes.lock +0 -0
  62. package/android/bin/.gradle/8.0.2/fileHashes/resourceHashesCache.bin +0 -0
  63. package/android/bin/.gradle/8.0.2/gc.properties +0 -0
  64. package/android/bin/.gradle/8.2.1/checksums/checksums.lock +0 -0
  65. package/android/bin/.gradle/8.2.1/checksums/md5-checksums.bin +0 -0
  66. package/android/bin/.gradle/8.2.1/checksums/sha1-checksums.bin +0 -0
  67. package/android/bin/.gradle/8.2.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  68. package/android/bin/.gradle/8.2.1/dependencies-accessors/gc.properties +0 -0
  69. package/android/bin/.gradle/8.2.1/executionHistory/executionHistory.bin +0 -0
  70. package/android/bin/.gradle/8.2.1/executionHistory/executionHistory.lock +0 -0
  71. package/android/bin/.gradle/8.2.1/fileChanges/last-build.bin +0 -0
  72. package/android/bin/.gradle/8.2.1/fileHashes/fileHashes.bin +0 -0
  73. package/android/bin/.gradle/8.2.1/fileHashes/fileHashes.lock +0 -0
  74. package/android/bin/.gradle/8.2.1/gc.properties +0 -0
  75. package/android/bin/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  76. package/android/bin/.gradle/buildOutputCleanup/cache.properties +0 -2
  77. package/android/bin/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  78. package/android/bin/.gradle/config.properties +0 -2
  79. package/android/bin/.gradle/file-system.probe +0 -0
  80. package/android/bin/.gradle/vcs-1/gc.properties +0 -0
  81. package/android/bin/.idea/compiler.xml +0 -6
  82. package/android/bin/.idea/gradle.xml +0 -19
  83. package/android/bin/.idea/kotlinc.xml +0 -6
  84. package/android/bin/.idea/migrations.xml +0 -10
  85. package/android/bin/.idea/misc.xml +0 -9
  86. package/android/bin/.idea/vcs.xml +0 -6
  87. package/android/bin/.project +0 -34
  88. package/android/bin/build.gradle +0 -79
  89. package/android/bin/gradle/wrapper/gradle-wrapper.jar +0 -0
  90. package/android/bin/gradle/wrapper/gradle-wrapper.properties +0 -6
  91. package/android/bin/gradle.properties +0 -22
  92. package/android/bin/gradlew +0 -244
  93. package/android/bin/gradlew.bat +0 -92
  94. package/android/bin/local.properties +0 -8
  95. package/android/bin/proguard-rules.pro +0 -21
  96. package/android/bin/settings.gradle +0 -2
  97. package/android/bin/src/androidTest/java/com/getcapacitor/android/ExampleInstrumentedTest.class +0 -0
  98. package/android/bin/src/main/AndroidManifest.xml +0 -4
  99. package/android/bin/src/main/java/org/dwbn/plugins/playlist/App.kt +0 -61
  100. package/android/bin/src/main/java/org/dwbn/plugins/playlist/FakeR.kt +0 -39
  101. package/android/bin/src/main/java/org/dwbn/plugins/playlist/OnStatusCallback.kt +0 -34
  102. package/android/bin/src/main/java/org/dwbn/plugins/playlist/OnStatusReportListener.class +0 -0
  103. package/android/bin/src/main/java/org/dwbn/plugins/playlist/PlaylistItemOptions.class +0 -0
  104. package/android/bin/src/main/java/org/dwbn/plugins/playlist/PlaylistPlugin.kt +0 -403
  105. package/android/bin/src/main/java/org/dwbn/plugins/playlist/RmxAudioErrorType.class +0 -0
  106. package/android/bin/src/main/java/org/dwbn/plugins/playlist/RmxAudioPlayer.class +0 -0
  107. package/android/bin/src/main/java/org/dwbn/plugins/playlist/RmxAudioStatusMessage.class +0 -0
  108. package/android/bin/src/main/java/org/dwbn/plugins/playlist/RmxConstants.class +0 -0
  109. package/android/bin/src/main/java/org/dwbn/plugins/playlist/TrackRemovalItem.class +0 -0
  110. package/android/bin/src/main/java/org/dwbn/plugins/playlist/data/AudioTrack.kt +0 -94
  111. package/android/bin/src/main/java/org/dwbn/plugins/playlist/manager/MediaControlsListener.kt +0 -13
  112. package/android/bin/src/main/java/org/dwbn/plugins/playlist/manager/Options.kt +0 -77
  113. package/android/bin/src/main/java/org/dwbn/plugins/playlist/manager/PlaylistManager.kt +0 -286
  114. package/android/bin/src/main/java/org/dwbn/plugins/playlist/notification/PlaylistNotificationProvider.kt +0 -26
  115. package/android/bin/src/main/java/org/dwbn/plugins/playlist/playlist/AudioApi.kt +0 -101
  116. package/android/bin/src/main/java/org/dwbn/plugins/playlist/playlist/AudioPlaylistHandler$Builder.class +0 -0
  117. package/android/bin/src/main/java/org/dwbn/plugins/playlist/playlist/AudioPlaylistHandler.class +0 -0
  118. package/android/bin/src/main/java/org/dwbn/plugins/playlist/playlist/BaseMediaApi.kt +0 -40
  119. package/android/bin/src/main/java/org/dwbn/plugins/playlist/service/MediaImageProvider.kt +0 -79
  120. package/android/bin/src/main/java/org/dwbn/plugins/playlist/service/MediaService.kt +0 -54
  121. package/android/bin/src/main/res/.gitkeep +0 -0
  122. package/android/bin/src/main/res/drawable/ic_closed_caption_white_24dp.xml +0 -9
  123. package/android/bin/src/main/res/drawable/ic_demo_icon_adaptive.xml +0 -15
  124. package/android/bin/src/main/res/drawable/ic_launcher_background.xml +0 -48
  125. package/android/bin/src/main/res/drawable/ic_launcher_foreground.xml +0 -22
  126. package/android/bin/src/main/res/drawable/ic_notification_icon.png +0 -0
  127. package/android/bin/src/main/res/layout/bridge_layout_main.xml +0 -15
  128. package/android/bin/src/main/res/values/colors.xml +0 -3
  129. package/android/bin/src/main/res/values/strings.xml +0 -3
  130. package/android/bin/src/main/res/values/styles.xml +0 -3
  131. package/android/bin/src/test/java/com/getcapacitor/ExampleUnitTest.class +0 -0
  132. package/android/local.properties +0 -8
@@ -2,11 +2,8 @@ package org.dwbn.plugins.playlist.playlist;
2
2
 
3
3
  import android.app.Service;
4
4
  import android.content.Context;
5
- import android.support.v4.media.MediaMetadataCompat;
6
- import android.support.v4.media.session.PlaybackStateCompat;
7
5
  import android.util.Log;
8
6
 
9
- import androidx.annotation.NonNull;
10
7
  import androidx.annotation.Nullable;
11
8
 
12
9
  import com.devbrackets.android.playlistcore.api.MediaPlayerApi;
@@ -19,9 +16,8 @@ import com.devbrackets.android.playlistcore.components.mediacontrols.MediaContro
19
16
  import com.devbrackets.android.playlistcore.components.mediasession.DefaultMediaSessionProvider;
20
17
  import com.devbrackets.android.playlistcore.components.mediasession.MediaSessionProvider;
21
18
  import com.devbrackets.android.playlistcore.components.playlisthandler.DefaultPlaylistHandler;
22
- import com.devbrackets.android.playlistcore.data.MediaInfo;
23
- import com.devbrackets.android.playlistcore.data.MediaProgress;
24
19
  import com.devbrackets.android.playlistcore.manager.BasePlaylistManager;
20
+
25
21
  import org.dwbn.plugins.playlist.RmxAudioPlayer;
26
22
  import org.dwbn.plugins.playlist.data.AudioTrack;
27
23
  import org.dwbn.plugins.playlist.manager.PlaylistManager;
@@ -113,47 +109,6 @@ public class AudioPlaylistHandler<I extends PlaylistItem, M extends BasePlaylist
113
109
  super.onCompletion(mediaPlayer);
114
110
  }
115
111
 
116
- /**
117
- * A workaround to set current position into MediaControls session.
118
- *
119
- * @deprecated Can be delete after PlaylistCore updated.
120
- */
121
- @Override
122
- public boolean onProgressUpdated(@NonNull MediaProgress mediaProgress) {
123
- MediaPlayerApi<I> currentMediaPlayer = getCurrentMediaPlayer();
124
-
125
- long pos = currentMediaPlayer != null ? currentMediaPlayer.getCurrentPosition() : PlaybackStateCompat.PLAYBACK_POSITION_UNKNOWN;
126
-
127
- PlaybackStateCompat.Builder playbackStateBuilder = new PlaybackStateCompat.Builder();
128
- playbackStateBuilder.setState(
129
- isPlaying() ? PlaybackStateCompat.STATE_PLAYING : PlaybackStateCompat.STATE_CONNECTING,
130
- pos,
131
- 1.0f
132
- );
133
- getMediaSessionProvider().get().setPlaybackState(playbackStateBuilder.build());
134
-
135
- return super.onProgressUpdated(mediaProgress);
136
- }
137
-
138
- /**
139
- * A workaround to set duration into MediaControls metadata.
140
- *
141
- * @deprecated Can be delete after PlaylistCore updated.
142
- */
143
- @Override
144
- public void updateMediaControls() {
145
- super.updateMediaControls();
146
-
147
- MediaPlayerApi<I> currentMediaPlayer = getCurrentMediaPlayer();
148
-
149
- long duration = currentMediaPlayer != null ? currentMediaPlayer.getDuration() : -1;
150
-
151
- // Set duration to Media Controls.
152
- MediaMetadataCompat.Builder metaDataBuilder = new MediaMetadataCompat.Builder();
153
- metaDataBuilder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, duration);
154
-
155
- getMediaSessionProvider().get().setMetadata(metaDataBuilder.build());
156
- }
157
112
 
158
113
  public static class Builder<I extends PlaylistItem, M extends BasePlaylistManager<I>> {
159
114
 
@@ -11,28 +11,24 @@ abstract class BaseMediaApi : MediaPlayerApi<AudioTrack>, OnPreparedListener, On
11
11
  protected var bufferPercent: Int = 0
12
12
 
13
13
  protected var statusListener: MediaStatusListener<AudioTrack>? = null
14
-
15
14
  override fun setMediaStatusListener(listener: MediaStatusListener<AudioTrack>) {
16
15
  statusListener = listener
17
16
  }
18
-
19
17
  override fun onCompletion() {
20
18
  statusListener?.onCompletion(this)
21
19
  }
22
-
23
- override fun onError(e: Exception): Boolean {
24
- return statusListener?.onError(this) == true
25
- }
26
-
27
20
  override fun onPrepared() {
28
21
  prepared = true
29
22
  statusListener?.onPrepared(this)
30
23
  }
31
-
32
24
  override fun onSeekComplete() {
33
25
  statusListener?.onSeekComplete(this)
34
26
  }
35
27
 
28
+ override fun onError(e: Exception?): Boolean {
29
+ return statusListener?.onError(this) == true
30
+ }
31
+
36
32
  override fun onBufferingUpdate(percent: Int) {
37
33
  bufferPercent = percent
38
34
  statusListener?.onBufferingUpdate(this, percent)
@@ -1,5 +1,8 @@
1
1
  package org.dwbn.plugins.playlist.service
2
2
 
3
+ import android.app.Notification
4
+ import android.content.pm.ServiceInfo
5
+ import android.os.Build
3
6
  import com.devbrackets.android.playlistcore.components.playlisthandler.PlaylistHandler
4
7
  import com.devbrackets.android.playlistcore.service.BasePlaylistService
5
8
  import org.dwbn.plugins.playlist.App
@@ -32,6 +35,20 @@ class MediaService : BasePlaylistService<AudioTrack, PlaylistManager>() {
32
35
  playlistManager.mediaPlayers.clear()
33
36
  }
34
37
 
38
+ override fun runAsForeground(notificationId: Int, notification: Notification) {
39
+ if (inForeground) {
40
+ return
41
+ }
42
+
43
+ inForeground = true
44
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
45
+ startForeground(notificationId, notification)
46
+ } else {
47
+ startForeground(notificationId, notification,
48
+ ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK)
49
+ }
50
+ }
51
+
35
52
  override val playlistManager: PlaylistManager
36
53
  get() = (applicationContext as App).playlistManager
37
54