Commit Graph

518 Commits

Author SHA1 Message Date
Matyáš Caras 103cac4145 Translated using Weblate (Czech)
Currently translated at 99.1% (119 of 120 strings)

Translation: Funkwhale/Funkwhale For Android
Translate-URL: https://translate.funkwhale.audio/projects/funkwhale/ffa/cs/
2023-04-06 06:43:09 +00:00
Renovate Bot 879d873156 chore(deps): update dependency io.mockk:mockk-android to v1.13.4 2023-04-05 01:30:48 +00:00
Renovate Bot 3d03067069 chore(deps): update dependency io.mockk:mockk to v1.13.4 2023-04-04 10:01:08 +00:00
Renovate Bot 77eb1899fd chore(deps): update dependency androidx.appcompat:appcompat to v1.6.1 2023-04-04 08:18:50 +00:00
Renovate Bot 201e8722b7 chore(deps): update dependency org.jetbrains.kotlin:kotlin-stdlib-jdk7 to v1.8.20 2023-04-03 18:06:29 +00:00
Christophe Henry d25f29b4c1 Prevent IllegalSeekPositionException when initializing the player 2023-04-03 14:51:10 +00:00
Matyáš Caras 04a659cc82 Translated using Weblate (Czech)
Currently translated at 22.5% (27 of 120 strings)

Translation: Funkwhale/Funkwhale For Android
Translate-URL: https://translate.funkwhale.audio/projects/funkwhale/ffa/cs/
2023-02-24 21:42:47 +00:00
Matyáš Caras a55656d0f4 Added translation using Weblate (Czech) 2023-02-23 21:09:48 +00:00
Renovate Bot e04f718335 chore(deps): update plugin org.jlleitschuh.gradle.ktlint to v11.2.0 2023-02-20 14:01:30 +00:00
vicdorke 95dcbf4616 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.3% (118 of 120 strings)

Translation: Funkwhale/Funkwhale For Android
Translate-URL: https://translate.funkwhale.audio/projects/funkwhale/ffa/zh_Hans/
2023-02-14 07:42:43 +00:00
omarmaciasmolina 7b16d46982 Translated using Weblate (Catalan)
Currently translated at 100.0% (120 of 120 strings)

Translation: Funkwhale/Funkwhale For Android
Translate-URL: https://translate.funkwhale.audio/projects/funkwhale/ffa/ca/
2023-02-10 18:42:42 +00:00
Renovate Bot 0a32036558 chore(deps): update dependency com.github.aliasadi:powerpreference to v2.1.1 2023-01-31 00:30:34 +00:00
Renovate Bot 62ce3c7f60 chore(deps): update plugin org.jlleitschuh.gradle.ktlint to v11.1.0 2023-01-27 18:33:33 +00:00
Renovate Bot fb09b95fb0 chore(deps): update dependency com.google.android.material:material to v1.8.0 2023-01-24 22:33:36 +00:00
aventijn ef0701cd35 Translated using Weblate (Dutch)
Currently translated at 100.0% (120 of 120 strings)

Translation: Funkwhale/Funkwhale For Android
Translate-URL: https://translate.funkwhale.audio/projects/funkwhale/ffa/nl/
2023-01-22 21:42:37 +00:00
aventijn 0b1be2d572 Added translation using Weblate (Dutch) 2023-01-21 20:21:54 +00:00
Thomas 585af743f2 Translated using Weblate (French)
Currently translated at 100.0% (120 of 120 strings)

Translation: Funkwhale/Funkwhale For Android
Translate-URL: https://translate.funkwhale.audio/projects/funkwhale/ffa/fr/
2023-01-14 13:42:35 +00:00
Ryan Harg f1947f3b88
Sort Favourites by time 2023-01-13 12:52:52 +01:00
Renovate Bot 56792e1940 chore(deps): update dependency androidx.appcompat:appcompat to v1.6.0 2023-01-11 20:33:34 +00:00
Ryan Harg b4b988da48 Use track cover over album cover if present 2023-01-11 12:41:04 +00:00
Renovate Bot dd1f7ddca8 chore(deps): update dependency androidx.appcompat:appcompat to v1.5.1 2023-01-11 08:33:08 +00:00
Ryan Harg c10b3d4a75 Keep the player always on top 2023-01-10 12:56:20 +00:00
Ryan Harg a810e13cfb Custom cache layer for cover art which ignores (pre-signed URL) query 2023-01-10 10:00:41 +00:00
Renovate Bot 83cf417e5a Update dependency com.google.code.gson:gson to v2.10.1 2023-01-06 16:31:02 +00:00
RenovateBot 7abbd8dbaa Update dependency org.jetbrains.kotlin:kotlin-stdlib-jdk7 to v1.8.0 2023-01-05 13:09:31 +00:00
Hugh Daschbach 1566d1fbcf Open queue scrolled to current track. 2023-01-04 13:28:44 +00:00
RenovateBot 7f0671b055 Update dependency io.insert-koin:koin-core to v3.3.2 2023-01-04 12:35:33 +00:00
Renovate Bot ecc9e6e096 Update dependency org.robolectric:robolectric to v4.9.2 2023-01-02 21:30:47 +00:00
Thomas ef7811dc6e Translated using Weblate (French)
Currently translated at 100.0% (118 of 118 strings)

