Commit Graph

8785 Commits

Author SHA1 Message Date
Fredrik Wallén
00d6df6261
Make it possible to sort the home screen (#7048) 2024-04-05 20:45:26 +02:00
ByteHamster
687db0f5ed
Merge :net:sync:model and :net:sync:service-interface (#7063) 2024-04-05 20:08:25 +02:00
Taco
b6a4049ff4
Spotbugs cleanup (#6968)
Remove unused SpotBugs rules.
Fix URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD, ICAST_INTEGER_MULTIPLY_CAST_TO_LONG, NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION, OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE
2024-04-05 19:28:36 +02:00
ByteHamster
92ab575b15
Delete core module (#7060) 2024-04-05 19:20:27 +02:00
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
613a9896e9
Remember column indices between different list items (#7051)
This is way faster than searching for the column index again for every item.
2024-04-03 22:21:42 +02:00
ByteHamster
a846e417b0
Fix playback state not being updated (#7050) 2024-04-01 09:55:30 +02:00
ByteHamster
edb440a5a9
Restructure related UI classes together (#7044) 2024-03-31 18:40:15 +02:00
ByteHamster
4e47691e70
Remove gpodder search (#7047)
The search results are usually broken anyway
or the server just returns an error 500
2024-03-31 09:15:53 +02:00
ByteHamster
86ff7f540b
Remove unneeded module dependencies (#7046) 2024-03-31 09:15:03 +02:00
loucasal
bf1bd56186
Update string to sentence case (#7045) 2024-03-30 11:19:41 +01:00
ByteHamster
d76b6f63ee
Fix search button not working on some screens (#7043) 2024-03-29 21:49:53 +01: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
0c8c9a89a3
Move about screen to :ui:preferences (#7039) 2024-03-29 13:39:45 +01:00
ByteHamster
f9dd837362
Remove ClientConfig class (#7038) 2024-03-29 13:39:19 +01:00
ByteHamster
8f553f08f0
Add :ui:discovery module (#7037) 2024-03-29 13:38:31 +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
13a985ca1e
Restructure Echo to be more flexible (#7035)
Each screen is its own file, which makes it easier to add interactive elements.
2024-03-29 08:55:13 +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
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