Commit Graph

3384 Commits

Author SHA1 Message Date
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
ByteHamster 1d251492b0 Add support for Material You tinted theme 2022-12-17 10:51:07 +01:00
ByteHamster 32ffb2d1e9 Show skip button even if 'continuous playback' is disabled
It can still be used to skip the rest of an episode and load the next
one into the notification/miniplayer. There is no reason to hide the
button and instead show no button at all.
2022-12-04 21:47:01 +01:00
Jared234 f91d536ab9
Fixed bug that causes "skip" button to be unresponsive (#6170) 2022-11-30 20:28:14 +01:00
ByteHamster 1c08543430 Highlight currently playing card 2022-11-30 19:55:43 +01:00
ByteHamster 6c4c51994d
Switch back to non-transparent navigation bar (#6111) 2022-11-27 12:42:42 +01:00
ByteHamster 807e09ecdd
Target API 31 (#6190) 2022-11-26 16:06:02 +01:00
LukasBrilla5 d585e37e11
Add button to refresh episode chapters (#6177) 2022-11-18 20:08:48 +01:00
ByteHamster d8a2dd5f83 Move preferences to a new module 2022-11-06 21:21:28 +01:00
ByteHamster b140d7297a Move DownloadService-Interface to new module 2022-11-06 12:28:30 +01:00
ByteHamster be8c8cef4d
Merge pull request #6176 from ByteHamster/decouple
Decouple some classes
2022-11-06 10:54:18 +01:00
ByteHamster 11292b598c Remove dependency from other classes to DownloadService 2022-11-05 20:44:53 +01:00
ByteHamster ae3971a58f No need to have other classes depend on the entire playback service when they just need one constant 2022-11-05 13:54:33 +01:00
ByteHamster 323149642a Decouple FeedItemUtil and PlaybackStatus 2022-11-05 13:19:41 +01:00
ByteHamster d08b9e196e Decouple sync service from other classes 2022-11-05 13:04:07 +01:00
ByteHamster 546c8841db
Merge pull request #6174 from ByteHamster/modularize-glide
Move Glide config to its own module
2022-11-05 12:50:13 +01:00
ByteHamster 70a847f6ba Remove dependency from MediaButtonReceiver to PlaybackService 2022-11-03 23:16:42 +01:00
ByteHamster 5b8cee0de0 Decouple restoring Playable from Preferences and storing position
Breaks dependency cycle
2022-11-03 23:04:48 +01:00
ByteHamster cd9845ed4c Make NetworkUtils less fat
Breaks dependency cycles
2022-11-03 22:49:33 +01:00
ByteHamster 6c1ec57bc1 Break dependency cycle
ClientConfig->HttpClient->UserAgentInterceptor->ClientConfig
2022-11-03 22:49:31 +01:00
ByteHamster c1fbb53805 Move Glide to its own module 2022-11-03 22:46:56 +01:00
ByteHamster 9b06bf0dc5
Merge pull request #6173 from ByteHamster/playbackservice-cleanup
PlaybackService cleanup
2022-11-03 21:35:18 +01:00
ByteHamster 6921d7162e Apply default RequestOptions globally instead of locally 2022-11-01 12:47:52 +01:00