Commit graph

4648 commits

Author SHA1 Message Date
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
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
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
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
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
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
Rex_sa
77d3a1ef45
Translated using Weblate (Arabic)
Currently translated at 99.4% (505 of 508 strings)
2019-11-30 19:22:13 +01:00
Hosted Weblate
6e289b44c7
Merge branch 'origin/dev' into Weblate. 2019-11-29 20:05:27 +01:00
Jeff Huang
8039055a87
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:25 +01:00
Florian
6c0f5bef21
Translated using Weblate (French)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:24 +01:00
Lucas Galello
7dd7ea1a32
Translated using Weblate (Spanish)
Currently translated at 99.6% (506 of 508 strings)
2019-11-29 20:05:24 +01:00
JoC
3bce9a8ead
Translated using Weblate (Spanish)
Currently translated at 99.6% (506 of 508 strings)
2019-11-29 20:05:23 +01:00
narayaan
da82e3f5d1
Translated using Weblate (Dutch)
Currently translated at 90.7% (461 of 508 strings)
2019-11-29 20:05:23 +01:00
Stefano Panzeri
0df5d7a934
Translated using Weblate (Italian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:22 +01:00
WaldiS
27f38f329f
Translated using Weblate (Polish)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:21 +01:00
zeritti
c4707978c4
Translated using Weblate (Czech)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:20 +01:00
BennyBeat
2ad0792581
Translated using Weblate (Catalan)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:16 +01:00
naofum
8741856234
Translated using Weblate (Japanese)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:00 +01:00
ssantos
e37a86efc2
Translated using Weblate (German)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:04:59 +01:00
Geoflly Adonias
baee238a2c
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:04:59 +01:00
kapodamy
e6d9d8e26d code cleanup
* migrate few annotations to androidx
* mission recovery: better error handling (except StreamExtractor.getErrorMessage() method always returns an error)
* post-processing: more detailed progress

[file specific changes]

DownloadMission.java
* remove redundant/boilerplate code (again)
* make few variables volatile
* better file "length" approximation
* use "done" variable to count the amount of bytes downloaded (simplify percent calc in UI code)

Postprocessing.java
* if case of error use "ERROR_POSTPROCESSING" instead of "ERROR_UNKNOWN_EXCEPTION"
* simplify source stream init

DownloadManager.java
* move all "service message sending" code to DownloadMission
* remove not implemented method "notifyUserPendingDownloads()" also his unused strings

DownloadManagerService.java
* use START_STICKY instead of START_NOT_STICKY
* simplify addMissionEventListener()/removeMissionEventListener() methods (always are called from the main thread)

Deleter.java
* better method definition

MissionAdapter.java
* better method definition
* code cleanup
* the UI is now refreshed every 750ms
* simplify download progress calculation
* indicates if the download is actually recovering
* smooth download speed measure
* show estimated remain time

MainFragment.java:
* check if viewPager is null (issued by "Apply changes" feature of Android Studio)
2019-11-26 10:46:31 -03:00
kapodamy
4292ca94ff misc changes
* OggFromWebMWriter: rewrite (again), reduce iterations over the input. Works as-is (video streams are not supported)
* WebMReader: use int for SimpleBlock.dataSize instead of long
* Download Recovery: allow recovering uninitialized downloads
* check range-requests using HEAD method instead of GET
* DownloadRunnableFallback: add workaround for 32kB/s issue, unknown issue origin, wont fix
* reporting downloads errors now include the source url with the selected quality and format
2019-11-26 10:46:28 -03:00
kapodamy
86dafdd92b long-term downloads resume
* recovery infrastructure
* bump serialVersionUID of DownloadMission
* misc cleanup in DownloadMission.java
* remove unused/redundant from strings.xml
2019-11-26 10:46:26 -03:00
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
yausername
527c38adf9 easily switch between multiple peertube instances 2019-11-24 21:08:06 +05:30
Robin
8e152df46d Remember caption option in player, closes #2811 2019-11-24 11:10:50 +01:00
Igor Nedoboy
a68c8ceebe
Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-24 01:56:56 +01:00
Igor Nedoboy
1ce44b31e2
Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-24 01:50:24 +01:00
chr56
55f5f76275
Translated using Weblate (Chinese (Simplified))
Currently translated at 95.9% (487 of 508 strings)
2019-11-23 20:19:07 +01:00
Yaron Shahrabani
f122d73754
Translated using Weblate (Hebrew)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:06 +01:00
ssantos
8227d85feb
Translated using Weblate (Portuguese)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:06 +01:00
Oğuz Ersen
46e2f4e579
Translated using Weblate (Turkish)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:05 +01:00
Igor Nedoboy
0c65f73180
Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:02 +01:00
chr56
5e87463125
Translated using Weblate (Chinese (Simplified))
Currently translated at 95.9% (487 of 508 strings)
2019-11-23 06:26:16 +01:00
Hosted Weblate
424d3fdcd7
Merge branch 'origin/dev' into Weblate. 2019-11-23 06:19:04 +01:00
narayaan
6452c7e08c
Translated using Weblate (Flemish)
Currently translated at 90.4% (459 of 508 strings)
2019-11-23 06:19:03 +01:00
Mattias Münster
e21257b786
Translated using Weblate (Swedish)
Currently translated at 91.3% (464 of 508 strings)
2019-11-23 06:19:02 +01:00
narayaan
0f70aeb910
Translated using Weblate (Dutch)
Currently translated at 90.2% (458 of 508 strings)
2019-11-23 06:19:02 +01:00
Igor Nedoboy
cedfbf5f67
Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 06:19:01 +01:00
chr56
31fab60701
Translated using Weblate (Chinese (Simplified))
Currently translated at 95.1% (483 of 508 strings)
2019-11-23 06:18:58 +01:00
yausername
ac2543d0a1 validate peertube instance. changed peertube color 2019-11-23 00:31:35 +05:30
yausername
81658de08f merged upstream/dev 2019-11-22 22:41:59 +05:30
Jeff Huang
719d8651b3
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:20 +01:00
ozyc
f3988c37b6
Translated using Weblate (French)
Currently translated at 99.8% (507 of 508 strings)
2019-11-21 15:37:19 +01:00
zmni
912f09c83e
Translated using Weblate (Indonesian)
Currently translated at 99.8% (507 of 508 strings)
2019-11-21 15:37:19 +01:00