Commit Graph

8831 Commits

Author SHA1 Message Date
ByteHamster 1fc212ee88
Move auto-delete settings (#7096)
Users had a hard time understanding that automatic deletion and episode cleanup are two different things.
Maybe that is because in German, both got translated to the exact same string.
Now both are next to each other and the titles are updated, so that it hopefully causes less confusion.
2024-05-24 14:21:21 +02:00
ByteHamster fc1c13f4a5
Add new date format (#7189) 2024-05-20 20:25:12 +02:00
hades 84b6f442fc
Fix android auto resume on reconnect issues (#7156)
Previously the MediaSession object created in PlaybackService in onCreate would
be completely empty. This seemed to confuse Android Auto, and prevented it from
restarting playback.

Filling the MediaSession object using the data from the player state at
onCreate resolves this problem.

This is documented in Android Auto docs[1], albeit indirectly and somewhat
confusingly.

Also move the setSessionToken call to the end of onCreate handler to ensure
that the media session has already been completely filled by the time the
session token is made available to the framework. There is no evidence that
this is required; however intuitively, this is likely the trigger for the
framework to start querying the media session.

The change was tested both with Desktop Head Unit and with a real vehicle.

[1] https://developer.android.com/training/cars/media/#initial-playback-state
2024-05-18 19:34:36 +02:00
ByteHamster dd8bf381c4
Merge pull request #7186 from AntennaPod/transcript
Podcast:Transcript support
2024-05-18 19:26:39 +02:00
Tony Tam e856a9f118 Display transcript text and follow along the audio (#7103) 2024-05-18 18:58:36 +02:00
Tony Tam 7c4f19c979 Transcript semantic parsing (#6852) 2024-05-18 18:58:01 +02:00
Tony Tam 27e9bf36b1 Download and store transcript text (#6797) 2024-05-18 18:58:01 +02:00
Tony Tam 8adbad9b66 Parse podcast:transcript url and store in SQLite (#6739) 2024-05-18 18:57:57 +02:00
ByteHamster 59c5042a65
Make it possible to scroll swipe actions dialog (#7174) 2024-05-10 08:14:03 +02:00
ByteHamster 8d3eb6aae9
NoRelayoutTextView: Enable requestLayout in more cases (#7175) 2024-05-10 08:11:28 +02:00
ByteHamster 084723ad76
Add episodes without subscribing (#7098) 2024-05-09 11:44:26 +02:00
ByteHamster 53ce6cd71a
Update error message design (#7167) 2024-05-08 23:27:04 +02:00
ByteHamster a61f548792
Fix settings toolbar having color (#7169) 2024-05-08 07:46:25 +02:00
flofriday 2827f41430
Improve layout for missing chapter images (#7164)
If only some chapters have images the other chapters don't display
anything but reserve space for the image.

Now those chapters display the image of the episode. If no chapters have
images no images will be displayed (just like before).
2024-05-06 22:14:26 +02:00
flofriday 6f572faa77
Fix inconsistent icons in the app toolbar. (#7163) 2024-05-06 22:04:24 +02:00
Simon Conrad ba14510b80
Add support for parsing Nero M4A chapters (#7159) 2024-05-05 10:05:26 +02:00
ByteHamster cb1a03cd8d
Show statistics above description on feed info page (#7161) 2024-05-03 21:42:14 +02:00
hades 292a21f8f8
Playback: remove special handling for Huawei (#7152)
This was introduced in 5105cdd7 to prevent crashes on Huawei phones[1].
However, it seems this has already regressed in 376ffed5, where the setActive
call was moved outside of the try-catch block.

Additionally, the problem is now 9 years old, and hopefully fixed for the users
already.

[1] https://stackoverflow.com/questions/31556679/android-huawei-mediassessioncompat
2024-05-01 11:36:15 +02:00
ByteHamster a8dfe6f123
Bottom multi-select (#7093) 2024-04-29 07:40:03 +02:00
flofriday c063c59af3
Fix sharp corners on placeholders (#7142)
All placeholder now have round corners matching the corner radius of the
image that will eventually load.
2024-04-27 11:28:30 +02:00
0x082c8bf1 f69822582d
Use multiple threads for refreshing feeds (#7126) 2024-04-27 10:44:09 +02:00
ByteHamster d9d48674ed
Move 'show subscription title' setting to subscription page (#7097) 2024-04-27 10:42:54 +02:00
ByteHamster dbbb21bd3b
Switch Emulator CI to Ubuntu (#7140)
GitHub switched their MacOS runners to ARM, which makes the Android emulator fail to start. Since we introduced the CI workflow, GitHub upgraded the Ubuntu runners as well, now supporting hardware acceleration. This means we no longer need MacOS. The Ubuntu runner is also about 2 times faster.
2024-04-27 10:05:58 +02:00
flofriday 4cf362393a
Fix infinite refresh indicator (#7137)
Before when refreshing any feed(s) without network the refresh indicator
stayed indefinitely.

This was also the case if you were on mobile, trying to refresh a need
and in the popup selected "don't update over mobile".
2024-04-25 22:42:23 +02:00
flofriday 7b048ed579
Make contributors clickable (#7129) 2024-04-24 20:57:29 +02:00
flofriday c56facd141
Improve about icons (#7122)
The new icons better represent the contributors and the privacy policy.
2024-04-21 19:50:19 +02:00
hades 841bda020f
Do not enable sleep mode in Android Auto (#7053)
When playback is started while an Android Auto projection is active, we want to
prevent automatic sleep timer from starting.

Note: the androidx.car.app library has not seen a full release since 1.2.0. We opted to use a release candidate here, which has a downgraded minSdk requirement, compatible with the current minSdk of AntennaPod at the time this dependency is introduced.
2024-04-17 00:01:34 +02:00
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 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 863d4c3b61
Don't spam the logs when doing unit tests (#7081) 2024-04-11 23:50:25 +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