Commit Graph

2035 Commits

Author SHA1 Message Date
ByteHamster
b805b41dd6 Using a single notification icon 2019-09-14 18:35:14 +02:00
ByteHamster
983b5ea060 Removed unused icons 2019-09-14 18:24:07 +02:00
Jonas Kalderstam
d746121a9b Included Media playback speed into controller getter 2019-09-14 00:13:19 +02:00
Jonas Kalderstam
60eb41048f Converted playback speed in media preferences to a float instead of String 2019-09-14 00:09:24 +02:00
Jonas Kalderstam
684213c291 Moved logic for selecting playback speed entirely to UserPreferences 2019-09-13 23:53:42 +02:00
Jonas Kalderstam
19896f0ec2 Removed unused methods 2019-09-13 23:30:20 +02:00
Jonas Kalderstam
d0f19a2b14 Inlined getFeedPlaybackSpeed method on FeedItem 2019-09-13 23:27:55 +02:00
Jonas Kalderstam
3bcb368bb3 Check the media's own speed before loading video speed 2019-09-13 23:22:13 +02:00
Jonas Kalderstam
e5176c6a19 Updated database version to 1.7.4 2019-09-13 21:27:02 +02:00
Jonas Kalderstam
b1190881ba Set a default value for last playback speed in database 2019-09-13 00:31:09 +02:00
Jonas Kalderstam
2edc40cd6e Changed database version in upgrade to be at least 1.7.4 2019-09-13 00:31:09 +02:00
Jonas Kalderstam
4746b16b12 Changed type of media last playback speed to float from string
Also sets default to "magic" -1 value
2019-09-13 00:31:09 +02:00
Jonas Kalderstam
7cc602a078 Set a descriptive summary on the per-feed playback speed setting 2019-09-12 11:06:05 +02:00
Jonas Kalderstam
6b1a7a9162 Fixed playback speed issues when switching to next media
Fixes some issues related to the playback speed when playback was
completed or playback was paused and the app went away for awhile.

Now a media item which is "in progress" will remember its playback
speed so that it can be restored properly. The per-feed-media speed is
cleared once playback finishes, either by reaching the end or by the
user starting to play something different.
2019-09-12 10:57:16 +02:00
Jonas Kalderstam
4054c330ac Added per-feed playback speed setting
Fixes #375
2019-09-12 00:50:07 +02:00
ByteHamster
5f01e5045a Added screen that shows crash info 2019-09-11 23:43:05 +02:00
ByteHamster
facc5dccf5 Added warning when locking queue 2019-09-11 22:33:16 +02:00
ByteHamster
93812f1b15 Fixed widget if playbackservice is not running 2019-09-11 16:48:13 +02:00
H. Lehmann
eedd3ce755
Merge pull request #3399 from ByteHamster/remove-unused-color
Removed unused color resource
2019-09-10 23:57:53 +02:00
ByteHamster
c4c1780da4 Add option to follow system theme 2019-09-10 23:43:01 +02:00
ByteHamster
fe56265114 Restart service when re-gaining audio focus 2019-09-10 14:18:14 +02:00
ByteHamster
bb72636c68 Removed unused color resource 2019-09-09 19:31:28 +02:00
ByteHamster
0d0566e595 Fixed receiving audio events after service shutdown 2019-09-09 18:42:28 +02:00
ByteHamster
8802535e76 Making sure that intents are not overwritten 2019-09-06 08:09:53 +02:00
ByteHamster
cff377ab71 Pulled translations 2019-09-04 23:42:55 +02:00
H. Lehmann
cbaf8818bf
Merge pull request #3371 from ByteHamster/notification-action-foreground
Executing notification actions in foreground
2019-09-03 19:14:52 +02:00
ByteHamster
dcc6642f33 Updated default notification icon 2019-09-03 15:58:33 +02:00
ByteHamster
5825b7645b Executing notification actions in foreground 2019-09-03 15:23:09 +02:00
ByteHamster
11e68419f0 Added playback speed icon 2019-09-02 14:57:30 +02:00
ByteHamster
7cc5f86979 Do not crash when cancelling gpodder podcast loading 2019-09-02 00:19:56 +02:00
ByteHamster
9dc0297c7f Pulled translations 2019-09-01 12:16:59 +02:00
ByteHamster
ebd409f8ab Also ignore undeliverable InterruptedIOExceptions 2019-09-01 12:00:37 +02:00
H. Lehmann
a0ee6a8ca7
Merge pull request #3352 from ByteHamster/delete-current-feed
Fixed deleting currently playing feed
2019-08-31 14:03:56 +02:00
ByteHamster
be6c8c70b4 Added fast scroll to episodes fragment 2019-08-31 01:10:44 +02:00
ByteHamster
c68f2f75ca Displaying buffer state with ExoPlayer 2019-08-31 00:18:08 +02:00
ByteHamster
4962f0693f Fixed deleting currently playing feed 2019-08-30 22:34:43 +02:00
H. Lehmann
8a3e4f8765
Merge pull request #3351 from ByteHamster/lazy-load-episodes
More episodes on all episodes
2019-08-30 15:10:45 +02:00
Jan-Peter von Hunnius
2ba91f4f33 More episodes on all episodes 2019-08-30 15:09:54 +02:00
ByteHamster
e58dbfbd15 Allow to delete currently playing media 2019-08-30 14:26:57 +02:00
ByteHamster
b74c6083c0 Added missing import 2019-08-30 14:01:15 +02:00
H. Lehmann
46af0e0c36
Merge pull request #3349 from ByteHamster/no-crash-after-dispose
Do not crash on undeliverable InterruptedException
2019-08-30 13:44:13 +02:00
ByteHamster
af8dc2c9b9 Do not crash on undeliverable InterruptedException 2019-08-30 13:35:30 +02:00
H. Lehmann
f263ca8cd7
Merge pull request #3347 from ByteHamster/remove-notification
Playback service notification improvements
2019-08-30 13:09:51 +02:00
ByteHamster
5521a7a4e1 Updated streaming confirmation icon 2019-08-30 13:07:58 +02:00
ByteHamster
4678297ec3 Added button to always allow streaming 2019-08-30 13:07:58 +02:00
ByteHamster
e6ad131d37 Added media details to dummy notification 2019-08-30 13:07:58 +02:00
ByteHamster
f0acfa4263 Do not hide notification on audio focus loss 2019-08-30 13:07:58 +02:00
H. Lehmann
b0f97fdd89
Merge pull request #3348 from ByteHamster/translate-preference-search
Extracted preference search string resources
2019-08-30 13:03:21 +02:00
H. Lehmann
9ae179adce
Merge pull request #3343 from ByteHamster/video-playback-speed
Allow to adjust video playback speed
2019-08-30 13:03:06 +02:00
H. Lehmann
45578d84ef
Merge pull request #3342 from ByteHamster/black-theme-batch
Fixed white on white icon
2019-08-30 13:01:58 +02:00
H. Lehmann
ae606f552a
Merge pull request #3326 from ByteHamster/media-player-messages
Better media player error messages
2019-08-30 13:01:33 +02:00
ByteHamster
4e80388380 Extracted preference search string resources 2019-08-30 11:38:56 +02:00
ByteHamster
c14c223e2f Allow different playback speed for video 2019-08-30 01:56:52 +02:00
ByteHamster
a445942cec Extracted playback controls to new class 2019-08-30 01:09:18 +02:00
ByteHamster
7f05e358d1 Fixed white on white icon 2019-08-30 00:47:29 +02:00
ByteHamster
2a24fa849e Fixed setting mobile updates programmatically 2019-08-28 20:16:59 +02:00
ByteHamster
e5d72c90f6 Do not stop service on unknown media key 2019-08-23 19:42:19 +02:00
ByteHamster
b5c63db0e9 Fixed 'Service started without startForeground'
When we called stopForeground(), the service went to background state.
If we then somehow receive a second intent to onStartCommand (without onCreate),
we assume that the service already is in foreground, what is wrong.

