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.
- package/README.md +29 -23
- package/android/build.gradle +5 -7
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +2 -1
- package/android/gradlew +8 -4
- package/android/src/main/java/org/dwbn/plugins/playlist/App.kt +0 -43
- package/android/src/main/java/org/dwbn/plugins/playlist/PlaylistPlugin.kt +217 -153
- package/android/src/main/java/org/dwbn/plugins/playlist/RmxAudioPlayer.java +4 -2
- package/android/src/main/java/org/dwbn/plugins/playlist/manager/PlaylistManager.kt +8 -6
- package/android/src/main/java/org/dwbn/plugins/playlist/playlist/AudioApi.kt +20 -11
- package/android/src/main/java/org/dwbn/plugins/playlist/playlist/AudioPlaylistHandler.java +1 -46
- package/android/src/main/java/org/dwbn/plugins/playlist/playlist/BaseMediaApi.kt +4 -8
- package/android/src/main/java/org/dwbn/plugins/playlist/service/MediaService.kt +17 -0
- package/dist/docs.json +68 -489
- package/dist/esm/definitions.d.ts +1 -1
- package/package.json +8 -8
- package/android/.gradle/8.0.2/checksums/checksums.lock +0 -0
- package/android/.gradle/8.0.2/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.0.2/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.0.2/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/8.0.2/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.0.2/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/8.0.2/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/8.0.2/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.0.2/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/8.0.2/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.0.2/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/8.0.2/gc.properties +0 -0
- package/android/.gradle/8.2.1/checksums/checksums.lock +0 -0
- package/android/.gradle/8.2.1/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.2.1/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.2.1/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/8.2.1/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.2.1/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/8.2.1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/8.2.1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.2.1/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/8.2.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.2.1/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/config.properties +0 -2
- package/android/.gradle/file-system.probe +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/compiler.xml +0 -6
- package/android/.idea/gradle.xml +0 -19
- package/android/.idea/kotlinc.xml +0 -6
- package/android/.idea/migrations.xml +0 -10
- package/android/.idea/misc.xml +0 -9
- package/android/.idea/vcs.xml +0 -6
- package/android/bin/.gradle/8.0.2/checksums/checksums.lock +0 -0
- package/android/bin/.gradle/8.0.2/checksums/md5-checksums.bin +0 -0
- package/android/bin/.gradle/8.0.2/checksums/sha1-checksums.bin +0 -0
- package/android/bin/.gradle/8.0.2/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/bin/.gradle/8.0.2/dependencies-accessors/gc.properties +0 -0
- package/android/bin/.gradle/8.0.2/executionHistory/executionHistory.bin +0 -0
- package/android/bin/.gradle/8.0.2/executionHistory/executionHistory.lock +0 -0
- package/android/bin/.gradle/8.0.2/fileChanges/last-build.bin +0 -0
- package/android/bin/.gradle/8.0.2/fileHashes/fileHashes.bin +0 -0
- package/android/bin/.gradle/8.0.2/fileHashes/fileHashes.lock +0 -0
- package/android/bin/.gradle/8.0.2/fileHashes/resourceHashesCache.bin +0 -0
- package/android/bin/.gradle/8.0.2/gc.properties +0 -0
- package/android/bin/.gradle/8.2.1/checksums/checksums.lock +0 -0
- package/android/bin/.gradle/8.2.1/checksums/md5-checksums.bin +0 -0
- package/android/bin/.gradle/8.2.1/checksums/sha1-checksums.bin +0 -0
- package/android/bin/.gradle/8.2.1/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/bin/.gradle/8.2.1/dependencies-accessors/gc.properties +0 -0
- package/android/bin/.gradle/8.2.1/executionHistory/executionHistory.bin +0 -0
- package/android/bin/.gradle/8.2.1/executionHistory/executionHistory.lock +0 -0
- package/android/bin/.gradle/8.2.1/fileChanges/last-build.bin +0 -0
- package/android/bin/.gradle/8.2.1/fileHashes/fileHashes.bin +0 -0
- package/android/bin/.gradle/8.2.1/fileHashes/fileHashes.lock +0 -0
- package/android/bin/.gradle/8.2.1/gc.properties +0 -0
- package/android/bin/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/bin/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/bin/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/bin/.gradle/config.properties +0 -2
- package/android/bin/.gradle/file-system.probe +0 -0
- package/android/bin/.gradle/vcs-1/gc.properties +0 -0
- package/android/bin/.idea/compiler.xml +0 -6
- package/android/bin/.idea/gradle.xml +0 -19
- package/android/bin/.idea/kotlinc.xml +0 -6
- package/android/bin/.idea/migrations.xml +0 -10
- package/android/bin/.idea/misc.xml +0 -9
- package/android/bin/.idea/vcs.xml +0 -6
- package/android/bin/.project +0 -34
- package/android/bin/build.gradle +0 -79
- package/android/bin/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/bin/gradle/wrapper/gradle-wrapper.properties +0 -6
- package/android/bin/gradle.properties +0 -22
- package/android/bin/gradlew +0 -244
- package/android/bin/gradlew.bat +0 -92
- package/android/bin/local.properties +0 -8
- package/android/bin/proguard-rules.pro +0 -21
- package/android/bin/settings.gradle +0 -2
- package/android/bin/src/androidTest/java/com/getcapacitor/android/ExampleInstrumentedTest.class +0 -0
- package/android/bin/src/main/AndroidManifest.xml +0 -4
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/App.kt +0 -61
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/FakeR.kt +0 -39
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/OnStatusCallback.kt +0 -34
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/OnStatusReportListener.class +0 -0
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/PlaylistItemOptions.class +0 -0
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/PlaylistPlugin.kt +0 -403
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/RmxAudioErrorType.class +0 -0
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/RmxAudioPlayer.class +0 -0
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/RmxAudioStatusMessage.class +0 -0
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/RmxConstants.class +0 -0
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/TrackRemovalItem.class +0 -0
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/data/AudioTrack.kt +0 -94
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/manager/MediaControlsListener.kt +0 -13
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/manager/Options.kt +0 -77
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/manager/PlaylistManager.kt +0 -286
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/notification/PlaylistNotificationProvider.kt +0 -26
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/playlist/AudioApi.kt +0 -101
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/playlist/AudioPlaylistHandler$Builder.class +0 -0
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/playlist/AudioPlaylistHandler.class +0 -0
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/playlist/BaseMediaApi.kt +0 -40
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/service/MediaImageProvider.kt +0 -79
- package/android/bin/src/main/java/org/dwbn/plugins/playlist/service/MediaService.kt +0 -54
- package/android/bin/src/main/res/.gitkeep +0 -0
- package/android/bin/src/main/res/drawable/ic_closed_caption_white_24dp.xml +0 -9
- package/android/bin/src/main/res/drawable/ic_demo_icon_adaptive.xml +0 -15
- package/android/bin/src/main/res/drawable/ic_launcher_background.xml +0 -48
- package/android/bin/src/main/res/drawable/ic_launcher_foreground.xml +0 -22
- package/android/bin/src/main/res/drawable/ic_notification_icon.png +0 -0
- package/android/bin/src/main/res/layout/bridge_layout_main.xml +0 -15
- package/android/bin/src/main/res/values/colors.xml +0 -3
- package/android/bin/src/main/res/values/strings.xml +0 -3
- package/android/bin/src/main/res/values/styles.xml +0 -3
- package/android/bin/src/test/java/com/getcapacitor/ExampleUnitTest.class +0 -0
- 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
|
|