capacitor-plugin-playlist
capacitor-plugin-playlist copied to clipboard
App crashes when seeking (Android)
I got the problem that on some tracks the app crashes or does not seek, when I seek late in the track.
03-23 09:00:16.354 5123 5213 E Capacitor: Serious error executing plugin
03-23 09:00:16.354 5123 5213 E Capacitor: java.lang.reflect.InvocationTargetException
03-23 09:00:16.354 5123 5213 E Capacitor: at java.lang.reflect.Method.invoke(Native Method)
03-23 09:00:16.354 5123 5213 E Capacitor: at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:121)
03-23 09:00:16.354 5123 5213 E Capacitor: at com.getcapacitor.Bridge.lambda$callPluginMethod$0$Bridge(Bridge.java:592)
03-23 09:00:16.354 5123 5213 E Capacitor: at com.getcapacitor.-$$Lambda$Bridge$25SFHybyAQk7zS27hTVXh2p8tmw.run(Unknown Source:8)
03-23 09:00:16.354 5123 5213 E Capacitor: at android.os.Handler.handleCallback(Handler.java:938)
03-23 09:00:16.354 5123 5213 E Capacitor: at android.os.Handler.dispatchMessage(Handler.java:99)
03-23 09:00:16.354 5123 5213 E Capacitor: at android.os.Looper.loop(Looper.java:236)
03-23 09:00:16.354 5123 5213 E Capacitor: at android.os.HandlerThread.run(HandlerThread.java:67)
03-23 09:00:16.354 5123 5213 E Capacitor: Caused by: java.lang.IllegalArgumentException: Invalid notification (no valid small icon): Notification(channel=PlaylistCoreMediaNotificationChannel shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0x10 color=0x00000000 category=transport actions=3 vis=PUBLIC)
03-23 09:00:16.354 5123 5213 E Capacitor: at android.app.NotificationManager.fixNotification(NotificationManager.java:606)
03-23 09:00:16.354 5123 5213 E Capacitor: at android.app.NotificationManager.notifyAsUser(NotificationManager.java:585)
03-23 09:00:16.354 5123 5213 E Capacitor: at android.app.NotificationManager.notify(NotificationManager.java:534)
03-23 09:00:16.354 5123 5213 E Capacitor: at android.app.NotificationManager.notify(NotificationManager.java:510)
03-23 09:00:16.354 5123 5213 E Capacitor: at com.devbrackets.android.playlistcore.components.playlisthandler.DefaultPlaylistHandler.updateMediaControls(DefaultPlaylistHandler.kt:313)
03-23 09:00:16.354 5123 5213 E Capacitor: at com.devbrackets.android.playlistcore.components.playlisthandler.DefaultPlaylistHandler.setPlaybackState(DefaultPlaylistHandler.kt:522)
03-23 09:00:16.354 5123 5213 E Capacitor: at com.devbrackets.android.playlistcore.components.playlisthandler.DefaultPlaylistHandler.performSeek(DefaultPlaylistHandler.kt:273)
03-23 09:00:16.354 5123 5213 E Capacitor: at com.devbrackets.android.playlistcore.components.playlisthandler.DefaultPlaylistHandler.performSeek$default(DefaultPlaylistHandler.kt:268)
03-23 09:00:16.354 5123 5213 E Capacitor: at com.devbrackets.android.playlistcore.components.playlisthandler.DefaultPlaylistHandler.seek(DefaultPlaylistHandler.kt:196)
03-23 09:00:16.354 5123 5213 E Capacitor: at org.dwbn.plugins.playlist.PlaylistPlugin.seekTo(PlaylistPlugin.kt:280)
03-23 09:00:16.354 5123 5213 E Capacitor: ... 8 more
03-23 09:00:16.358 5123 5213 E AndroidRuntime: FATAL EXCEPTION: CapacitorPlugins
03-23 09:00:16.358 5123 5213 E AndroidRuntime: Process: **.**.**, PID: 5123
03-23 09:00:16.358 5123 5213 E AndroidRuntime: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at com.getcapacitor.Bridge.lambda$callPluginMethod$0$Bridge(Bridge.java:601)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at com.getcapacitor.-$$Lambda$Bridge$25SFHybyAQk7zS27hTVXh2p8tmw.run(Unknown Source:8)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:938)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at android.os.Looper.loop(Looper.java:236)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at android.os.HandlerThread.run(HandlerThread.java:67)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:121)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at com.getcapacitor.Bridge.lambda$callPluginMethod$0$Bridge(Bridge.java:592)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: ... 5 more
03-23 09:00:16.358 5123 5213 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: Invalid notification (no valid small icon): Notification(channel=PlaylistCoreMediaNotificationChannel shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0x10 color=0x00000000 category=transport actions=3 vis=PUBLIC)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at android.app.NotificationManager.fixNotification(NotificationManager.java:606)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at android.app.NotificationManager.notifyAsUser(NotificationManager.java:585)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at android.app.NotificationManager.notify(NotificationManager.java:534)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at android.app.NotificationManager.notify(NotificationManager.java:510)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at com.devbrackets.android.playlistcore.components.playlisthandler.DefaultPlaylistHandler.updateMediaControls(DefaultPlaylistHandler.kt:313)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at com.devbrackets.android.playlistcore.components.playlisthandler.DefaultPlaylistHandler.setPlaybackState(DefaultPlaylistHandler.kt:522)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at com.devbrackets.android.playlistcore.components.playlisthandler.DefaultPlaylistHandler.performSeek(DefaultPlaylistHandler.kt:273)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at com.devbrackets.android.playlistcore.components.playlisthandler.DefaultPlaylistHandler.performSeek$default(DefaultPlaylistHandler.kt:268)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at com.devbrackets.android.playlistcore.components.playlisthandler.DefaultPlaylistHandler.seek(DefaultPlaylistHandler.kt:196)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: at org.dwbn.plugins.playlist.PlaylistPlugin.seekTo(PlaylistPlugin.kt:280)
03-23 09:00:16.358 5123 5213 E AndroidRuntime: ... 8 more
Hmm i cannot reproduce this, can you give an example please?
@thoasty-dev ping
IIRC it looks like the error I got when giving albumArt/icon that no longer returned a valid image.
I think the problem was that I seeked out of bounds; later than the track was actually long
Which is an edge case, but probably should not result in the app crashing.
we should handle thatmore graceful yes