Commit Graph

2011 Commits

Author SHA1 Message Date
H. Lehmann c5dba814d2
Merge pull request #3403 from ByteHamster/follow-system-theme
Add option to follow system theme
2019-09-20 23:47:31 +02:00
H. Lehmann fa3437960b
Merge pull request #3369 from ByteHamster/playback-speed-icon
Added playback speed icon
2019-09-20 23:46:59 +02:00
ByteHamster 2dce723a8d Added button to view mailing list 2019-09-20 23:38:13 +02:00
ByteHamster 742bbc5c92 Updated FAQ icon and text 2019-09-20 23:30:00 +02:00
ByteHamster b931828736 Renamed crash report to bug report 2019-09-20 23:29:48 +02:00
ByteHamster 9609eb6977 Removed link to known issues 2019-09-20 23:17:29 +02:00
H. Lehmann de4f782e54
Merge pull request #3414 from ByteHamster/bug-report-screen
Added screen that shows crash info
2019-09-20 23:10:31 +02:00
H. Lehmann 46c8679fe2
Merge branch 'develop' into follow-system-theme 2019-09-20 23:06:56 +02:00
H. Lehmann 08058152a7
Merge pull request #3408 from ByteHamster/update-speed-button-text
Allow to set playback speed while service is not running
2019-09-20 22:52:37 +02:00
H. Lehmann 4777d2df88
Merge pull request #3423 from ByteHamster/notification-icon-key
Updated key notification icon
2019-09-20 22:49:59 +02:00
ByteHamster d5130b21e3 Update playback speed button if service is not running 2019-09-20 22:49:03 +02:00
H. Lehmann aaafd5d715
Merge branch 'develop' into lock-queue 2019-09-20 22:09:57 +02:00
H. Lehmann 569ee7cfdc
Merge pull request #3421 from ByteHamster/removed-unused-resources
Removed unused resources
2019-09-20 22:08:01 +02:00
H. Lehmann ee02dc40fc
Merge pull request #3424 from ByteHamster/preferences-apply
Calling apply() on preferences edit
2019-09-20 22:06:19 +02:00
H. Lehmann f6c8279030
Merge pull request #3422 from ByteHamster/fix-id-language
Fixed indonesian translation folder
2019-09-20 22:05:57 +02:00
H. Lehmann d394996970
Merge pull request #3425 from ByteHamster/cleanup
Removed unused code
2019-09-20 22:05:39 +02:00
ByteHamster cf261871a8 Updated translations 2019-09-20 19:56:50 +02:00
orionlee 5bc1fc4f28 #3387 short-term (v1.7.3) fix for WiFi filter UI on Android 10+
(Requires user to grant location permission manually)
2019-09-16 12:25:08 -07:00
Jonas Kalderstam de78c0e31e Fixed playback speed not changing when episode ended and next started playing 2019-09-16 14:38:07 +02:00
ByteHamster 79c94112ef Removed unused code 2019-09-14 21:14:16 +02:00
ByteHamster 9a716ba4ac Calling apply() on preferences edit 2019-09-14 20:52:27 +02:00
ByteHamster 3a150bdb63 Updated key notification icon
Notification icons must be white and square
2019-09-14 19:35:23 +02:00
ByteHamster 29f429f897 Fixed indonesian translation folder 2019-09-14 19:28:03 +02:00
ByteHamster 498f4759cb Removed unused themes 2019-09-14 18:55:52 +02:00
ByteHamster b54849d459 Removed unused strings 2019-09-14 18:49:08 +02:00
ByteHamster 6f530d9c7d Removed unused colors and dimens 2019-09-14 18:39:55 +02:00
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