This commit moves the service to foreground in onStartCommand if
it is no longer in foreground.
2019-08-23 19:33:19 +02:00
ByteHamster
f9889939a6 Updated Translations 2019-08-20 22:10:09 +02:00
ByteHamster
5774d9d2c7 Better media player error messages 2019-08-18 12:44:51 +02:00
ByteHamster
aca6e3e9e4 Fixed core integration tests 2019-08-11 15:00:37 +02:00
H. Lehmann
4e79ddb51b
Merge pull request #3315 from damoasda/Queue-Sort-Order2
Queue sort order - with keep sorted checkbox
2019-08-11 14:48:01 +02:00
damoasda
c4399de8cb Changes due to feedback in pull request #3315 2019-08-11 14:07:45 +02:00
damoasda
fe9f0c8e7e Changes due to feedback in pull request #3315 2019-08-11 11:08:19 +02:00
H. Lehmann
3ceb99d2e2
Merge pull request #3303 from rezanejati/develop
Add socks proxy in network settings
2019-08-11 10:19:52 +02:00
damoasda
be676c6faa Queue: Keep sorted #1556 2019-08-10 21:25:59 +02:00
H. Lehmann
867a2812e8
Merge pull request #3292 from ByteHamster/mobile-updates-setting
Mobile updates setting
2019-08-10 18:37:56 +02:00
H. Lehmann
2d88cd679f
Merge pull request #3314 from ByteHamster/phantom-notification
Stop service if playing from preferences does not work
2019-08-10 18:37:37 +02:00
ByteHamster
5bfcbce499 Stop service if playing from preferences does not work 2019-08-10 17:58:12 +02:00
H. Lehmann
2ff4632468
Merge pull request #3313 from ByteHamster/episode-cache-size
Added 500 episodes limit
2019-08-10 17:45:34 +02:00
H. Lehmann
9ffd9a9848
Merge pull request #3283 from andersonvom/3273-renable-linting
Re-enable deprecation and serial linting
2019-08-10 17:45:18 +02:00
ByteHamster
581d6350e7 Added 500 episodes limit 2019-08-10 17:34:57 +02:00
ByteHamster
d2084608a6 Fixed reappearing notification 2019-08-10 17:20:26 +02:00
rezanejati
2f1ebbbf74 Add brackets for condition - add new line in ProxyConfig 2019-08-07 09:11:55 +04:30
rezanejati
f3fec57a18 Add socks proxy in network settings 2019-08-05 16:39:05 +04:30
damoasda
51f348caa3
Merge branch 'develop' into Queue-Sort-Order 2019-08-04 09:59:32 +02:00
ByteHamster
de13f9b564 Updating pendingIntent 2019-07-25 14:01:24 +02:00
ByteHamster
1651b95f77 Displaying notification when playback switches to streamed episode 2019-07-25 13:53:54 +02:00
ByteHamster
be8e7c32f1 Display notification when trying to stream 2019-07-25 01:08:16 +02:00
ByteHamster
be42cc0c71 Refactored mobile updates setting 2019-07-25 00:38:00 +02:00
Anderson Mesquita
883bd27bac Remove non-existing class from ClientConfig
When #3284 (Make ExoPlayer the default player) was merged [1],
`UpdateManager` was removed but a reference to it was left behind in
`ClientConfig`, which causes the project not to build.

Since its contents were integrated into `app/PreferenceUpgrader`, we no
longer need this entry here.

