Commit Graph

2011 Commits

Author SHA1 Message Date
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
Petar Kukolj dfcb16d77b Include Awaitility in app module and properly fix the added test 2019-01-04 00:13:00 +01:00
Petar Kukolj ebc0200968 Fix a style issue and fix the test 2019-01-03 22:50:30 +01:00
H. Lehmann 8252f6a41d
Merge pull request #2913 from orionlee/auto_feed_update_fix_in_airplane_2906
Auto feed update fix in airplane mode
2019-01-03 19:25:51 +01:00
H. Lehmann d7e7684cc0
Merge pull request #2859 from ByteHamster/glide-48
Upgraded Glide to version 4.8.0
2019-01-03 19:05:03 +01:00
ByteHamster b1ae1f8f2f Fixed loading embedded picture 2019-01-03 18:43:19 +01:00
ByteHamster 02bf71551b Code style 2018-12-26 08:53:41 +01:00
ByteHamster bb4b4655d2 Merge branch 'develop' into rxjava2 2018-12-26 08:40:40 +01:00
Alexei Bendebury f90ce4228b Fix bug preventing database import on Android 9.
Fixes #2925, fix suggested by ByteHamster.
2018-12-25 15:33:53 -08:00
H. Lehmann 580cc49b1b
Merge branch 'develop' into glide-48 2018-12-23 15:25:59 +01:00
Petar Kukolj b53a3c2ecf Move "Delete Removes from Queue" logic to DBWriter 2018-12-02 23:17:56 +01:00
qkolj 90e6259331
Fix grammar in strings
Co-Authored-By: qkolj <qkolj@users.noreply.github.com>
2018-12-02 17:10:40 +01:00
ByteHamster 3ca230ce60 Made it easier to see that 'go to page' has a submenu 2018-11-30 22:11:45 +01:00
Petar Kukolj 53957c9aa1 Use a resoruce array for fragments tags 2018-11-30 18:11:29 +01:00
Petar Kukolj a1f81d4144 Add delete option to episode's context menu
This PR makes following changes:

 - Adds delete option to episode's context menus in queue and feed list

 - Adds a storage preference that allows episodes to be automatically removed from queue when they are deleted (by clicking delete in context menu,
or pressing trash can icon on `Completed` tab of `Downloads` page)

 - Adds a test for the aforementioned preference
2018-11-29 21:56:29 +01:00
orionlee feef92f802 #2906: refactor: move auto feed update by interval helper,
checkShouldRefreshFeeds(), to proper level of abstraction.
2018-11-21 12:11:39 -08:00
orionlee 1dc366544e #2906: fix automatic feed update (by time interval) incorrectly run in airplane mode 2018-11-21 11:08:50 -08:00
Petar Kukolj 0d1b9c4c55 Use fragment tags instead of position indexes for saving chosen fragment 2018-11-17 20:13:35 +01:00
Petar Kukolj 6262f98e39 Add go to page option 2018-11-15 20:58:54 +01:00
Petar Kukolj b3fbb0ec75 Add configurable behavior of the back button
This PR allows users to change how the back button functions. Closes #2196

Possible choices are following:

 - **Default** - back button functions how it currently functions (closes the app if there is nowhere to go back to)

 - **Open navigation drawer** - back button always opens the navigation drawer instead of closing the app

 - **Double tap to exit** - like default, but requires two taps to close the app

 - **Confirm to exit** - like default, but prompts user if they really want to exit
2018-11-14 16:40:59 +01:00
Martin Fietz 68b245701e
Merge pull request #2870 from ByteHamster/tests-fix
Updated tests
2018-11-11 11:01:24 +01:00
Cameron Banga 82a9758147 Previously couldn't see the highlighted chapter on trueblack AMOLED because it was same color as background color. 2018-11-11 10:08:27 +01:00
Martin Fietz 816eb99e36
Merge pull request #2889 from AntennaPod/2882
Prevent NPE
2018-11-11 10:06:22 +01:00
Martin Fietz 2578d33206 2463 Do not close the database anymore 2018-11-07 21:11:28 +01:00
Martin Fietz 006204c3df 2463 Disable WAL 2018-11-07 21:10:25 +01:00