Commit Graph

1976 Commits

Author SHA1 Message Date
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
ByteHamster
8284251a91 Fixed NPE 2019-04-12 23:19:45 +02:00
ByteHamster
8ebc98af13 Fixed crash when re-using released controller 2019-04-12 11:55:41 +02: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
777d92d4be Set number of subscription columns 2019-04-11 21:24:51 +02:00
ByteHamster
d4c87facaf Fix displaying progress indicator in multi window 2019-04-11 20:54:48 +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
H. Lehmann
be6eb1c738
Merge pull request #3102 from ByteHamster/no-state-in-fragments
Do not hold state in fragments
2019-04-11 20:50:34 +02:00
ByteHamster
1d0e22135e Making sure that ExternalPlayerFragment is updated when starting first media 2019-04-11 20:41:39 +02:00
ByteHamster
0e3cabb86d Do not hold state in fragments 2019-04-10 01:05:36 +02:00
Martin Fietz
d8a010ad48
Merge pull request #3100 from orionlee/bugfix_bulk_action_ui_survive_split_screen_3088
bugfix - bulk actions - make UI survive upon split screen
2019-04-08 18:54:01 +02:00
orionlee
345e6863c3 bugfix #3099 - add podcast by URL - show error dialog when URL points to no feed. 2019-04-07 14:56:15 -07:00
orionlee
1928411694 bugfix #3088 - bulk edit - make UI survive upon split screen 2019-04-07 14:27:29 -07:00
orionlee
e16f44ad5d bugfix - rxjava2 null return - wrap nullable return with Optional 2019-04-06 14:22:53 -07:00
orionlee
c04f340ae2 #2966 RxJava2 null - case underlying method has needs to return null.
Need to wrap return result with Optional<>
Mark code path with TODO. Actual fix is pending #2954 merge.

