Commit Graph

1975 Commits

Author SHA1 Message Date
damoasda 51f348caa3
Merge branch 'develop' into Queue-Sort-Order 2019-08-04 09:59:32 +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
H. Lehmann 60866a1c79
Merge pull request #3286 from ByteHamster/batch-edit-queue
Added batch edit to queue
2019-07-23 23:01:49 +02:00
H. Lehmann 22ac88e2df
Merge pull request #3287 from ByteHamster/add-feed-page-redesign
Added error message, do not jump after loading completed
2019-07-23 23:01:33 +02:00
ByteHamster cfe05e3038 Added batch edit to queue 2019-07-23 22:43:18 +02: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 4551b1fbc9 Fixed crash when context is null
From Google Play console
2019-07-23 20:53:40 +02:00
ByteHamster 97acd6c960 Added error message, do not jump after loading completed 2019-07-23 16:50:50 +02:00
ByteHamster b88ab959eb Cleanup 2019-07-23 16:30:12 +02: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
H. Lehmann 865cb65470
Merge pull request #3240 from ByteHamster/combined-search
WIP: Combined podcast search
2019-07-22 19:05:21 +02:00
ByteHamster 613703ba95 Removed unused imports 2019-07-22 19:02:36 +02:00
ByteHamster a5df1c075d Targeting Android API 28 2019-07-22 18:50:56 +02:00
ByteHamster 94ba9dfd46 Using EmptyViewHandler for chapters fragment 2019-07-22 12:49:16 +02:00
ByteHamster a409f439ac Updated appearance of empty view 2019-07-22 12:49:11 +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
H. Lehmann fb294315a9
Merge pull request #3272 from andersonvom/3225-remove-new-flag
Reword "Mark as seen" to "Remove 'new' flag"
2019-07-14 17:47:50 +02: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 539802ba04
Merge pull request #3267 from libliboom/develop
Removed screenOrientation attributes in manifest
2019-07-14 14:40:33 +02:00
bhlee 53073c958c add android:imeOptions="flagNoFullscreen" attribute in EditText 2019-07-14 21:14:54 +09:00
bhlee 329750ca01 add android:imeOptions="flagNoFullscreen" attribute in EditText 2019-07-14 21:09:56 +09:00
H. Lehmann 3b4fd3f414
Merge pull request #3271 from ByteHamster/fix-batch-edit
Fixed batch edit items grayed out on API 23 and 24
2019-07-14 10:30:10 +02:00
bhlee 339569421a add android:imeOptions="flagNoFullscreen" attribute in EditText 2019-07-14 01:48:50 +09:00
ByteHamster 5e1ab265b5 Fixed batch edit items grayed out on API 23 and 24 2019-07-13 17:47:27 +02: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
bhlee f1d5c00f3b Resolves #3235. Refer to the changes.
- Remove android:screenOrientation="portrait" for rotating.
- Remove override onConfigurationChanged function that does nothing.
2019-07-13 20:14:16 +09:00
H. Lehmann c8fc1f90e0
Merge pull request #3265 from ByteHamster/storage-label
Added total space to storage select dialog
2019-07-12 22:51:11 +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
ByteHamster cbf3a2102f Simplified encoding query 2019-07-12 15:28:33 +02:00
ByteHamster 3962fdd6f8 Added CombinedSearcher for podcasts 2019-07-12 15:24:06 +02:00
ByteHamster eda23ca4bb Updated SearchPreference 2019-07-12 14:35:38 +02:00
H. Lehmann 9f6529d4bc
Merge branch 'develop' into 2747-completed-downloads-update 2019-07-11 12:43:30 +02:00
H. Lehmann e78e4d5656
Merge pull request #3261 from archibishop/fix-removing-wrong-favourite-message
Fix removing wrong favourite message
2019-07-11 12:42:14 +02:00
Wagubi Brian 782fce76d0 Fix removing wrong favoruite message 2019-07-10 12:29:48 +03:00
damoasda 9b7a61471d Queue: Keep sorted #1556 2019-07-09 08:55:46 +02:00
H. Lehmann 9e72780bc8
Merge pull request #3254 from jas14/feed-rotation-crash-3245
New ViewModel for loading feed preferences across lifecycle
2019-07-06 15:10:57 +02:00
H. Lehmann ce649ec087
Merge pull request #3249 from archibishop/imagecover-playpause-fuctionality
Extend play/pause functionality to Image Cover
2019-07-06 15:00:30 +02:00
Wagubi Brian e887996053 Extend play/pause functionality to Image Cover 2019-07-02 21:58:30 +03:00
Joe Stein 3b6cfb711f New ViewModel for loading feed preferences across lifecycle 2019-07-02 18:33:32 +02:00
Joe Stein 4bc8821845 Increase scrubber padding for large devices 2019-07-01 12:31:14 +02:00
ByteHamster 2d91292937 Combined podcast search 2019-06-26 08:27:19 +02:00
Wagubi Brian 7f1f725bfe validate username for characters not accepted. 2019-06-26 04:50:18 +03:00
Anderson Mesquita 8e95ed75ab Fix recycler and empty view hide/show logic
The `emptyViewHandler` already handles hiding and showing both the empty
view and the recycler view on data changes, so this commit removes this
part of the logic from the episodes fragment.

