Commit graph

5143 commits

Author SHA1 Message Date
Alexander--
bc4ee8b7ff Intercept ActivityNotFoundException for ACTION_CAPTIONING_SETTINGS 2019-12-01 12:43:38 +06:59
Alexander--
24d020d236 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--
37cf665aa8 Excpicitly disable touchscreen requirement 2019-12-01 12:41:11 +06:59
Alexander--
430381df4e Leanback launcher support 2019-12-01 12:41:11 +06:59
Alexander--
72d23158c3 Release seekbar on any confirmation key, not just DPAD_CENTER 2019-12-01 12:41:11 +06:59
Alexander--
8d98f9a967 Default to landscape orientation for Android TV 2019-12-01 12:41:11 +06:59
Alexander--
330eb896d8 Make comment pic explicitly non-focusable 2019-12-01 12:41:11 +06:59
Alexander--
31bd60f3b1 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--
e6f3cde4cb More fixes to comment focus handling 2019-12-01 12:41:11 +06:59
Alexander--
b952c8126d Add hints for focus transition from description 2019-12-01 12:41:11 +06:59
Alexander--
86fc9c0785 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--
8018f6d37f Save/restore focused item 2019-12-01 12:41:11 +06:59
Alexander--
ac28cc7364 Remove FixedGridLayoutManager 2019-12-01 12:41:11 +06:59
Alexander--
10e38f7ea4 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
f831c84c42 Eliminate bunch of ExoPlayer warnings 2019-12-01 12:41:11 +06:59
Alexander
1c975ccd3a Allow comment links (if any) to gain focus 2019-12-01 12:41:11 +06:59
Alexander
2f30802d29 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
d2935d616c Focus video view thumbnail after it is loaded 2019-12-01 12:41:11 +06:59
Alexander
924fb49eb0 Implement global focus highlight 2019-12-01 12:41:11 +06:59
Alexander
feea320116 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
ddc609e8d8 Support for seeking videos in directional navigation mode 2019-12-01 12:41:10 +06:59
Alexander
9329c2f7f1 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
02c945bddd 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
adb83b5048 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
bf21a7a1a3 Make description focusable, so TV users can scroll it 2019-12-01 12:41:10 +06:59
Alexander
50410c4791 Do not discriminate against non-Amazon TV boxes 2019-12-01 12:41:10 +06:59
Alexander
2b8bd2c890 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
5efd1a0897 MainPlayer: make title and subtitle non-focusable
Focus isn't needed for marquee, only selection
2019-12-01 12:41:10 +06:59
Alexander
b1aa3b018b 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
9429fbfa65 Close DrawerLayout on back button press 2019-12-01 12:41:10 +06:59
Alexander
beca712a95 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
0d0b3b888f 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
3f0842535d Merge pull request #2720 from haggaie/hebrew-translation
Fix Hebrew translation on some devices
2019-11-24 21:26:52 +01:00
Tobias Groza
813b3a159f Merge pull request #2772 from mitosagi/popup-player-gestures
Fix popup player gestures
2019-11-23 19:41:55 +01:00
mitosagi
00f1b114f3 Fix popup player gestures 2019-11-22 11:41:10 +01:00
Tobias Groza
9c1f53d763 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
5dd9ef156d Make the KioskFragment aware of changes in the preferred content country 2019-11-20 00:23:35 -03:00
Mauricio Colli
910910f524 Use tab position from parameters instead of relying on the view pager 2019-11-20 00:23:34 -03:00
Mauricio Colli
bb34f3e711 Enable toolbar title visibility when setting a new one 2019-11-20 00:23:33 -03:00
Mauricio Colli
03c59cbb0d Clear the item list when starting loading 2019-11-20 00:23:31 -03:00
Mauricio Colli
991776c25e 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
532d2f305a 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
21e2e97efb Merge remote-tracking branch 'Weblate/dev' into dev 2019-11-19 21:49:14 +01:00
Tobias Groza
cf3f7cca62 Merge pull request #2799 from Ozyc/patch-1
Make reCAPTCHA string untranslatable
2019-11-19 21:16:25 +01:00
Tobias Groza
b1f83d699f Merge pull request #2816 from Redirion/patch-3
Bump ExoPlayer to 2.10.8
2019-11-19 18:11:38 +01:00
Hosted Weblate
c0fc782b53 Merge branch 'origin/dev' into Weblate. 2019-11-19 15:04:49 +01:00
chr56
e2d5a2ca04 Translated using Weblate (Chinese (Simplified))
Currently translated at 32.9% (165 of 501 strings)
2019-11-19 15:04:47 +01:00
Éfrit
3fcc90987b Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:37 +01:00
oskamuelller4fs
ae51ca7194 Translated using Weblate (German)
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:34 +01:00
Geoflly Adonias
8ef1189737 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:33 +01:00