Commit Graph

3427 Commits

Author SHA1 Message Date
ByteHamster 2143ab1351
Move some tests from core module to their respective module (#7059) 2024-04-04 22:26:53 +02:00
ByteHamster 0288d4e51e
Small database efficiency tweaks (#7058)
- When checking whether there is a subscription, there is no need to create feed objects (plus counters etc). Just the number of episodes is enough.
- Downloads section only needs to load the items it actually displays.
- No need to load FeedMedia, just to load FeedItem including the same FeedMedia afterwards.
- No need to convert columns to Strings and back to Longs.
- No need to join favorites when we are only interested in the list of IDs anyway.
2024-04-04 21:58:36 +02:00
ByteHamster e894ff1ccb
Remove methods from DbReader that just call a private method (#7057) 2024-04-04 21:25:57 +02:00
ByteHamster edb440a5a9
Restructure related UI classes together (#7044) 2024-03-31 18:40:15 +02:00
ByteHamster 8accb54685
Move playback service to module (#7042) 2024-03-29 21:05:02 +01:00
ByteHamster 2fd73b148d
Move download service to module (#7041) 2024-03-29 19:27:53 +01:00
ByteHamster 6f3a9b1676
Create module for sync service and move DBWriter to database module (#7040) 2024-03-29 17:45:14 +01:00
ByteHamster f9dd837362
Remove ClientConfig class (#7038) 2024-03-29 13:39:19 +01:00
ByteHamster 5ede21d676
Remove dependency of :net:discovery and :ui:echo on :core (#7036)
Moves the common icon files to :ui:common
2024-03-29 11:23:33 +01:00
ByteHamster 1dbda2fb8a
Split up DBTasks which has unclear responsibilities (#7032) 2024-03-27 21:01:45 +01:00
ByteHamster 130da46f5d
Move widget setup code to widget module (#6996) 2024-03-25 23:45:09 +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 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 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 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
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 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 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
peking_ling b4a6203e1a
Convert teaser from png to webp for smaller file size (#6959) 2024-03-07 07:23:20 +01:00
ByteHamster 68ec4e2527
Merge pull request #6958 from TacoTheDank/bumpSpotBugs
Update and fix SpotBugs
2024-03-06 17:46:05 +01:00
TacoTheDank 522288260c Clean up some old SpotBugs rules 2024-03-06 02:55:01 -05:00
TacoTheDank c2ccc28b95 Update SpotBugs 2024-03-06 02:52:14 -05:00
ByteHamster 5e8960f4bc
Merge pull request #6955 from ByteHamster/checkstyle
Move some Checkstyle rules from new-code file to main file
2024-03-06 07:32:24 +01:00
ByteHamster cae848b505 Fix indentation in last 8 files 2024-03-04 23:09:59 +01:00
ByteHamster 6c0f9eec62 Remove tab characters from last 6 files 2024-03-04 23:09:55 +01:00
Taco 40da13e014
Clean up some dead code (#6952) 2024-03-04 23:07:28 +01:00
Taco c06a3a6d27
Update AGP and Gradle (#6954) 2024-03-04 22:17:44 +01:00
quails4Eva 60f3d77eb2
Skip silence setting per feed (#6910) 2024-03-03 20:17:22 +01:00
ByteHamster 3c77d43e76
Specify foreground service type (#6953) 2024-03-03 13:00:00 +01:00
ByteHamster ee99ef934c
Remove FeedComponent and FeedFile class (#6949)
We want to be more flexible in what we store for each type of item. Also rename misleading function (lastUpdate to lastModified)
2024-03-02 09:50:24 +01:00
peking_ling fa9dd8cb5a
Cache streamed media files on disk (#6927) 2024-02-29 21:02:48 +01:00