Commit Graph

1873 Commits

Author SHA1 Message Date
kapodamy 96086b7733 code cleanup 2020-04-01 15:30:32 -03:00
Tobias Groza 182fc104bb
Merge pull request #3259 from mauriciocolli/improve-drawer-layout
Improvements for the drawer header layout
2020-04-01 18:47:53 +02:00
Stypox 00a8906128
Fix mute button causing crashes on API 19
Using rootView.getContext() because getApplicationContext() didn't work (it was probably missing information about theme)
2020-04-01 09:08:03 +02:00
TobiGr f7697007e5 Merge branch 'master' into dev 2020-03-31 12:33:16 +02:00
TobiGr a5153f5375 Improve database migration SQL statement 2020-03-31 00:20:13 +02:00
Mauricio Colli 053440c4a8
Fix handling of null values in database migration to version 3
Some values prior to this version could be null, this wasn't handled
properly before.
2020-03-30 15:50:46 -03:00
Alexander-- 6a84f433ea Merge remote-tracking branch 'newpipe/dev' into rebase 2020-03-30 16:54:51 +06:59
Tobias Groza 5f549a8fc6
Merge pull request #3289 from B0pol/grid_moreinfo
add upload date on stream grid items
2020-03-29 23:49:39 +02:00
Tobias Groza 7c72f17fad
Merge pull request #3279 from mauriciocolli/fix-not-found-handling
Handle content not available exception more comprehensively
2020-03-28 19:10:43 +01:00
Mauricio Colli b4cabe23e3
Handle content not available exception more comprehensively 2020-03-28 14:54:52 -03:00
Tobias Groza 40de014732
Merge pull request #3283 from Stypox/fix-mute-button
Fix mute button inflation problems on API<21
2020-03-28 18:38:36 +01:00
Mauricio Colli f9b718f1eb
Use correct class for getting a vector drawable in older APIs 2020-03-28 14:30:47 -03:00
Mauricio Colli 4dc28989c8
Fix bug when searching for urls from shared content 2020-03-28 14:06:11 -03:00
Mauricio Colli f133bbf499
Introduce a proper way to find urls in a string input 2020-03-28 14:06:09 -03:00
bopol b995f39206 add upload date on stream grid items
fixes #3175
2020-03-28 14:19:57 +01:00
Mauricio Colli d8e83dabc6
Temporary: Fix menu visibility when restoring state in the pager adapter
When restoring the state of the adapter, all the fragments' menu
visibility were set to false, effectively disabling the menu from the
user until he switched pages or another event that triggered the menu to
be visible again happened.

FragmentStatePagerAdapter is deprecated and should be replaced with its
ViewPager2 counterpart, until then, this should do it.
2020-03-27 11:30:38 -03:00
Mauricio Colli 10faa45182
Align and enable autosizing for the app name text view in drawer header
- Use a proper drop up/down arrow icon.
- Move selected service views for better visibility.
- Show the selected service icon next to its name.
- Add a subtle fade background to the service name/icon for better
readability.
2020-03-26 19:21:30 -03:00
Linus Jahn edff3c35f2
ThemeHelper: Fix 'the the' typo 2020-03-26 01:50:32 +01:00
TobiGr 55c577e76e Seek duration should not be rounded up when opening the settings, even if inexact seek is disabled 2020-03-25 22:34:02 +01:00
Tobias Groza 5a8b565199
Merge pull request #3252 from B0pol/mute_button
Change mute button color for more visibility
2020-03-23 23:10:48 +01:00
bopol 8d068b339a remove unused imports 2020-03-21 21:54:40 +01:00
bopol c54ac32732 mute button color for queue 2020-03-21 21:51:11 +01:00
bopol 47c5008871 Change mute button color for more visibility 2020-03-21 16:58:53 +01:00
Tobias Groza 27156d74da
Merge pull request #3220 from kapodamy/webm-seek-fix
fix for #3204
2020-03-20 11:49:39 +01:00
Mauricio Colli 27fc0d5900
Make duration plurals naming consistent 2020-03-19 09:44:13 -03:00
bopol 85e16afaa0 use val instead of val, make sentence more natural 2020-03-19 09:44:12 -03:00
bopol 0ae4d1369d use plural string for feed_group_dialog_selection_count 2020-03-19 09:44:11 -03:00
bopol d0f2a02277 delete «seconds» plural string in favor of «dynamic_seek_duration_description» to avoid weblate conflicts 2020-03-19 09:44:10 -03:00
Alexander-- 381b491845 Prevent foocus from escaping open navigation drawer
When contents of NewPipe navigation drawer change, NavigationMenuView
(which is actually a RecyclerView) removes and re-adds all its adapter
children, which leads to temporary loss of focus on currently focused drawer
child. This situation was not anticipated by developers of original
support library DrawerLayout: while NavigationMenuView itself is able
to keep focus from escaping via onRequestFocusInDescendants(),
the implementation of that method in DrawerLayout does not pass focus
to previously focused View. In fact it does not pass focus correctly at all
because the AOSP implementation of that method does not call addFocusables()
and simply focuses the first available VISIBLE View, without regard
to state of drawers.
2020-03-15 09:37:29 +06:59
Alexander-- 6aca344bf7 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-03-15 09:08:01 +06:59
Mauricio Colli 97f5490c13
Add help dialog to feed screen
Help to a possible confusion or simply awareness that NewPipe has both
ways to load the feed.
2020-03-14 13:24:25 -03:00
Alexander-- 512046e300 Fix navigating to action bar buttons on API 28
Keyboard focus clusters prevent that from working, so
we simply remove all focus clusters.

