Commit Graph

3406 Commits

Author SHA1 Message Date
Tony Tam c7d6cd358c
Honor sort in episode list view in Android Auto (#6756) 2023-11-17 22:33:16 +01:00
Erik Johnson 637230e382
Fix seeking to end using seek bar (#6763)
Merging #6074 has caused a new edge case for VBR audio files, in which
using the seek bar to seek to the end of an episode sometimes hits the
new code path, and the `skip()` function is called.

Because `skip()` invokes `endPlayback()` with `hasEnded` set to `false`,
post-processing tasks are not executed unless the pre-seek position
falls within the "Smart mark as played" range. If "Smart mark as played"
is set to `Disabled`, or the pre-seek position is outside that range,
then the episode is not marked as played, and not removed from queue.

This commit fixes that edge case by replacing `skip()` with a direct
call to `endPlayback()`, with `hasEnded` set to `true`.
2023-11-15 20:47:51 +01:00
ByteHamster 46c3d4e8c1
Fix file deletion (#6758)
- When deleting local folders, don't delete files
- Don't try to delete files twice
- Fix deleting non-local feeds
2023-11-12 23:00:06 +01:00
Tony Tam 7bfb53cc00
Fix sometimes stopping at the end of each episode (#6753)
The bug is on this line [#145](f7a13065a9/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java (L145)) - the call to `PlaybackPreferences.getCurrentlyPlayingFeedMediaId()` returns the episode that was playing and deleted, hence it stops playing the next episode like it is supposed to.  Because it's called in a Thread, the next episode already started playing for 1 second or so and then stops

The fix will now save into the preference the correct episode that is playing on the PREPARE stage.
2023-11-11 10:55:01 +01:00
Matej Drobnič 4d627cc3af
Only set target gain when enhancer was enabled (#6751) 2023-11-09 20:26:43 +01:00
ByteHamster f7a13065a9 Merge branch 'master' into develop 2023-11-05 08:27:34 +01:00
Harshad Vedartham 2c3fb5610a
Do not reinit on pause (#6732)
The call to `reinit()` causes Android Auto to close the player view when pausing
2023-11-01 15:56:28 +01:00
Bhaskar Kaura 01f1927770
Add more spacing to OnlineFeedViewActivity, use MD3 styles (#6670) 2023-10-29 16:13:51 +01:00
ByteHamster 4931734d94
Allow hiding notification permission nag (#6730)
- Support showing most error messages as a snackbar
- Ask for notification permission when enabling episode notifications
- Clarify what we use notifications for
2023-10-29 16:10:38 +01:00
Erik Johnson 8a011badd3
Fix fast-forward at end of episode (#6074)
When using variable speed, skipping back and forth introduces some
uncertainty to the current position, causing skip-forward to try to skip
to an invalid position when very near the end of the episode. This
change fixes this by skipping the current episode if the desired
skip-forward position exceeds the duration.
2023-10-29 09:43:20 +01:00
Matej Drobnič 346365b8d0
Delete local feed episodes (#6400) 2023-10-22 16:53:41 +02:00
ByteHamster fa75317bce
Do not try to sync local feeds (#6722) 2023-10-22 16:51:16 +02:00
Taco e9d190da1b
Bump AGP and Gradle (#6489) 2023-10-17 20:52:21 +02:00
ByteHamster 0efa91a0b1
Add error icon on subscriptions screen (#6679) 2023-10-15 10:26:13 +02:00
ByteHamster 7cb0ba8156
Switch to colorBackground instead of windowBackground (#6674) 2023-10-01 18:07:47 +02:00
ByteHamster 7e8ac3aeb6
Fix stuck notification when refreshing single feed (#6662)
Updating a singletonList throws an UnsupportedOperationException,
so the worker does not remove the notification
2023-10-01 14:21:19 +02:00
blair e466bba013
Handle double/triple headset button press (#6535) 2023-09-30 12:23:58 +02:00
Rahmat Ramadhan 922395a448
Sort downloads by size (#6659) 2023-09-27 21:59:58 +02:00
ByteHamster 7229cb40e9
Don't update redirect url if it is the same as the original (#6661) 2023-09-27 21:54:50 +02:00
ByteHamster 0e52f08aa5
Fix file deletion and queueing after download (#6652)
WorkManager does not tell us whether it was cancelled by
the user (not retried) or by the system (retried later).
So we need to delete the file and remove from queue when
we know that it was actually the user. Also make sure
to always delete the file when the download fails.

Also, don't show "will retry" message on last retry attempt.
2023-09-24 10:03:50 +02:00
caoilTe O'Connor 705aae44ba
Remove Iconify from NavListAdapter (#6578) 2023-09-16 12:34:30 +02:00
ByteHamster b933c0eb71
Refresh local feeds even if there is no internet (#6633) 2023-09-12 19:53:42 +02:00
ByteHamster 37c29a6372
Remove auto-download notification setting (#6625)
Also, add episode notifications to multi select options
2023-09-12 19:19:28 +02:00
ByteHamster 1e7c347cd2 No longer use 'metered' work-around for VPNs
WorkManager doesn't do the workaround either.
So we would launch a download that then never starts.
2023-09-12 19:18:12 +02:00
ByteHamster e4df6222c2
Make preference switch background less prominent (#6623) 2023-09-08 22:11:12 +02:00
ByteHamster ce7cffdbf3
Open inbox instead of 'all' from new episodes notification (#6624) 2023-09-08 22:05:19 +02:00
Matej Drobnič 8ebf153970
Add volume boost (#6573) 2023-09-08 13:28:20 +01:00
ByteHamster b5cd973a86
Do not try to resume download of feeds (#6591) 2023-08-22 12:00:34 +02:00
ByteHamster 18ab4ab8c6 Fix race condition in progress notification 2023-08-19 11:21:52 +02:00
ByteHamster 4182f83367
Sync on app start (#6589) 2023-08-19 10:59:12 +02:00
ByteHamster 4f6b563e3f
Avoid race conditions when updating download notification (#6588) 2023-08-19 10:46:43 +02:00
ByteHamster 9f8edd0e9d Fix MediaMetadataRetriever on API<29
On SDK<29, this class does not have a close method yet, so the app crashes when using try-with-resources.
2023-07-18 17:57:40 +02:00
ByteHamster 9be6562b4e Fix missing foreground notification on old Android versions 2023-07-18 17:57:40 +02:00
ByteHamster 8d1eb62f0b
Delete partially downloaded file when giving up to retry (#6530) 2023-07-15 16:27:12 +02:00
ByteHamster 75c3c4cf24
Don't allow adding items without media to the queue (#6529) 2023-07-15 15:55:24 +02:00
ByteHamster 6999a944bb
Fix 'allow once' for feed update on mobile networks (#6528) 2023-07-04 22:31:47 +02:00
ByteHamster 23d4cf5632
Merge pull request #6490 from TacoTheDank/minSdk21removals
Remove no longer needed Compat stuff
2023-06-24 14:45:07 +02:00
ebraminio d51e937e96
Use the brand new material switches for preferences (#6475) 2023-05-29 13:45:25 +02:00
ByteHamster 7d1259a39a
Fix default widget background (#6494) 2023-05-18 12:42:02 +02:00
mueller-ma 3da7fcf8f0
Rounded corners of cover in widget (#6483) 2023-05-18 10:33:02 +02:00
TacoTheDank cf4345564c Remove no longer needed Compat stuff 2023-05-14 17:02:34 -04:00
TacoTheDank 90d6095dad Centralize stream library version 2023-05-14 17:01:26 -04:00
ByteHamster b8a1c1f49a
Let filter button height grow (#6477)
Also, make it easier to see what option is selected
2023-05-07 11:28:41 +02:00
ByteHamster eaae6585d6
Don't show error when download was cancelled (#6476) 2023-05-06 17:54:47 +02:00
ByteHamster 6d7bfef8a5
Download Service Rewrite (#6420) 2023-05-05 23:09:03 +02:00
ByteHamster f8be7d596d Merge branch 'master' into develop 2023-05-05 19:43:45 +02:00
mueller-ma aab19f3a5c
Ignore subscription filter when suggesting tags (#6453)
I have the following setup:
* A tag 'Done' with fully listened podcasts
* The subscription filter "counter greater 0"
* The subscription counter "downloaded episodes"

This way all done podcasts aren't visible in the drawer. When I want to
tag another podcast as done, 'Done' isn't auto-completed. With this
change all tags will be auto-completed.
2023-05-05 17:22:31 +02:00
ByteHamster e2bbc3ef17
Work around Android telling us zero-date when no date is present (#6450) 2023-05-05 17:19:06 +02:00
mueller-ma 5a74279ce8
Mark quick settings tile as toggleable (#6464)
This removes the arrow that is currently displayed in the tile. That arrow is only shown on tiles that open a dialog or activity.
2023-05-05 17:18:42 +02:00
Rob Pilling e0227f9b16
Handle a null timestamp in local/first actions (#6379) 2023-04-15 21:11:05 +02:00
mueller-ma 0bdf9d9e28
Add option to enable sleep timer based on current time (#6384) 2023-04-15 21:08:03 +02:00
ByteHamster 8396a34670
Replace Network+Storage preferences with Downloads (#6434) 2023-04-15 17:33:21 +02:00
ByteHamster e10a8b534b
Adapt teaser image to branding refresh (#6436) 2023-04-15 16:28:11 +02:00
ByteHamster 2021e0e915
Invert monochrome icon (#6431) 2023-04-15 15:54:58 +02:00
ByteHamster 1541af0fd5
Add onPrimary color (#6432) 2023-04-15 15:53:47 +02:00
ByteHamster 7ed78887c4
Ignore 'new' action during sync (#6415)
We never want to overwrite the local playback state.
2023-04-06 20:01:39 +02:00
ByteHamster a08f387c56
Support longer transient pause (#6416) 2023-04-06 20:00:46 +02:00
ByteHamster 596bdaed3f
Don't crash when Chromecast media is not loaded yet (#6417) 2023-04-06 20:00:17 +02:00
ByteHamster 9b989fed43
Target Android 13 (#6409) 2023-04-03 21:51:54 +02:00
mueller-ma 3e101cca2a
Make widget configurable by long-pressing (#6410) 2023-04-03 21:50:13 +02:00
ByteHamster 038847177e
When both adding and removing a feed before the next sync, remove the other action (#6404) 2023-04-02 10:37:41 +02:00
Taco 78f65349d5
Update AGP to 7.4.0 (#5655) 2023-04-01 23:16:53 +02:00
ByteHamster 8c9b61e599
Remove 'set lockscreen background' setting (#6385)
Users disable the setting and then wonder why other apps (like Android
Auto) do not display the cover image, even though it says so in the
setting summary.
2023-03-31 22:18:37 +02:00
ByteHamster d5321a147b
Don't try to start foreground service, Android doesn't let us anyway (#6386) 2023-03-31 22:17:49 +02:00
Andrzej Węgłowski 548f9e021e
Random enqueue location (#6403) 2023-03-31 22:16:59 +02:00
ByteHamster 4f7f49e1e7
Move feed download to worker (#6375)
Feed downloads are now independent from episode downloads.
This makes it easier to use WorkManager for refreshing.
Also, it will make it easier to add different refresh intervals
in the future.
2023-03-14 21:03:45 +01:00
ByteHamster 2c0b970044
Notify Android Auto that the queue changed (#6373) 2023-03-12 20:09:12 +01:00
ByteHamster 6b6753ad84
Hide 'reconnect' settings (#6367)
Android 12+ doesn't let us start the foreground service from an event
like "headset reconnected". Hide the corresponding settings and avoid
crashing.
2023-03-06 22:08:49 +01:00
ByteHamster 95b97b6f49
Warn when local folder is empty instead of silently ignoring (#6366) 2023-03-06 21:41:05 +01:00
ByteHamster 24d1a06662
Instead of specialized methods, use the global 'getEpisodes' method with a filter (#6358) 2023-03-01 20:52:23 +01:00
GitStart 581e71b306
Add option to switch a- & descending sort order for Inbox (#6266) 2023-02-28 21:41:15 +01:00
ByteHamster ccea00e405
Remove deprecated media players (#6354) 2023-02-26 16:38:31 +01:00
ByteHamster 9cd59a6720
Support media resumption (#6350)
This fixes the disappearing media notification after pressing the play button.
2023-02-25 16:33:11 +01:00
ByteHamster 3e077e5653
Add cancel action to download notification (#6353) 2023-02-25 16:30:58 +01:00
ByteHamster 8be62b6d0e
Always add feeds from opml, even if download fails (#6347) 2023-02-24 22:08:59 +01:00
ByteHamster 6d72d7cebf
Add mobile sync setting (#6349) 2023-02-24 22:06:12 +01:00
GitStart 658c47f7a7
Resume playback does not work when streaming after data connection drops (#6272) 2023-02-24 19:08:57 +01:00
Andrew Booze 59253db2e4
Add back skip buttons and more custom actions on Android Auto (#6050) 2023-02-24 17:10:44 +01:00
peking_ling 240737e3ac
Fix memory leaks (#6335) 2023-02-23 21:53:56 +01:00
Erik Johnson 9fed944392
Add "New Episodes Action" preference (#6095) 2023-02-22 21:34:43 +01:00
GitStart 25ddd73f24
Add sort option to episodes screen (#6286) 2023-02-22 20:04:04 +01:00
ByteHamster 2b22d4b697 Merge branch 'master' into develop 2023-02-20 23:19:34 +01:00
ByteHamster e58e2d0639
Force-refresh feeds that failed before (#6332)
Apparently some servers return "Not Modified", even though a broken feed
was fixed in the meantime. When refreshing all feeds, now force-refresh
the feeds that previously failed.
2023-02-20 23:16:18 +01:00
ByteHamster a5d4864776
Add retry button to download failed notifications (#6333) 2023-02-20 23:15:56 +01:00
ByteHamster c98194f519
Remove another global callback object (#6316) 2023-02-19 11:48:48 +01:00
ByteHamster 997860fe52
Extra toggle for full black theme (#6328) 2023-02-18 14:51:55 +01:00
Jared234 7a2f4771ec
Add sorting options to downloads screen (#6210) 2023-02-12 21:12:04 +01:00
GitStart 4096aaf47e
Convert subscriptions screen to cards (#6261) 2023-02-11 19:04:14 +01:00
ByteHamster 530165206b
Fix when playback is started from MediaSessionCompat.Callback (#6295)
In that case:
- The service does not go through onStartCommand, so it does not go to foreground state.
- The media session is already destroyed.

Now, create a new media session and definitely start foreground service when something is playing.
2023-02-02 00:06:53 +01:00
ByteHamster 731adeaf2c
Don't stop service between episodes (#6293) 2023-01-29 16:45:26 +01:00
ByteHamster e261514c5b
Update feed url when server returns itunes:new-feed-url (#6291) 2023-01-29 12:12:08 +01:00
ByteHamster 12793de604
Use rasterized icon on splash (#6287) 2023-01-28 11:43:35 +01:00
ByteHamster 78bce635c4
Send first sleep timer tick earlier (#6288) 2023-01-28 10:14:53 +01:00
ByteHamster 63e9d7f696
Merge pull request #6265 from ByteHamster/fix_duplicate_name
Fix downloads when feeds with same name have items with the same name
2023-01-13 17:27:16 +01:00
ByteHamster d7bfe89b13
Branding upgrade (#6146) 2023-01-13 17:24:51 +01:00
ByteHamster 941ebbdc2b Fix downloads when feeds with same name have items with the same name 2023-01-08 21:52:41 +01:00
Vishnu Sanal T 88289d02ae
Possibility to remove a single episode from playback history (#6184) 2023-01-01 15:29:23 +01:00
ByteHamster 0776f232d3
Merge pull request #6247 from ByteHamster/rewrite-audio-focus
Rework audio focus handling
2022-12-20 21:18:48 +01:00
ByteHamster 670f26bb0e Rework audio focus handling
Instead of pausing the entire service, only pause media playback without
telling the service. This has the following advantages:
- It's faster
- The position does not change (because it does not need to seek)
- We can definitely resume (because we still have a foreground service)

Especially the last point is important on Android 12, where we couldn't
restart after an interruption because the service cannot be started.
2022-12-18 21:36:40 +01:00
ByteHamster d8d6f1c72f Remove support for Android 4.4 2022-12-18 15:01:59 +01:00