[1]: https://github.com/AntennaPod/AntennaPod/pull/3284
2019-07-24 07:58:31 -04:00
H. Lehmann
f7251af8be
Merge pull request #3284 from ByteHamster/default-exoplayer
Make ExoPlayer the default player
2019-07-23 22:11:48 +02:00
ByteHamster
8b9c31ccf0 Do not set PlaybackService to null while still updating widget 2019-07-23 21:27:18 +02:00
ByteHamster
e2cf363cc4 Make ExoPlayer the default player 2019-07-23 21:22:27 +02:00
ByteHamster
76f9040184 Fixed NPE where trying to play null file
Stack trace contains headset button handler, so I guess the media is not loaded correctly.
2019-07-23 20:56:36 +02:00
Anderson Mesquita
ba4a7dd865 Fix deprecation warning 2019-07-22 18:45:11 -04:00
Anderson Mesquita
fd0cac5957 Fix deprecation warning
Original class:
https://github.com/jhy/jsoup/blob/9e36f9e/src/main/java/org/jsoup/examples/HtmlToPlainText.java
2019-07-22 18:34:01 -04:00
ByteHamster
33ba9baa35 Added quick discovery fragment 2019-07-22 22:09:39 +02:00
ByteHamster
c7f92b7c71 Redesigned add feed page 2019-07-22 20:52:28 +02:00
H. Lehmann
eaa1527fac
Merge pull request #3278 from ByteHamster/empty-view
Updated empty views
2019-07-22 19:05:39 +02:00
ByteHamster
58a3d055df Reduced widget spacing 2019-07-22 12:58:53 +02:00
ByteHamster
94ba9dfd46 Using EmptyViewHandler for chapters fragment 2019-07-22 12:49:16 +02:00
Anderson Mesquita
28c7858387 Add serialVersionUID to all exceptions
For more info, see [1].

[1]: https://stackoverflow.com/questions/146715/use-the-serialversionuid-or-suppress-warnings
2019-07-21 23:37:01 -04:00
Anderson Mesquita
f484b7965c Reformat exceptions
This also makes the variable and attribute names consistent with the
standard `Exception` class.
2019-07-21 23:36:00 -04:00
Anderson Mesquita
6a804525f3 Change default rewind time to 10s
This allows the user to better search through an episode, by allowing
them to rewind less than what was just forwarded. It is also aligned
with how other apps out there behave.

Closes: #3262
2019-07-14 13:29:24 -04:00
Anderson Mesquita
c38d7bad6b Reword "Mark as seen" to "Remove 'new' flag"
This avoids the confusion between "Mark as seen" and "Mark as played".

Closes: #3225
2019-07-14 11:16:52 -04:00
H. Lehmann
9fe4fed874
Merge pull request #3233 from jas14/pad-scrubber
Pad scrubber on large devices
2019-07-13 17:01:36 +02:00
H. Lehmann
ed338edea4
Merge pull request #3266 from ByteHamster/remove-flattr
Removed Flattr support
2019-07-13 15:04:05 +02:00
ByteHamster
641ee60cbf Removed Flattr support 2019-07-12 19:28:22 +02:00
ByteHamster
b5b2bccda4 Added total space to storage select dialog 2019-07-12 18:59:43 +02:00
H. Lehmann
9f6529d4bc
Merge branch 'develop' into 2747-completed-downloads-update 2019-07-11 12:43:30 +02:00
damoasda
9b7a61471d Queue: Keep sorted #1556 2019-07-09 08:55:46 +02:00
Andrew Gaul
24e4211da1 Fix within last year check in formatAbbrev
Previously this method considered a date within the last 365 days to
be in the same year as today.  Instead compare the actual years to
avoid confusion.  Fixes #3255.
2019-07-03 13:18:05 -07:00
Joe Stein
f047c23c09 Gracefully handle bad ID3 chapter URLs 2019-07-01 13:40:46 +02:00
Joe Stein
4bc8821845 Increase scrubber padding for large devices 2019-07-01 12:31:14 +02:00
Wagubi Brian
7f1f725bfe validate username for characters not accepted. 2019-06-26 04:50:18 +03:00
Anderson Mesquita
bbcec5d0aa Reorganize Episode Fragments lifecycle
This uses the existing android lifecycle methods to avoid having to do
null checks and state saving in various places.
2019-06-24 08:38:04 -04:00
ByteHamster
f3cd43b972 Cleanup 2019-06-14 10:45:45 +02:00
ByteHamster
8f11f8a271 Updated feed settings screen 2019-06-14 00:38:34 +02:00
H. Lehmann
3331b663e1
Merge pull request #3213 from fabolhak/add_episode_cache_summary
add pref_episode_cache_summary
2019-06-13 21:55:33 +02:00
Unknown
d2b3d5f220 remove german translation 2019-06-07 09:47:55 +02:00
H. Lehmann
2949fe61b6
Merge pull request #3218 from ByteHamster/mobile-download
Clarified mobile updates setting
2019-06-06 00:18:51 +02:00
ByteHamster
6712711ab2 Clarified setting 2019-06-05 23:50:52 +02:00
H. Lehmann
80ecfacb81
Merge pull request #3215 from ByteHamster/crashes
Fixed ArrayIndexOutOfBoundsException
2019-06-03 12:40:45 +02:00
ByteHamster
ba96311e87 Fixed ArrayIndexOutOfBoundsException 2019-06-03 12:32:38 +02:00
ByteHamster
6a83d2a434 Handle disabled auto update 2019-06-03 12:19:34 +02:00
H. Lehmann
405db1f169
Merge pull request #3164 from ByteHamster/work-manager
Work manager
2019-06-03 11:59:23 +02:00
ByteHamster
5630bf756d Revert "Start WorkManager on upgrade"
This reverts commit d372aa9577.
2019-06-03 11:44:18 +02:00
ByteHamster
d372aa9577 Start WorkManager on upgrade 2019-06-03 11:31:53 +02:00
Unknown
605e02fa70 add pref_episode_cache_summary 2019-06-01 18:16:47 +02:00
ByteHamster
f05132a716 Allow to disable auto updates 2019-05-28 18:11:12 +02:00
ByteHamster
4443d629fc Merge branch 'develop' into work-manager 2019-05-28 17:56:05 +02:00
H. Lehmann
18d297a0e5
Merge pull request #3210 from ByteHamster/eventbus-annotation
Use annotation processor for EventBus
2019-05-28 17:52:39 +02:00
H. Lehmann
cb3b3ac578
Merge pull request #3174 from skitt/spread-smart-shuffle
Smart shuffle: spread episodes evenly
2019-05-28 17:44:12 +02:00
ByteHamster
ce8adc4b26 Use annotation processor for EventBus 2019-05-28 17:26:09 +02:00
alimemonzx
83a6d70387 bugfix #3009 - Podcast's feed search results listed in an odd order (#3128) 2019-05-28 16:44:18 +02:00
H. Lehmann
8380c18543
Merge pull request #2709 from brad/fix-2359
Display cover art for media in the widget
2019-05-28 16:29:43 +02:00
ByteHamster
88854ea6ba Make sure to clear old icon if loading fails 2019-05-28 16:23:46 +02:00
H. Lehmann
d81cb2ff39
Merge pull request #3043 from CedricCabessa/remaining_time_playback_speed
Fixes #2197: Remaining time playback speed
2019-05-28 15:52:54 +02:00
Cédric Cabessa
60771673dc rename category title to match with "playback speeds"
also rename the key to be consistent with the content
2019-05-28 12:03:28 +02:00
H. Lehmann
f563fe48b5
Merge pull request #3207 from ByteHamster/sort-description
Sort options: 'old to new' instead of 'ascending'
2019-05-27 22:54:21 +02:00
ByteHamster
81a3d756eb Sort options: 'old to new' instead of 'ascending' 2019-05-27 21:09:55 +02:00
H. Lehmann
46103883ce
Merge pull request #3191 from jas14/stricter-db-import
Check SQLite3 magic bytes before import
2019-05-27 12:44:44 +02:00
Joe Stein
effa17c41d Fix scheduling tasks on shutdown executor 2019-05-21 18:36:04 -04:00
Joe Stein
09e138b51f Check SQLite3 magic bytes before import 2019-05-20 17:41:20 -04:00
H. Lehmann
c98a7c0c38
Merge pull request #3136 from andersonvom/develop
Add progress bar with space information to data folder selection dialog
2019-05-19 19:38:37 +02:00
Anderson Mesquita
e4a17562cb Improve space wording on choose data folder dialog
This makes it clear that the number refers to the **free** space left on
the device, as opposed to the total space available.
2019-05-19 13:25:27 -04:00
Anderson Mesquita
9396d41dcc Add space usage bar to data folder dialog
This displays a progress bar with the amount of used/free space in each
storage location to make it easier to identify storage devices. This is
particularly useful for devices that use non-standard names.