While they are generally a good idea, focus clusters were created
with Chrome OS and it's keyboard-driven interface in mind - there is no
documented way to move focus between clusters using only IR remote.
As such, there are no negative consequences to disabling them on Android TV.
2020-03-14 14:47:02 +06:59
Mauricio Colli ac44ed0862
Localize duration strings used in feed settings using plurals 2020-03-14 00:12:53 -03:00
Mauricio Colli b62142db82
Detect if the subscription list should be shown as a grid
Also used proper string keys for the preferences, left a TODO to fix it
in other places later.
2020-03-14 00:12:52 -03:00
Mauricio Colli f01e40e671
Simplify screen handling in feed group dialog 2020-03-14 00:12:51 -03:00
Mauricio Colli d8b9d353aa
Add a confirmation dialog when deleting a feed group 2020-03-14 00:12:50 -03:00
Mauricio Colli 98c65d8ddb
Don't expose MutableLiveData in view models 2020-03-14 00:12:48 -03:00
Mauricio Colli 597859eb23
Disable buttons when processing actions in the feed dialogs 2020-03-14 00:12:47 -03:00
Mauricio Colli d1d5f6821f
Implement feed groups manual sorting
Now, the user can sort its groups to his liking even after he created
them.

Also updated the database diagram to reflect the table's new column.
2020-03-14 00:12:45 -03:00
Mauricio Colli 50714c3006
Add ability to cancel a feed update through a notification action
- Change prefetch value default so each parallel rail buffers less
items.
2020-03-14 00:12:44 -03:00
Mauricio Colli 18a40168d9
Add Groupie library to the credit list in the about page 2020-03-14 00:12:43 -03:00
Mauricio Colli 2c783ff911
Stick info header when selecting subscriptions in the feed group dialog
- Avoid creating plural translation by using a different wording
2020-03-14 00:12:42 -03:00
Mauricio Colli 3f32573638
Replace hardcoded value that represents the group "All" with a constant 2020-03-14 00:12:41 -03:00
Mauricio Colli 5ea323ce02
New option to use dedicated feed sources for services that support it
YouTube, for example, has a dedicated feed which was built to be used
like this. It comes with some caveats though, like lacking enough
information about the items and returning a limited amount of them.

Nonetheless, a nice option for users that like speedy updates but don't
mind this issue.
2020-03-14 00:12:39 -03:00
Mauricio Colli b2f317ab7c
Load only the selected group and customizable updated status timeout
Now only the subscriptions from the selected group by the user will be
loaded.

Also add an option to decide how much time have to pass since the last
refresh before the subscription is deemed as not up to date. This helps
when a subscription appear in multiple groups, since updating in one
will not require to be fetched again in the others.
2020-03-14 00:12:38 -03:00
Mauricio Colli 2948e4190b
Change feed groups header title and icon from feed representing "All" 2020-03-14 00:12:37 -03:00
Mauricio Colli f05b8c9542
Expand import/export options by default when subscriptions list is empty 2020-03-14 00:12:36 -03:00
Mauricio Colli 8b87893248
Update Groupie list library to v2.7.0 2020-03-14 00:12:35 -03:00
Mauricio Colli a93e2cdc30
Quick fix for NPE when exiting the feed fragment 2020-03-14 00:12:34 -03:00
Mauricio Colli 20a4bb0936
Implement new feed and subscriptions groups
- Introduce Groupie for easier lists implementations
- Use some of the new components of the Android Architecture libraries
- Add a bunch of icons for groups, using vectors, which still is
compatible with older APIs through the compatibility layer
2020-03-14 00:12:31 -03:00
Mauricio Colli e8ab5aacc7
Setup initial database for feed implementation
- Update the database diagram
- Add new migration for the new tables and fields
- Enable schema exports
2020-03-14 00:12:30 -03:00
Mauricio Colli 0e2f062148
Disable database destructive migration fallback
This really shouldn't be enabled, as this database is not just a temp
one. Making the mistake of shipping the app without a proper migration
would cause a big problem.

Really hard to happen but an error is far better than data loss.
2020-03-14 00:12:29 -03:00
kapodamy ca8f8e0ee9
misc changes
* read "SeekPreRoll" from the source track (if available)
* use the longest track duration as segment duration, instead of the video track duration
* do not hardcode the "Cue" reserved space behavior
* do not hardcode the "EBML Void" element, unreported issue. The size was not properly calculated
* rewrite the key-frame picking
* remove writeInt(), writeFloat() and writeShort() methods, use inline code
* set "SeekPreRoll" and "CodecDelays" values on output tracks (if available)
* rewrite the "Cluster" maker
* rewrite the code of how "Cluster" sizes are written