It also hides the empty view right after creating the recycle adapter
for the first time (when the fragment is created) to prevent the
progress bar and the empty view from being displayed at the same time.

`createRecycleAdapter()` signature was changed to make it explicit that
it depends on both the `recyclerView` and `emptyViewHandler`. Similarly,
`onFragmentLoaded()`, since it also depends on the new data that gets
loaded.
2019-06-24 09:32:06 -04:00
Anderson Mesquita bb8b1fc58f Reorganize subscription fragment lifecycle 2019-06-24 08:38:04 -04:00
Anderson Mesquita fd07a10f03 Reorganize search fragment lifecycle 2019-06-24 08:38:04 -04:00
Anderson Mesquita 5e5dfa5584 Reorganize playback history lifecycle 2019-06-24 08:38:04 -04:00
Anderson Mesquita 90d5208402 Reorganize item fragments lifecycle 2019-06-24 08:38:04 -04:00
Anderson Mesquita e22adbe451 Reorganize DownloadLogFragment lifecycle 2019-06-24 08:38:04 -04: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
Anderson Mesquita aabe370db3 Fix whitespace 2019-06-24 08:38:04 -04:00
Anderson Mesquita 486ceed0ef Reorganize downloads fragments lifecycle
Unregistering from the EventDistributor on stop will prevent downloads
from updating when an episode finishes playing while the screen was off
(#2747), so this registers/unregisters on view create/destroy.

Disposing of the request to load items on stop could potentially cause
the same issue. Since we're disposing of this request on destroy,
there's no need to keep checking and disposing of it in the several
lifecycle methods.

There's no need to call `onFragmentLoaded()` on attach, since this is
the first lifecycle method to be called [[1]], meaning the items will
always be null by the time this method is called.

Finally, since `loadItems` depends on the view being created, it is now
only called on view create to avoid having to store state in the class
about whether the view has been created, taking advantage of the native
fragment lifecycle.

[1]: https://developer.android.com/guide/components/fragments

Closes: #2747
2019-06-24 08:38:04 -04:00
Anderson Mesquita a556183d60 Extract methods from onViewCreated 2019-06-24 08:38:04 -04:00
Anderson Mesquita 69f116904d Fix IDE warnings
Deprecated method, null pointer exceptions, and simpler switch with only
two cases.
2019-06-24 08:38:04 -04:00
Anderson Mesquita 56dc16802a Fix whitespace 2019-06-24 08:38:04 -04:00
ByteHamster f3cd43b972 Cleanup 2019-06-14 10:45:45 +02:00
ByteHamster 5a7cbdfaca Added authentication and episode filter dialogs 2019-06-14 10:34:55 +02:00
ByteHamster 8f11f8a271 Updated feed settings screen 2019-06-14 00:38:34 +02:00
H. Lehmann 8931d5b795
Merge pull request #3227 from ByteHamster/restructure-settings
Restructured preferences code
2019-06-13 23:38:18 +02:00
ByteHamster 85ef61f4ef Removed deleted receiver from manifest 2019-06-13 23:18:12 +02:00
ByteHamster 99acff3b8f Restructured preferences code 2019-06-13 23:12:41 +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 ee1809001d don't override summary value in PreferenceController 2019-06-04 23:58:17 +02:00
H. Lehmann 405db1f169
Merge pull request #3164 from ByteHamster/work-manager
Work manager
2019-06-03 11:59:23 +02:00
ByteHamster 8dc4c9ff56 Upgrade preferences independently from database 2019-06-03 11:56:44 +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
ByteHamster ce8adc4b26 Use annotation processor for EventBus 2019-05-28 17:26:09 +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
Anderson Mesquita 2450b0817b Replace action/callback utils with ItemActionButton
This just replaces all previous usages of `ActionButtonUtils` and
`DefaultActionButtonCallback` with the newly created `ItemActionButton`
class.
2019-05-27 16:06:55 -04:00
Anderson Mesquita 1d64057fd4 Extract action button utils/callback into classes
This splits the logic in `ActionButtonUtils` and
`DefaultActionButtonCallback` into multiple specialized classes to
reduce duplication figuring out which button/action to use while at the
same time making each individual button to have a single responsability.
2019-05-27 16:01:54 -04:00
ByteHamster 81a3d756eb Sort options: 'old to new' instead of 'ascending' 2019-05-27 21:09:55 +02:00
Martin Fietz c327fd59c9
Merge pull request #3206 from ByteHamster/clear-text-traffic
Clear text traffic in shownotes
2019-05-27 19:24:46 +02:00
ByteHamster 2d5995d1a5 Allow mixed content 2019-05-27 13:06:52 +02:00
ByteHamster 5ea11ca748 Allow cleartext traffic 2019-05-27 12:48:49 +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
H. Lehmann 35770dc2e2
Merge pull request #3198 from jas14/fix-3196
Avoid error delivery to disposed Disposable
2019-05-27 12:41:33 +02:00
Joe Stein 382860d65e Avoid error delivery to disposed Disposable 2019-05-23 08:48:34 -04:00
Joe Stein 4f3fa6246e Added test for shutdown/widget updater race in PSTM 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
Anderson Mesquita 683f7e46a2 Extract data folder dialog layout
This is in preparation to add a progress bar displaying the amount of
used/free space in the dialog (#3049). Since we'll need a custom view to
do it, this extracts the layout beforehand.
2019-05-19 13:25:27 -04:00
Anderson Mesquita 31adff0dcc Extract methods in ChooseDataFolderDialog
This makes the main `showDialog()` method a bit shorter by extracting
behavior into shorter methods.
2019-05-19 13:25:27 -04:00
ByteHamster b2ea26d489 No longer try to remove log 2019-05-19 19:23:33 +02:00
H. Lehmann a8b05c3c66
Merge pull request #3165 from ByteHamster/opml-import-mismatch
Removed opml pick action
2019-05-19 19:22:14 +02:00
H. Lehmann 0b6930517a
Merge pull request #3109 from ByteHamster/eventbus-v3
Eventbus v3
2019-05-19 19:19:52 +02:00
ByteHamster 55874607df No longer need to listen to serviceEvent. PlaybackController does that automatically 2019-05-19 19:14:11 +02:00
ByteHamster ccbcdb6861 Fixed crash 2019-05-19 19:01:26 +02:00
ByteHamster 73744e3d4c Merge branch 'develop' into eventbus-v3 2019-05-19 18:59:03 +02:00
H. Lehmann fa03edf419
Merge pull request #3177 from andersonvom/fix-episodes-searchbar
Prevent actionbar items from moving when searching for episodes
2019-05-19 18:46:07 +02:00
Martin Fietz 5db139958a
Merge pull request #3162 from andersonvom/2853-chapter-scrolling
Scroll to chapter currently being played
2019-05-19 12:14:56 +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
Martin Fietz 751670a659
Merge pull request #3168 from ByteHamster/about-open-browser
About screen: Open web links in browser
2019-05-19 11:34:17 +02:00
ByteHamster b89271329b Bumped version to 1.7.2b 2019-05-17 19:20:10 +02:00
H. Lehmann 1a327a2aae
Merge pull request #3188 from ByteHamster/revert-playbackservice-changes
Revert playbackservice changes
2019-05-17 15:23:41 +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
ByteHamster 068a4255c1 Do not deliver result if view is destroyed 2019-05-14 22:19:56 +02:00
ByteHamster b617397397 Bumped version to 1.7.2 2019-05-12 18:25:15 +02:00
ByteHamster e99ce0a33b Do not query database on main thread 2019-05-12 00:20:30 +02:00
Anderson Mesquita 65abd2bbb4 Prevent actionbar items from moving when searching
Previously, when the user clicked the search button, the context menu
would be hidden and the refresh button would move way too close to the
edge of the screen.

This makes sure that when a user clicks the search button on the
episodes screen, the remaining actionbar items (refresh and context
menu) stay where they are.
2019-05-11 14:20:57 -04:00
ByteHamster c9b17c14f1 Bumped version to 1.7.2-RC5 2019-05-08 19:55:00 +02:00
H. Lehmann 96f582a4d4
Merge pull request #3166 from ByteHamster/fix-some-tests
Fixed some integration tests
2019-05-08 19:30:04 +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 df395ea388 Open web links in browser 2019-05-07 17:56:35 +02:00
ByteHamster 7ce4685447 Bumped version to 1.7.2-RC4 2019-05-07 15:54:36 +02:00
ByteHamster ae3cef3bd2 Fixed some integration tests 2019-05-06 23:52:02 +02:00
ByteHamster 0dc23a6c99 Removed opml pick action 2019-05-06 23:20:25 +02:00
ByteHamster dbda4a9aa8 Using WorkManager for feed updates 2019-05-06 23:04:19 +02:00
Anderson Mesquita 419c10632b Scroll to chapter currently being played
This is especially helpful for episodes that have a large number of
chapters.

Closes: #2853
2019-05-05 08:22:31 -04:00
Anderson Mesquita af31464cd5 Fix padding when count is zero and error happened
When we're not able to get the episode count for a podcast and updating
the feed fails, the error icon shown in the navbar is too close to the
right/end border of the nav drawer.

This fixes this padding.

Closes: #2982
2019-05-04 18:14:28 -04:00
H. Lehmann 0107cf22cc
Merge pull request #3155 from ByteHamster/empty-view-simplification
Simplify empty view handling on recycler views
2019-05-03 12:24:27 +02:00
ByteHamster 7f514384fc Fixed NPE when selected item is null
The method is called again with a valid listAdapter automatically
Closes #3154
2019-05-03 11:56:27 +02:00
ByteHamster 06c15fd9e6 Simplify empty view handling on recycler views 2019-05-03 11:06:04 +02:00
ByteHamster 7a921e0024 Fixed about screen readability in amoled theme (Closes #3151) 2019-05-03 10:20:23 +02:00
Martin Fietz 954cf87eff
Merge pull request #3147 from ByteHamster/fix-empty-list
Fixed empty list not receiving updates
2019-04-30 20:55:12 +02:00
ByteHamster 9b91a51df8 Fixed empty list not receiving updates 2019-04-30 18:57:09 +02:00
Anderson Mesquita a2cd8cca73 Return Optional feed when loading feed items
RxJava 2.x no longer accepts `null` values and will yield a
`NullPointerException` immediately or as a signal to downstream [1].

This returns an Optional<Feed> instead to avoid errors.

[1]: https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#nulls
2019-04-30 06:10:41 -04:00
Cédric Cabessa b2dc208019 force refresh time when playback speed change
This is useful when media is paused
2019-04-28 21:03:18 +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 743ec1927c add preference for "Time respects playback speed" 2019-04-28 21:03:18 +02:00
Anderson Mesquita 34d33f796e Close OkHttp request before making new ones
When adding certain podcasts [1], a `LeakedClosableViolation` is thrown
due to the fact that we're reusing the OkHttpClient to make multiple
requests (one to get the iTunes toplist for the user's language, and
another one defaulting to US).

This makes sure that all requests are closed to prevent this exception,
according to OkHttp docs [2].

[1]: https://podcasts.apple.com/us/podcast/stupid-genius-with-emma-chamberlain/id1458568923
[2]: https://github.com/square/okhttp/blob/18f2b5e/okhttp/src/main/java/okhttp3/Call.kt#L32-L40
2019-04-28 09:10:02 -04:00
ByteHamster a4dc3d9e96 Bumped version to RC3 2019-04-28 14:39:01 +02:00
ByteHamster 835d1f8cd3 Made null check work 2019-04-28 14:18:47 +02:00
ByteHamster 881578ee41 Bumped version to 1.7.2-RC2 2019-04-26 19:12:50 +02:00
ByteHamster 8e25f188c5 Fixed crash where recyclerAdapter is null
Closes #3138
2019-04-26 19:10:27 +02:00
ByteHamster 48ead285b3 Imported store description into new publisher layout 2019-04-26 18:10:56 +02:00
ByteHamster d0cbe158bb New Play publisher directory layout 2019-04-26 17:58:48 +02:00
H. Lehmann 309cd20d66
Merge pull request #3134 from ByteHamster/prepare-release
Prepare 1.7.2 release
2019-04-26 16:55:12 +02:00
ByteHamster 57301cf81c Making sure that publisher releases to alpha first, so we can wait for Pre-Launch-Report 2019-04-26 10:38:34 +02:00
ByteHamster f96c1d5367 Bumped versionCode 2019-04-26 10:37:05 +02:00
Anderson Mesquita fd2424edd4 Cleanup compiler warnings
Removes redundant casts and adds generic type to avoid compiler warnings.
2019-04-25 18:45:36 -04:00
ByteHamster 0925078770 Translation updates 2019-04-24 23:19:52 +02:00
ByteHamster 46f9a9c65b Added release notes 2019-04-24 23:12:03 +02:00
H. Lehmann 3b9e34e18e
Merge pull request #3131 from ByteHamster/fix-hiding-ExternalPlayer
Hiding ExternalPlayerFragment onStart
2019-04-24 23:05:55 +02:00
ByteHamster 92165f9021 Hiding ExternalPlayerFragment onStart
If the playback is finished in background, the fragmentLayout is not hidden.
Steps to reproduce (without this commit):
- Start last item in queue
- Leave app using home button
- Finish playback by using notification skip button
- Resume to AntennaPod
- ExternalPlayerFragment is shown (in invalid state) but should be hidden
2019-04-24 22:56:37 +02:00
Ali f2a777bd06 bugfix #3092 - time left on Queue screen not updated after download completes 2019-04-19 04:34:06 +01:00
ByteHamster f947b0a90d Fixed NPE 2019-04-13 16:01:17 +02:00
H. Lehmann 7c4d4656f8
Merge pull request #3113 from ByteHamster/fix-crash-npe
Fixed NPE
2019-04-12 23:20:29 +02:00