Reference: #3049
2019-05-19 13:25:27 -04:00
ByteHamster
73744e3d4c Merge branch 'develop' into eventbus-v3 2019-05-19 18:59:03 +02:00
Martin Fietz
135df61692
Merge pull request #3159 from andersonvom/3024-itunes-duration-format
Handle iTunes single-number duration format
2019-05-19 13:40:20 +02:00
H. Lehmann
6e29c37360
Merge pull request #3108 from ByteHamster/attr-redeclaration
Fixed attr redeclaration
2019-05-19 12:07:03 +02:00
Martin Fietz
8f93e3b2e2
Merge pull request #3172 from andersonvom/3169-cover-fragment-small-screen
Fix cover fragment in small screens
2019-05-19 12:01:45 +02:00
Joe Stein
49ef28877d Enable autodownload over Ethernet 2019-05-18 12:11:39 +02:00
ByteHamster
b47f6e8f3c Moved notification setup to new class 2019-05-17 15:16:22 +02:00
ByteHamster
785dff0698 Added logging in cases where service did not know how to handle intent 2019-05-17 14:42:21 +02:00
ByteHamster
1f8f2be9ab Do not try to display notification two times
The Thread is interrupted which leads to an empty notification
2019-05-17 14:35:19 +02:00
orionlee
7c4b98be59 Cherry-Pick: Add a generic java8-like Optional class
For use with RxJava2 where null was to be returned (RxJava2 requires non-null).
Cherry-picked from PR #2954
2019-05-17 09:53:51 +02:00
ByteHamster
3fca616e30 Revert "Merge pull request #2954 from orionlee/bugfix_phantom_notification_rework_2716"
This reverts commit 643173de14, reversing
changes made to f2d103736d.
2019-05-17 09:45:22 +02:00
Stephen Kitt
0a1a54d28d
Smart shuffle: spread episodes evenly
This reworks the sort algorithm used in smart shuffle so that episodes
are spread out evenly, which avoids episodes bunching up at the bottom
of the queue when one feed has more episodes than others, and avoids
running through feeds with few episodes very quickly.

Signed-off-by: Stephen Kitt <steve@sk2.org>
2019-05-09 18:38:34 +02:00
ByteHamster
bf6f6376db Do not deadlock
The Android internal media player blocks its `start()` call until the
seek listener completes. The seek listener is called on the main thread
even though `start()` is called on the executor. This makes the main
thread wait for the lock and the executor (which has the lock) wait for the
main thread to finish the call to the listener.
2019-05-08 19:18:44 +02:00
Anderson Mesquita
e9e61776ed Fix cover fragment in small screens
The cover fragment would hide both podcast and episode names in small
screen devices or multi-window mode.

This replaces the deprecated PercentRelativeLayout in favor of a regular
LinearLayout with weights to make sure that each section of the fragment
(podcast title, image, episode name) will have the necessary space in
the screen.

Since PercentRelativeLayout was only being used here, it also removes
the dependencies from the gradle files.

Closes: #3169
2019-05-08 09:48:00 -04:00
ByteHamster
e464569712 Fixed NPE 2019-05-08 15:37:53 +02:00
ByteHamster
c6e81391b2 Updated translations 2019-05-07 15:56:29 +02:00
ByteHamster
5a99580985 Do not deadlock on seek when using Sonic
Callbacks are called on the thread that created the MediaPlayer.
For Sonic, this is the executor. For ExoPlayer, this is the main thread.
When calling executor.submit, every thread waiting for the runnable to
complete gets blocked.