Fix encode() method (the reason of this commit/pull-request):
* Use the unsigned shift operator instead of dividing the value, due precession lost
2020-03-12 00:50:14 -03:00
Alexander-- 9cb3cf250c Intercept ActivityNotFoundException for ACTION_MANAGE_OVERLAY_PERMISSION 2020-03-12 05:32:20 +06:59
Alexander-- 1cc5a67d82 Fix focus getting stuck by cycling within the same list item 2020-03-12 05:29:37 +06:59
Alexander-- fa6823599a Merge remote-tracking branch 'newpipe/dev' into rebase 2020-03-12 04:48:37 +06:59
Tobias Groza 33475ef403
Merge pull request #3197 from mauriciocolli/fix-main-tabs
Fix bug in main screen tabs state management
2020-03-11 22:03:16 +01:00
Avently 398cbe9284 Better backstack, better tablet support, switching players confirmation, fix for background playback 2020-03-10 12:06:38 +03:00
Mauricio Colli f2526ed5a8
Fix bug in main screen tabs state management
Tabs were not being destroyed/restored correctly due to a call to a
method that populated the view pager before it even had a chance of
restoring itself.

The solution was to null out the adapter before calling that method so
the view pager will postpone the populating process.
2020-03-08 09:09:04 -03:00
Stypox 8fa29ffc19
Merge pull request #3165 from karkaminski/mute_button
Mute button
2020-03-08 10:29:25 +01:00
Tobias Groza 9db2197be1 Improve code style
Co-Authored-By: B0pol <bopol@e.email>
2020-03-07 20:09:05 +01:00
yausername 3e1e07e468 refactor checkpointing 2020-03-07 20:09:05 +01:00
yausername c6b062a698 checkpoint db before export 2020-03-07 20:09:05 +01:00
karol 55d7be0b2f null risk issue 2020-03-05 19:07:46 +01:00
karol 83c7c4a68e mute/unmute text change in action bar 2020-03-04 18:53:17 +01:00
karol 1ae8a72ba6 mute icon change in action bar 2020-03-04 18:37:04 +01:00
XiangRongLin f7ef7a18ac
Update app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
Co-Authored-By: Stypox <stypox@pm.me>
2020-03-03 21:41:15 +01:00
Xiang Rong Lin efb67b0fd4 Change toast string resource to be useable with different languages 2020-03-03 19:50:50 +01:00
Xiang Rong Lin e3fff4356a Show a toast when seek duration was rounded up 2020-03-03 19:40:10 +01:00
Xiang Rong Lin 7d3b21582c Use DateUtils constant for 1000 2020-03-03 19:40:10 +01:00
Xiang Rong Lin 6a42714326 Round seek duration up instead of setting it to 10 seconds 2020-03-03 19:40:10 +01:00
Xiang Rong Lin 4463804338 Update seek options on inexact seek option change.
Reset to 10 seconds when previous value is not valid anymore
2020-03-03 19:40:10 +01:00
Xiang Rong Lin 57504acd00 If inexact seekt is used, hide 5,15,25 seconds seek duration options when opening settings 2020-03-03 19:40:10 +01:00
karol 840bb29c54 icon color change in action bar 2020-03-03 00:01:19 +01:00
karol c79f09c119 mute button in actionbar, no color change 2020-03-02 22:52:58 +01:00
karol 92ee51b8db resolved issues 2020-03-02 21:12:02 +01:00
karol a6fcb70d12 fix typo 2020-03-01 16:42:46 +01:00
TobiGr 2b9c7fee20 Update extractor version 2020-03-01 15:37:47 +01:00
karol ee75909c80 set mute button in main player from other player 2020-03-01 13:02:20 +01:00
Avently d87e488c23 Fix for a ripple effect on a button 2020-02-29 22:13:07 +03:00
Avently 5c2ff9b777 Better implementation of old code 2020-02-29 02:57:54 +03:00
bopol 22aa6d16a2 public Utils.round() moved to private Localization.round() 2020-02-28 17:04:25 +01:00
bopol dfaa5675b6 Round at one place for Localization.shortCount() 2020-02-28 17:04:25 +01:00
karol 0400fcb106 mute icon in main refactored 2020-02-27 23:30:17 +01:00
karol 40f54aea53 mute intent send between main-bckgrnd-popup players 2020-02-27 22:30:18 +01:00
Marcel Dopita 91aa65e717 Support display cutout
Fixes #2682
2020-02-26 17:47:22 +01:00
TobiGr ec684434dc Merge branch 'master' into dev 2020-02-26 17:46:59 +01:00
Alexander-- 6a3a72eb06 NewPipeRecyclerView should allow scrolling down by default 2020-02-26 06:40:46 +06:59
Alexander-- 56544802e8 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-02-26 05:56:09 +06:59
TobiGr 3b5b9d7dab Release 0.18.5 (850) and update extractor version
Update User-Agent
2020-02-25 23:38:51 +01:00
TobiGr e7082baaff Exception is ignored in SearchFragment 2020-02-25 23:12:12 +01:00
Avently 6d7e37610c Vertical videos in portrait & fullscreen, UI enhancements for tablets and phones, fixes
- vertical videos now work ok in portrait and fullscreen mode at the same time
- auto pause on back press is disabled for large tablets
- large dragable area for swipe to bottom in fullscreen mode in place of top controls
- appbar will be scrolled to top when entering in fullscreen mode
2020-02-25 02:15:22 +03:00
karol c4d5886059 icon change implemented in queque 2020-02-23 23:44:16 +01:00
karol 2a63f2a3a6 mute-buton in queue layout and logic, but no icon change 2020-02-23 23:31:30 +01:00
karol cc559dc9ce isMuted() added 2020-02-23 22:55:34 +01:00
karol 4415888324 mute-button implementation in main player 2020-02-23 22:32:23 +01:00
Tobias Groza 7da28f28e5
Merge branch 'dev' into unhook-save-restore 2020-02-23 00:19:44 +01:00
TobiGr 0bc769b971 Fix regression: Unable to find explicit activity class
See https://github.com/TeamNewPipe/NewPipe/issues/3114#issuecomment-589940878 for info on this crash.
This reverts ef90493c27 partly.
2020-02-22 20:43:38 +01:00
Stypox d65b8d7d18
Address @mauriciocolli suggestions in #2960
Simplify code to enable history button
2020-02-22 11:34:08 +01:00
Stypox 6968dd266a
Remove empty about menu 2020-02-22 11:30:57 +01:00
Stypox 8754cbb38f
Remove Settings button from download activity 2020-02-22 11:12:22 +01:00
Stypox c7b4705538
Implement Settings buttons 2020-02-22 10:36:10 +01:00
Stypox 5680b7c477
Merge branch 'dev' into localisation 2020-02-21 14:34:40 +01:00
kapodamy 61632b3d9d fixup for #3081
* dont write the "sbpg" box in video tracks
2020-02-20 13:20:20 -03:00
Alexey Dubrov 4230e11c4d
Merge branch 'dev' into dev 2020-02-19 15:05:42 +03:00
Laurent Arnoud 831e9985e2
Migrate annotation to androidx on ReCaptchaActivity 2020-02-18 21:50:28 +01:00
bopol 9912ee8199 give info if content language is system on crash 2020-02-18 18:35:13 +01:00
Alexey Dubrov 5495be749b
Merge branch 'dev' into dev 2020-02-17 12:14:07 +03:00
bopol 54f71c623a use plural string for dynamic_seek_duration_description 2020-02-17 10:12:08 +01:00
Alexey Dubrov e3a891688b
Get brightness from settings if screenBrightness is set to auto 2020-02-17 12:11:00 +03:00
B0pol 09d36a5dbc
Merge branch 'dev' into localisation 2020-02-17 09:27:03 +01:00
bopol e62e34fd5c created default_localization_key 2020-02-16 22:41:32 +01:00
Stypox 3b57135a6e
Merge branch 'dev' into patch-10 2020-02-16 21:58:44 +01:00
Alexey Dubrov 51f2efd48c
Fix initial brightness value 2020-02-16 16:08:53 +03:00
bopol f089cd027e Multiple localization fixes
With the extractor PR, fixes title & description shown in the wrong language.
Fixed views / spectators counts possibly in the wrong language
Fixed live spectators not showing full count on detail page
Fixed LIVE shown on players, it shows translated instead

