Alexander--
dc7ae3917e
Leanback launcher support
2019-12-01 12:41:11 +06:59
Alexander--
c0fb96a911
Release seekbar on any confirmation key, not just DPAD_CENTER
2019-12-01 12:41:11 +06:59
Alexander--
a1e02f7704
Default to landscape orientation for Android TV
2019-12-01 12:41:11 +06:59
Alexander--
436c75ca6c
Make comment pic explicitly non-focusable
2019-12-01 12:41:11 +06:59
Alexander--
7d75950624
Disable srolling down comment list while comments are loading
...
Prevents comment list from losing focus to some outside View
when user tries to scroll down after reaching "end"
2019-12-01 12:41:11 +06:59
Alexander--
5f051a9766
More fixes to comment focus handling
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--
9801cf50e3
Save/restore focused item
2019-12-01 12:41:11 +06:59
Alexander--
b5558a8b78
Remove FixedGridLayoutManager
2019-12-01 12:41:11 +06:59
Alexander--
a7c31e6bcc
RecyclerView scroll fixes
...
* Move all focus-related work arouns to NewPipeRecyclerView
* Try to pass focus within closer parents first
* Do small arrow scroll if there are not more focusables in move direction
2019-12-01 12:41:11 +06:59
Alexander
6e76610f30
Eliminate bunch of ExoPlayer warnings
2019-12-01 12:41:11 +06:59
Alexander
6da2b399e8
Allow comment links (if any) to gain focus
2019-12-01 12:41:11 +06:59
Alexander
79c962fc88
More robust focus search in SuperScrollLayoutManager
...
FocusFinder has glitches when some of target Views have different size.
Fortunately LayoutManager can redefine focus search strategy to override
the default behavior.
2019-12-01 12:41:11 +06:59
Alexander
28fb864ed0
Focus video view thumbnail after it is loaded
2019-12-01 12:41:11 +06:59
Alexander
d23227d427
Implement global focus highlight
2019-12-01 12:41:11 +06:59
Alexander
eb6d26b6a4
Focus drawer when it opens
...
It is still buggy because of NavigationView (why the hell
is NavigationMenuView marked as focusable?) but at least initial
opening works as intended
2019-12-01 12:41:10 +06:59
Alexander
a8a28294d3
Support for seeking videos in directional navigation mode
2019-12-01 12:41:10 +06:59
Alexander
7db1ba40eb
Do not allow focus to escape from open DrawerLayout
...
Upstream DrawerLayout does override addFocusables, but
incorrectly checks for isDrawerOpen instread of isDrawerVisible
2019-12-01 12:41:10 +06:59
Alexander
d8bd8d87ec
Make player screen controls into buttons
...
Buttons are more likely to have "correct" styling and are
focusable/clickable out of box
2019-12-01 12:41:10 +06:59
Alexander
d29e0aa1a7
Improve usability of MainVideoActivity with directional navigation
...
* Hide player controls when back is pressed (only on TV devices)
* Do not hide control after click unless in touch mode
* Show player controls on dpad usage
* Notably increase control hide timeout when not in touch mode
2019-12-01 12:41:10 +06:59
Alexander
644ad110c0
Make description focusable, so TV users can scroll it
2019-12-01 12:41:10 +06:59
Alexander
6791de5fc0
Do not discriminate against non-Amazon TV boxes
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
Alexander
7dc4ccf144
MainPlayer: make title and subtitle non-focusable
...
Focus isn't needed for marquee, only selection
2019-12-01 12:41:10 +06:59
Alexander
2b39438eba
Fix scrolling in main screen grid
...
GridLayoutManager is buggy - https://issuetracker.google.com/issues/37067220 :
it randomly loses or incorrectly assigns focus when being scrolled via
direction-based navigation. This commit reimplements onFocusSearchFailed()
on top of scrollBy() to work around that problem.
Ordinary touch-based navigation should not be affected.
2019-12-01 12:41:10 +06:59
Alexander
8952e2b0cd
Close DrawerLayout on back button press
2019-12-01 12:41:10 +06:59
Alexander
4806ac62ee
Correctly move focus from toolbar search bar to dropdown
...
We don't hide MainFragment when search is show, so FocusFinder
sometimes gives focus to (obscured) main content
2019-12-01 12:41:10 +06:59
Alexander
eaa1179572
Fix scrolling comments list
...
AppBarLayout mostly gets it, but we still need to uphold our own part -
expanding it back after focus returns to it
2019-12-01 12:41:10 +06:59
Tobias Groza
eeeeeef3a7
Merge pull request #2720 from haggaie/hebrew-translation
...
Fix Hebrew translation on some devices
2019-11-24 21:26:52 +01:00
Tobias Groza
2b2de8811e
Merge pull request #2772 from mitosagi/popup-player-gestures
...
Fix popup player gestures
2019-11-23 19:41:55 +01:00
mitosagi
2ad0d47f61
Fix popup player gestures
2019-11-22 11:41:10 +01:00
Tobias Groza
b9d6d55aa4
Merge pull request #2742 from mauriciocolli/fix-mess-tabs
...
Fix tab handling and enable ignored tests again
2019-11-21 22:23:40 +01:00
Mauricio Colli
bc283bce4e
Make the KioskFragment aware of changes in the preferred content country
2019-11-20 00:23:35 -03:00
Mauricio Colli
544cae4fb4
Use tab position from parameters instead of relying on the view pager
2019-11-20 00:23:34 -03:00
Mauricio Colli
38a0395d45
Enable toolbar title visibility when setting a new one
2019-11-20 00:23:33 -03:00
Mauricio Colli
a5b7666188
Clear the item list when starting loading
2019-11-20 00:23:31 -03:00
Mauricio Colli
58a626dedb
Fix broken view pager tabs implementation
...
- Fragments were being recreated from scratch (losing their state) every
time some configuration change occurred (e.g. screen rotation).
- Use `FragmentStatePagerAdapter` instead, as it is built to work with
them and manage their states.
2019-11-20 00:23:30 -03:00
Mauricio Colli
7e311e5567
Fix mess with tab handling and enable ignored tests again
...
- Fix typo in a string resource
- Reorder tabs so the default kiosk is on top of the others
2019-11-20 00:23:29 -03:00
TobiGr
c0cbec700c
Merge remote-tracking branch 'Weblate/dev' into dev
2019-11-19 21:49:14 +01:00
Tobias Groza
e9c9dfcd8c
Merge pull request #2799 from Ozyc/patch-1
...
Make reCAPTCHA string untranslatable
2019-11-19 21:16:25 +01:00
Tobias Groza
c9cbb1e6f1
Merge pull request #2816 from Redirion/patch-3
...
Bump ExoPlayer to 2.10.8
2019-11-19 18:11:38 +01:00
Hosted Weblate
3ea8841e3a
Merge branch 'origin/dev' into Weblate.
2019-11-19 15:04:49 +01:00
chr56
8b26e5b106
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 32.9% (165 of 501 strings)
2019-11-19 15:04:47 +01:00
Éfrit
495fa170a9
Translated using Weblate (French)
...
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:37 +01:00
oskamuelller4fs
406d02fd28
Translated using Weblate (German)
...
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:34 +01:00
Geoflly Adonias
3ad8883999
Translated using Weblate (Portuguese (Brazil))
...
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:33 +01:00
Redirion
dcd7055a9d
Bump ExoPlayer to 2.10.8
...
Here we go again.
Minor update.
ExoPlayer Changelog: https://github.com/google/ExoPlayer/blob/release-v2/RELEASENOTES.md
2019-11-19 14:25:40 +01:00
Tobias Groza
a8e326ceea
Merge pull request #2713 from mauriciocolli/compatibility-extractor
...
Use new Localization and Downloader implementations from extractor
2019-11-18 10:05:45 +01:00
Mauricio Colli
b125ff702a
Show parsed relative times instead of whatever the service gives us
...
Before, the direct value was given to the user, now it uses the parsed
date so we can match the device's language.
To get the relative time from the parsed dates, we use the PrettyTime
library.
Also introduces a debug option to check the service's original value.
2019-11-17 23:58:55 -03:00