Commit Graph

8910 Commits

Author SHA1 Message Date
Tom Hense 2f58b4b360
Strip duplicate slash on Nextcloud Gpodder sync (#7085) 2024-04-16 08:14:59 +02:00
ByteHamster 5e7858ef7e
Show covers on podcast page (#7094) 2024-04-15 19:28:10 +02:00
ByteHamster 2043e71299
Show feed search results as soon as they are available (#7100)
without waiting for episode search results
2024-04-15 19:24:06 +02:00
ByteHamster 91bcf4b400
Work around race condition where position reset might be undone (#7102)
When the position saver ticks while the service is just about to be
stopped, it might happen that we first reset the position and then
set it to the end again. This works around this.
2024-04-15 19:23:26 +02:00
ByteHamster 8037bd2239
Fix default per-feed skip silence setting (#7101) 2024-04-15 19:22:07 +02:00
ByteHamster e9b3cc34fe
Optionally display subscriptions as a simple list (#7087) 2024-04-14 11:45:12 +02:00
ByteHamster d6b2a49caa
Hide info views in multi-select (#7095)
Still not perfect because the toolbar is visible behind the action menu.
However, it fixes the jumping when entering multi-select mode.
2024-04-14 11:43:50 +02:00
ByteHamster f3bca9d9e4
Add lazy loading to feed item list (#7091) 2024-04-13 19:18:13 +02:00
ByteHamster 04fab47072
Store download date in database (#7090) 2024-04-13 17:28:56 +02:00
ByteHamster 456159e85f
Fix detection of local-only refresh (#7088) 2024-04-13 10:04:03 +02:00
ByteHamster 25e4703da4
Fix website languages being in wrong folder (#7084) 2024-04-12 23:52:35 +02:00
ByteHamster 863d4c3b61
Don't spam the logs when doing unit tests (#7081) 2024-04-11 23:50:25 +02:00
ByteHamster 58db8f1032 Bump version to 3.4.0-beta1 2024-04-11 23:02:20 +02:00
ByteHamster 80ea632da3 Update contributors 2024-04-11 23:02:06 +02:00
ByteHamster 1a92db4706 Update translations 2024-04-11 22:57:42 +02:00
ByteHamster d9e84f8c38
Target SDK 34 (#7075) 2024-04-09 22:33:52 +02:00
ByteHamster bd4e9e19d7
Don't allow downloading already downloaded episdoes again (#7076) 2024-04-09 22:33:31 +02:00
ByteHamster e578f4ca93
CI tweaks (#7069)
- Run Checkstyle with gradle to make it easier for users
  - No longer needs different configuration for new code
  - Exclude current violations
  - Fix some violations that somehow couldn't be specified in the exclusion file
- Print SpotBugs/Lint/Checkstly violations in GitHub format
  - Then the CI run gets annotated on the web UI
2024-04-07 23:28:14 +02:00
ByteHamster fc40da28a7 Merge branch 'master' into develop 2024-04-07 10:42:25 +02:00
ByteHamster e4bac5ea71
Do not crash if an event comes in before the media is loaded (#7067) 2024-04-06 20:24:47 +02:00
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