Fixed Videos string in search / three dots not available in Weblate
(because it was videos, but there already was a plural string named videos, in Weblate)

Subscriber count is always giving the short count.
We can't get exact number since this YouTube update: https://support.google.com/youtube/thread/6543166
But only short count (B, M, k), so showing full number, eg for 1.9M: 1,900,000, is wrong because the number could be 1,923,490 or 1,897,789…

Added a « sytem default » option to content language and country language selector.
It's the one selected by default (not en-GB anymore then), and correspond to the
language of the system / country of the system
By system I mean phone, tablet, TV…

Fixed russian showing - before time ago (eg 19hrs ago)
This is a workaround fix, I opened an issue on prettytime library repo.

Fixed russian plurals:
other was used instead of many for videos and subscribers

Fixed seek_duration english only
2020-02-15 12:40:23 +01:00
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
Alexander-- 5bd0c701c7 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-02-11 08:01:05 +06:59
Stypox 4b8474b0ac
Merge branch 'dev' into unhook-save-restore 2020-02-09 13:10:35 +01:00
Tobias Groza ec45d4a729 Merge pull request #2959 from kapodamy/m4a-stsc-stco
mp4 muxer fix
2020-02-09 00:27:57 +01:00
kapodamy d3cb887ff0
Merge branch 'dev' into m4a-stsc-stco 2020-02-08 16:04:28 -03:00
B0pol 88c68315f6
Merge branch 'dev' into tubepeer 2020-02-08 10:54:05 +01:00
bopol 2d62fa401d real markdown support for descriptions
and update third-party licences in about page
2020-02-08 10:48:36 +01:00
TobiGr 3ff85c2ab7 Make report error title in snackbar uppercase again 2020-02-07 22:22:27 +01:00
bopol badaff8ebc refactor Description 2020-02-07 14:14:55 +01:00
Alexander-- 50a2771d87 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-02-07 07:39:40 +06:59
bopol 7045f9711c fix thumbnail for PeerTube, and description changes
description:
- PeerTube: it's now full description (it cut at 250 characters before), and it displays ok (newlines are ok, but markdown isn't)
- MediaCCC: descriptions are now displayed well (newlines added)
- YouTube: timestamps in descriptions are clickable and work