Rx observer: underlying sources that need to return Optional<>
OnlineFeedViewActivity.parseFeed : <anonymous subscriber>
PlaybackController.bindToService : fixed in #2954
2019-04-06 13:43:12 -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
ByteHamster
74fdabba69 Show single item after undo in EpisodesFragment 2019-04-06 21:32:03 +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
075547947e tweak - batch edit UI - support longer action label 2019-04-06 11:15:35 -07:00
orionlee
3bf880e34a remove comment to reduce mental work per review feedback 2019-04-06 11:15:35 -07:00
orionlee
86bf3ef3e0 remove outdated comment - support for vector drawables for pre Android 5 devices is here to stay. 2019-04-06 11:15:34 -07:00
orionlee
0204c1cebd tweak - bulk edit UI - remove hiding FAB during scroll per review feedback 2019-04-06 11:15:34 -07:00
orionlee
3311b4371e tweak - bulk edit UI - use Snackbar for selection message
- to be consistent with the action message in previous commit.
2019-04-06 11:15:34 -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
46f7805a96 refactor - bulk edit UI - make fab clickable on Pre-Lollipop devices without custom codes. 2019-04-06 11:12:34 -07:00
Martin Fietz
6c3033409d Create new adapter to show single item after undo 2019-04-06 16:28:07 +02:00
orionlee
836334798d refactor - UI - make OPML import screen use the new select all / none icons as well (so that only single set of icons are needed) 2019-04-04 13:58:50 -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
Martin Fietz
4797d3ae56
Merge pull request #3086 from ByteHamster/fix-double-slash-url
Specifying base url
2019-04-04 19:06:34 +02: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
bcaba92851 bulk edit - refactor - factorize common codes in binding action to its UI and actual logic. 2019-04-03 14:15:05 -07:00
orionlee
1052b393d2 bulk edit - refactor - rename menu ids, to be consistent with single edit counterparts 2019-04-03 13:40:55 -07:00
orionlee
a1d718a59a bulk edit - refactor - rename internal constant flags so that the names are consistent 2019-04-03 13:31:32 -07:00
ByteHamster
ce013bb225 Specifying base url
Fixes <a href="//example.com"> links
2019-04-03 18:53:11 +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
orionlee
48cf33d7da bulk edit - no longer defaulted to check all 2019-04-02 17:34:48 -07:00
orionlee
3768dfb0ff bulk edit - "N selected" UI logic 2019-04-02 17:34:05 -07:00
orionlee
b8bb908b67 fix typo in comments 2019-04-02 16:56:22 -07:00
orionlee
364c9a308d bulk remove from queue - backend - implement the new API 2019-04-02 15:59:27 -07:00
Jatin Kumar
f6370cc2b9 Renamed text view ids and added tools namespace 2019-04-02 17:36:27 -04:00
orionlee
7d78b88a1c bulk remove from queue - frontend logic, with a stub backend. 2019-04-02 14:11:22 -07:00
orionlee
acbb1cf5e2 document android:elevation API compatibility 2019-04-02 13:59:54 -07:00
orionlee
9925830fff batch edit - replace the bottom button UI with FAB Speed Dial (no new actions yet) 2019-04-02 13:52:34 -07:00
orionlee
9f854fbd3b fix speed dial buttons order 2019-04-02 11:47:57 -07:00
orionlee
53e2511642 ensure speed dials clickable (for pre-Android 5 devices) 2019-04-02 11:47:57 -07:00
orionlee
4918a743a7 stub speed action action listener 2019-04-02 11:47:57 -07:00
orionlee
f7fa0836ea make speed dials scrollable, so that they work in landscape / split window mode. 2019-04-02 11:47:57 -07:00
orionlee
737f7571ab UI Prototype for Batch Edit Episodes rework (from #1145) 2019-04-02 11:47:57 -07:00
ByteHamster
0fda36b9b3 Add preference to allow mobile updates of images 2019-04-02 17:41:15 +02:00
Jatin Kumar
c661be344e Added include to the queue and episode layout 2019-04-01 20:40:58 -04:00
Jatin Kumar
7f035b8b4b Updated text sizes from dp to sp 2019-03-30 21:42:55 -04: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
007f92c291 Change the icons in interface #3040 2019-03-29 22:23:52 +01:00
Jatin Kumar
209b0b3880 Fixed typos 2019-03-29 14:20:11 -04:00
ByteHamster
8d8e333b84 Fixed fyyd feed search 2019-03-29 18:26:34 +01:00
Jatin Kumar
cabf6fee7b Updated NewEpisodesFragment and FavoriteEpisodesFragment files 2019-03-27 04:55:50 -04: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
ByteHamster
022a7f6981 Fixed FeedHandlerTest 2019-03-23 10:45:50 +01:00
Jatin Kumar
6662205167 Added empty views to the PlayBack History, Queue,and Downloads 2019-03-21 03:05:01 -04:00
orionlee
6f7b937d07 bugfix - video playback upon press back button (and pause), playback notification might reappear if one swipes it away quickly. 2019-03-09 14:16:53 -08:00
H. Lehmann
6212455431
Merge pull request #3048 from ByteHamster/new-episodes-download
Fixed download status update in NewEpisodesFragment
2019-03-08 12:15:23 +01:00
ByteHamster
f2306d2950 Fixed download status update in NewEpisodesFragment 2019-03-08 11:39:24 +01:00
Matthieu De Beule
c362a50e1b Fix #3028: actually use encodedQuery from URLEncoder to avoid encoding issues 2019-03-07 20:53:22 +01:00
H. Lehmann
c1bfb9183c
Merge pull request #3013 from hannesa2/buildImprovements
Build improvements
2019-03-05 23:49:00 +01: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
H. Lehmann
cfa9304c82
Merge pull request #3047 from ByteHamster/move-to-unit-test
Moved some implementation tests to unit tests
2019-03-04 18:56:51 +01:00
H. Lehmann
3d9811d1e3
Merge pull request #3044 from mamehacker/min_max_speeds_from_preferences
Set min/max playback speeds from preferences
2019-03-04 18:53:34 +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
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
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
Shinichiro Fujiwara
6a56260157 Set min/max playback speeds from preferences 2019-02-27 22:29:28 +09: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
9180be85ba Update tests to handle minute timestamps
The definition of 'short timestamp' now means minutes and seconds, while
'long timestamp' means hours, minutes, and seconds. The first part of a
timestamp may have one or two digits. Tests updated for this new
definition.
2019-02-10 18:00:28 -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
ByteHamster
73bb2f712e Removed misleading comment
Auto-generating the versionCode breaks F-Droid builds, see #3012
2019-02-01 16:00:13 +01:00
ByteHamster
39c6ff5f31 Finish when closing error dialog 2019-02-01 15:59:30 +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
Martin Fietz
7f37987bda
Merge branch 'develop' into android_gradle_330_upgrade 2019-01-27 11:40:24 +01:00
Martin Fietz
bcfc951f1b
Merge branch 'develop' into android_gradle_330_upgrade 2019-01-27 11:35:46 +01:00
Hannes Achleitner
8e5abeea3a simplify versionCode
removed implementation was some Eclipse/ant style, now it's Gradle style
2019-01-27 10:57:45 +01:00
H. Lehmann
0474717ba1
Merge pull request #3005 from pachecosf/fix-ripple-effect
Reimplemented the ripple effect when choosing a nav item
2019-01-23 15:41:51 +01:00
pachecosf
e0d6d35ca5 moved closing backet up one line 2019-01-23 05:22:39 -08:00