Because the callback is called in the thread that created the player,
we can simply remove the call to executor.submit and still be sure
that a background thread is used.
2019-05-07 15:32:48 +02:00
ByteHamster
c16bbdfc96 Do not block when using Sonic+Sleep timer 2019-05-07 14:58:34 +02:00
ByteHamster
cd5224d01b Charging constraint is related to auto download only 2019-05-06 23:08:45 +02:00
ByteHamster
dbda4a9aa8 Using WorkManager for feed updates 2019-05-06 23:04:19 +02:00
Anderson Mesquita
fb3bfa9f80 Handle iTunes single-number duration format
Apple says this [1] about the `<itunes:duration>` tag:

    If you specify a single number as a value (without colons), Apple
    Podcasts displays the value as seconds.

This commit makes it also handle this single-number format.

Closes: #3024

[1]: https://help.apple.com/itc/podcasts_connect/#/itcb54353390
2019-05-05 00:04:06 -04:00
Anderson Mesquita
9b41139709 Extract DurationParser
This makes it easier to test the logic of parsing duration strings.

References: #3024
2019-05-05 00:04:06 -04:00
Anderson Mesquita
a4c852dac0 Extract methods in NSITunes
References: #3024
2019-05-04 13:59:05 -04:00
ByteHamster
01616dd502 Added names for threads
So it is easier to identify problems in bug reports
2019-05-03 12:17:05 +02:00
ByteHamster
d67aa6386e Updated string
Closes #3145
2019-05-01 11:02:29 +02:00
Cédric Cabessa
cf638a4978 use time converter and pref in MediaPlayer and Widget 2019-04-28 21:03:18 +02:00
Cédric Cabessa
6187945e8f add a time conversion class
convert time depending on current playback speed and preferences
2019-04-28 21:03:18 +02:00
Cédric Cabessa
743ec1927c add preference for "Time respects playback speed" 2019-04-28 21:03:18 +02:00
ByteHamster
5d124c476a Fixed sleep timer ANR (Closes #3139) 2019-04-27 10:50:13 +02:00
ByteHamster
0925078770 Translation updates 2019-04-24 23:19:52 +02:00
H. Lehmann
017a6ab3bc
Merge pull request #2957 from orionlee/bugfix_app_anr_in_auto_feed_update_2956
Prevent app crash during some automatic feed update
2019-04-19 12:02:25 +02:00
Brad Pitcher
a349865af3
use multi-line TextView for "No media playing" 2019-04-18 22:08:49 -07:00
Brad Pitcher
73c39fc3d0
no need to spell out android.view.View 2019-04-18 21:48:33 -07:00
Brad Pitcher
ee6e5ed5d0
space before ( for better style 2019-04-18 21:45:59 -07:00
Brad Pitcher
bf54e0e7c7
avoid "app not responding" errors loading widget image 2019-04-18 21:45:11 -07:00
Brad Pitcher
a60b6efc51
use ic_launcher_foreground for widget when nothing is playing 2019-04-18 21:43:35 -07:00
ByteHamster
2fca491f53 Made sure that there is not an ANR when switching media player 2019-04-17 20:52:13 +02:00
ByteHamster
1fe33fb351 Fixed NetworkOnMainThreadException 2019-04-16 22:50:59 +02:00
ByteHamster
0339ce7bca Do not set player status before player object is created 2019-04-14 13:56:04 +02:00
ByteHamster
28f424e3c1 No locks are needed if everything is executed on main thread 2019-04-14 13:42:32 +02:00
Brad Pitcher
25915453ba
hide widget text when displaying < 3 columns 2019-04-12 17:56:53 -07:00
ByteHamster
09f4ebf08a Let PlaybackController handle listening for service start 2019-04-12 11:39:38 +02:00
ByteHamster
7d20baf4f9 Upgraded EventBus to v3
Also made sure that register/unregister are called in onStart/onStop
instead of onResume/onPause (prevents possible MultiWindow problems
where updates are not received because activity is not fucused).
2019-04-12 11:32:31 +02:00
H. Lehmann
3f1e6b5d50
Merge pull request #3106 from ByteHamster/subscriptions-columns
Set number of subscription columns
2019-04-12 10:56:26 +02:00
ByteHamster
11b085c68b Fixed attr redeclaration 2019-04-12 10:41:49 +02:00
H. Lehmann
b4f04f6d6d
Merge pull request #3105 from ByteHamster/style-repetition
Reduced repetition in styles.xml
2019-04-12 10:36:06 +02:00
Brad Pitcher
64ddf6ec96
use app_icon_size for layout width on widget components 2019-04-11 22:26:01 -07:00
Brad Pitcher
210afaeb3c
fix widget image glider 2019-04-11 22:25:24 -07:00
ByteHamster
cfd0af55c4 Removed nb translation 2019-04-11 21:54:57 +02:00
ByteHamster
777d92d4be Set number of subscription columns 2019-04-11 21:24:51 +02:00
ByteHamster
6595f49f22 Reduced repetition in styles.xml 2019-04-11 21:02:45 +02:00
H. Lehmann
97d08f3b00
Merge pull request #3097 from ByteHamster/exoplayer-main-thread
Executing all ExoPlayer methods on main thread
2019-04-11 20:50:56 +02:00
ByteHamster
5745da75a6 Clarified that it is using caller thread. not main thread 2019-04-11 20:11:40 +02:00
Brad Pitcher
f2af5192e6
Merge branch 'develop' into fix-2359 2019-04-10 08:21:55 -07:00
ByteHamster
0e3cabb86d Do not hold state in fragments 2019-04-10 01:05:36 +02:00
ByteHamster
156a20734a Fix Sonic playback 2019-04-07 12:54:12 +02:00
ByteHamster
2c9cb25eda Merge branch 'develop' into exoplayer-main-thread 2019-04-07 11:52:24 +02:00
ByteHamster
ebe32e795a Executing all ExoPlayer methods on main thread 2019-04-07 00:19:02 +02:00
orionlee
20f1445c06 fix rebase conflicts - remove the incorrect @NonNull from rxjava 2019-04-06 14:19:16 -07:00
orionlee
1655d234af #2966 RxJava2 null - case the underlying method may return null, but
should never happen in the code path, e.g.,
 return the current FeedItem in ItemFragment UI.
Mark underlying method as @Nullable, and let observer's existing
 onError() to handle null case

Rx observer : underlying sources marked as @Nullable
 ItemFragment.load : .loadInBackground
 MediaplayerActivity.checkFavorite : DBReader.getFeedItem
 ItemDescriptionFragment.onViewCreated : DBReader.getFeedItem
 ItemlistFragment.loadItems : .loadData
2019-04-06 13:43:11 -07:00
orionlee
0472bb9237 #2966 RxJava2 null - explicit mark underlying Rx sources as NonNull
to be on the safe side, for cases that the consuming observers checks null
unnecessarily.

Rx observer : underlying sources marked as NonNull
OnlineFeedViewActivity.startFeedDownload : Downloader.getResult
AllEpisodesFragment.loadItems : AllEpisodesFragment.loadData
PlaybackHistoryFragment.loadItems : DBReader.getPlaybackHistory
QueueFragment.loadItems : DBReader.getQueue
SearchFragment.search : .performSearch
2019-04-06 13:43:11 -07:00
orionlee
670fc124eb #2966 RxJava2 null - explicit mark underlying Rx sources as NonNull
to be on the safe side, for cases that the consuming observers
already assumes the result is not null.

Rx observer : underlying sources marked as NonNull
OnlineFeedViewActivity.listener member : DBReader.getFeedList
StatisticsActivity.loadStatistics : DBReader.getStatistics
CustomMRControllerDialog.updateViews : CustomMRControllerDialog.fetchArt
CompletedDownloadsFragment.loadItems : DBReader.getDownloadedItems
DownloadLogFragment.loadItems : DBReader.getDownloadedItems
ItemDescriptionFragment.onViewCreated : .loadData, Timeline.processShownotes
SubscriptionFragment.loadSubscriptions : DBReader.getNavDrawerData
SubscriptionFragment.onContextItemSelected (x2) : DBWriter.markFeedSeen, DBWriter.markFeedRead
PreferenceController.export : ExportWorker.output member
2019-04-06 13:43:11 -07:00
H. Lehmann
5f86af88b1
Merge pull request #3083 from orionlee/bulk_remove_from_queue_1145
Bulk remove from queue
2019-04-06 21:45:55 +02:00
orionlee
cb14fd930f refactor - rename string resource name remove_episode_lable , which was ambiguous with typos, to delete_episode_label
- non-default string resources to be handled by Transifex
2019-04-06 11:27:20 -07:00
orionlee
cc43af110a tweak - bulk edit UI - show a message after an action is applied. 2019-04-06 11:15:14 -07:00
orionlee
b3fbf0b4aa refactor - UI - remove the old (and now used) select all / none /intermediate icons 2019-04-04 14:05:51 -07:00
orionlee
d186309066 bulk edit - UI - new select all / none icons, based on
standard Material icons.
2019-04-04 13:50:55 -07:00
orionlee
dfe2241b4c bulk remove episodes from queue - UI - icon for dark themes. 2019-04-04 13:12:09 -07:00
H. Lehmann
643173de14
Merge pull request #2954 from orionlee/bugfix_phantom_notification_rework_2716
Fix phantom service notification
2019-04-04 11:59:30 +02:00
orionlee
b683d33bcb bulk edit - refactor - reorder method parameter for DBWriter.removeQueueItem(Context, FeedItem, boolean) to be consistent with the rest of the API. 2019-04-03 14:21:35 -07:00
orionlee
4322e8646f bulk edit - UI tweak - rename "Remove Episode" to "Delete Episode", to be consistent with other UIs 2019-04-03 13:27:31 -07:00
ByteHamster
46510c808a Respect 'keep updated' for new items counter 2019-04-03 18:11:55 +02:00
H. Lehmann
7a98e3c231
Merge pull request #3082 from ByteHamster/mobile-updates
Mobile updates: Allow images
2019-04-03 17:43:53 +02:00
H. Lehmann
b6e50c61d6
Merge pull request #3060 from jatinkumarg/issue-3052
Added empty views to the PlayBack History, Queue,and Downloads
2019-04-03 17:42:09 +02:00
ByteHamster
788e75515a Review changes 2019-04-03 17:29:44 +02:00
orionlee
3768dfb0ff bulk edit - "N selected" UI logic 2019-04-02 17:34:05 -07:00
orionlee
364c9a308d bulk remove from queue - backend - implement the new API 2019-04-02 15:59:27 -07:00
orionlee
70287a740e bulk remove from queue - backend - refactor existing logic to support bulk remove 2019-04-02 14:59:12 -07:00
orionlee
7d78b88a1c bulk remove from queue - frontend logic, with a stub backend. 2019-04-02 14:11:22 -07:00
orionlee
737f7571ab UI Prototype for Batch Edit Episodes rework (from #1145) 2019-04-02 11:47:57 -07:00
ByteHamster
6fe171fac9 Use ApOkHttpUrlLoader for all images
Probably got broken during my Glide update.
When using append or prepend, Glide uses the next one in the chain if ApOkHttpUrlLoader blocks
2019-04-02 17:41:21 +02:00
ByteHamster
0fda36b9b3 Add preference to allow mobile updates of images 2019-04-02 17:41:15 +02:00
Borjan Tchakaloff
c589bd2022 Validate that the *new* and *not played* are also exclusive
The FeedItem state is actually a tri-state, complement the test
coverage by checking that the state changes from *new* to
*not played*.
2019-03-31 21:26:53 +02:00
Borjan Tchakaloff
6ebf1defe7 Validate that the item state is only changed when needed
Follow-up to commit 8172d87477 (#3067)
that adds test coverage for the resolved issue.

Also, fix that commit by making the update condition more explicit:
the FeedItem state is only changed when a state switch is necessary.
In other words, an item marked as *new* that gets downloaded should
lose the *new* mark and gain the *unplayed* mark instead.
2019-03-31 16:28:05 +02:00
Borjan Tchakaloff
cba4059063 Require the Mockito library for unit testing 2019-03-31 16:26:26 +02:00
Borjan Tchakaloff
3c7fd274de Validate that the *new* and *played* states are exclusive 2019-03-31 16:26:26 +02:00
H. Lehmann
c6344f5bc0
Merge pull request #3073 from deandreamatias/fix-button-shadow-3040
Fix #3040 Video playback control button shadow
2019-03-31 00:44:50 +01:00
Matias de Andrea
56456e0001 Delete unused drawable 2019-03-30 21:21:11 +01:00
Martin Fietz
f900046c66
Merge pull request #3068 from bibz/develop
Do not reset item "played" flag on media download
2019-03-30 11:12:46 +01:00
Matias de Andrea
7f3f2180cc Fixes #3040
- Delete unused icons
2019-03-29 22:27:26 +01:00
Matias de Andrea
007f92c291 Change the icons in interface #3040 2019-03-29 22:23:52 +01:00
Matias de Andrea
9e21695486 Add new vector icons #3040 2019-03-29 22:21:04 +01:00
Jatin Kumar
209b0b3880 Fixed typos 2019-03-29 14:20:11 -04:00
Matias de Andrea
09087b354d Fix #3040
- Change the size of the button circle background
2019-03-29 12:57:52 +01:00
H. Lehmann
42cbdbd989
Merge pull request #3066 from orionlee/bugfix_statistics_played_duration_inflated_2162
bugfix - statistics - inflated actual played duration
2019-03-27 20:51:13 +01:00
Jatin Kumar
bdf7bf6844 Fixes #3052: Added empty views to the Playback History, Queue, Downloads and Episodes 2019-03-27 04:16:06 -04:00
Borjan Tchakaloff
8172d87477 Do not reset item "played" flag on media download
If an item has already been played, downloading its media will not
reset that "played" flag.

Fixes: #3067
2019-03-25 15:41:39 +01:00
orionlee
0a01f6e00b #2162 bugfix - statistics - inflated actual played duration 2019-03-24 13:00:37 -07:00
Jatin Kumar
6662205167 Added empty views to the PlayBack History, Queue,and Downloads 2019-03-21 03:05:01 -04:00
Matthieu De Beule
e25659a128 Fix #3054: use UTF-8 to encode password and username for gpodder auth 2019-03-08 17:46:30 +01:00
orionlee
7a905c0570 remove the commented stopService() call (to avoid future confusion) 2019-03-05 15:07:16 -08:00
orionlee
24915785eb remove the stopService() per review (which might unnecessarily
stop the playback when unsupported media buttons are pressed.)
2019-03-05 15:01:48 -08:00
H. Lehmann
c1bfb9183c
Merge pull request #3013 from hannesa2/buildImprovements
Build improvements
2019-03-05 23:49:00 +01:00
orionlee
e94e95e844 remove dead codes 2019-03-04 13:46:11 -08:00
orionlee
600e0e561e coding style fix per review 2019-03-04 13:44:53 -08:00
H. Lehmann
c0f534e825
Merge pull request #3050 from ByteHamster/add-backup-keyword
Add backup keyword to search
2019-03-04 18:57:37 +01:00
ByteHamster
579b263a86 Add backup keyword to search 2019-03-04 14:33:39 +01:00
ByteHamster
c50d37fa1b Moved some implementation tests to unit tests 2019-03-03 23:55:52 +01:00
H. Lehmann
1593a06077
Merge pull request #3032 from shortspider/3031-TimecodeRegex
Change Timecode Regex
2019-03-03 23:26:32 +01:00
Nathan Mascitelli
1d0e701525 Another atempt at fixing the regex 2019-03-03 13:36:28 -05:00
Nathan Mascitelli
7e3ccd97da Fix regex 2019-03-02 12:12:26 -05:00
Nathan Mascitelli
6f69b4b140 Adjust regext to ignore X:Y timecodes 2019-03-02 08:47:52 -05:00
orionlee
a3389490bb ensure the service continues to run in the event it takes a long time for the service to load the media to play, e.g.,
streaming over a slow network.
2019-02-27 14:59:31 -08:00
orionlee
ab78c1d410 bug fix for Android8+: revert context.startService() calls back to
ContextCompat.startForegroundService(), to ensure PlaybackService
can be started.

While PlaybackService itself ensures it will be raised to foreground
when appropriate, Android 8+ forbids creating the (background)
services to begin with (and throw IllegalStateException) in some
situation (e.g., BroadcastReceiver).

https://developer.android.com/about/versions/oreo/android-8.0-changes#atap
2019-02-27 14:52:34 -08:00
orionlee
2c5db08e25 minor cleanup of Log codes and comments. 2019-02-27 14:52:34 -08:00
orionlee
221cd4b480 refactor stop PlaybackService setupNotification() - extract common
code as private helper.
2019-02-27 14:52:34 -08:00
orionlee
f0f8623937 refactor stop PlaybackService codes - remove legacy dead codes 2019-02-27 14:52:34 -08:00
orionlee
584865ad18 review stop PlaybackService codes (stopSelf, stopForeground, etc.) 2019-02-27 14:52:34 -08:00
orionlee
3f14fac479 remove static PlaybackService.started, in favor of the start state
managed by inner ServiceManager.
Also add a generic java8-like Optional class for use with RxJava2 where
null was to be returned (RxJava2 requires non-null).
2019-02-27 14:52:34 -08:00
orionlee
e26a54bdbc start playbackService code paths reviewed (context.startService() and
ContextCompat.startForegroundService())
2019-02-27 14:52:34 -08:00
orionlee
76fbab8e82 more #2716 - fix VideoPlayback upon hitting home button. 2019-02-27 14:52:34 -08:00
orionlee
f3980091a9 #2716 Prototype for the revamped PlaybackService to fix phantom
notification. Many rough edges. Notable TODOs are marked with [2716].
2019-02-27 14:52:34 -08:00
ByteHamster
6dafc8b127 Transifex: removed duplicate Italian translation
Using it_IT for all italian languages because it's 100% finished
2019-02-21 15:17:59 +01:00
Nathan Mascitelli
e94e4bc3d0 Use a single format for short timecodes
It is unlikely that multiple formats for short timecodes would be used
in one document. Therefor we will parse all the short timecodes to see
if they are all less then the duration as HH:MM. If they are we will use
that, otherwise we will parse them as MM:SS.
2019-02-13 21:06:19 -05:00
Nathan Mascitelli
c49e98b546 Handle more then 23 hours 2019-02-12 20:53:17 -05:00
Nathan Mascitelli
39b9df5064 Timecode parsing logic now handles two short formats
We now handle both HH:MM and MM:SS when paring timecodes. We will move
in reverse order (assuming that the timecodes will increase over the
course of the document) and parse short codes as HH:MM. When we get a
result that does not fit into the duration we will change to parse as
MM:SS and use that for the rest of the document.
2019-02-12 19:43:57 -05:00
Nathan Mascitelli
d0f617880c Converter handles HH:MM and MM:SS 2019-02-12 19:43:37 -05:00
Nathan Mascitelli
96b0336b2c Update Timeline regex
Regex now looks for the new types of short and long timestamps.
2019-02-10 18:01:00 -05:00
ByteHamster
abe68ec7bd Merge remote-tracking branch 'upstream/develop' into auto_download_12_hour_option_2685 2019-02-01 16:25:20 +01:00
Burt Wiley Snyder
7f100b3fa6 Null handling in OnlineFeedViewActivity (#3004) 2019-02-01 15:57:19 +01:00
Hannes Achleitner
0663e422a6 unify lint options for all modules 2019-01-27 12:54:56 +01:00
Hannes Achleitner
e9c10cdaa8 simplify build concerning maven repos 2019-01-27 12:45:32 +01:00
Hannes Achleitner
9ca7888d92 remove buildtools specification 2019-01-27 12:42:02 +01:00
pachecosf
a80435a03b switched implementation to ussing attr 2019-01-18 12:09:24 -08:00
pachecosf
fd83665970 Changed implementation using themeUtils instead 2019-01-17 16:21:34 -08:00
pachecosf
7da762b8ea Changed implementation using themeUtils instead 2019-01-17 16:18:50 -08:00
pachecosf
ecff66eff6 fixed styles 2019-01-17 12:29:23 -08:00
pachecosf
43642a5e6b adding highlighting of drawer item functunality 2019-01-16 20:51:54 -08:00
pachecosf
5d3e3687f9 Adding some highlighting of drawer items 2019-01-16 18:26:42 -08:00
ByteHamster
994a73a06f NonNull annotation 2019-01-15 20:48:15 +01:00
ByteHamster
35f6050194 Only delete from queue if deletion of media succeeds 2019-01-15 11:30:48 +01:00
H. Lehmann
cf477de365
Merge pull request #2921 from qkolj/delete-episodes
Add delete option to episode's context menu
2019-01-15 11:23:44 +01:00
ByteHamster
71fdc65c5b Hiding settings that ExoPlayer does not yet support 2019-01-15 11:18:02 +01:00
H. Lehmann
3cad182e41
Merge pull request #2961 from HaBaLeS/AP2253
Remove silence in podcast episodes
2019-01-15 11:08:56 +01:00
H. Lehmann
7265fc55ba
Merge pull request #2969 from ByteHamster/colorDark
Expanding toolbar
2019-01-15 10:44:05 +01:00
H. Lehmann
d62aaf1026
Merge pull request #2968 from ByteHamster/translation-update
Translation updates
2019-01-15 10:43:04 +01:00
orionlee
9090d697b0 #2947 - fix app crash in some error case with ExoPlayer.
(It does not address root problems in #2947 though).
2019-01-11 13:33:25 -08:00
ByteHamster
6c9f15e0bc Splash status bar color 2019-01-10 13:12:23 +01:00
ByteHamster
84ede1b22d Expanding toolbar 2019-01-09 22:55:50 +01:00
ByteHamster
0914ac2b4a Updated strings.xml translations 2019-01-09 21:17:47 +01:00
H. Lehmann
b2e18b8128
Merge pull request #2944 from abendebury/develop
Fix bug preventing database import on Android 9.
2019-01-06 00:04:08 +01:00
falko
73c8635354 Add skip silence checkbox to audio control
Add new Checkbox to dialog. Enable only if ExoPlayer is selected.

Selection directly changes player behavior
2019-01-05 23:15:02 +01:00
falko
1d8509fd8a Enable ExoPlayer feature to skip silence
SetSpeed was change to SetPlaybackParams which contain speed and a switch to skip silence. For Players that fo not support this the call is ignored or only SetSpeed is used. It is only working if ExoPlayeris used

Default is OFF
2019-01-05 23:14:08 +01:00
falko
33603f8edd Update ExoPlayer Version to 2.9.3
In order to support the feature to skip silence audio ExoPlayer must be
updated. Lateste avaiable Version is 2.9.3
2019-01-05 14:20:26 +01:00
orionlee
eff2f154b5 fix code formatting 2019-01-04 10:33:26 -08:00
orionlee
d1c73dda5b episode cleanup 12 hour option - use hours internally part 2 (persisted shared preference)
requires data migartion: app versionCode increased to 1070196
2019-01-04 10:33:26 -08:00
orionlee
566a682122 episode cleanup 12 hour option - use hours internally part 1 (actual algorithm, no persistence) 2019-01-04 10:33:25 -08:00
orionlee
4ff5690341 episode cleanup 12 hour option: add unit test to prepare for using hours
rather than days as data structure
2019-01-04 10:32:14 -08:00
orionlee
1bb0694403 Mark method only used in testing. 2019-01-04 10:32:14 -08:00
orionlee
df6424be60 #2685: add "12 hours after finishing" option for auto download episodes cleanup 2019-01-04 10:32:14 -08:00
orionlee
33810b203e Mark method only used in testing. 2019-01-04 10:32:14 -08:00
orionlee
5bc497009a #2685: add "12 hours after finishing" option for auto download episodes cleanup 2019-01-04 10:32:14 -08:00
orionlee
949a05c17a fix #2956 - prevent ANR during some automatic feed update 2019-01-04 10:15:09 -08:00