more PeerTube fixes:
thumbnail is now high quality
age limit is now handled
upload date in «recently added» feed is good now (it was one hour delayed)
all fixes come from https://github.com/TeamNewPipe/NewPipeExtractor/pull/239, so it need to be merged before this PR
2020-02-06 22:42:09 +01:00
kapodamy aaf5d7b89c
Update DataReader.java
make rewind() method fully rewind the stream
2020-02-06 17:00:32 -03:00
Alexander-- e6df041613 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-02-06 02:44:08 +06:59
harshlele 21184f8755
Update CommentsMiniInfoItemHolder.java
Co-Authored-By: yausername <5203007+yausername@users.noreply.github.com>
2020-02-05 14:48:39 +05:30
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
Harshal Lele bc393e6bcd removed settings entry 2020-02-04 18:01:39 +05:30
Harshal Lele af411a61ae added ability to copy comments on long press 2020-02-04 16:40:57 +05:30
Stypox b6841158df
Remove unused imports and clean up comment style 2020-02-02 21:48:45 +01:00
Stypox 3372bacc62
Merge branch 'dev' into recaptcha 2020-02-02 21:36:15 +01:00
Stypox 6da9096176
Fix addYoutubeCookies functions (Yt changed things lately) 2020-02-02 21:33:07 +01:00
Stypox 0f22833ad5
Save and restore whether pitch and tempo are unhooked or not
Fixes #1536
2020-02-02 15:52:35 +01:00
Xiang Rong Lin a117e459b0 Use AlertDialog.Builder instead of BookmarkDialog class for the same look.
Use "rename" string instead of "save" string.
2020-02-02 12:54:43 +01:00
kapodamy d1801e1dbc
Merge branch 'dev' into m4a-stsc-stco 2020-02-01 18:59:22 -03:00
Stypox f95d51b307
Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into recaptcha 2020-02-01 18:27:00 +01:00
Stypox 1bf55c2139
Remove left-behind Log 2020-02-01 18:24:16 +01:00
Stypox 9b09028440
Try to extract cookies just before closing recaptcha activity
Even if the page didn't auto-close
2020-02-01 18:24:16 +01:00
Stypox 0cc890a1d1
Move "Done" button and make it theme conpliant in ReCaptcha 2020-02-01 18:24:16 +01:00
Stypox fe138f6d61
Improve formatting 2020-02-01 18:24:16 +01:00
Stypox daa4fd5103
Fix ReCaptchaActivity crash and save cookies correctly 2020-02-01 18:24:16 +01:00
Xiang Rong Lin 8712310ad9 Move more log statements into "if (DEBUG)" 2020-02-01 16:36:45 +01:00
XiangRongLin e8c3ab87c4
Merge branch 'dev' into 1907renamePlaylist 2020-02-01 16:29:21 +01:00
Xiang Rong Lin 90c20f124b Move log statement into "if (DEBUG)" 2020-02-01 16:27:53 +01:00
TobiGr d36ac7a5de Improve formatting 2020-02-01 15:35:33 +01:00
bopol 55a138e8da fix toast on app language change
I forgot to change the key here when I renamed it
2020-02-01 15:30:51 +01:00
bopol c5e6bb58bc Merge remote-tracking branch 'upstream/dev' into dev
merging dev
2020-02-01 15:11:01 +01:00
Tobias Groza bcb3cb9125
Merge pull request #3004 from harshlele/ask-overlay-perm-settings
ask for display over other apps permission in settings
2020-02-01 14:28:02 +01:00
TobiGr f7203d4ac9 Fix formatting and use lamda functions 2020-02-01 13:41:03 +01:00
bopol 6be23a0a6f fix wrong language shown many popup dialogs
Changed android.R.string.ok, which is "OK", into R.string.finish, which is also OK, but from our strings
Then for a small amount of languages that don't have Android translation, it will show the good string.
2020-02-01 09:44:49 +01:00
bopol edc9d47da7 app language: refactoring
renamed NewPipe's language into App language, and same for all the
concerning thing (keys, comments…)

