Commit Graph

54 Commits

Author SHA1 Message Date
Kostas Giapis a70c51b71c Remove margins from minimized player buttons 2021-09-26 18:26:40 +03:00
Kostas Giapis 02d417476e Increase minimized player buttons clickable area 2021-09-26 18:23:11 +03:00
sherlockbeard 137d9e6d6e testing 2021-08-13 20:54:22 +05:30
krlvm e484339cca
Merge branch 'dev' into daynight 2021-04-03 00:08:26 +03:00
Fynn Godau c9766d25ef Rename related streams to related items 2021-03-31 22:33:22 +02:00
krlvm fd14c8cdce
Fix Dark elements in Light Theme 2021-03-27 17:46:05 +03:00
TacoTheDank 6a9d5fd4cc Replace FrameLayout with FragmentContainerView where applicable 2021-03-22 17:46:06 -04:00
Tobi 404a6c12a6
Merge pull request #5148 from Stypox/error-panel
Show improved error panel instead of annoying snackbar or crashing
2021-03-14 17:41:27 +01:00
Stypox c43bca6007
Add report/solve-recaptcha button in error panel
It will be shown even when nothing could be loaded not due to a network error, and the user can choose to ignore or report it.

Also improve error reporting arguments
Also completely refactor error activity
Also improve some code here and there
2021-03-12 23:21:49 +01:00
Mikhail Barashkov 80161c36c6 Apply the space button shortcut to large screens as well 2021-02-12 12:17:46 +03:00
Stypox 3868243c2a
Animate secondary controls toggle 2021-01-17 15:59:29 +01:00
Stypox d043a4f410
Always show tab layout at the bottom of the screen 2021-01-17 15:36:42 +01:00
Stypox 4c3ba0fe3d
Add icons to VideoDetailFragment tab layout for better accessibility 2021-01-17 15:34:24 +01:00
Stypox a314f55a17
Move description to a tab alongside related streams and comments 2021-01-17 15:26:25 +01:00
Stypox 78a9811fe3
Add a secondary control panel to video detail fragment
It is shown when the user expands the description
It contains share, open in browser and play in kodi
2021-01-17 15:12:29 +01:00
Isira Seneviratne fe92abde0e Use view binding in VideoDetailFragment. 2021-01-17 09:57:40 +05:30
Stypox 19f9b4f502
Improve meta info layout and merge duplicate code 2020-12-20 15:10:18 +01:00
TobiGr 0a831ec84e
Display meta info about search query, stream creator or topic
Closes #4614
2020-12-20 11:56:22 +01:00
Isira Seneviratne 18d530021c Fix view binding issue. 2020-12-19 04:19:56 +05:30
wb9688 aced2b124c Format all XML resources 2020-10-14 11:04:48 +02:00
Stypox a4bb22280f
Prevent touches behind minimized player 2020-10-02 14:53:16 +02:00
Avently 5ada0ae2c7 Hiding controls when orientation changes to landscape 2020-09-15 22:10:38 +03:00
Avently 150e156d26 Reimagined player positioning 2020-09-15 14:43:43 +03:00
Avently 011cc7d337 Android 11 initial support 2020-09-14 02:46:00 +03:00
Avently f2e4b69466 Another part of UI improvements for Android TV
- focus will be hidden right after start of a video; fullscreen works like this too
- back button will not needed to be pressed one more time like before
- prev & next buttons for playqueue will be hidden with play/pause button before video be ready to play
2020-07-25 07:00:53 +03:00
Avently 08db1d59e5 Android TV: ability to select all buttons in the main player, as well as in the main fragment 2020-07-25 04:14:29 +03:00
Avently 91a0257c8f Fixes for Android API <21 2020-07-22 17:19:32 +03:00
Avently d2aaa6f691 Merged the latest changes 2020-07-13 04:17:21 +03:00
Stypox bbd0df08d3
Add shadow behind play icon in video detail fragment 2020-05-21 15:39:36 +02:00
Stypox ea43b28f74
Use vector drawables instead of PNGs for material icons
For all manually-created images PNG have been kept.
- rename all icon attrs to have a `ic_` prefix
- always use `_24dp` icons, because there is no real difference, since they are vector drawables
- always use the original name found on material.io for icon drawables, as to not create confusion and possibly duplicates. Icon names can still be different from real drawable names, though I have made some of them compliant to this or maybe more meaningul.
- remove duplicate `getIconByAttr()` in ThemeHelper (use `resolveResourceIdFromAttr()`
- use standard icons for `expand_more` and `expand_less` instead of triangles
- use `play_button_outline` instead of custom PNG as play button in VideoDetailFragment (questionable, as there is no shadow anymore)
2020-05-21 15:39:35 +02:00
bopol 375e18bec8 subscribe button now match service's main color 2020-05-11 19:29:34 +02:00
wb9688 235394d96c Don't show sub-channel thumbnail by default 2020-05-08 15:51:21 +02:00
Roy Yosef cc8874b687 Fix PR review
Make all of the uploader section on stream page navigate to the channel page
Extract hard coded strings
Remove redundant spaces
Fix open streams from a channel
Rename "ParentChannel" to "SubChannel"
Config royosef:NewPipeExtractor in app/build.gradle
2020-05-07 20:40:17 +02:00
Roy Yosef 1429774487 Add sub-channel details to video detail fragment 2020-05-07 20:39:32 +02:00
Alexander-- ef7a5bc753 Make channel info button focusable 2020-04-11 16:04:29 +06:59
Avently a47e6dd8c5 AppBarLayout scrolling awesomeness, PlayQueue layout touches interception, player's controls' margin
- made scrolling in appBarLayout awesome
- PlayQueue layout was intercepting touches while it was in GONE visibility state. Now it's not gonna happen
- removed margin between two lines of player's controls
- when a user leaves the app with two back presses the app will not stop MainPlayer service if popup or background players play
2020-02-12 22:33:23 +03:00
Avently f334a2740f Mini player, ExpandableSurfaceView with ZOOM support, popup
- mini player's title, image and author information will be updated in many situations but the main idea is that the info will be the same as currently playing stream. If nothing played then you'll see the info about currently opened stream in fragment. When MainPlayer service stops the info updates too
- made ExpandableSurfaceView to replace AspectRatioFrameLayout. The reason for that is to make possible to use aspect ratio mode ZOOM. It's impossible to show a stream inside AspectRatioFrameLayout with ZOOM mode and to fit the video view to a screen space at the same time. Now the new view able to do that and to show vertical videos in a slightly wide space for them
- refactored some methods to make the code more understandable
- made fixes for player view for landscape-to-landscape orientation change
- added Java docs
- adapted swipe tracking inside bottom sheet
- fixed PlayQueue crashes on clearing
- paddings for popup player now as small as possible
2020-02-05 08:59:30 +03:00
Avently cc438fdb7b Player's elements positioning is better for tablet and in multiWindow mode
- status bar got a fix for situation when a phone vendor did not provide status bar height for landscape orientation
- popup will not be init'd twice
- also fixed some non-reproduceable bugs
2020-01-17 17:37:53 +03:00
Avently c45514b989 All players in one place
- main, background, popup players now connected via one service, one view, one fragment, one activity and one gesture listener
- playback position is synchronized between players. Easy to switch from one to another
- expandable player at the bottom of the screen with cool animation and additional features like long click to open channel of a video, play/pause/close buttons and swipe down to dismiss
- in-player integrated buttons for opening in browser, playing with Kodi, sharing a video
- better background playback that can be activated in settings. Allows to automatically switch to audio-only mode when going to background and then switching to video-mode when returning to the app.
2019-12-30 00:15:01 +03:00
Alexander-- 20bff1389e Disable touchScreenBlocksFocus on AppBarLayout
For some inexplicable reason this attribute got
enabled by default on Android 9, which effectively
prevents details screen from working
2019-12-01 12:41:11 +06:59
Alexander-- 5716cf8cb2 Add hints for focus transition from description 2019-12-01 12:41:11 +06:59
Alexander-- 7bb5cacb0d Special MovementMethod for video description
Video descriptions can be very long. Some of them are
basically walls of text with couple of lines at top or bottom.
They are also not scrolled within TextView itself, - instead
NewPipe expects user to scroll their containing ViewGroup.
This renders all builtin MovementMethod implementations useless.

This commit adds a new MovementMethod, that uses requestRectangleOnScreen
to intelligently re-position the TextView within it's scrollable container.
2019-12-01 12:41:11 +06:59
Alexander 644ad110c0 Make description focusable, so TV users can scroll it 2019-12-01 12:41:10 +06:59
Alexander 1bb96ef405 When child of CoordinatorLayout wants focus, show it!
The same logic is present in RecyclerView, ScrollView etc.
Android really should default to this behavior for all Views
with isScrollContainer = true
2019-12-01 12:41:10 +06:59
Robin bf2a3ca043 Migrate to AndroidX 2019-10-04 14:59:08 +02:00
yausername 5d9b5a063b fix scrolling in video detail fragment. fixes #2627 2019-09-29 22:05:29 +05:30
Vasiliy 312e1378d3
Fix tablet ui 2019-05-06 19:16:39 +03:00
Vasiliy 002a1412cb
Fix scrolling details 2019-04-15 21:22:31 +03:00
Vasiliy 4e1423d224
Implement playback state management 2019-04-13 13:34:36 +03:00
Ritvik Saraf 2309e15261 fixed scroll w/ comments and related streams disabled 2019-03-03 18:20:15 +05:30