Commit Graph

17 Commits

Author SHA1 Message Date
Hugh Daschbach 79e27578e5 Fix issue #124 - empty queue on restart.
The Gson deserializer required parameter is a reader object.  It
silently fails when passed a string.
2022-07-21 11:15:54 +00:00
Ryan Harg c43baae8e8 #117: Use the same contentId when adding and removing downloads 2022-06-17 09:50:39 +00:00
Hugh Daschbach 37e270071a
Fix Bluetooth control button unresponsiveness.
With Oreo and later, Bluetooth control buttons may kill FFA if it is
not the foreground application.  Once this happens to resume playback,
one needs to restart playback from the phone, rather than the
play/pause action of Bluetooth headset.

For example:
    D MediaSessionService: Sending KeyEvent { action=ACTION_UP, keyCode=KEYCODE_MEDIA_PLAY, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=0, downTime=0, deviceId=-1, source=0x0 } to audio.funkwhale.ffa.dev/audio.funkwhale.ffa.dev (

    W ActivityManager: Background start not allowed: service Intent { act=android.intent.action.MEDIA_BUTTON cmp=audio.funkwhale.ffa.dev/audio.funkwhale.ffa.playback.PlayerService (has extras) } to audio.funkwhale.ffa.dev/audio.funkwhale.ffa.play
   549 uid=10149 pkg=audio.funkwhale.ffa.dev startFg?=false
    D AndroidRuntime: Shutting down VM
   --------- beginning of crash
    E AndroidRuntime: FATAL EXCEPTION: main
    E AndroidRuntime: Process: audio.funkwhale.ffa.dev, PID: 14549
    E AndroidRuntime: java.lang.IllegalStateException: Not allowed to start service Intent { act=android.intent.action.MEDIA_BUTTON cmp=audio.funkwhale.ffa.dev/audio.funkwhale.ffa.playback.PlayerService (has extras) }: app is in background uid UidRecord{72fa8f8 u0a149 CAC  bg:+11m56s597ms idle change:cached procs:1 seq(0,0,0)}
    E AndroidRuntime:        at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1577)
    E AndroidRuntime:        at android.app.ContextImpl.startService(ContextImpl.java:1532)
    E AndroidRuntime:        at android.content.ContextWrapper.startService(ContextWrapper.java:664)
    E AndroidRuntime:        at audio.funkwhale.ffa.playback.MediaSession$connector$2.invoke$lambda-3$lambda-2(MediaSession.kt:47)
    E AndroidRuntime:        at audio.funkwhale.ffa.playback.MediaSession$connector$2.$r8$lambda$jU84j_zRyeYuvwLrRY0b6XyQBMs(Unknown Source:0)
    E AndroidRuntime:        at audio.funkwhale.ffa.playback.MediaSession$connector$2$$ExternalSyntheticLambda0.onMediaButtonEvent(Unknown Source:2)
    E AndroidRuntime:        at com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector$ComponentListener.onMediaButtonEvent(MediaSessionConnector.java:1396)
    E AndroidRuntime:        at android.support.v4.media.session.MediaSessionCompat$Callback$MediaSessionCallbackApi21.onMediaButtonEvent(MediaSessionCompat.java:1602)
    E AndroidRuntime:        at android.media.session.MediaSession$CallbackMessageHandler.handleMessage(MediaSession.java:1471)
    E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:106)
    E AndroidRuntime:        at android.os.Looper.loop(Looper.java:193)
    E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6718)
    E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
    E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
    E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
    W ActivityManager:   Force finishing activity audio.funkwhale.ffa.dev/audio.funkwhale.ffa.activities.MainActivity

xref: https://stackoverflow.com/questions/46445265/android-8-0-java-lang-illegalstateexception-not-allowed-to-start-service-inten
2022-06-16 14:02:20 +02:00
Ryan Harg 70d9ba241b Fix "A resource failed to call close." warnings. 2022-06-12 12:48:32 +00:00
Ryan Harg ef3387dee0
Fix existing linting problems 2021-09-09 09:56:15 +02:00
Ryan Harg 63292f07c5 #90: Use correct radio identifier for user radio 2021-09-08 07:51:49 +00:00
Ryan Harg 0095381694 #65: Upgrade exoplayer version 2021-08-29 13:41:50 +00:00
Ryan Harg 94ac0c6b85
Upgrading Android Gradle Plugin
- Also moving some model classes
2021-08-22 09:48:36 +02:00
Ryan Harg f3c7a865d2
74: Improve logging code 2021-08-13 15:04:49 +02:00
Ryan Harg c8382495ea 74: Add logs for queue management 2021-08-13 12:55:38 +00:00
Ryan Harg fe4a00ae07 74: Update logging to gather more information 2021-08-13 08:56:00 +00:00
Ryan Harg 79f047015a
#7: Restructure koin modules 2021-08-09 07:03:20 +02:00
Ryan Harg a9319b88b0 #7: Add Koin as dependency injection library 2021-08-09 04:50:46 +00:00
Ryan Harg e60d93a05a #7: Add unit tests to OAuthDatasource 2021-07-30 08:57:49 +00:00
Ryan Harg fcfc30a97e #48: Implement OAuth2 authentication 2021-07-23 12:10:13 +00:00
Ryan Harg d2497c7217 Remove build warnings 2021-07-21 07:11:44 +00:00
Ryan Harg 208c7e584b
Change base package name from org to audio 2021-07-12 10:14:26 +02:00