we now call assureCorrectAppLanguage(CONTEXT) in activities needing it
instead of changeAppLanguage(getAppLocale(CONTEXT), RESOURCES)
changeAppLanguage becomes private.
2020-01-29 21:21:00 +01:00
kapodamy 0c5608506e
typo fixup 2020-01-29 16:06:40 -03:00
kapodamy bda6139f42
Merge branch 'dev' into m4a-stsc-stco 2020-01-29 15:58:20 -03:00
kapodamy 1ae8ca1e21 Merge branch 'm4a-stsc-stco' of https://github.com/kapodamy/NewPipe into m4a-stsc-stco 2020-01-29 16:08:32 -03:00
kapodamy 342377e69a restore offset after writting lastest CTTS entries 2020-01-29 16:04:24 -03:00
Alexander-- caa1de8aff Rename FireTvUtils to AndroidTvUtils and isFireTv() to isTV()
Because those methods are no longer exclusive to Amazon devices
2020-01-29 03:16:33 +06:59
Alexander-- fac13fb8cb Merge remote-tracking branch 'newpipe/dev' into rebase 2020-01-29 03:10:16 +06:59
Harshal Lele a78762756a reformatted code 2020-01-28 20:54:24 +05:30
Harshal Lele 1f24c18614 reformatted and commented code 2020-01-28 20:14:35 +05:30
B0pol e94981e6f7
Merge branch 'dev' into dev 2020-01-27 19:24:18 +01:00
Christophe 94403a9c3c Add send to Kodi button to player next to share button 2020-01-27 10:27:24 +01:00
XiangRongLin b5ea61a079
Merge branch 'dev' into 1907renamePlaylist 2020-01-26 20:36:18 +01:00
Tobias Groza 609855f774
Merge pull request #2917 from raphj/patch-1
Allow a BasePlayer to start paused
2020-01-26 17:39:39 +01:00
XiangRongLin 37409e7d90
Merge branch 'dev' into 1907renamePlaylist 2020-01-26 15:34:12 +01:00
Avently 26e487c01a Hotfix 2020-01-26 07:33:52 +03:00
Harshal Lele e1145f16f2 ask for display over other apps permission in settings 2020-01-25 22:30:49 +05:30
Xiang Rong Lin 0ed3354cee Use custom dialog to edit and delete local playlists at once 2020-01-21 20:56:06 +01:00
kapodamy b8f726153f
Merge branch 'dev' into subtitles 2020-01-20 23:23:51 -03:00
kapodamy afc362d2b6 readability changes 2020-01-20 23:33:30 -03:00
kapodamy 7718581882
Merge branch 'dev' into m4a-stsc-stco 2020-01-20 23:23:39 -03:00
B0pol e58088d290
Merge branch 'dev' into dev 2020-01-19 18:09:17 +01:00
Xiang Rong Lin 77aa12dd81 Rename local playlist by long-clicking in BookmarkFragment.
After long clicking on a local playlist, show a dialog with 2 options for "rename" and "delete"
Rename shows another dialog to let the user rename the playlist.
Delete lets the user delete a playlist like before.
2020-01-19 14:39:40 +01:00
bopol e08e724573 upload date in description now matches newpipe's language 2020-01-18 10:46:53 +01:00
bopol b155f23d27 fix: wrong language shown in playback parameters dialog
This is a hardly reproduceable bug that I hopefully fixed. After a long time of watching videos, you could have your system language shown in playback parameters dialog.
Calling changeAppLanguage(getAppLocale(…),…) onCreate will most certainly fix this bug
2020-01-18 09:46:38 +01:00
kapodamy a2d3e2c7e0 2 typo fixup
* add missing namespace of StandardCharsets
* use an unused constructor argument
2020-01-18 01:10:25 -03:00
kapodamy 845767e2f8 StandardCharsets.UTF_8 instead of Charset.forName("utf-8") 2020-01-18 00:43:38 -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
Raphaël Jakse 7dbb2b206c Simplify an if expression 2020-01-17 11:49:33 +01:00
Raphaël Jakse ef90493c27 Deduplicate code switching to another player into a function 2020-01-17 11:49:20 +01:00
Raphaël Jakse 570dded8d6 Add field START_PAUSED to the Player Intent
This allows fixing spurious playback resume when minimizing to the background player.
2020-01-16 20:57:55 +01:00
Avently 92ff98d99a New logic for handling global orientation
- added a button to manually change an orientation of a video
- adapted UI for an automatic global orientation too
2020-01-16 14:20:22 +03:00
Avently d1609cba90 Enhancements to background playback and media button handling 2020-01-15 21:32:29 +03:00
B0pol 9d8fcbbffe fix: wrong language shown when rotating screen in popup player 2020-01-15 08:33:57 +01:00
Karol Kaminski a228e702da menu-item History visibility accordingly to settings 2020-01-14 19:30:36 +01:00
kapodamy 9b71828b97 implement sgpd and sbgp boxes in audio tracks 2020-01-14 01:08:46 -03:00
kapodamy 49cc643dcc decrease the size of samples per chunk 2020-01-14 00:04:53 -03:00
kapodamy 42ec6f0810 ttml to srt conversion
rewrite SubtitleConverter (use JSoup library instead, remove unused methods)
2020-01-14 00:04:16 -03:00
Karol Kaminski 9d773d6e8a removed dot menu where its no longer needed 2020-01-13 20:28:32 +01:00
Avently 0c394b123c Another fix of VideoDetailFragment 2020-01-13 19:24:28 +03:00
bopol 8f46432391 fixed some activities where the wrong languages would be set 2020-01-10 15:50:15 +01:00
Avently 421b8214cb Fixes of VideoDetailFragment 2020-01-10 17:32:05 +03:00
Avently 6fc91312d2 Changed default autoplay type to "Only on WiFi" 2020-01-09 19:27:10 +03:00
Avently 22bb129bd9 Autoplay enhancement and new button at the top left corner
- added a video close button to the top left corner
- autoplay will not work if stream plays in background or popup players
2020-01-09 18:28:06 +03:00
bopol b32935a1b0 app language now changes time formatting (3hrs ago), was system language b4 2020-01-09 15:51:41 +01:00
bopol ed9a3517c6 removed unused imports 2020-01-09 12:15:01 +01:00
B0pol e0a39efa2b
Merge branch 'dev' into dev 2020-01-09 10:07:22 +01:00
bopol 3ad0e313ca changed the way to change language, now is «NewPipe's language» selector 2020-01-09 09:40:05 +01:00
Avently 4c57893312 New features and fixes
- added autoplay options inside settings: always, only on wifi, never
- now statusbar will be shown in fullscreen mode
- playlists, channels can be autoplayed too (if enabled)
- changed title of background activity to Play queue
- fixed a crash
2020-01-08 19:16:50 +03:00
kapodamy 8d53b07167 fixup
* [DownloadDialog.java] use *.opus extension instead of *.webm (bad change from 844f80a5f1)
* [StreamItemAdapter.java] show "opus" in format label instead of "WebM Opus"
2020-01-08 12:42:34 -03:00
TobiGr 399e2626fb Fix code style and improve imports 2020-01-07 22:48:35 +01:00
decarvalhobo 752a76eb44 Usage of drawable instead of remote image + refactor the append to an empty playlist by just updating the thumbnail before adding the item in it. 2020-01-07 22:33:45 +01:00
De Carvalho Marcio Antonio 8feee05eec remove comments 2020-01-07 22:33:45 +01:00
De Carvalho Marcio Antonio e9a4caaf0b remove comments 2020-01-07 22:33:45 +01:00
decarvalhobo 8de367e03f fix issue: thumbnail update when element deleted + thumbnail update when element added and no thumbnail 2020-01-07 22:33:45 +01:00
Avently a2d5314cf7 Fourth block of fixes for review
- wrote more methods to PlayQueue. Now it supports internal history of played items with ability to play previous() item. Also it has equals() to check whether queues has the same content or not
- backstack in fragment is more powerful now with help of PlayQueue's history and able to work great with playlists' PlayQueue and SinglePlayQueue at the same time
- simplified logic inside fragment. Easy to understand. New PlayQueue will be added in backstack from only one place; less number of setInitialData() calls
- BasePlayer now able to check PlayQueue and compare it with currently playing. And if it is the same queue it tries to not init() it twice. It gives possibility to have a great backstack in fragment since the same queue will not be played from two different instances and will not be added to backstack twice  with duplicated history inside
- better support of Player.STATE_IDLE
- worked with layouts of player and made them better and more universal
- service will be stopped when activity finishes by a user decision
- fixed a problem related to ChannelPlayQueue and PlaylistPlayQueue in initial start of fragment
- fixed crash in popup
2020-01-06 13:39:01 +03:00
bopol dea1e0dcb9 Update localizations settings
1) now, on « content language » change, it will also change the app language
2) added Esperanto to the list of language in content language
2020-01-04 21:38:27 +01:00
Avently e063967734 Third block of fixes for review
- audio-only streams plays the same way as video streams
- fullscreen mode for tablet with controls on the right place
- hidden controls while swiping mini player down
- mini player works better
2020-01-03 19:19:14 +03:00
k1rakishou eb5fb42da9 Couple more code review changes 2020-01-03 16:29:04 +03:00
k1rakishou c46a0f7b2e Code-review changes 2020-01-03 13:00:53 +03:00
k1rakishou 835476870b Merge remote-tracking branch 'push_here/(#1570)-lock-screen-video-thumbnail' into (#1570)-lock-screen-video-thumbnail
# Conflicts:
#	app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
#	app/src/main/java/org/schabi/newpipe/player/helper/MediaSessionManager.java
#	app/src/main/java/org/schabi/newpipe/util/BitmapUtils.java
#	app/src/main/res/xml/video_audio_settings.xml
2020-01-03 12:56:01 +03:00
Avently 4519dd010d Second block of fixes for review
- hide/show controls with respect of SystemUI. In fullscreen mode controls will stay away from NavigationBar
- notification from running service will be hidden if a user disabled background playback
- fixed incorrect handling of a system method in API 19
- better MultiWindow support
2020-01-03 08:05:31 +03:00
TobiGr 718acb5059 Code improvements 2020-01-02 15:00:31 +01:00
TobiGr 1aa763e86c Enable lockscreen video thumbnail by default 2020-01-02 15:00:31 +01:00
k1rakishou 0395dc6e9e Add a setting for the lock screen thumbnail feature 2020-01-02 15:00:31 +01:00
k1rakishou 96de70b71e Rebase onto the latest dev, update appcompat dependencies to use androidx 2020-01-02 15:00:31 +01:00
k1rakishou f44883e79f Show video thumbnail on the lock screen 2020-01-02 15:00:31 +01:00
Paweł Matuszewski 3625a38a23 improve code consistency in ScrollableTabLayout 2020-01-02 13:02:14 +01:00
Paweł Matuszewski 1393d3ad7f fix ScrollableTabLayout content width calculation
fix bug where only minimum width requested by tab was counted even if actual content was wider
2020-01-02 13:02:14 +01:00
Paweł Matuszewski b674cfec24 simplify ScrollableTabLayout tabs width checking 2020-01-02 13:02:14 +01:00
Paweł Matuszewski f0f0c43b72 hide main page tab selector with single tab 2020-01-02 13:02:14 +01:00
Paweł Matuszewski 33caad4690 make main page tabs scrollable 2020-01-02 13:02:14 +01:00
Paweł Matuszewski ee65e89230 limit amount of notification thumbnail updates
limits amount of calls to updateNotificationThumbnail in background player
2020-01-01 16:38:46 +01:00
Alexander-- 55d2637214 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-01-01 12:55:05 +06:59
Avently bc2dc8d933 First block of fixes for review
- popup player click event changed to show/hide buttons
- queue panel WORKS. Finally
- removed theme overriding in fragment
- added scroll to top after stream selection
- adjusted padding/margin of buttons in player
- player will itself in fullscreen after user hides it in fullscreen mode and then expands it again while video still playing
2019-12-31 19:06:39 +03:00
yausername 2b4190d85d
made instance list url non translatable 2019-12-31 20:10:51 +05:30
Mauricio Colli 1e7e8d4121
Fix for player access out of its creation thread 2019-12-31 02:52:16 -03:00
Avently fc9b63298c Optimizations and fixes of rare situations
- popup after orientation change had incorrect allowed bounds for swiping
- popup could cause a crash after many quick switches to main player and back
- better method of setting fullscreen/non-fullscreen layout using thumbnail view. Also fixed thumbnail height in fullscreen layout
- global settings observer didn't work when a user closed a service manually via notification because it checked for service existing
- app will now exits from fullscreen mode when the user switches players
- playQueuePanel has visibility "gone" by default (not "invisible") because "invisible" can cause problems
2019-12-31 05:07:07 +03:00
dotvirus de19421de1 Update LocalPlaylistFragment.java 2019-12-31 01:42:41 +01:00
Nico-late 6fb16bad85 Update app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
Space added for more clarity

Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2019-12-31 00:52:01 +01:00
Nico-late 694813ac90 Fixed issue #2838 2019-12-31 00:52:01 +01: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
Tobias Groza f995ba115c
Merge pull request #2868 from yausername/fix-add-instance-dialog
fix add instance dialog
2019-12-15 11:01:13 +01:00
yausername c8c7d23971
fix add instance dialog 2019-12-15 01:30:47 +05:30
Markus 559bcfc6a5 Remove commented-out code and hide stacktraces in release mode 2019-12-13 21:46:19 +01:00
Markus 23c2f748d6 Add trying out some more cipher suites which may be supported on non-standard Android 4.4.2 devices 2019-12-13 21:46:12 +01:00
Markus 3e409b9cc1 Fix formatting and remove unused code 2019-12-13 21:43:03 +01:00
Markus Richter c0453065e4 Enable TLS v1.1/1.2 for KitKat devices
This enables modern TLS versions in the collection browser, the Downloader and the Player.
This is neccessary because media.ccc.de rejects all older TLS connection attempts, see issue #2777.
2019-12-13 21:42:58 +01:00
Xiang Rong Lin 8970a663ec Rename "seek_duration_default_key" and use it in BasePlayer 2019-12-13 07:14:17 +01:00
Xiang Rong Lin 334437137e Remove local variable for seek duration 2019-12-13 07:14:17 +01:00
Xiang Rong Lin 949c01b37f Extract getting of seek duration into a function 2019-12-13 07:14:17 +01:00
Xiang Rong Lin dcd35b038e Adjust BasePlayer to use seek duration of preferences.
Changes behaviour when double-tapping in video and clicking fast forward/rewind in background mode.
2019-12-13 07:14:17 +01:00
Tobias Groza fa8483bbb6
Merge pull request #2860 from spk/fix-cannot-resolv-symbol
Migrate annotation to androidx
2019-12-12 21:44:49 +01:00
Laurent Arnoud ec1de9824a
Migrate annotation to androidx
release build is failing without this on android studio 3.5.3
2019-12-12 21:31:23 +01:00
Peter Hindes b365973ac6 fix last recomendation. syntax and imports 2019-12-10 12:18:49 -07:00
Peter Hindes 19fb8cfbfe
Update app/src/main/java/org/schabi/newpipe/local/holder/RemotePlaylistItemHolder.java
Co-Authored-By: Redirion <redirion@web.de>
2019-12-10 12:13:04 -07:00
Peter Hindes d8e6a5cb33
Merge branch 'dev' into dev 2019-12-10 09:59:12 -07:00
Alexander-- a0cb96abff Merge remote-tracking branch 'newpipe/dev' into rebase 2019-12-10 21:20:26 +06:59