Commit Graph

8761 Commits

Author SHA1 Message Date
ByteHamster 160089d3ff
Add script to generate module diagram (#7028) 2024-03-25 23:28:50 +01:00
ByteHamster 69b24699a3
Move DBReader to :storage:database (#7027) 2024-03-25 21:45:43 +01:00
ByteHamster 15eab50223
Move debug icons to :ui:common (#7026) 2024-03-24 22:07:18 +01:00
ByteHamster 5c6000155c
Let the database do the sorting (#7025) 2024-03-24 21:27:30 +01:00
ByteHamster 4078b3475e
Simplify playback preferences and move to :storage:preferences (#7024) 2024-03-24 21:08:06 +01:00
ByteHamster 7b390f1c92
Speed up feed parsing (#7023)
AntennaPod is quite slow with huge feeds. The reason is that we have a bunch of workarounds for misbehaving feeds that also make it slower to work with feeds that do not misbehave.

Changes:

- Only start guessing duplicate episodes when no "proper" match is found
- Only parse non-html as HTML for attributes that really need it
- Do not log failed Long parsing when size is not specified
- Try to parse dates with RFC822 first before falling back to workarounds for other formats

I ran a benchmark with "Stuff you should know" (for which the workarounds are not needed) containing 2k episodes. Includes download of 8MB of feed XML (~5 seconds), debug build.
Before: 44 seconds, after: 13 seconds ==> 3.4 times faster feed refresh
2024-03-24 18:04:39 +01:00
ByteHamster 084b9c2317
Store last refresh attempt for feeds (#7022) 2024-03-24 17:57:00 +01:00
ByteHamster 5218e06904
Faster feed deletion (#7019) 2024-03-24 12:25:32 +01:00
ByteHamster 79856b7931
Launch splash activity after restoring backup (#7020) 2024-03-24 01:38:10 +01:00
ByteHamster a065d3fc33
Remove check for updated attributes, just update them (#7018) 2024-03-23 18:06:02 +01:00
ByteHamster f6b45e7162
Rename FeedMedia methods to no longer have underscores (#7017) 2024-03-23 11:27:55 +01:00
ByteHamster f20ce1fc69
Move first batch of preferences code to :ui:preferences (#7010) 2024-03-23 09:40:40 +01:00
ByteHamster 376c83d200
Fix loading chapter images in local feeds (#7016) 2024-03-22 22:12:36 +01:00
ByteHamster 69f0daa2e8
Fix android:pathPattern not starting with a slash (#7014) 2024-03-22 20:10:33 +01:00
ByteHamster ab64807f64
Remove AutoDownloadTest (#7015)
This test regularly fails our CI.

The test checked that auto-download kicks in after the currently playing episode
and that it considers the correct item in the queue to enqueue after.

However, because we now use WorkManager, the download can be delayed based
on decisions by the Android system. We cannot assume that downloading already
starts just seconds after playback completes.

I do not know an easy fix for this, and the test is quite complex anyway, testing
multiple different modules at once. So I am removing the test for now.
2024-03-22 20:10:15 +01:00
ByteHamster bd17373c18
Playback speed fixes (#7013)
- Remove video-specific playback speed (no longer needed now that we have per-podcast speed)
- Respect changed speed setting on settings page even if the service is not running
- Do not change global speed when feed setting is updated
2024-03-22 19:44:14 +01:00
ByteHamster 0a6b7ed699
Nicer rating dialog (#7011) 2024-03-22 18:18:30 +01:00
ByteHamster 27aa5cba96
Suppress outdated dependency Lint (#7009) 2024-03-20 20:30:28 +01:00
ByteHamster 542d50cba7
Create automatic backups only every 3 days, update summary (#7005) 2024-03-20 18:45:39 +01:00
ByteHamster 4bc90897b6
Only consider backup files with the exact same filename pattern for deletion (#7004) 2024-03-20 00:08:17 +01:00
ByteHamster 53f68ca260
Make swipe gestures less slippery (#7003)
The sine function made the item move faster than the finger.
2024-03-20 00:08:04 +01:00
ByteHamster 55845c46a1
Optional automatic daily database backup (#6994) 2024-03-18 07:36:37 +01:00
ByteHamster d40b9ef59b
Decouple media button starter and receiver (#6999) 2024-03-18 07:28:17 +01:00
ByteHamster 2d77b1f118
Remove dependency from :ui:glide to :core module (#6998) 2024-03-17 20:25:44 +01:00
Taco b84a05bd4e
Add POST_NOTIFICATIONS permission checks (#6951)
Also update AndroidX Core to 1.9.0 because then `checkSelfPermission()` delegates to `areNotificationsEnabled()` if needed
2024-03-17 19:58:33 +01:00
ByteHamster 0cbd97b5cb
Move theme to :ui:common module (#6997)
This enables creating Activities outside the app and core modules
2024-03-17 18:43:55 +01:00
ByteHamster 17f5a5d1b8
Move notification icons and widget icons to separate modules (#6995) 2024-03-17 12:06:41 +01:00
Tony Tam 8dc8cc64a8
Allow retrying chapter loading if interrupted (#6828)
Chapter loading can sometimes get interrupted, most importantly if
the corresponding fragment tries to refresh the view again.
Before, this set the chapters to an empty list, indicating that it
should not be tried again. Now, interrupted exceptions do not set
the list to be empty, so it can be retried later.
2024-03-17 11:52:16 +01:00
Taco 48c0ccb4a2
Fix "add podcast" FAB still visible under SpeedDial main FAB (#6950) 2024-03-17 11:49:56 +01:00
ByteHamster da21d92f96 Fully remove string that fails Lint 2024-03-13 22:39:21 +01:00
ByteHamster afc21f46a9 Remove translation that fails Lint 2024-03-13 22:22:37 +01:00
ByteHamster 7d89b18afb Merge branch 'master' into develop 2024-03-13 21:59:49 +01:00
Taco 030226f288
Replace SwitchCompat with MaterialSwitch (#6989) 2024-03-13 20:14:07 +01:00
ByteHamster 2f3f1fd186
Move import/export to its own module (#6986)
Also clean up ImportExportPreferencesFragment a bit.
2024-03-11 23:10:09 +01:00
ByteHamster 8177875674
Fix opml elements not showing title (#6988) 2024-03-11 23:09:00 +01:00
ByteHamster 0848364810 Bump version to 3.3.0 2024-03-10 21:14:59 +01:00
ByteHamster 44e123105c Backport: Remove tab characters from last 6 files 2024-03-10 20:57:32 +01:00
ByteHamster 635e6c8267 Update translations 2024-03-10 20:34:09 +01:00
ByteHamster 2e9fcc044f Update release notes 2024-03-10 20:32:14 +01:00
ByteHamster 5c98a33ed2
Remove Jetifier (#6982)
All the dependencies we use now support androidx
2024-03-10 10:47:54 +01:00
ByteHamster baa58ac17f
Remove wearable support library (#6978)
The library is the last one requiring Jetifier
and we only use 3 string constants in that whole library anyway.
2024-03-10 10:16:13 +01:00
ByteHamster 095a6b3e9d
Remove stream library that is just used in 3 locations (#6976)
Especially on the SwipeActionsDialog, this is even a bit easier to understand.
2024-03-10 10:14:17 +01:00
ByteHamster 393a8cebd3
Remove last few usages of Iconify (#6977) 2024-03-10 08:02:34 +01:00
Taco b18e5f0de6
Fix some Media3 deprecations (#6980) 2024-03-10 07:59:53 +01:00
Taco f1fe1b573f
Fix OkHttp deprecations (#6979) 2024-03-10 07:55:35 +01:00
ByteHamster 48e8197e3f
Upgrade OkHttp (#6975) 2024-03-09 19:44:05 +01:00
ByteHamster aaf225c7af
Remove okio library (#6972) 2024-03-09 17:55:07 +01:00
ByteHamster 755ccc42ec
Upgrade ExoPlayer to media3 version (#6971) 2024-03-09 17:52:21 +01:00
ByteHamster 39e2d6e230
Move Google Play Metadata to its own repo (#6970)
This avoids having hundreds of megabytes of screenshot data in the main repo every single time we re-generate them. Then developers do not have to clone a huge repo (at least if they clone without submodules). It also enables rewriting the screenshot git history to be smaller without rewriting the code git history (which would be quite a bad idea).
2024-03-09 11:02:23 +01:00
Taco e1ef2a643a
Update AndroidX libraries (#6940) 2024-03-09 10:56:58 +01:00