Translation: Funkwhale/Funkwhale For Android
Translate-URL: https://translate.funkwhale.audio/projects/funkwhale/ffa/fr/
2023-01-02 21:25:33 +00:00
Philipp Wolfer 435bbad122 Translated using Weblate (German)
Currently translated at 98.3% (116 of 118 strings)

Translation: Funkwhale/Funkwhale For Android
Translate-URL: https://translate.funkwhale.audio/projects/funkwhale/ffa/de/
2022-12-21 09:25:30 +00:00
Renovate Bot 1fb05f567d Update dependency org.robolectric:robolectric to v4.9.1 2022-12-20 09:30:51 +00:00
Hugh Daschbach ec6187aeac Allow automatic backward skip of a configurable number of seconds on pause (#134). 2022-12-20 09:13:36 +00:00
RenovateBot bfab20a2b3 Update dependency io.insert-koin:koin-core to v3.3.0 2022-12-15 08:53:01 +00:00
Ryan Harg 87a0ef5a42 Filter favorites 2022-12-09 08:49:41 +00:00
Ryan Harg 566dca1518 Use Picasso stableKey for better caching against pre-signed URLs 2022-12-08 13:29:34 +00:00
Renovate Bot 5c35c7e389 Update dependency androidx.core:core-ktx to v1.9.0 2022-12-08 09:24:43 +00:00
RenovateBot 9f7f0294f6 Update dependency com.google.android.material:material to v1.7.0 2022-12-08 09:23:58 +00:00
Renovate Bot 922aa16b8c Update dependency org.jetbrains.kotlin:kotlin-stdlib-jdk7 to v1.7.22 2022-12-07 13:00:27 +00:00
Ryan Harg bbc82d8be5 Upgrade mockk android dependency versionto general mockk version 2022-12-07 12:51:24 +00:00
RenovateBot 159c7d8d47 Update dependency io.insert-koin:koin-core to v3.2.2 2022-12-07 11:00:49 +00:00
Ryan Harg fa48937b56
Set required flag for pendingIntent 2022-12-06 09:37:20 +01:00
Ryan Harg 2de6ca303e
Necessary upgrades to compileSdk and targetSdk and adjusting code 2022-12-06 09:35:33 +01:00
Hugh Daschbach d734953b54
Replace deprecated SimpleExoPlayer with ExoPlayer.
This is part of an effort to resolve deprecation warnings.

Most of this is simple refactoring of interfaces that change between
the two Player implementations.  There are a few other changes that
deserve further explanation.

Testing indicated that the play/pause button was being reset to pause
in MainActivity:refreshCurrentTrack.  In the past this was likely
masked by the ordering of other callbacks.  We have removed the
nowPlayingToggle.icon update from MainActivity, leaving that UI update
to PlayerService.

One of the bigger refactorings in PlayerService was forced by the
deprecation of Player.EventListener.onPlayerStateChanged.  That forced
separation of handling playWhenReady and playbackState transitions.
In the SimpleExoPlayer implementations, where these transitions were
combined, the module attempted to work out playing state from a
combination of these two state variables.

In addition to separating the reaction to these state changes, we have
added a listener to onIsPlayingChanged, eliminating the need for some
of the earlier logic in Player.EventListener.onPlayerStateChanged.
This addition, along with the separation of state transition
processing, seems to provide a simpler implementation.  But it is,
certainly, a possible source of bugs.
2022-12-06 09:35:33 +01:00
Hugh Daschbach 24de54c7e0
MainActivity: startActivityForResult deprecated.
Migrate startActivityForResult/onActivityResult to
StartActivityForResult/registerForActivityResult in MainActivity.
2022-12-06 09:35:33 +01:00
Hugh Daschbach bea1d1f397
LoginActivity: startActivityForResult deprecated.
Migrate startActivityForResult/onActivityResult to
StartActivityForResult/registerForActivityResult in
LoginActivity/OAuth.

This moves responsibility for scheduling the starting Intent from
OAuth to LoginActivity.

OAuth still generates the Intent.  But instead of starting the intent
directly in OAuth, the intent is returned to LoginActivity.  This
better associates processing the activity result with its invocation.

OAuthTest module updated to accommodate internal API change.
2022-12-06 09:35:33 +01:00
Hugh Daschbach 38a3183b9d
Resolve warning: FragmentPagerAdapter deprecated.
Replace FragmentPagerAdapter with FragmentStateAdapter in
BrowseTabsAdapter.kt.  Refactored getPageTitle as a function that
returns tab name.  Tab text update moved to BrowseFragment.

This requires replacement of setupWithViewPager with
TabMediator.attach in BrowseFragment.

Also requires replacing widget declaration
androidx.viewpager.widget.ViewPager with
androidx.viewpager2.widget.ViewPager2 in fragment_browwse.xml.
2022-12-06 09:35:32 +01:00
Hugh Daschbach 8878e3e68f
Resolve warning: ExoDatabaseProvider deprecated.
Replace ExoDatabaseProvider with StandaloneDatabaseProvider.
2022-12-06 09:35:32 +01:00
Hugh Daschbach 7d49819450
Resolve warning "Unnecessary safe call". 2022-12-06 09:35:32 +01:00
Hugh Daschbach 4827fbccc1
RequentBus: replace deprecated implementation.
Convert RequestBus from deprecated BroadcastChannel to a SharedFlow.
2022-12-06 09:35:32 +01:00
Hugh Daschbach 1a038b2355
CommandBus: replace deprecated implementation.
Convert CommandBus from deprecated BroadcastChannel to a SharedFlow.
2022-12-06 09:35:32 +01:00
Hugh Daschbach be8901390e
EventBus: replace deprecated implementation.
Convert EventBus from deprecated BroadcastChannel to a SharedFlow.
2022-12-06 09:35:32 +01:00
Hugh Daschbach 6d1ad9cd78
ProgressBus: replace deprecated implementation.
Convert Progress from deprecated BroadcastChannel to a StateFlow.
2022-12-06 09:35:31 +01:00
Hugh Daschbach 72b4aea35a
Resolve deprecation warning in MediaSession.
Remove setting of MediaSession flags that are now mandatory and
assumed set.
2022-12-06 09:35:31 +01:00
Renovate Bot a9aafef28b Update dependency io.mockk:mockk to v1.13.3 2022-11-29 13:30:42 +00:00
omarmaciasmolina b94363e035 Added translation using Weblate (Catalan) 2022-11-28 21:08:29 +00:00
Renovate Bot 960adee40e Update dependency org.jetbrains.kotlin:kotlin-stdlib-jdk7 to v1.7.21 2022-11-21 12:30:46 +00:00
Renovate Bot 470a32434b Update dependency org.robolectric:robolectric to v4.9 2022-11-21 10:00:53 +00:00
Renovate Bot 5d7307206e Update dependency com.google.code.gson:gson to v2.10 2022-11-21 09:31:12 +00:00
Renovate Bot 05717f1067 Update dependency androidx.test:core to v1.5.0 2022-11-08 20:30:47 +00:00
Renovate Bot 072dbaf0af Update dependency io.mockk:mockk to v1.13.2 2022-10-03 11:00:46 +00:00
Hugh Daschbach 48570e24ea Minor cleanup: consistent deserialization. 2022-09-03 11:09:21 +00:00
Renovate Bot c1c218eb6f
Update dependency io.mockk:mockk to v1.12.7 2022-08-26 14:07:39 +02:00
Ryan Harg bfdac03d0c Upgrade to Kotlin 1.7.0 2022-08-26 12:06:41 +00:00
Renovate Bot 19155a9c25 Update dependency org.robolectric:robolectric to v4.8.2 2022-08-26 09:31:48 +00:00
Renovate Bot 05ab1d7dc2 Update plugin org.jlleitschuh.gradle.ktlint to v11 2022-08-26 08:31:40 +00:00
Renovate Bot 83c73ee046 Update dependency com.google.code.gson:gson to v2.9.1 2022-08-26 06:10:03 +00:00
Renovate Bot 5e789a2f28 Update dependency io.strikt:strikt-core to v0.34.1 2022-08-25 13:03:02 +00:00
Ryan Harg 7c91e819c9 Remove Versions object 2022-08-25 12:58:19 +00:00
Renovate Bot a1de2611a0 Update dependency androidx.lifecycle:lifecycle-runtime-ktx to v2.5.1 2022-08-25 08:30:15 +00:00
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
Renovate Bot a6d3e0b597
Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.6.4 2022-07-18 09:17:19 +02:00
Renovate Bot faadfc1da2 Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.4 2022-07-18 06:46:30 +00:00
Renovate Bot f60dae75e9 Update dependency androidx.lifecycle:lifecycle-runtime-ktx to v2.5.0 2022-07-06 11:14:20 +00:00
Georg Krause d1c4bbfd29 Added translation using Weblate (Basque) 2022-06-26 11:35:43 +00:00
Renovate Bot 8ceaa85ac8 Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.3 2022-06-24 09:30:40 +00:00
Renovate Bot b93decac7a Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.6.3 2022-06-21 08:17:22 +00:00
Ryan Harg 8f1f565652 Bugfix/122 fix resource leakage 2022-06-21 08:03:46 +00:00
Ryan Harg c43baae8e8 #117: Use the same contentId when adding and removing downloads 2022-06-17 09:50:39 +00:00
Ryan Harg 1b0381fde4 #119: Default deserializer has no string deserialization implementation 2022-06-16 13:10:10 +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 20ee27da21 fix authorization 2022-06-11 14:37:38 +00:00
Renovate Bot 1171f6bd1f Update dependency androidx.appcompat:appcompat to v1.4.2 2022-06-04 06:01:18 +00:00
Renovate Bot 87965863d4 Update dependency androidx.core:core-ktx to v1.8.0 2022-06-01 17:00:34 +00:00
Renovate Bot 58d9a57a53 Update dependency com.google.android.material:material to v1.6.1 2022-06-01 10:49:19 +00:00
Renovate Bot 4a9d65624b Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.2 2022-06-01 09:30:43 +00:00
Renovate Bot 926075d591 Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.6.2 2022-06-01 08:55:30 +00:00
Renovate Bot f8ad760fda Update dependency io.mockk:mockk to v1.12.4 2022-05-11 09:01:28 +00:00
Renovate Bot 23f7c509ee Update dependency com.google.android.material:material to v1.6.0 2022-05-06 11:53:46 +00:00
Renovate Bot 987f5a482a Update plugin org.jlleitschuh.gradle.ktlint to v10.3.0 2022-05-03 17:01:36 +00:00
Ryan Harg a6b1730c4a #116: Fix playback order to respect preference setting on albums fragment 2022-04-22 11:39:14 +00:00
Renovate Bot e17dc7531d Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.1 2022-04-22 08:00:53 +00:00
Renovate Bot 7d92d7d06b Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.6.1 2022-04-21 06:01:19 +00:00
Éilias McTalún f77b2e51e5 Translated using Weblate (Irish)
Currently translated at 13.7% (16 of 116 strings)

Translation: Funkwhale/Funkwhale For Android
Translate-URL: https://translate.funkwhale.audio/projects/funkwhale/ffa/ga/
2022-04-21 05:59:34 +00:00
Éilias McTalún 02a6112eeb Added translation using Weblate (Irish) 2022-04-16 03:46:19 +00:00
RenovateBot 89d4515cd4 Update dependency androidx.preference:preference-ktx to v1.2.0 2022-03-07 08:32:52 +00:00
Ryan Harg 45ef5eb189
Fix linting errors 2022-03-04 09:30:03 +01:00
Renovate Bot 56784b5871 Update dependency androidx.coordinatorlayout:coordinatorlayout to v1.2.0 2022-03-03 10:03:18 +00:00
Renovate Bot 1b9cd0895f Update dependency androidx.lifecycle:lifecycle-runtime-ktx to v2.4.1 2022-03-03 09:01:20 +00:00
Renovate Bot bbbefaaf60 Update dependency com.google.android.material:material to v1.5.0 2022-03-02 10:32:33 +00:00