1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2024-11-09 11:30:02 +00:00
Commit Graph

3625 Commits

Author SHA1 Message Date
evermind
48c2c156cb convert PlayerHolder to Singleton, handle context within, bugfix ServiceConnection leak
- bugfix: have ServiceConnection created only once!

- select the context within the PlayerHolder to start, stop, bind or unbind the service
  -> we have to make sure the Service is started AND stopped within the same context
  -> so let PlayerHolder be the one to select the context

- remove removeListener() and replace the call with setListener(null)
- Compatibility: use ContextCompat.startForegroundService instead of startService()
2021-07-06 12:31:26 +02:00
evermind
435813355f use viewBinding correctly 2021-07-06 07:56:05 +02:00
evermind
e30a552b6c remove duplicated code for toggle Fullscreen 2021-07-06 07:56:00 +02:00
evermind
22a4a4b2df move null checks for player and playerService to helper methods
- code is easier to read
- duplication of code reduced
2021-07-06 07:55:52 +02:00
Robin
201e5ee09d Fix NPE when connecting via BT 2021-06-25 09:14:15 +02:00
evermind
aaa3e20c5a service.onDestroy() should only be called from the system and not manually
instead use service.stopService() which inturn calls stopSelf() and
triggers hopefully onDestroy() to be called. Eventually we have to make
sure that all ServiceConnections are closed to successfully stop the service
now!

Cleanup within stopService() and not only onDestroy()

So we make sure that all listeners can react to onServiceStopped()
and close their ServiceConnections. Afterwards the android framework
is ready to stop the Service.
2021-06-24 10:15:07 +02:00
bopol
0da8e28651
Merge pull request #6558 from Douile/fix/searchfragment-null-service
Fix null pointer exception when displaying SearchFragment
2021-06-24 09:16:00 +02:00
bopol
25cf8dc20a Refactoring by Android Studio 2021-06-23 14:30:01 +02:00
Douile
cb1a138140
#6081: Disable feed click handlers during refresh
This patch changes click handlers for feed (Whats new) so that they do
nothing while the feed is refreshing and the items being clicked are not
visible.
2021-06-22 19:42:20 +01:00
Douile
384ca66205
#6522: Fix null pointer exception when displaying SearchFragment
It seems due to #6394 updating the FragmentX library there was a
change to the order of lifecycle calls, as such onResume() was no longer
before onCreateOptionsMenu() creating a null pointer exception when
using service in onCreateOptionsMenu() as it is only set in onResume().

By moving the initialization of service to onStart() which still happens
before onCreateOptionsMenu() this crash can be avoided. This commit also
adds a check for a null service to prevent future crashes for similar
issues.
2021-06-22 16:52:02 +01:00
Mohammed Anas
62b4f333bb
Don't enable SAF on Fire TV (#6516) 2021-06-20 19:01:06 +00:00
TacoTheDank
ae39b31c68 Fix onActivityResult deprecation in DownloadDialog 2021-06-20 14:14:44 -04:00
TacoTheDank
e5a1438673 Fix onActivityResult deprecation in DownloadSettingsFragment 2021-06-20 14:11:00 -04:00
XiangRongLin
785c0376f8 Remove variable ContentSettingsFragment.lastImportExportDataUri
Instead pass the value through the methods as parameter
2021-06-20 09:30:59 +02:00
XiangRongLin
0bdf8de38e Resolve sonar issues in ContentSettingsFragment
https://sonarcloud.io/organizations/teamnewpipe/rules?open=java%3AS2885&rule_key=java%3AS2885

https://sonarcloud.io/organizations/teamnewpipe/rules?open=java%3AS112&rule_key=java%3AS112
2021-06-20 09:30:59 +02:00
XiangRongLin
9767e98e50 Remove option to immediately commit pref changes on import
System is now not restarted with `System.exit(0)`.
Instead it is done properly by finishing the activity and restarting the activity. This allows preference changes which are queued up asynchronously through `apply` to be applied.
2021-06-20 09:17:55 +02:00
TacoTheDank
79deff3261 Annotate some overridden methods and parameters as NonNull 2021-06-19 18:37:02 -04:00
Robin
f5d015e8f9 Use ExoPlayer default values for buffers 2021-06-18 20:18:24 +02:00
Stypox
74ad488f4a
Merge pull request #6394 from TacoTheDank/androidx-fragment-134
Update AndroidX Fragment to 1.3.4
2021-06-18 13:14:30 +02:00
Tobi
be676ad93c
Merge pull request #3371 from mauriciocolli/feed-hide-played-items
Add ability to hide played items in a feed
2021-06-18 09:18:48 +02:00
Robin
0803d9f2b5
Merge pull request #6504 from evermind-zz/fixes-choice-dialog
dismiss choice dialog in onStop() to avoid a leaked window Exception:
2021-06-17 21:17:35 +02:00
Stypox
841fb4cfc5
Merge pull request #6495 from danielmbutler/Replace-System.exit-calls
Replace the System.exit calls with getActivity.finishAffinity()
2021-06-17 21:07:48 +02:00
danielmbutler
90de75968d Replaced System.Exit calls with FinishAffinity and Start Activity calls
Implemented "RestartApp" method defined in NavigationHelper.java.
 This method is used in ExitActivity.java and ContentSettingsFragment.java
2021-06-17 17:18:15 +01:00
evermind
a9ab2f54ea dismiss choice dialog in onStop() to avoid a leaked window Exception:
E/WindowManager: android.view.WindowLeaked: Activity org.schabi.newpipe.RouterActivity has leaked window DecorView@d99fe3b[] that was originally added here
        at android.view.ViewRootImpl.<init>(ViewRootImpl.java:418)
2021-06-17 06:53:47 +02:00
TacoTheDank
a1432e939f Fix onActivityResult deprecation in SubscriptionFragment 2021-06-15 22:09:19 -04:00
TacoTheDank
cae160b5be Fix onActivityResult deprecation in SubscriptionsImportFragment 2021-06-15 22:09:07 -04:00
TacoTheDank
aa4e5da146 Fix onActivityResult deprecation in ContentSettingsFragment 2021-06-15 22:08:55 -04:00
TacoTheDank
1061fca6a3 Add super.onRequestPermissionsResult where missing 2021-06-15 22:08:41 -04:00
TacoTheDank
e4885e3c52 Fix some older deprecations from previous Fragment versions 2021-06-15 22:08:25 -04:00
Stypox
d6e0bd8c26
Merge pull request #6059 from Dakkaron/manual-tablet-mode-setting
Adds manual tablet mode setting
2021-06-15 21:46:19 +02:00
Dakkaron
e01ef42d31
Adds manual tablet mode setting
Co-authored-by: TiA4f8R <74829229+TiA4f8R@users.noreply.github.com>
2021-06-15 21:43:06 +02:00
Stypox
32df4d39a4
Reshow feed if grid/list view mode changed 2021-06-15 18:40:25 +02:00
Stypox
7145b117cc
Fix long press menu in feed 2021-06-14 19:02:57 +02:00
Stypox
4698d07323
Do not hide feed buttons (show/hide & help) behind three-dots menu 2021-06-14 19:02:57 +02:00
Stypox
2142f05a88
Fix hiding finished streams in groups; new stream state validity condition
Consider stream state valid also if >1/4 of video was watched
2021-06-14 19:01:01 +02:00
Stypox
40a2df847b
Move tags layout at the bottom, use multiple lines 2021-06-13 21:56:06 +02:00
TiA4f8R
4eef498d24
Only call addClickListenersOnTimestamps if relatedInfo is instance of StreamInfo 2021-06-11 14:08:08 +02:00
TiA4f8R
32b0bdb98c
Fix the compile error 2021-06-11 12:19:29 +02:00
Stypox
edfe0f9c30
Fix disposables handling for text linkifier
also use differently Markwon methods to convert plain text to markdown
2021-06-11 12:12:12 +02:00
Stypox
eef418a757
Improve text linkifier function parameters 2021-06-11 12:12:11 +02:00
TiA4f8R
218f25c171
Annotate params and methods with NonNull 2021-06-11 12:12:10 +02:00
TiA4f8R
f02df6d80c
Fix an error and add a new method in the ShareUtils class
Fix the error due to the rebase on the dev branch of this branch
Add a shareText method in the ShareUtils class which has 3 parameters and calls
the original shareText method with an empty string for the
imagePreviewUrl param.
2021-06-11 12:12:09 +02:00
TiA4f8R
da4d379b22
Initial work: use disposables for timestamps parsing in YouTube video descriptions and YouTube comments 2021-06-11 12:12:08 +02:00
TiA4f8R
f13f4cc5d2
Split handleUrl method into two methods
Split handleURL method, now private, into two methods:
handleUrlCommentsTimestamp and handleUrlDescriptionTimestamp. Code is
now more proper.
2021-06-11 12:12:07 +02:00
TiA4f8R
a79badd783
Adress requested changes and try some cleanup in handleUrl method of InternalUrlsHandler class 2021-06-11 12:12:06 +02:00
TiA4f8R
2702700d10
Don't use a chooser for other intents than opening a content in a browser or sharing a content to other apps
Use an ACTION_CHOOSER intent has a negative impact for user experience, because user cannot set as default an activity for an intent
2021-06-11 12:12:05 +02:00
TiA4f8R
267686fd37
Initial work: add support for opening hashtags in plain text descriptions
This commit adds supports for opening hashtags in plain text descriptions, using the same logic as timestamps.
Every hashtag opens a search on the current service with the text in the hashtag.
Also use a better regular expression for parsing timestamps.
2021-06-11 12:12:04 +02:00
TiA4f8R
e5df2f65b8
Move some classes to a new subpackage and adress requested changes
Rename URLHandler and KoreUtil classes to InternalUrlsHandler and KoreUtils.
Move InternalUrlsHandler, KoreUtils, TextLinkfier, ShareUtils classes to external_communication subpackage.
Remove unused param showPreviewText in shareText method of ShareUtils class.
Add initial work to be able to display an image preview of the content shared (not for downloads).
Use a better regular expression to parse timestamps in plain text descriptions.
2021-06-11 12:12:03 +02:00
TiA4f8R
d6decc05d7
Move some classes to a new subpackage and adress requested changes
Rename URLHandler and KoreUtil classes to InternalUrlsHandler and KoreUtils.
Move InternalUrlsHandler, KoreUtils, TextLinkfier, ShareUtils classes to external_communication subpackage.
Remove unused param showPreviewText in shareText method of ShareUtils class.
Add initial work to be able to display an image preview of the content shared (not for downloads).
Use a better regular expression to parse timestamps in plain text descriptions.
2021-06-11 12:12:02 +02:00
TiA4f8R
d85afd6435
Initial work to add the image of the content in the share sheet
Also do some fixes when sharing a file in downloads and some improvements in JavaDocs of ShareUtils class.
2021-06-11 12:12:00 +02:00
TiA4f8R
2fb86364ab
Fix title of the subject when sharing an URL 2021-06-11 12:11:59 +02:00
TiA4f8R
c972940338
Apply suggested changes and fix some warnings 2021-06-11 12:11:58 +02:00
TiA4f8R
6abdd2a6d8
Try to change message of the system chooser for the update notification
This commit tries to change the title of the system chooser shown, which is from Android System ("Open links with"), when no defaut browser is present, for the update notification.
2021-06-11 12:11:57 +02:00
TiA4f8R
9e9d1a04e4
Fix toast shown when falling back to Google Play Store URL and the action of Open with Kodi button in the player
Add a boolean param, showToast, in ShareUtils.openIntentInApp and only show toast "No app on your device can open this" if this boolean is true.
Fix the action of play with Kodi button by applying the fix provided in #5599 (adding the flag Intent.FLAG_ACTIVITY_NEW_TASK to the intent in NavigationHelper.playWithKore method).
Do also some cleanup in viewWithFileProvider and shareFile methods of MissionAdapter class.
2021-06-11 12:11:56 +02:00
TiA4f8R
ae9349e36c
Initial work: add support for opening timestamps in plain text descriptions
This commit adds support for opening plain text timestamps by parsing the description text using a regular expression, add a click listener for each timestamp which opens the popup player at the indicated time in the timestamp.
In order to do this, playOnPopup method of the URLHandler class. Also, handleUrl method of this class has been renamed to canHandleUrl.
2021-06-11 12:11:55 +02:00
TiA4f8R
4031777606
Open recognized timestamps in the description of contents in the popup player
This commit adds support of opening recognized timestamps in the popup
player instead of starting an intent which opens the YouTube website with
the video timestamp.
2021-06-11 12:11:44 +02:00
Stypox
06d10cf9aa
Merge pull request #6313 from Isira-Seneviratne/Update_Room_to_2.3.0
Update Room to 2.3.0.
2021-06-09 16:28:55 +02:00
Stypox
0113ad5e14
Correctly save stream progress at the end of a video 2021-06-09 15:53:51 +02:00
Stypox
e58feadba9
Remove IN HISTORY label on stream info items 2021-06-09 15:53:51 +02:00
Stypox
360f5ac6f7
Save playback state even if stream is finished and add isFinished() 2021-06-09 15:53:51 +02:00
Mauricio Colli
e846f69e38
Add ability to hide played items in a feed
- Use components from the new Groupie list library for displaying the
feed list.
2021-06-09 15:53:51 +02:00
Tobi
56cd84c1fe
Merge pull request #6444 from TeamNewPipe/increasebufferafterdepletion
Increase buffer for playback after rebuffer
2021-06-08 17:02:18 +02:00
Stypox
a2eead521f
Merge pull request #6346 from Imericxu/tabs-style-check
Resolve Tabs style checks
2021-06-08 14:49:14 +02:00
Stypox
a2fd5ae20c
Update app/src/main/java/org/schabi/newpipe/settings/tabs/Tab.java 2021-06-08 14:45:00 +02:00
Stypox
543440e38d
Update app/src/main/java/org/schabi/newpipe/settings/tabs/Tab.java 2021-06-08 14:44:54 +02:00
Stypox
bede758507
Use url at current time for long click on player share button 2021-06-08 14:34:51 +02:00
Abanoub Sameh
5532666ad5
Long press on player share button to copy url to clipboard 2021-06-08 14:23:33 +02:00
Stypox
63cff25616
Merge pull request #6314 from Peyman-hme/Add-Open-website-button-to-webview-in-license-fragment-issue-#6296
Add "Open website" button to WebView in license fragment
2021-06-08 11:37:06 +02:00
Stypox
5e2735aaa2
Merge pull request #5462 from Isira-Seneviratne/Convert_abstract_classes_to_interfaces
Convert the abstract class DAOs to interfaces.
2021-06-08 11:32:10 +02:00
Peyman-hme
6fc0d8fce4
Add Open website string resources 2021-06-08 11:29:25 +02:00
Peyman-hme
e0c1ca1209
Change "Ok" Button to "Dismiss" and also change "Open Website" button to neutral button 2021-06-08 11:29:00 +02:00
Peyman-hme
3dc4ed1764
Add "Open website" button in webview in license fragment, issue #6296 2021-06-08 11:29:00 +02:00
Tobi
f63a4ee2ae
Merge pull request #5876 from TeamNewPipe/terminated-channels
Better error handling of terminated channels
2021-06-08 10:57:24 +02:00
Stypox
2a99e0e435
Reimplement storing backup import/export path
#6319 and #6402 were reverted before adding SAF changes, and have been readded at the end of SAF changes
2021-06-08 10:41:24 +02:00
Stypox
5ffc667bea
Remove misplaced comment 2021-06-08 10:40:45 +02:00
Stypox
21b8df0375
Check if file really exists before asking user to overwrite it 2021-06-08 10:40:45 +02:00
Stypox
b78ac7d2e9
Fix strange behaviour when app loses access to saf download folder 2021-06-08 10:40:45 +02:00
Stypox
114dc8ffa0
Pass mime type so that SAF treats file extension correctly 2021-06-08 10:40:45 +02:00
Stypox
eea43d5a73
Add comments to SharpStreams 2021-06-08 10:40:45 +02:00
Stypox
bcb1cf6603
Improve SAF switch descriptions in settings 2021-06-08 10:40:45 +02:00
Stypox
1e8b3826dc
Add setting migration to promote using SAF 2021-06-08 10:40:45 +02:00
wb9688
7efe62ee80
Only ask for storage permissions when not using SAF 2021-06-08 10:40:45 +02:00
wb9688
febb21a01d
Fix non-SAF actions 2021-06-08 10:40:44 +02:00
wb9688
cb4e6159c4
Use file picker for export DB 2021-06-08 10:40:44 +02:00
wb9688
1164ea52f9
Move Stored(File|Directory)Helper into NewPipe 2021-06-08 10:40:44 +02:00
wb9688
0f75024e03
Support SAF properly 2021-06-08 10:40:44 +02:00
Stypox
1e09a1768e
Revert all commits related to ContentSettingsFragment
Revert "Annotate methode parameters as NonNull"
This reverts commit 004907d306.

Revert "Commit path immediately when import backup"
This reverts commit 05eb0d0fbe.

Revert "Set ImportExportDataPath only on successful import"
This reverts commit f13a1b04e6.

Revert "Set ImportExportDataPath only on successful export"
This reverts commit fd4408e572.

Revert "Invert if condition in ContentSettingsFragment.setImportExportDataPath for better readability"
This reverts commit 92ab9cae27.

Revert "Move ContentSettingsFragment.isValidPath to helpers and add unit test for it."
This reverts commit fa2b11b768.

Revert "Save backup import/export location for feature import/exports"
This reverts commit 82f43ac6a6.

Remove FilePathHelperTest file
2021-06-08 10:40:44 +02:00
TobiGr
b57ecae565 Fix getting error cause
Fix error dialog not shown when getting elemets from first subscription failed.
2021-06-08 10:12:36 +02:00
Stypox
89317d4abc Fix feed loading and show a dialog for each invalid subscription 2021-06-08 10:12:36 +02:00
TobiGr
c5dd3dc7a9 Improve error message when loading feed
Add name of unavailable channel
2021-06-08 10:12:36 +02:00
TobiGr
ccc46971b4 Show detailed error message when an account has been terminated by the service 2021-06-08 10:12:36 +02:00
TobiGr
6ad4b425e4 Better error handling of terminated channels when loading feed 2021-06-08 10:12:36 +02:00
Robin
3b0045917c
Increase buffer for playback after rebuffer 2021-06-07 09:25:49 +02:00
Stypox
a102fc9cad
Use constraint layout for play queue item
Also remove invalid ic_selected attribute
2021-06-07 08:07:27 +02:00
Douile
d921e2e61b
Hide queue duration when displaying segment panel
Fixes #6441
2021-06-07 02:10:44 +01:00
TobiGr
7e3b3453c0 Suppress a warning 2021-06-05 16:13:12 +02:00
TobiGr
abc354f516 Use reqireContext(), requireActivity() instead of getters 2021-06-05 16:13:12 +02:00
Tobi
932eb94f9d
Merge pull request #6429 from TiA4f8R/fix-play-with-kodi-player-button
Fix Play with Kodi button in Player always prompts to install Kore
2021-06-05 14:32:09 +02:00
TiA4f8R
9fc3ddeab7
Fix Play with Kodi button in Player always prompts to install Kore 2021-06-05 12:48:34 +02:00
TobiGr
98fdbec442 Fix playback speed not being updated in PlayQueuAcitvity
Fixes #6419
2021-06-05 12:24:59 +02:00
bopol
332b90d6c1
Merge pull request #6337 from litetex/fix-broken-yt-liked-comments
[YouTube] Fix broken likes in comments
2021-06-04 22:32:48 +02:00
Tobi
db2e03eb14
Merge pull request #6402 from XiangRongLin/save_backup_bug
Fix and improve setting import and export paths
2021-06-04 22:22:09 +02:00
Tobi
63c9308f59
Merge pull request #5946 from Stypox/metadata
Show content metadata below the description
2021-06-03 20:51:33 +02:00
litetex
1306a777fc Using Localization.shortCount() and old likeCount 2021-06-03 14:40:00 +02:00
TiA4f8R
b4d6015464
Add the Open in browser option when long-pressing a stream for local and online playlists and for history 2021-06-03 13:21:31 +02:00
TiA4f8R
b9aaafdb30
Add Open in browser option to long-press menu
Add Open in browser option to long-press menu when long pressing a stream and a subscription
2021-06-03 13:15:08 +02:00
Tobi
71aa6c6e92
Merge pull request #6309 from mhmdanas/fix-channel-details-long-press-menu-on-feeds
Add "Show channel details" option in remote (non-local) playlists
2021-06-03 12:25:50 +02:00
Tobi
f98d2631e5
Merge pull request #6242 from evermind-zz/fixes-for-upstream
fix Rotation crash on „Video not available“ page (#5941)
2021-06-03 12:22:23 +02:00
Stypox
d025ef11f8
Sort tags in metadata section 2021-06-02 21:23:42 +02:00
Stypox
14256137e8
Use chips to show tags in metadata section
Clicking on chips opens the search fragment
Long clicking copies to clipboard
2021-06-02 16:15:02 +02:00
Stypox
bc3e43ac58
Add button to allow selecting text in the description
Since now selection is disabled by default, this fixes #5453
2021-06-02 14:36:34 +02:00
Stypox
d0d5373be9
Allow copying metadata to clipboard 2021-06-02 14:19:25 +02:00
Stypox
997267bad1
Show video metadata below the decription 2021-06-02 14:19:25 +02:00
XiangRongLin
004907d306 Annotate methode parameters as NonNull 2021-05-31 15:09:57 +02:00
XiangRongLin
05eb0d0fbe Commit path immediately when import backup 2021-05-31 12:40:14 +02:00
XiangRongLin
f13a1b04e6 Set ImportExportDataPath only on successful import
Also set the folder instead of the file itself as path
2021-05-31 12:38:21 +02:00
XiangRongLin
fd4408e572 Set ImportExportDataPath only on successful export 2021-05-31 12:36:21 +02:00
Tobi
62b593da08
Merge pull request #6118 from sauravrao637/errorHandlingInSubcribe
Error handling in subscribe() in DownloadDialog
2021-05-29 11:30:36 +02:00
Tobi
0eb69b6659
Merge pull request #6353 from Imericxu/fix-pasting-rich-text-in-search
Fix unwanted rich text formatting when pasting
2021-05-29 09:12:07 +02:00
Tobi
f134e2d02a
Merge pull request #6385 from sauravrao637/6371
Option for download is redundant and thus removed when linkType is CHANNEL or PLAYLIST
2021-05-28 14:23:04 +02:00
camo0112
b564433ff6 Option for download is redundant and thus removed when linkType is CHANNEL or PLAYLIST 2021-05-28 03:38:53 +05:30
Zhiheng Xu
ea1b910d7e Simplify code 2021-05-26 12:01:58 -04:00
Zhiheng Xu
8f4c6fb6ac Add comment 2021-05-26 12:01:58 -04:00
Zhiheng Xu
9b1861417c Add formatting removal on paste for search
Closes #5912
2021-05-26 12:01:58 -04:00
Eric Xu
448989f32f Add PlaylistTab.hashCode() matching equals 2021-05-26 12:01:30 -04:00
Eric Xu
2fc26bc154 Refactor PlaylistTab.equals 2021-05-26 12:01:30 -04:00
Eric Xu
1812249d37 Add ChannelTab.hashCode() matching equals 2021-05-26 12:01:30 -04:00
Eric Xu
14bbaccb9f Refactor ChannelTab.equals 2021-05-26 12:01:30 -04:00
Eric Xu
d2b03afcf4 Add KioskTab.hashCode() matching equals 2021-05-26 12:01:30 -04:00
Eric Xu
1cac3895dc Refactor KioskTab.equals 2021-05-26 12:01:30 -04:00
Eric Xu
01aab25889 Add Tab.hashCode() to go with equals 2021-05-26 12:01:30 -04:00
Eric Xu
96d731dfc7 Refactor equals method 2021-05-26 12:01:30 -04:00
Zhiheng Xu
2e161a1f45 Change shuffle() guard to check for size <= 2
After testing the app, I realized that shuffling a queue with size 2
does nothing
2021-05-24 12:20:19 -04:00
Zhiheng Xu
5ab6e84044 Remove redundant clearing of list 2021-05-24 12:20:19 -04:00
Zhiheng Xu
e1a6347c4e Refactor shuffle and update documentation
- Add early return for invalid sizes to shuffle

 - Rename variables to be more descriptive

 - Refactor moving list element, removing unnecessary operations

 - Unwrap if clause for adding to history because the condition is
   guaranteed by the guard clause

 - Inline the value 0 for the ReorderEvent

 - Update documentation to reflect new changes
2021-05-24 12:20:19 -04:00
Eric Xu
92a67bb8cb Rearrange fields
Final fields should be arranged first
2021-05-24 12:20:19 -04:00
Eric Xu
e8eeac6735 Resolve TODO in indexOf(...)
PlayQueueItem overrides equals and hashCode, so using indexOf is
perfectly fine.
2021-05-24 12:20:19 -04:00
Eric Xu
775fbc9a75 Rewrite setIndex(int) to pass unit tests
Original did not cover the case of when streams is empty and
documentation does not specify any input restrictions.

There's an ambiguity with broadcasting an event between the
documentation and the actual code (see TODO).
2021-05-24 12:20:19 -04:00
Eric Xu
8efe2859b8 Refactor assignments to field declaration
Assignments that don't require the constructor can be moved out.
2021-05-24 12:20:19 -04:00
Eric Xu
441c68ead2 Add hashCode() to match equals(other) 2021-05-24 12:20:19 -04:00
Eric Xu
4cd1f201f5 Refactor streams to initialize with values 2021-05-24 12:20:19 -04:00
Eric Xu
013c59f904 Refactor ArrayList fields to List 2021-05-24 12:20:19 -04:00
Eric Xu
57474e2dab Refactor and optimize equals
- Remove multiple casts of obj

 - Simply use object equals on the streams because PlayQueueItem’s
   equals already compares urls
2021-05-24 12:20:19 -04:00
TobiGr
87d2f33e55 Add support for PeerTube HLS streams 2021-05-23 11:53:35 +02:00
XiangRongLin
fc7944d287
Merge pull request #6319 from ATofighi/feat-6039-store-backup-location
Save backup import/export location for future import/exports
2021-05-21 21:08:33 +02:00
Alireza Tofighi
92ab9cae27 Invert if condition in ContentSettingsFragment.setImportExportDataPath for better readability 2021-05-21 20:24:57 +04:30
Alireza Tofighi
fa2b11b768 Move ContentSettingsFragment.isValidPath to helpers and add unit test for it. 2021-05-21 20:21:58 +04:30
Alireza Tofighi
82f43ac6a6 Save backup import/export location for feature import/exports 2021-05-17 21:57:27 +04:30
XiangRongLin
847831c195
Merge pull request #6308 from mhmdanas/make-minor-changes
Make some minor changes
2021-05-17 12:14:00 +02:00
XiangRongLin
e0b246431f
Merge pull request #6312 from ATofighi/fix-6298-report-page-back-not-working
Fix ErrorActivity actionbar back button not working
2021-05-17 12:12:12 +02:00
Isira Seneviratne
3b1c4b043d Convert Converters to a Kotlin object. 2021-05-16 11:14:15 +05:30
Isira Seneviratne
e8b8391868 Rename .java to .kt 2021-05-16 11:14:15 +05:30
Alireza Tofighi
c808beec30 Fix ErrorActivity actionbar back button not working
The issue is because of R.id.home != android.R.id.home
2021-05-16 02:19:52 +04:30
mhmdanas
b2b9938484 Put show channel details option in more long-press menus 2021-05-15 19:20:27 +03:00
mhmdanas
eb1cefe2fa Make some minor changes 2021-05-15 18:48:16 +03:00
Robin
95f61542b5 TEST: Downgrade ExoPlayer to 2.12 2021-05-14 14:47:53 +02:00
Robin
98ccd577d6 Fixed checkstyle 2021-05-14 12:15:48 +02:00
Robin
1d43a2362c Add debug option to disable media tunneling 2021-05-14 12:05:52 +02:00
Saurav Rao
5b4fbe32b1
Fix trying to delete object not in list (#6127)
* fix trying to delete object by index -1

* correction in checkstyle-supressions.xml

Co-authored-by: camo0112 <56369484+camo0112@users.noreply.github.com>
2021-05-12 14:33:00 +02:00
litetex
31ea44ccf1
Fixed player not automatically playing (#6266)
* Fixed player not automatically playing

Should also fix https://github.com/TeamNewPipe/NewPipe/issues/6179

* Added comment
2021-05-12 10:20:39 +02:00
evermind
a012e26d63 fix Rotation crash on „Video not available“ page (#5941)
The EmptyFragment should not have a constructor at all.
Now a static methods creates the Fragment and arguments
are handled via a Bundle.
2021-05-05 08:55:54 +02:00
Tobi
72ee4be495
Merge pull request #6152 from Isira-Seneviratne/Use_Animator_addListener
Use Animator.addListener() extension.
2021-05-04 19:37:03 +02:00
Robin
c85b97a484
Fix: fragmentSize is below the minimum (#6238)
noticed logs " CacheDataSink: fragmentSize is below the minimum recommended value of 2097152. This may cause poor cache performance.

this fixes the issue by using ExoPlayers MIN_RECOMMENDED_FRAGMENT_SIZE. Unfortunately that field is private:
aeb306a164/library/core/src/main/java/com/google/android/exoplayer2/upstream/cache/CacheDataSink.java (L123)
2021-05-04 19:08:25 +02:00
Tobi
c7510c628f
Merge pull request #6189 from mhmdanas/fix-some-warnings
Fix some warnings
2021-05-04 18:54:17 +02:00
Tobi
3ca1e550fe
Merge pull request #5997 from TeamNewPipe/reChaptcha
Do not set reCaptcha cookie when there is no cookie stored
2021-05-04 18:53:12 +02:00
mhmdanas
2c1df5f875 Actually fix the parentFile warning 2021-04-30 01:02:46 +03:00
mhmdanas
e7ae215ab0 Fix some warnings 2021-04-28 00:28:36 +03:00
TobiGr
4a9c790652 Merge branch 'master' into dev 2021-04-26 19:13:17 +02:00
Tobi
bacb35fb1c
Merge pull request #6151 from TeamNewPipe/share-dialog-color
Fix black drawables in night themes in share dialog (RouterActivity)
2021-04-26 11:51:50 +02:00
TobiGr
e70c153cd3 Fix black drawables in night themes in share dialog (RouterActivity) 2021-04-25 11:36:40 +02:00
TobiGr
b54c2b7f57 Fix invisible buffering / loading indicator in player 2021-04-25 11:36:00 +02:00
Isira Seneviratne
3fe80ec5ac Use Animator.addListener() extension. 2021-04-24 07:45:12 +05:30
Sub Raizada
e775037366
Only show 'download has started' toast when a download has started 2021-04-22 02:45:04 +00:00
camo0112
4357e02c58 user can report the error 2021-04-20 16:21:20 +05:30
camo0112
67c0ceedc9 Error handling in subscribe() in DownloadDialog 2021-04-20 13:06:40 +05:30
Robin
0039312a64
Merge pull request #6109 from sauravrao637/codeImrovement
Replaced if/else with switch in ErrorActivity, supress false lint warning
2021-04-19 16:45:45 +02:00
camo0112
fc4dd4524a Replaced if/else with switch 2021-04-19 10:52:52 +05:30
TobiGr
e5457e5029 [Bandcamp] Add Radio stream segments
Display channel / creator / artist name when given
2021-04-11 23:14:23 +02:00
XiangRongLin
c9e0bf4f02
Merge pull request #5963 from sauravrao637/IssueFix#5959
Fix display of channel details when it has no videos
2021-04-09 11:15:51 +02:00
camo0112
8f9eaa22e6 Fix display of channel details when it has no videos 2021-04-09 12:45:43 +05:30
Tom
3fcd580491
Add queue time (#6023)
* Add queue time
2021-04-08 10:41:41 +02:00
Davide Beatrici
cf3cc2e984
Disable media tunneling on cvt_mt5886_eu_1g (#6024)
* Disable media tunneling on cvt_mt5886_eu_1g

Follow-up to 4a9d21062a.
2021-04-08 05:21:57 +02:00
Robin
9e29d8d692
Merge pull request #6001 from TacoTheDank/appcompat-alertdialog
Migrate rest of AlertDialogs to AppCompat
2021-04-07 05:07:24 +02:00
wangear
5d5f8b4d51
Fix NullPointerException: Attempt to get length of null array in MainActivity (#5999)
* Fixed Unable to start activity ComponentInfo{org.schabi.newpipe/org.schabi.newpipe.MainActivity}: java.lang.NullPointerException: Attempt to get length of null array #5996
issue : #5996
changed :
- Checked null
2021-04-06 14:13:13 +02:00
TacoTheDank
e75d0de135 Migrate rest of AlertDialogs to AppCompat 2021-04-04 10:26:38 -04:00
TobiGr
c0c78ae9bb Do not set reChaptache cookie when there is no cookie stored
In DownloaderImpl#getCookies(String url) the reChaptcha cookie is set if it is not null. For this reason, the cookie was set in every request.
2021-04-04 12:27:12 +02:00
krlvm
e484339cca
Merge branch 'dev' into daynight 2021-04-03 00:08:26 +03:00
Stypox
2af20d5c40
Merge pull request #5974 from fynngodau/related-items
Rename related streams to related items
2021-04-02 20:34:39 +02:00
PulkitGarg67
e1a6b69f9a
Functionality to rename playlist name from playlist interface 2021-04-01 21:30:15 +02:00
Saurav Rao
8df935f5fe
NullPointerException on screen rotation during exit fix (#5976) 2021-04-01 15:07:21 +02:00
Fynn Godau
c9766d25ef Rename related streams to related items 2021-03-31 22:33:22 +02:00
krlvm
7061859112
Fix subscription picker colors on API 19 2021-03-31 20:17:58 +03:00
Tobi
66c24af3d2
Merge pull request #5969 from Redirion/tnnlwrkarnd
Disable media tunneling on Hi3798MV200
2021-03-31 19:02:00 +02:00
camo0112
856a39855e IssueFixed#5968 2021-03-31 20:48:02 +05:30
Robin
4a9d21062a Disabled tunneling on Hi3798MV200 2021-03-31 16:38:50 +02:00
Stypox
43f85408be
Merge pull request #5944 from Stypox/fix-search-menu
Fix some random NullPointerExceptions
2021-03-31 15:21:13 +02:00
Stypox
5739caaa5a
Merge pull request #5856 from Redirion/exo213
Update to ExoPlayer 2.13.2
2021-03-31 14:29:16 +02:00
wangear
73cfa5499d
Fix overlapping fonts and crash on tapping anywhere on video after long-pressing 'Popup' button (#5813)
* Overlapping fonts #5096
issue : #5096

* Overlapping fonts #5096
issue : #5096
changed :
- If additional textView is overlapped, only title view shows.

* Overlapping fonts #5096
issue : #5096
changed :
- Remove treeObserve and hiding logic.
- RelativeLayout -> ConstraintLayout.
- layout size fixed -> wrap_content.
- if text size is bigger, layout height bigger too.

* Overlapping fonts #5096
issue : #5096
changed :
- remove unusable variable

* Crash on tapping anywhere on video after long-pressing 'Popup' button #5804
issue : #5804
changed :
- checked null
- fixed NullPointerException.
2021-03-31 10:10:14 +02:00
Robin
83d16932a4 Update to ExoPlayer 2.13.2 2021-03-31 10:05:44 +02:00
Stypox
84e3f6ca18
Merge pull request #5881 from TacoTheDank/about_revamp
About package internal revamp
2021-03-31 09:56:12 +02:00
Stypox
5d6a568308
Fix random NullPointerException in NotificationActionsPreference 2021-03-31 09:12:47 +02:00
Stypox
3e8cba745a
Fix random NullPointerException in PlaylistFragment 2021-03-31 09:12:47 +02:00
Stypox
be4d12789d
Fix random NullPointerException in SearchFragment 2021-03-31 09:12:45 +02:00
TacoTheDank
27d0f7f277 Convert AboutFragment clickListeners to a function extension 2021-03-29 19:07:12 -04:00
TacoTheDank
fb1aab2a49 Converted the about package to Kotlin 2021-03-29 19:06:32 -04:00
TacoTheDank
cc72fa4793 Renamed things pertaining to the about package 2021-03-29 19:05:57 -04:00
krlvm
e9c60eff85
Cleanup 2021-03-30 00:03:30 +03:00
krlvm
c8b4685fc9
Fix ErrorActivity colors 2021-03-29 22:48:28 +03:00
krlvm
c906cb57ee
Fix colors in setting fragments, cleanup 2021-03-29 21:19:17 +03:00
Tom
84de865daf
Allow the user to pause while a video is buffering (#5929)
Fix pause while buffering
Use getPlayWhenReady wrapper everywhere playWhenReady is checked
Remove duplicate `playPause()` code
2021-03-29 18:00:00 +02:00
krlvm
80d1c5b9f5
Fix Repeat Button color in Player 2021-03-28 22:04:54 +03:00
krlvm
67942a906a
Fix colors in PeerTube Settings Fragment 2021-03-28 19:36:07 +03:00
Mohammed Anas
6a9cae3de8
Add channel details option to long-press menu (#5851)
Add dialog item to open channel details
Use `List` as type of `entries`
Put channel details item last
Only show channel option when channel is present
2021-03-28 18:32:40 +02:00
krlvm
0afdac5683
Fix Light Player Popups in Dark Theme, make Player Controls Overlay always Dark 2021-03-28 18:48:51 +03:00
krlvm
609d09a8e2
Remove unused SuggestionListAdapter.resolveResourceIdFromAttr 2021-03-28 15:12:59 +03:00
krlvm
01e8654fbd
Fix Search colors on KitKat 2021-03-28 14:55:54 +03:00
krlvm
f477ab84d5
Fix tab highlight opacity on KitKat 2021-03-28 14:43:11 +03:00
krlvm
a9e8b3e06b
Remove ThemeHelper.resolveResourceIdFromAttr 2021-03-28 12:23:52 +03:00
Stypox
daa5b7827a
Merge pull request #5879 from TacoTheDank/clean-oncreatepreferences
Clean up unnecessary onCreate in settings fragments
2021-03-28 10:48:10 +02:00
krlvm
df52a6ea6b
Update app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedImportExportItem.kt
Co-authored-by: Stypox <stypox@pm.me>
2021-03-28 00:15:22 +03:00
krlvm
fd14c8cdce
Fix Dark elements in Light Theme 2021-03-27 17:46:05 +03:00
Stypox
08d8f2564a
Merge pull request #5882 from TacoTheDank/fragmentcontainerview
Replace FrameLayout with FragmentContainerView where applicable
2021-03-27 08:31:32 +01:00
krlvm
b3e2418b93
Migrate to DayNight Theme 2021-03-26 23:08:25 +03:00
Tobi
80d6fff0ca
Merge pull request #5649 from FireMasterK/ff-ua
Change UA to privacy.resistFingerprinting.
2021-03-24 17:59:17 +01:00
Tobi
fe43b4da39
Merge pull request #5896 from Stypox/fix-error-panel
Fix error panel created in onViewCreated() but disposed in onDestroy()
2021-03-24 11:32:07 +01:00
Stypox
0fcaf20221
Fix settings switches are not red anymore
Reverts part of 731c65cd59
2021-03-24 10:16:24 +01:00
Stypox
0277b94b37
Fix error panel created in onViewCreated() but disposed in onDestroy() 2021-03-24 09:27:17 +01:00
TacoTheDank
6a9d5fd4cc Replace FrameLayout with FragmentContainerView where applicable 2021-03-22 17:46:06 -04:00
TacoTheDank
a83106f717 Clean up unnecessary onCreate in settings fragments 2021-03-22 16:38:36 -04:00
Matskidis Giannis
bf6645e829
Show Toast when download starts
Add toast to inform the user that download started and add the right string in values.
2021-03-20 22:18:01 +01:00
Stypox
86381696f4
Merge pull request #5457 from Redirion/exo123
Update to ExoPlayer 2.12.3
2021-03-18 18:59:56 +01:00
Stypox
731c65cd59
Refactor ThemeHelper 2021-03-18 12:39:29 +01:00
bopol
a85e8a29ff
Use a list for night themes
Also remove unused strings
2021-03-18 12:12:04 +01:00
bopol
22b2f52f8c
Use a switch preference to follow device theme 2021-03-18 11:23:55 +01:00
bopol
a713ce2126
Add settings for device theme (dark & black)
fix bugs related to isLightThemeSelected not handling device themes
such as license having dark background when it should be white
2021-03-18 11:17:06 +01:00
Stypox
4fac3cf304
Merge pull request #5230 from Isira-Seneviratne/Update_prettytime
Update prettytime.
2021-03-18 08:59:40 +01:00
Isira Seneviratne
74e20a8c52 Use PrettyTime's new formatUnrounded(OffsetDateTime) method.
Also change the types of the relevant variables from Calendar to OffsetDateTime.
2021-03-18 06:38:12 +05:30
Stypox
feb65cf8f3
Merge pull request #5792 from TeamNewPipe/resize_mode
Fix last resize mode not being restored correctly
2021-03-17 09:07:44 +01:00
Stypox
93592d23f4
Merge pull request #5820 from TeamNewPipe/mini_player_title
Fix empty stream title in minimized player
2021-03-17 08:56:50 +01:00
TobiGr
71d3227791 Fix bottom controls being out of the screen
This was caused by too large end screen thumbnails enlarging the whole palyer. Fixed by scaling the thumbnail.

Ensure that the player does not use the whole screen height in detail fragment to keep the additional content like title, comments, etc. available.
2021-03-14 17:52:15 +01:00
TobiGr
292e103073 Ignore ContentNotSupportedException caused by Bandcamp fan pages 2021-03-14 17:52:15 +01:00
Fynn Godau
39a3f03e79 Bandcamp support 2021-03-14 17:52:15 +01: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
Tobi
8271409afe
Merge pull request #5562 from mbarashkov/hardware_keyboard_space_shortcut_v2
Implement "pause/play" toggle on hardware keyboard space button.
2021-03-14 13:08:44 +01:00
TobiGr
985f659026 Fix empty stream title in minimized player 2021-03-13 20:12:57 +01:00
Stypox
285ea4e3fd
Better handle url not supported in RouterActivity
Make sure the url not supported dialog is only shown when the url is really not supported, not on any ExtractionException
2021-03-12 23:21:54 +01:00
Stypox
8ce18647f1
Improve email subject for error reporting 2021-03-12 23:21:54 +01:00
Stypox
aee0478235
FeedFragment: fix view binding and show loading indicator correctly 2021-03-12 23:21:54 +01:00
Stypox
c3cf1d81c2
Fix error panel and search fragment state saving 2021-03-12 23:21:54 +01:00
Stypox
c2b6cec37d
Hide meta info panel in search when starting a new search 2021-03-12 23:21:54 +01:00
Stypox
b265cabc22
Fix views not scrollable when showing error panel 2021-03-12 23:21:54 +01:00
Stypox
463dd8ea74
Completely remove return activity, now outdated 2021-03-12 23:21:54 +01:00
Stypox
1fc8e4c148
Optimize imports and solve checkstyle issues 2021-03-12 23:21:53 +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
TobiGr
86fa629591 Fix last resize mode not being restored correctly
I think the settings key "last_resize_mode" is ambiguous. While it is used to get the recently used resize mode, someone thought while working on the resize mode switcher, that the old (to be replaced) resize mode should be stored. 
Fixes #5613
2021-03-08 09:46:33 +01:00
Stypox
553b80164b
Move all error-related classes into error package 2021-03-07 17:49:28 +01:00
TiA4f8R
37a96d063f
Add different error messages for SoundCloud and YouTube unavailable contents
Add new error strings for the six new exceptions created in the extractor and catch these exceptions. Extractor is, of course, updated with this PR.
2021-03-07 15:33:25 +01:00
Isira Seneviratne
d09070b61d Fix crash when reordering channel groups. 2021-02-28 14:48:06 +05:30
FireMasterK
b236bb407b
Change UA to privacy.resistFingerprinting. 2021-02-20 16:49:37 +05:30
Stypox
8978187c64
Improve code style and fix some warnings
Removed a textTrack null check on a now- NonNull method
Added a error type switch case (TIMEOUT)
2021-02-16 16:54:44 +01:00
Robin
eba0b07782
Update to ExoPlayer 2.12.3 2021-02-16 16:42:51 +01:00
XiangRongLin
5bc0a8fba1
Merge pull request #5554 from karkaminski/enhancement/remove_resizing_text
removed resizing text from popup player
2021-02-15 16:15:27 +01:00
Tobi
687020e595
Merge pull request #5543 from mhmdanas/remove-empty-string-concat
Remove unnecessary concat with empty string
2021-02-14 23:50:08 +01:00
Tobi
8c75b96c38
Merge pull request #5544 from mhmdanas/remove-content-uri
Remove License#contentUri
2021-02-14 23:49:07 +01:00
Tobi
a26baa3061
Merge pull request #5563 from Stypox/fix-tablayout-visibility
Fix tab layout visibility with age restricted videos
2021-02-14 21:32:10 +01:00
Stypox
138513d790
Hide tab layout view pager on error 2021-02-14 13:40:17 +01:00
Stypox
1e5dc01825
Fix tab layout visibility with age restricted videos
Add comments
2021-02-14 13:25:39 +01:00
Mikhail Barashkov
aea912f499 Implement "pause/play" toggle on hardware keyboard space button. 2021-02-12 11:58:15 +03:00
karol
156d7139fa removed resizig text from popup player, as requested in #5514 2021-02-11 11:20:27 +01:00
mhmdanas
092f9170cc Remove License#contentUri
It seems to not be used anywhere.
2021-02-08 19:54:30 +03:00
mhmdanas
b820e9a888 Remove unnecessary concat with empty string 2021-02-08 19:40:20 +03:00
Tobi
40195b2d98
Merge pull request #5464 from Stypox/fix-channel-subscribe-button
Fix channel subscribe button causing crash on closing
2021-02-03 09:24:26 +01:00
Tobi
0b0305eaed
Merge pull request #5474 from XiangRongLin/expires_header
Respect expires header when checking for new versions
2021-01-31 10:51:50 +01:00
TiA4f8R
c55f87c962
Fix some things in ShareUtils.java and do little improvements
Fix a bug in which NewPipe doesn't fall back to Google Play Store web url in InstallApp
Fusion getDefaultBrowserPackageName and getDefaultAppPackageName, rename openInDefaultApp to openAppChooser
Update some JavaDocs
2021-01-30 15:55:44 +01:00
XiangRongLin
bdc85b435c
Add comments explaining the expiry field
Co-authored-by: Tobias Groza <TobiGr@users.noreply.github.com>
2021-01-30 14:24:25 +01:00
XiangRongLin
e98838ad7e
Invert usage of manager.isExpired()
When it's expired it means, that the app should get the data. Meaning it should not abort prematurely by returning null.

Co-authored-by: Tobias Groza <TobiGr@users.noreply.github.com>
2021-01-30 09:32:17 +01:00
Stypox
02db971b7c
Set all default settings at the beginning 2021-01-28 18:28:29 +01:00
Stypox
fdb0f01b38
Add Objects.requireNotNull to warning which is surely not null 2021-01-28 14:35:47 +01:00
Stypox
376cba696e
Remove useless getString for default setting value 2021-01-28 14:35:00 +01:00
Stypox
cade272501
Use PlayerHelper.retrieveResizeModeFromPrefs in Player 2021-01-28 14:33:50 +01:00
Stypox
4f828fbe00
Fix always minimizing to popup player 2021-01-28 14:33:12 +01:00
XiangRongLin
2926cb7682 Respect expires header when checking for new version
It was called to many times and acted similar to a DOS attack.
2021-01-23 09:02:11 +01:00
Tobias Groza
cafc64534b
Merge pull request #5458 from Stypox/fix-popup-x
Fix popup closing x button animation
2021-01-22 10:01:12 +01:00
Stypox
327fc742d3
Fix channel subscribe button causing crash in main page tab
The binding was being set to null on onDestroyView() instead of in onDestroy()
2021-01-21 15:31:50 +01:00
Stypox
10ec67854e
Fix number being shown instead of corresponding string resorce in feed 2021-01-20 10:44:44 +01:00
Isira Seneviratne
a3c4a10721 Convert the abstract class DAOs to interfaces. 2021-01-20 06:29:50 +05:30
Stypox
e327f7ba2c
Fix popup closing x button animation 2021-01-19 09:34:21 +01:00
TiA4f8R
9a65f02d5b
Fix crash when no browser is present and use an ACTION_CHOOSER intent in the app update notification (#5429)
Fix crash when no browser is present and use an ACTION_CHOOSER intent for app update notification
Show a Toast when no app is present on user's device to open a content in an app and in a browser and use an ACTION_CHOOSER intent with the ACTION_VIEW intent put as an extra intent in the update notification.
2021-01-18 21:45:36 +01:00
XiangRongLin
5814743d59
Merge pull request #5430 from Stypox/fix-feed
Fix reload feed button does nothing
2021-01-18 12:59:58 +01:00
Stypox
fa7613b8d1
Refactor feed fragment 2021-01-18 11:43:05 +01:00
Stypox
d3d05d613d
Fix reload feed button does nothing
initListeners was being called before the bindings were assigned, and therefore the click listener was never setup
2021-01-18 11:42:25 +01:00
XiangRongLin
23b5cd5b72
Merge pull request #5442 from Stypox/fix-close-popup
Prevent IllegalArgumentException when closing popup
2021-01-18 09:39:02 +01:00
Stypox
d4a33603ab
Prevent IllegalArgumentException when closing popup 2021-01-18 08:27:49 +01:00
Stypox
3868243c2a
Animate secondary controls toggle 2021-01-17 15:59:29 +01:00
Stypox
243f539439
Use KoreUtil function 2021-01-17 15:46:00 +01:00
Stypox
71d92c8d1b
Hide tab layout in detail fragment when there is no space 2021-01-17 15:42:54 +01:00
Stypox
e840d42fb9
Add content description to detail fragment tabs 2021-01-17 15:38:12 +01:00
Stypox
750c4ffbd3
Add preference to hide description tab in video details 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
Isira Seneviratne
01396923f1 Use the base Groupie library in ChannelItem. 2021-01-16 18:59:49 +05:30
Isira Seneviratne
e0de66b1be Fix some issues. 2021-01-16 18:59:48 +05:30
Isira Seneviratne
77675b361f Use BindableItem in PickerSubscriptionItem. 2021-01-16 18:59:45 +05:30
Isira Seneviratne
e2dd058430 Use BindableItem in PickerIconItem. 2021-01-16 18:55:42 +05:30
Isira Seneviratne
a188125982 Use BindableItem in HeaderWithMenuItem. 2021-01-16 18:55:42 +05:30
Isira Seneviratne
9e5f079cf2 Use BindableItem in HeaderItem. 2021-01-16 18:55:41 +05:30
Isira Seneviratne
51a948bfcf Use BindableItem in FeedImportExportItem. 2021-01-16 18:55:41 +05:30
Isira Seneviratne
9d27d49c1f Use BindableItem in FeedGroupReorderItem. 2021-01-16 18:55:41 +05:30
Isira Seneviratne
761f6568fa Use BindableItem in FeedGroupCarouselItem. 2021-01-16 18:55:40 +05:30
Isira Seneviratne
ee94b296ae Use BindableItem in FeedGroupCardItem. 2021-01-16 18:55:40 +05:30
Isira Seneviratne
b387946d34 Use BindableItem in FeedGroupAddItem. 2021-01-16 18:55:39 +05:30
Isira Seneviratne
46afe5153f Use BindableItem in EmptyPlaceholderItem. 2021-01-16 18:55:38 +05:30
Stypox
594f0b10ba
Move TextLinkifier computation out of main thread 2021-01-16 13:23:42 +01:00
TiA4f8R
79e98db3bd
Apply the requested changes and little improvements
Apply the requested changes, use ShareUtils.shareText to share an stream in the play queue and optimize imports for Java files, using Android Studio functionality.

Apply the requested changes and do little improvements
Apply the requested changes, use ShareUtils.shareText to share an stream in the play queue and optimize imports for Java files, using Android Studio functionality.
2021-01-16 13:23:42 +01:00
TiA4f8R
a57fd69fb4
External sharing improvements
Improve NewPipe's share on some devices + fix crash when no browser is set on some devices

Catching ActivityNotFoundException when trying to open the default browser
Use an ACTION_CHOOSER intent and put as an extra intent the intent to
open an URI / share an URI when no default app is set.

Add a LinkHelper class which set a custom action when clicking web links
in the description of a content. This class also helps to implement a confirmation dialog when trying to open web links in an external app.
2021-01-16 13:23:06 +01:00
Isira Seneviratne
920e560b4b Convert AnimationUtils functions to extension functions. 2021-01-16 14:49:37 +05:30
Robin
98ed80d305
Merge pull request #5274 from vkay94/stream-segments
Add stream segments to player controls
2021-01-15 10:59:34 +01:00
Stypox
c216f29fb0
Merge pull request #5418 from Isira-Seneviratne/Unify_constants
Combine the two Constants files into one file.
2021-01-15 09:20:08 +01:00
Isira Seneviratne
14ddf37988 Combine the two Constants files into one file. 2021-01-15 12:13:47 +05:30
Isira Seneviratne
87568b6590 Fix the crash that occurs on navigating back to the main fragment. 2021-01-15 06:54:20 +05:30
vkay94
37aa41afae Add stream segments to player 2021-01-14 21:58:19 +01:00
Tobias Groza
8fd48a88be
Merge pull request #4939 from Atemu/dont-exit-fullscreen-on-rotation
VideoDetailFragment: Don't exit fullscreen on rotation in tablet UI
2021-01-14 16:25:51 +01:00
Stypox
10c35f354e
Merge pull request #5225 from XiangRongLin/extract_settings_import
Extract settings import
2021-01-14 15:18:36 +01:00
Stypox
9ee7740fcc
Merge pull request #4947 from Isira-Seneviratne/Convert_ExceptionUtils_to_extensions
Rewrite ExceptionUtils methods as extension functions.
2021-01-14 14:54:37 +01:00
Stypox
94b086de20
Merge pull request #4814 from Isira-Seneviratne/Use_view_binding_in_fragments
Use view binding in fragments.
2021-01-14 14:40:19 +01:00
Robin
c90696e67e
Merge pull request #5371 from Stypox/merge-player
Merge player classes into a single one
2021-01-14 10:43:11 +01:00
Stypox
059bb7622d
Merge and rename into PlayQueueActivity 2021-01-14 10:25:48 +01:00
Stypox
cece83328a
Fix wrong speed indicator in queue activity 2021-01-14 10:25:48 +01:00
Stypox
4a12b0ab2d
Revert hiding detail fragment tabs when in fullscreen 2021-01-14 10:25:48 +01:00
Stypox
f6e2dd1480
Merge player classes into a single one 2021-01-14 10:25:44 +01:00
Isira Seneviratne
f04b5fd42f Use view binding in FeedGroupReorderDialog. 2021-01-14 11:16:08 +05:30
Isira Seneviratne
5994cd8ea2 Use view binding in FeedGroupDialog. 2021-01-14 11:16:07 +05:30
Isira Seneviratne
83f33a7d1b Use view binding in SubscriptionFragment. 2021-01-14 11:16:06 +05:30
Isira Seneviratne
f80e1bd214 Use view binding in FeedFragment. 2021-01-14 11:16:05 +05:30
Isira Seneviratne
97672f06de Use view binding in SearchFragment. 2021-01-14 11:16:04 +05:30
Isira Seneviratne
6039484a02 Use view binding in ChannelFragment. 2021-01-14 11:16:03 +05:30
Isira Seneviratne
7682ebd245 Use view binding in DownloadDialog. 2021-01-14 11:16:01 +05:30
Isira Seneviratne
7c581ec108 Use view binding in LicenseFragment. 2021-01-14 11:16:00 +05:30
Isira Seneviratne
910d22daa6 Use view binding in MainFragment. 2021-01-14 11:15:58 +05:30
Isira Seneviratne
979102a2d9 Return ViewBinding instead of View in BaseListFragment's getListHeader() and getListFooter() methods. 2021-01-14 11:15:57 +05:30
Isira Seneviratne
98be89a20a Return ViewBinding instead of View in BaseLocalListFragment's getListHeader() and getListFooter() methods. 2021-01-14 11:15:54 +05:30
Robin
0264383ad2
Merge pull request #5358 from XiangRongLin/testable_prettytime
Make Localization.relativeTime testable
2021-01-13 22:44:11 +01:00
Isira Seneviratne
fa75c79d34
Use view binding (PlayerPopupCloseOverlayBinding) in VideoPlayerImpl. 2021-01-13 20:44:00 +01:00
Isira Seneviratne
0c86a4e608
Use view binding (PlayerBinding) in VideoPlayer. 2021-01-13 20:43:56 +01:00
Tobias Groza
92a87a5ed2
Merge pull request #5310 from khimaros/list-play-kodi
add list item to play video on kodi
2021-01-13 17:02:56 +01:00
Isira Seneviratne
50dcf308a2 Add extension functions that accept reified types. 2021-01-11 16:49:46 +05:30
Isira Seneviratne
486e720e00 Rewrite ExceptionUtils methods as extension functions. 2021-01-11 16:49:45 +05:30
bopol
5c4d72ec42 Merge remote-tracking branch 'upstream/dev' into sepiasearch 2021-01-10 15:53:20 +01:00
Robin
6b2f084cda
Merge pull request #5331 from mbarashkov/hardware-keyboard-space-shortcut
In Fullscreen playback, toggle play/pause with hardware space button
2021-01-07 17:09:27 +01:00
Mikhail Barashkov
907106156f When in Fullscreen playback mode, toggle play/pause with the hardware Space button. 2021-01-07 17:32:16 +02:00
XiangRongLin
50a026183d Make Localization.relativeTime testable
Problem is global state in static variable prettyTime. But for performance reasons on Android that is preferred.
Now allow injecting prettyTime dependency by making init function public.
2021-01-06 14:48:34 +01:00
XiangRongLin
716d795970 cleanup 2021-01-03 20:32:16 +01:00
XiangRongLin
fcfdcd1025 Fix ensureDbDirectoryExists 2021-01-03 20:32:16 +01:00
XiangRongLin
af119db1d7 Extract settings file deletion 2021-01-03 20:32:16 +01:00
XiangRongLin
122e80fae9 Remove subclasses from ContentSettingsManagerTest
ExportTest provides no value.
ImportTest creates temporary files even if not needed.
2021-01-03 20:32:16 +01:00
XiangRongLin
8fceffd6fd Introduce NewPipeFileLocator class 2021-01-03 20:32:16 +01:00
XiangRongLin
19cd3a17df Move isValidZipFile to ZipHelper 2021-01-03 20:32:16 +01:00
XiangRongLin
ea91a62c89 Adjust ExportTest to new DI with FileLocator 2021-01-03 20:32:16 +01:00
XiangRongLin
cef791ba1b Introduce NewPipeFileLocator class
It handles locating specific NewPipe files based on the home directory of the app.
2021-01-03 20:32:16 +01:00
XiangRongLin
f78a7fa630 Extract import database logic in ContentSettingsManager 2021-01-03 20:32:16 +01:00
khimaros
ac59382b84 pass serviceId instead of item, reduce duplication 2021-01-02 11:24:33 -08:00
Isira Seneviratne
14a2171035 Use Objects.requireNonNull(). 2021-01-02 09:36:33 +05:30
Stypox
1b4bde4e78
Merge pull request #5221 from B0pol/notifications
Dynamically get package name
2021-01-01 18:05:43 +01:00
TacoTheDank
71add5a7c2 Update displayed licenses 2020-12-31 19:26:41 -05:00
Robin
ce2719d77e
Merge pull request #5317 from XiangRongLin/timestamp
Fix urls with timestamps not being played
2020-12-31 12:46:40 +01:00
Robin
8193a0df63
Merge pull request #5065 from TacoTheDank/androidx-media-audioreactor
Use AndroidX Media compat in AudioReactor
2020-12-31 10:55:11 +01:00
khimaros
48a5107296 address pull request feedback 2020-12-30 14:45:14 -08:00
TacoTheDank
ebd589c9cb Use AndroidX Media compat in AudioReactor 2020-12-30 17:10:57 -05:00
XiangRongLin
1f15368b7b Fix urls with timestamps not being played
Else path is now executed, when a timestamp (item.getRecoveryPosition) is present
2020-12-30 21:07:30 +01:00
Stypox
8fe1a76ec6
Merge pull request #5301 from EricLemieux/fix-npe-play-button
Fix null pointer exception in play button method
2020-12-30 17:48:40 +01:00
khimaros
83faf119a9 add list item to play video on kodi
closes: #5157
2020-12-29 18:53:32 -08:00
Eric Lemieux
0a05534c84 Fix null pointer exception in play button method
When the play queue was null, and this method was called a null pointer
exception would be thrown. This change adds an additional check to see
if the play queue is not null before making additional changes.
2020-12-29 14:51:24 -05:00
Robin
137fbb34d9
Merge pull request #5283 from urlordjames/brightfix
disable restoring brightness if brightness gesture is disabled
2020-12-29 17:37:53 +01:00
urlordjames
d45ce19b04 Fix #4481 2020-12-28 09:46:10 -05:00
TobiGr
36aea35a92 [media.ccc.de] Add live stream kiosk 2020-12-27 13:26:49 +01:00
TobiGr
1984436b41 [media.ccc.de] Add "recent" kiosk 2020-12-27 01:30:29 +01:00
TobiGr
eddc12693a [media.ccc.de] Fix service color
Caused by changing service name in TeamNewPipe/NewPipeExtractor#472
2020-12-23 19:58:09 +01:00
Tobias Groza
318a5df109
Merge pull request #5259 from Isira-Seneviratne/Fix_queue_display
Fix queue display in ServicePlayerActivity.
2020-12-23 16:13:47 +01:00
Isira Seneviratne
b2e9981313 Fix queue display in ServicePlayerActivity. 2020-12-23 20:06:02 +05:30
bopol
5f092e37f9
Merge branch 'dev' into sepiasearch 2020-12-23 15:23:19 +01:00
bopol
81bbef04dc [peertube] implement sepia search 2020-12-23 15:14:26 +01:00
Stypox
19f9b4f502
Improve meta info layout and merge duplicate code 2020-12-20 15:10:18 +01:00
bopol
2b8837609b dynamically get package name
it fixes issues with forks or debug builds, e.g. when you open two newpipe apps (with debug or fork apps), close one notification, it closes all newpipe notifications
fixes https://github.com/TeamNewPipe/NewPipe/issues/4653
2020-12-20 13:52:20 +01:00
TobiGr
0a831ec84e
Display meta info about search query, stream creator or topic
Closes #4614
2020-12-20 11:56:22 +01:00
bopol
7a7a90bf79 remove timestamp from share url for all services except youtube
It produces not found error for PeerTube, media.ccc.de, SoundCloud
2020-12-20 10:53:22 +01:00
Isira Seneviratne
0fe3fe7594 Use ServiceCompat.stopForeground(). 2020-12-19 16:52:17 +05:30
Isira Seneviratne
173150591d Use WebViewClientCompat in ReCaptchaActivity. 2020-12-19 13:21:57 +05:30
Isira Seneviratne
d6121c8e21 Use view binding in SettingsActivity. 2020-12-19 04:22:01 +05:30
Isira Seneviratne
b4d77df1be Use view binding in ErrorActivity. 2020-12-19 04:21:59 +05:30
Isira Seneviratne
e6021465f6 Use view binding in ServicePlayerActivity. 2020-12-19 04:21:59 +05:30
Isira Seneviratne
22ec70e94d Use view binding in RouterActivity. 2020-12-19 04:21:58 +05:30
Isira Seneviratne
a1a70a94a8 Use view binding in ReCaptchaActivity. 2020-12-19 04:21:55 +05:30
Isira Seneviratne
a65ed7e914 Use view binding in DownloadActivity. 2020-12-19 04:19:59 +05:30
Isira Seneviratne
4545b8e92d Use view binding in AboutActivity. 2020-12-19 04:19:58 +05:30
Isira Seneviratne
ba0c0fb109 Use view binding in MainActivity. 2020-12-19 04:19:57 +05:30
Stypox
aacb1f46a8
Use user agent of DownloaderImpl also in ReCapthaActivity
Does not contain device info and should also fix some issues about recaptchas not showing up
2020-12-18 18:40:09 +01:00
Stypox
96862cbcb3
Merge pull request #5208 from Stypox/recaptcha-pbj
Remove pbj=1 parameter from YouYube urls in recaptcha activity
2020-12-18 18:28:44 +01:00
Stypox
10f79e1307
Remove pbj=1 parameter from YouYube urls in recaptcha activity 2020-12-17 21:02:13 +01:00
XiangRongLin
a7723373a0 Fix compile error caused by auto merging
#5176 changed `homeDir` from type `String` to `File`. #5059 was based on `homeDir` being a `String`. It was incorrectly auto-resolved by git.
2020-12-15 20:26:38 +01:00
TiA4f8R
99b59f0126
Update NewPipe's API url for new app's version check 2020-12-15 18:57:36 +01:00
Stypox
d46c7eb8fe
Merge pull request #5059 from XiangRongLin/content_settings_manager
Extract export database logic into own class
2020-12-15 10:34:32 +01:00
Stypox
e4a1fc9d95
Merge pull request #5116 from hlloreda/fix-crash-deleting-video-refreshing
Fix crash deleting video refreshing
2020-12-15 09:52:17 +01:00
Stypox
276f50a944
Merge pull request #5178 from Isira-Seneviratne/Use_ActivityCompat_recreate
Use ActivityCompat.recreate().
2020-12-15 09:49:14 +01:00
Stypox
40fcd93312
Merge pull request #5142 from Isira-Seneviratne/Use_notification_instead_of_ProgressDialog
Use a notification instead of a ProgressDialog in MissionAdapter.
2020-12-15 09:33:19 +01:00
Isira Seneviratne
807e4d4af9 Use ActivityCompat.recreate(). 2020-12-15 13:55:05 +05:30
Stypox
480348f11a
Merge pull request #5176 from Isira-Seneviratne/Use_ContextCompat_getDataDir
Use ContextCompat.getDataDir().
2020-12-15 09:05:35 +01:00
Isira Seneviratne
30613b7064 Use ContextCompat.getDataDir(). 2020-12-15 08:02:25 +05:30
Stypox
c2210330b6
Show radio instead of Youtube logo in mixes
YouTube mixes have YouTube as a creator, though YouTube's logo is not safe to use as it is a trademark (better safe than sorry)
2020-12-14 19:22:00 +01:00
Isira Seneviratne
917f459569 Use a notification instead of a ProgressDialog in MissionAdapter. 2020-12-13 05:21:38 +05:30
Tobias Groza
0ced9ba799
Merge pull request #5112 from mhmdanas/fix-typos
Fix some typos
2020-12-12 13:13:06 +01:00
Isira Seneviratne
c0d6c8aeb3 Add a workaround for a possible null offset ID. 2020-12-10 15:23:30 +05:30
mhmdanas
ac86fe80c8 Fix typos 2020-12-07 13:35:37 +03:00
Tobias Groza
db9f20a22f
Merge pull request #4961 from TeamNewPipe/lint
Fix some Lint errors
2020-12-07 11:19:01 +01:00
hlloreda
b30e025bda [FIX] - Use of a Data class instead of overriding equals method 2020-12-07 10:53:33 +01:00
hlloreda
5f3eb4871a [IMPORT] - import got deleted 2020-12-07 00:06:56 +01:00
hlloreda
9a223532c5 [FIX] - Crash while deleting a video from a playlist while refreshing 2020-12-06 23:40:38 +01:00
XiangRongLin
f7f00293cc Extract export database logic into own class
- Separate it from the UI.
- Add happy path unit test.
2020-12-04 18:30:29 +01:00
TobiGr
0a78ae60be Add missing import for @throws annotation 2020-11-28 12:53:22 +01:00
XiangRongLin
507a2237b7 Make ErrorInfo constructor public
Allows the library behind Parceable to crete an object of the class.
2020-11-25 17:05:52 +01:00
Stypox
b66047e084
Fix ktlint errors 2020-11-22 14:03:10 +01:00
Stypox
f0ca916432
Update most dependencies 2020-11-22 14:03:10 +01:00
Stypox
6f5e99be6f
Handle CheckForNewAppVersion exceptions in one place 2020-11-22 13:27:51 +01:00
TobiGr
fd4c37e9b3 Fix crash on startup caused by no implementation of onError() method 2020-11-22 11:46:24 +01:00
TobiGr
7a8dab2d58 Fix typos 2020-11-22 10:39:00 +01:00
TobiGr
6f3dfad550 Fix Lint: Inconsistent line separators 2020-11-22 10:16:27 +01:00
Stypox
17866c29ae
Refactor CheckForNewAppVersion 2020-11-21 12:02:08 +01:00
Stypox
8dc4e6dc2a
Fix crash on startup without internet: Cbservable callable returning null
Use Maybe instead
2020-11-21 12:02:03 +01:00
Stypox
1197f44262
Merge pull request #4944 from Isira-Seneviratne/Dispose_RxView_disposable
Dispose of RxViews disposable in BaseStateFragment.
2020-11-21 10:52:00 +01:00
Isira Seneviratne
e98d3423e4 Dispose of RxViews disposable in BaseStateFragment. 2020-11-21 14:24:21 +05:30
Isira Seneviratne
95333d37c8 Use try-with-resources. 2020-11-21 13:47:13 +05:30
Isira Seneviratne
340b92e32b Convert ErrorInfo to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:35 +05:30
Isira Seneviratne
6e68ab19f9 Convert SavedState to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:32 +05:30
Isira Seneviratne
15fed32d92 Convert SoftwareComponent to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:30 +05:30
Isira Seneviratne
ec1e746a22 Convert License to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:26 +05:30
Atemu
c0ff1e86b9 VideoDetailFragment: Don't exit fullscreen on rotation in tablet UI
Fixes https://github.com/TeamNewPipe/NewPipe/issues/4936

Going from portrait to landscape doesn't toggle fullscreen in tablet mode, so
the reverse action shouldn't do it either.
2020-11-20 21:52:27 +01:00
vkay94
b5321152fd Player gestures: Fix respecting brightness-volume-gesture settings 2020-11-20 21:08:02 +01:00
Stypox
66d15ea635
Merge pull request #4893 from okan35/whatsNewSwipeRefresh
Pull to Refresh Feed
2020-11-20 18:13:32 +01:00
Stypox
72177033d2
Merge pull request #4891 from vkay94/locallist-entry-progressTime
Improve performance for some updateState calls (local lists)
2020-11-20 17:12:16 +01:00
Stypox
06b7072240
Merge pull request #4642 from XiangRongLin/hide_thumbnail
Add option to hide thumbnail on lock screen
2020-11-20 16:35:10 +01:00
Tobias Groza
4700f35739
Merge pull request #4921 from Isira-Seneviratne/Call_offsetDateTime_instead_of_date
Call DateWrapper's offsetDateTime() instead of date().
2020-11-20 15:58:22 +01:00
TacoTheDank
2669ba944d Correct some other small lints 2020-11-19 18:54:27 -05:00
Isira Seneviratne
eb1cddd85a Call DateWrapper's offsetDateTime() instead of date(). 2020-11-19 18:37:07 +05:30
TacoTheDank
0274cd6beb Lint: Inner class may be static 2020-11-18 18:02:33 -05:00
TacoTheDank
ad2ea0b807 Lint: 'if' replaceable with 'switch' 2020-11-18 17:58:41 -05:00
TacoTheDank
c24999075d Lint: Lambda fix 2020-11-18 17:57:30 -05:00
TacoTheDank
773bde14ab Lint: 'size() == 0' replaceable with 'isEmpty()' 2020-11-18 17:54:16 -05:00
TacoTheDank
00b08318a5 Lint: Redundant 'new' expression in constant array creation 2020-11-18 17:52:30 -05:00
TacoTheDank
39e5d8ccc2 Lint: Make a bunch of stuff final 2020-11-18 17:50:00 -05:00
TacoTheDank
e25622df4b Lint: Move declarations into assignments 2020-11-18 17:48:01 -05:00
TacoTheDank
ea5939c1b7 Kotlin lint fixing 2020-11-18 17:45:19 -05:00
TacoTheDank
4734d04d4f Use two more KTX extensions 2020-11-18 17:29:58 -05:00
okan35
9b6a201bbb removed unnecessary spaces - code change 2020-11-17 19:23:29 +01:00
Stypox
7476498823
[Regression] Revert "Removed remember popup properties setting"
This reverts commit 314615bfef.
2020-11-15 22:24:27 +01:00
Stypox
4c7b5d44a0
[Regression] Fix videos added multiple times to detail fragment stack 2020-11-15 22:23:47 +01:00
okan35
745773b207 swipe to refresh added 2020-11-15 17:54:40 +01:00
opusforlife2
e4746f8b32
Remove GPLv2 - not needed 2020-11-15 14:04:10 +00:00
opusforlife2
6075b98634
Correct Gigaget's license
It's GPLv3, not GPLv2.
2020-11-15 13:41:43 +00:00
vkay94
ebe9f518d0 Replace some loadStateStream calls with progressTime field 2020-11-15 14:12:05 +01:00
vkay94
37ceddd11b Add progressTime field to some stream entries (database) 2020-11-15 14:08:41 +01:00
Stypox
9e7fb4d21a
Merge pull request #4771 from Stypox/fix-playlist-select
Fix playlist select dialog and do some refactoring
2020-11-14 11:21:20 +01:00
XiangRongLin
7805f8a9b1 Add option to hide thumbnail on lock screen and inside notification 2020-11-14 10:01:07 +01:00
Stypox
617ee0afc0
Fix brightness and volume scroll swapped 2020-11-08 10:00:28 +01:00
Stypox
1b47a1a994
Fix switching to main player when MainActivity is closed 2020-11-08 10:00:28 +01:00
Stypox
5a87cfc25d
Open mini player if player running on app open 2020-11-08 10:00:28 +01:00
Stypox
00a178f7d3
Fix tapping on video thumbnail does nothing 2020-11-08 10:00:28 +01:00
Stypox
2a2c82e73b
More fixes with opening VideoDetailFragment 2020-11-08 10:00:28 +01:00
Stypox
bb882ada2c
Show "Show info" instead of "Video player" if a stream is playing not on the main player when sharing something to NewPipe 2020-11-08 10:00:28 +01:00
Stypox
1d42e45d78
Unify all ways of opening VideoDetailFragment 2020-11-08 10:00:27 +01:00
Tobias Groza
f4435f9031
Merge pull request #4555 from Stypox/playqueue-crash
Fix NullPointerException in queue handling
2020-11-08 01:19:38 +01:00
Stypox
6f132f3fed
Merge pull request #4556 from Isira-Seneviratne/Switch_to_Java_8_Date_Time_API
Switch to the Java 8 Date/Time API.
2020-11-05 13:02:04 +01:00
Isira Seneviratne
c745b845c5 Switch to the Java 8 Date/Time API. 2020-11-05 15:02:51 +05:30
Isira Seneviratne
8ec55ef394 Use RxJava instead of AsyncTask in LicenseFragmentHelper. 2020-11-05 11:06:51 +05:30
Isira Seneviratne
ef5084036c Use RxJava instead of AsyncTask to check for new app versions. 2020-11-05 11:06:50 +05:30
Stypox
f1583b6e0c
Merge pull request #4587 from vkay94/separate-player-gesture-logic-ui
Separate player gesture logic and UI
2020-11-02 16:36:50 +01:00
vkay94
347566c311
Player gestures: Add multi-double-tap logic 2020-11-02 15:50:34 +01:00
Stypox
1f73572dd3
Fix playlist select dialog and do some refactoring 2020-11-02 14:24:39 +01:00
Xiang Rong Lin
974f8f692c
Add option to not colorize notification 2020-11-01 22:13:00 +01:00
Isira Seneviratne
b0b0a75c87 Use Collection.removeIf() instead of using Iterator.remove() to remove elements conditionally. 2020-11-01 14:44:07 +05:30
Isira Seneviratne
abcacf8c74 Use Comparator's comparing(), nullsLast() and reversed() methods. 2020-11-01 14:44:04 +05:30
TacoTheDank
a48529872d Fix a few Kotlin style issues 2020-10-31 15:57:49 -04:00
TacoTheDank
31cffa68c5 Push conditionals inside branch expressions 2020-10-31 15:57:26 -04:00
TacoTheDank
6909d1e527 Simplify an if else 2020-10-31 15:57:01 -04:00
TacoTheDank
6db560fd2c Use FragmentActivity for AboutActivity's viewpager2 2020-10-31 15:54:39 -04:00
TacoTheDank
1e1fb32558 Fix some version checks to use android.os.Build 2020-10-31 15:54:02 -04:00
XiangRongLin
008eb5ba4a
Convert notification actions to a custom preference (#4652) 2020-10-31 11:58:33 +01:00
vkay94
2683043762 Player gestures: separate logic and UI 2020-10-29 12:46:34 +01:00
Stypox
e406b6f780
Fix NullPointerException in queue handling 2020-10-26 18:15:59 +01:00
bopol
2dad9666a9 polish strings, fix build error 2020-10-26 17:01:55 +01:00
Isira Seneviratne
0bd624dfa9 Use DrawableCompat. 2020-10-25 21:01:53 +05:30
Stypox
a0ed8036c0
Merge pull request #4594 from Isira-Seneviratne/Use_TextViewCompat
Use TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds().
2020-10-25 14:44:01 +01:00
Tobias Groza
90cb9d3de1
Merge pull request #4549 from Stypox/fix-showMiniPlayer
Fix IllegalStateException after onSaveInstanceState
2020-10-23 21:58:20 +02:00
vkay94
32a142bf79 Fix PlaylistAppendDialog: Renamed method and replaced with Runnable 2020-10-23 09:44:26 +02:00
vkay94
2680d41a3d Fix PlaylistAppendDialog showing when no local playlists exist 2020-10-23 09:44:26 +02:00
bopol
5214bfe8cb
Merge pull request #4554 from mitosagi/translate-numbers
Translates shortened notation of numbers
2020-10-22 19:05:53 +02:00
Isira Seneviratne
187aaafddc Use TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(). 2020-10-22 06:01:49 +05:30
opusforlife2
9b9d267cd4
Merge pull request #4553 from TacoTheDank/about-viewpager2
Migrate AboutActivity to ViewPager2
2020-10-18 10:12:20 +00:00
Isira Seneviratne
66ba8d56b7 Use multidex for all build types. 2020-10-18 14:14:27 +05:30
Stypox
a73baf32f1
Merge pull request #4547 from Isira-Seneviratne/Use_Core_KTX_functions
Use Core KTX functions.
2020-10-18 09:39:28 +02:00
Tobias Groza
333cf0a2f0
Merge pull request #4550 from Stypox/no-drag-thumbnails
Don't rearrange lists by dragging the thumbnails
2020-10-18 09:00:56 +02:00
mitosagi
8347d8700a Translate the numeric notation 2020-10-18 11:01:06 +09:00
TacoTheDank
09af0e2448 Migrate AboutActivity to viewpager2 2020-10-17 19:15:10 -04:00
Stypox
941028ba6f
Don't rearrange lists by dragging the thumbnails 2020-10-17 16:25:06 +02:00
Stypox
4ca7ed9f8c
Fix IllegalStateException after onSaveInstanceState 2020-10-17 16:13:42 +02:00
Isira Seneviratne
03d99887c5 Use TextView.doOnTextChanged() extension. 2020-10-17 19:22:13 +05:30
Isira Seneviratne
293e2ff5e3 Use isVisible and isGone extensions for View. 2020-10-17 15:54:35 +05:30
Isira Seneviratne
55d242fa08 Use bundleOf(). 2020-10-17 15:38:45 +05:30
wb9688
2c23678fb9 Add button in settings to clear reCAPTCHA cookies 2020-10-14 14:39:08 +02:00
Stypox
ae33c6cf18
Merge pull request #4476 from vkay94/two-finger-to-close-player
Two finger to close player gesture
2020-10-11 14:51:45 +02:00
vkay94
f8cd6afbf8 Two finger gesture: Less code lines 2020-10-11 13:56:30 +02:00
Tobias Groza
6fce06906d
Merge pull request #4354 from Stypox/restriction-strings
Improve age restriction and yt restricted content strings
2020-10-11 12:14:13 +02:00
Stypox
84694a8bbd
Improve age restriction and yt restricted content strings 2020-10-11 12:06:36 +02:00
Stypox
724a260f71
Merge pull request #4413 from Stypox/delete-stream-state
Also delete stream state when deleting stream history
2020-10-10 22:29:33 +02:00
Stypox
cf75e40332
Merge pull request #4463 from opusforlife2/confirm_queue_delete_one_track
Ask for confirmation before clearing queue even if only 1 video in it
2020-10-10 22:01:55 +02:00
Stypox
3c67df263c
Merge pull request #4276 from Isira-Seneviratne/Use_ContextCompat_methods
Use ContextCompat methods.
2020-10-10 21:51:34 +02:00
vkay94
f6925fc5b8 Added two finger to close player gesture 2020-10-10 15:00:39 +02:00
opusforlife2
b3555385e6
Ask for confirmation before clearing queue...
Even when there is only one video in it.
2020-10-09 14:46:42 +00:00
Isira Seneviratne
f55381d689 Combine initNotificationChannel() and setUpUpdateNotificationChannel() into a single method. 2020-10-09 08:52:05 +05:30
Isira Seneviratne
c4084c4f97 Use ContextCompat.startForegroundService(). 2020-10-09 08:52:05 +05:30
Isira Seneviratne
58b720b004 Use ContextCompat.getSystemService() and the Context.getSystemService() extension function. 2020-10-09 08:52:05 +05:30
wb9688
f6d0c1f05e Fix compiling release build 2020-10-08 18:36:20 +02:00
wb9688
ca9fbe2f11 Hide Leaks launcher icon 2020-10-07 12:56:22 +02:00
Panorea
314615bfef Removed remember popup properties setting 2020-10-06 18:32:20 -04:00
Stypox
44e82217c1
Merge pull request #4425 from vkay94/enqueue-stream
Replace specific enqueue options with one
2020-10-06 22:37:19 +02:00
vkay94
cbf364f24f Enqueue: Renamed string resource 2020-10-06 21:17:52 +02:00
vkay94
12f615c6da Enqueue: Removed unneeded dialog-entries and strings + adjustments 2020-10-06 17:22:12 +02:00
vkay94
ed6fc4d848 Enqueue: Replaced specific StreamDialogEntry items with one
The enqueue options won't be shown in the dialogs if the Player service is not running. When it's running one item (enqueue stream) will be shown and enqueues the item into the Player type which is currently selected.
2020-10-06 14:38:48 +02:00
vkay94
cd515993f5 Enqueue: Add auto-select StreamDialogEntry for current PlayerType 2020-10-06 13:33:44 +02:00
Tobias Groza
9f63e2d39a
Merge pull request #4410 from Stypox/notification-fixes
Notification fixes
2020-10-05 19:08:26 +02:00
Stypox
36248ff046
Also delete stream state when deleting stream history 2020-10-05 17:47:48 +02:00
Stypox
a88f5113e0
Hide player notification "when" time
It is useless to see how much time ago a player notification was created
2020-10-05 15:57:14 +02:00
Stypox
06fb89fae2
Fix crash on fast forward 2020-10-05 15:55:10 +02:00
Isira Seneviratne
63d54e6570 Use DisplayCutoutCompat in VideoPlayerImpl. 2020-10-04 05:44:13 +05:30
bopol
2b1469e02e update to PrettyTime 4.0.6
fixes #4324
2020-10-03 19:04:44 +02:00
Tobias Groza
83ea91586b
Merge pull request #4362 from Stypox/fix-queue
Random fixes and improvements
2020-10-02 16:48:04 +02:00
Stypox
dbb86d25e1
Fix video detail controls visibility set inconsistently 2020-10-02 16:03:43 +02:00
Tobias Groza
794c74e514
Merge pull request #4360 from avently/player-overlays
Player overlays now centered
2020-10-02 15:37:28 +02:00
Stypox
fbcdaa77e3
Initialize player notification asap
Otherwise Android's foreground services implementation would complain
2020-10-02 15:17:04 +02:00
Tobias Groza
b1ea7d6cbc
Merge pull request #4350 from 4D17Y4/commenter
Disabled commenter image view on LoadThumbnail set to false
2020-10-01 15:07:45 +02:00
Tobias Groza
4e7632949d
Merge pull request #4347 from avently/player-rebind
Player rebind
2020-10-01 15:03:43 +02:00
Avently
26a8bd147b Now player's overlays are aware of insets 2020-10-01 03:10:51 +03:00
Avently
dd726fac02 Skipped interception of buttons in the player in some cases and made image view from playQueue visible 2020-10-01 03:10:42 +03:00
Avently
6665d630ec Added comments and improved the code 2020-09-30 00:49:34 +03:00
Aditya Srivastava
87ae26ede3 Disabled commenter image view on LoadThumbnail set to false 2020-09-29 21:17:39 +05:30
wb9688
f4bd20361a Fix auto-queue with no next videos 2020-09-29 10:43:17 +02:00
Avently
c1d5a5cd98 Player will be rebound when needed, prev/next/queue buttons, preserving paused state
- each time something starts to play in any player VideoDetailFragment will be started (if not yet started) and mini player will show up. It makes possible to see a playing stream in mini player even if the stream was started without using fragment or after player service was closed somehow
- play/next/queue buttons will be updated in realtime when stream was added/removed from queue instead of waiting for a onPlay/onPause action to happen
- when popup or background players start the stream will start playing only if paused state wasn't requested. Which means, for example, if a user opens popup it will be started when START_PAUSED is false. If, for example, the stream was played in main player and then popup was started the stream will still be playing, but if it was paused it still be paused in popup (or background) in APPEND_ONLY mode (but will be playing on new queue initialization)
2020-09-29 06:22:53 +03:00
Avently
0370fa6c00 Merged 'dev' branch 2020-09-27 18:02:31 +03:00
Avently
e53e5ca20e Disabled nested scrolling of queue 2020-09-27 15:50:21 +03:00
Avently
609bf64856 Merged 'dev' branch 2020-09-27 15:04:20 +03:00
Tobias Groza
d5f603303d
Merge pull request #4259 from TeamNewPipe/pref_migration
Add settings migration, remove "Detail page" option from share dialog and minimize to background by default
2020-09-27 11:20:39 +02:00
Tobias Groza
fc9c073a60
Merge pull request #3178 from cool-student/notificationImprovements
Notification Improvements
2020-09-27 10:43:11 +02:00
Avently
9a0c2c40bd Refactoring and made the player returning from landscape & fullscreen on vertical video to portrait after clicking on fullscreen button 2020-09-27 06:39:42 +03:00
Avently
d0fc9fda71 Fixed player's ZOOM mode for KitKat devices 2020-09-27 04:25:06 +03:00
Avently
df9823988e Changes for tablets and device's orientation behavior
- the app will not rotate the screen to portrait after video completes, it will just exit from fullscreen mode
- ability to rotate the orientation via fullscreen button from landscape to portrait when device has locked orientation in landscape
- ability to enter/exit to/from fullscreen on tablets with unlocked global orientation in portrait mode
2020-09-27 04:11:38 +03:00
TobiGr
3c4a4e5384
Set default value for "minimize_on_exit" to background for better UX. 2020-09-26 21:58:38 +02:00
TobiGr
0e5f85db95
Remove "Detail Page" open action from share dialog under certain circumstances
With the new application workflow and unified player, video detail page and video player are the same activity. So show only one of these options based on whether autoplay is enabled or not, and show both if using external player
2020-09-26 21:58:34 +02:00
TobiGr
ad3364671d
Add migration concept for shared preferences 2020-09-26 21:43:58 +02:00
Avently
3add24b8aa Merged 'dev' branch 2020-09-26 02:42:26 +03:00
Tobias Groza
e0f02d4080
Merge pull request #4246 from avently/preloading
Disabled preloading when switching streams
2020-09-25 21:22:31 +02:00
Avently
c843e77183 Made notification thumbnail smaller 2020-09-23 15:20:25 +03:00
Stypox
b4e073cde7
Show replay icon in notification when player state is completed 2020-09-22 18:17:16 +02:00
Stypox
814efbf8df
Remove ACTION_BUFFERING, update buffering only if needed
- ACTION_BUFFERING was just wrong: why should the user be able to trigger the internal onBuffering() state by pressing on the buffering button? So that was replaced by a null intent, doing nothing.
- Now updating notification in onBuffering() only when buffering actions are not already buffering, to prevent useless updates
2020-09-22 18:17:16 +02:00
Stypox
11e048abb1
Remove hardcoded and duplicate strings, use exoplayer ones 2020-09-22 18:17:09 +02:00
Avently
518eb97e3a Variable width for caption button and hiding system UI after popup close 2020-09-19 22:52:59 +03:00
Avently
f41549ccf1 Added a comment and excluded automatic switch of orientation on tablets and Android TVs 2020-09-19 17:21:01 +03:00
Stypox
0062ff9cfa
Fix deprecations, warnings and useless null checks in SearchFragment 2020-09-19 15:25:04 +02:00
Stypox
f8de72f59f
Improve search suggestion experience when remote ones can't be fetched
Do not show anything in case of network error (it can simply be ignored).
Show a snackbar otherwise, which still allows writing things into the search box.
2020-09-19 15:22:54 +02:00
Avently
5b8eda4805 Increased performance of the UI. main thread is not as busy as before 2020-09-17 23:42:35 +03:00
Avently
886a949a00 Enable/disable video after screen on/off regardless of background playback setting 2020-09-17 22:30:03 +03:00
Avently
92e13dafe5 Correct exit from fullscreen in case of error or close from notification, 2020-09-17 19:01:20 +03:00
Avently
c9be812330 Fix for untouchable area 2020-09-16 23:41:49 +03:00
Stypox
59e7ebabfa
Random adjustements to notification 2020-09-16 14:00:22 +02:00
Avently
a1e4ef9e8e Fix for multiple listeners of insets 2020-09-16 04:49:26 +03:00
Avently
5ada0ae2c7 Hiding controls when orientation changes to landscape 2020-09-15 22:10:38 +03:00
Avently
a5312c1341 Perfect shadow 2020-09-15 19:50:46 +03:00
Avently
150e156d26 Reimagined player positioning 2020-09-15 14:43:43 +03:00
Avently
6d38615ea8 Android 11: transparent navigation and status bars 2020-09-14 11:30:41 +03:00
bopol
eeba9c0a5f Merge remote-tracking branch 'upstream/dev' into unsupported-url-dialog 2020-09-12 23:19:18 +02:00
Avently
883e4fcd7c Small fixes of issues with old devices support, brightness, etc 2020-09-11 20:52:38 +03:00
Stypox
2017e6a3e3
Refactor MediaSessionManager 2020-09-10 20:36:52 +02:00
Stypox
bccfe500b3
Fix seekbar invisible or not updating
Have the notification recreate only when strictly necessary, and recreate it if there was a timeline change, fixing the seekbar not updating at all sometimes
2020-09-10 20:22:22 +02:00
Stypox
52e89c1d1c
Prevent seeking out of video duration in player 2020-09-10 19:47:02 +02:00
Stypox
1605e50cef
Update notification when play queue is edited 2020-09-10 13:36:34 +02:00
Stypox
a13e6b69e3
Merge branch 'dev' into pr3178 2020-09-08 23:58:10 +02:00
Stypox
bc8954fbba
Fix notification content intent not being updated when needed 2020-09-08 22:00:28 +02:00
Stypox
9cf0bc6c82
Make notification creation and cancelling more consistent 2020-09-08 22:00:28 +02:00
Stypox
71b32fe641
Add notification costumization settings menu 2020-09-08 22:00:24 +02:00
Stypox
530f745e44
Merge pull request #4154 from avently/video-placement
Prevent jumping of the player and wrong padding on devices with cutout
2020-09-08 19:47:09 +02:00
Avently
31814b70da Disabled preloading when switching streams 2020-09-07 19:34:10 +03:00
Stypox
408e819d32
Extract duplicate setActivityTitle code to own function 2020-09-07 15:28:38 +02:00
Stypox
5b631e0387
Revert to deprecated BEHAVIOR_SET_USER_VISIBLE_HINT in TabAdapter
Also added comment explaining why
2020-09-06 14:02:25 +02:00
TacoTheDank
06d54ef77e
Clean up SDK version checks 2020-09-06 12:55:30 +02:00
TacoTheDank
6c5ef567ed
Replace deprecated Html#fromHtml with HtmlCompat#fromHtml 2020-09-06 12:55:30 +02:00
TacoTheDank
f86b40302d
Some general-purpose lint cleanup 2020-09-06 12:55:26 +02:00
TacoTheDank
273c287fbf
Fix some lambdas 2020-09-06 12:52:43 +02:00
TacoTheDank
6cb16be5df
Use enhanced 'for' loops 2020-09-06 12:52:43 +02:00
TacoTheDank
a4feb3fc09
Fix some deprecations 2020-09-06 12:52:43 +02:00
TacoTheDank
ba6c7de35a
Use AndroidX preference 2020-09-06 12:52:42 +02:00
Stypox
a801d0994f
Merge pull request #4223 from avently/small-fixes
Small fixes of issues with brightness, background playback, gestures
2020-09-05 20:51:37 +02:00
Stypox
628575dc5f
Clean up MediaSessionManager 2020-09-04 18:44:09 +02:00
Avently
0a22f21410 Small fixes of issues with brightness, background playback, gestures 2020-09-04 05:39:55 +03:00
Stypox
97ff9e9c5b
Merge branch 'dev' into pr3178 2020-09-03 21:56:48 +02:00
Stypox
8b3a09306b
Various notification code improvements
Improve builder parameters
Reorder code and extract large icon function
service.startForeground() now is also provided with service type in android versions >= Q
2020-09-03 21:54:31 +02:00
Stypox
7766fd13fd
Extract hardcoded strings into strings.xml and improve them 2020-09-03 21:54:31 +02:00
Stypox
c79997ebe3
Show hourglass icon when buffering 2020-09-03 21:54:28 +02:00
vmazoyer
99442b6e04
Remember last selected media type for downloads. 2020-09-03 19:47:34 +02:00
Avently
b8a35e9e4a Moved device-specific code into DeviceUtils 2020-09-03 15:48:17 +03:00
Avently
e833d415e3 Fixed wrong padding on devices with cutout on vertical videos 2020-09-03 15:48:17 +03:00
Avently
8030312924 Prevent jumping of the player on devices with cutout 2020-09-03 15:48:17 +03:00
Stypox
a84b54f940
Merge pull request #4127 from nmurali94/bugfix-keep-license-on-rotate
Restore license pop-up when orientation changes
2020-09-02 16:28:43 +02:00
TobiGr
c66c81294e Remove unused and redundant code. 2020-09-01 17:39:06 +02:00
Tobias Groza
bfdc215c65
Merge pull request #4155 from avently/gestures-interception
Skipping interception of some gestures
2020-09-01 16:51:34 +02:00
Tobias Groza
8d2ec30818
Merge pull request #4120 from mhmdanas/replace-SubtitlesStream-getURL-with-getUrl
Use SubtitlesStream#getUrl instead of getURL
2020-08-26 22:15:44 +02:00
mhmdanas
e5ffddfc6b Use SubtitlesStream#getUrl instead of getURL 2020-08-26 23:04:18 +03:00
TobiGr
552d585fca Extract common part from if 2020-08-18 13:28:13 +02:00
Avently
24c24d6c72 Skipping interception of some gestures 2020-08-17 20:42:05 +03:00
wb9688
b7f50c3e12
Merge pull request #4080 from avently/cpu-usage-improvement
Reduced CPU usage when playing a video by 7-10%
2020-08-17 09:46:07 +02:00
Avently
aed1687a45 Improved an animation logic 2020-08-16 22:44:27 +03:00
nmurali94
daa427dc15 Restore license pop up after orientation change 2020-08-16 12:23:40 +02:00
Tobias Groza
e9d4303fdb
Merge pull request #4134 from avently/bottom-space
Set bottom padding of the main fragment when the mini player is visible
2020-08-16 12:15:08 +02:00
Tobias Groza
5485e994ee
Merge pull request #4138 from XiangRongLin/checkstyle_final
Add checkstyle rule to show final local variable violations as warning
2020-08-16 11:55:46 +02:00
wb9688
87228673b4 Use final where possible 2020-08-16 10:25:09 +02:00
Stypox
e08480f345
Completely remove old player notification 2020-08-15 22:03:32 +02:00
Avently
d3d65c8e3a Set bottom padding of the main fragment when the mini player is visible 2020-08-15 20:51:52 +03:00
Stypox
12ac5ef781
[regression] Close player in onPlaybackShutdown() 2020-08-15 15:58:25 +02:00
Stypox
adef9a8acf
Rename notification functions: they are not background player only 2020-08-15 15:16:17 +02:00
nmurali94
04bb070afa Remove timestamp when sharing a live stream 2020-08-12 09:54:35 -04:00
Avently
d7574973e9 Reduced CPU usage when playing a video by 7-10% 2020-08-05 12:46:25 +03:00
Tobias Groza
eb2f75579a
Merge pull request #3892 from wb9688/fix-local-playlist-tab
Fix crash when opening video in local playlist tab
2020-08-03 15:49:06 +02:00
wb9688
5fd7ae33b4 Replace getFragmentManager() with getFM() 2020-08-03 14:47:10 +02:00
wb9688
13a065f2dc Fix crash when opening video in local playlist tab 2020-08-03 14:47:10 +02:00
Avently
45408caf33 Removed java.util.Objects calls 2020-08-03 03:33:51 +03:00
Stypox
963ee4dbab
Merge branch 'dev' into pr3178 2020-08-02 22:59:43 +02:00
Tobias Groza
d8b5549fd9
Merge pull request #2907 from avently/unifiedplayer
Expandable player with unified UI
2020-08-01 12:53:19 +02:00
wb9688
6de03f2bf0 Fix crash when playing stream in background with shuffle in notification 2020-07-31 09:25:32 +02:00
wb9688
caf7c55069 Log only in debug build 2020-07-31 09:10:28 +02:00
wb9688
7d499ffba1 Use vector drawables for close and replay 2020-07-31 09:10:28 +02:00
cool-student
4abf6b2f5c Notification Improvements
- add MediaStyle notifications for Background and Popup playback
- reduce excessive notification updating ( / recreating of Notification.Builder object) when playing background / popup media
- add new buffering state indicator (can be disabled)
- upscale close icon / downscale replay icon
- add notification slot settings
- move notification settings to appearance
- fix Metadata (song title, artist and album art) sometimes not being set correctly
- other misc notification fixes

Co-authored-by: wb9688 <wb9688@users.noreply.github.com>
2020-07-31 09:10:28 +02:00
Stypox
04e7d13043
Remove deprecated calls to set Sender class to ACRA
setReportSenderFactoryClasses() is deprecated, now extensions (ReportSenderFactory is an extension) should be registered using AutoService: https://github.com/ACRA/acra/wiki/Custom-Extensions#by-annotation
2020-07-29 10:56:33 +02:00
Avently
e41218c46b Disable starting player service via media button when there is nothing to play (no active play queue) 2020-07-28 21:36:06 +03:00
Stypox
21d1f69d6d
Do not init ACRA if inside its own process
https://github.com/ACRA/acra/wiki/Troubleshooting-Guide#applicationoncreate
2020-07-28 10:48:54 +02:00
Stypox
1b9f5989ef
Fix empty stacktrace in bug report
ACRA has to be initialized after MultiDex
https://github.com/ACRA/acra/issues/619
https://github.com/ACRA/acra/wiki/Troubleshooting-Guide#legacy-multidex
2020-07-28 10:48:25 +02:00
Avently
68ed738dcd Renamed files 2020-07-25 09:45:33 +03:00
Avently
5293d17e32 Removed unused files, translations, styles, settings key 2020-07-25 09:39:42 +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
ec8b00042b Merged the latest code 2020-07-25 04:18:41 +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
7c79d421e8 Quality selector for external playback and better fullscreen mode for old devices 2020-07-24 00:43:09 +03:00
Avently
91a0257c8f Fixes for Android API <21 2020-07-22 17:19:32 +03:00
Alexander--
801267df18
Add @NonNull annotation to method argument
Co-authored-by: Tobias Groza <TobiGr@users.noreply.github.com>
2020-07-22 07:57:04 -04:00
Alexander--
6e73e0b395 Use View.isShown() to avoid focus overlay glitches
A View can become focused while being invisible, if it's
parent is invisible. Use global draw listener and
View.isShown() to catch such cases.
2020-07-22 06:21:25 +06:59
Avently
7aa8a5c368 Fixed a situation when background playback could use a video stream instead of an audio stream 2020-07-22 02:20:58 +03:00
Avently
3ecbbea7cb Better TV support, icons, activity_main refactoring
- on Android TV you'll be able to navigate with D-pad in main fragment and in the player. But not between them for now
- play/pause/next/previous buttons are smaller now
- replaced ic_list with previous version of it
- activity_main looks better which helps with Android TV support
2020-07-22 01:20:30 +03:00
Avently
77cd3182f1 Removed unused line 2020-07-21 01:53:59 +03:00
Avently
c7ccf9bab8 AndroidTvUtils -> DeviceUtils 2020-07-21 01:43:49 +03:00
Avently
06e70abb86 Merged the latest changes 2020-07-21 01:37:36 +03:00
Tobias Groza
19e152a54b
Merge pull request #3689 from wb9688/next-stream
Remove calls to getNextStream()
2020-07-18 11:59:04 +02:00
Tobias Groza
2898bead66
Merge pull request #3902 from wb9688/null-description
Check for description == null
2020-07-18 11:54:10 +02:00
wb9688
e028a63f30 Check for description == null 2020-07-18 10:01:44 +02:00
Avently
d196f8b4b2 New icons 2020-07-16 01:15:24 +03:00
wb9688
4274827dbe Use relatedItems instead of info.getRelatedStreams() 2020-07-15 18:52:36 +02:00
wb9688
7a30f4a7d2 Remove calls to getNextStream() 2020-07-14 21:27:59 +02:00
wb9688
d0c03a0211 Use androidx.annotation.NonNull instead of io.reactivex.annotations.NonNull 2020-07-14 21:15:29 +02:00
Avently
08412d6108 Mini player slide to botom fix, buttons size fix 2020-07-14 21:52:55 +03:00
Avently
d8f7db4715 Made checkStyle happy 2020-07-14 20:21:32 +03:00
Avently
bff238774e Small fixes of issues 2020-07-13 23:28:39 +03:00
Avently
d2aaa6f691 Merged the latest changes 2020-07-13 04:17:21 +03:00
Avently
b2164ce5fc Marked many (too many) variables as final 2020-07-12 03:59:47 +03:00
Tobias Groza
e12e6dd7a7
Merge pull request #3441 from wb9688/nextpage
Next page stuff
2020-07-07 21:19:27 +02:00
wb9688
dd57e246b8 Use getNextPage() instead of getNextPageUrl() 2020-07-07 21:03:24 +02:00
Tobias Groza
f4a4172369
Merge pull request #3471 from Royosef/DisplaySearchSuggestion
Display search suggestion: did you mean & showing result for
2020-07-07 20:57:02 +02:00
TobiGr
b96d1714b5 Highlight search suggestion 2020-07-07 20:23:41 +02:00
Tobias Groza
ff4e6b139d
Merge pull request #3579 from TobiGr/error_md_export
Add Markdown export of crash logs
2020-07-07 00:01:12 +02:00
Tobias Groza
af098aaac8
Merge pull request #3843 from kapodamy/drop-writting-application-metadata
Drop writting application metadata in muxed files
2020-07-06 23:55:06 +02:00
kapodamy
8120b6aaaa checkstyle's amend 2020-07-05 23:55:40 -03:00
Stypox
13a0d1de70
Replace search query without searching on suggestion panel long click 2020-07-05 22:01:35 +02:00
Stypox
20e828be51
Improve suggestion panel 2020-07-05 22:01:35 +02:00
wb9688
ccd82fb8b8
Improve search suggestion code 2020-07-05 22:01:35 +02:00
Roy Yosef
0711650ff8
Fix search suggestions not working on resume
* add searchSuggestionString, isCorrectedSearch fields to state and load onResume
2020-07-05 22:01:35 +02:00
Roy Yosef
4194ac2226
Display search suggestion: did you mean & showing result for 2020-07-05 22:01:35 +02:00
Stypox
8cc21920b7
Move local/remote playlist merge() to PlaylistLocalItem class
In order not to have a utils class just for one function
2020-07-04 11:38:22 +02:00
Stypox
248212588d
Fix style issues 2020-07-04 11:38:22 +02:00
Roy Yosef
13c0fdef08
Final declarations, naming & redundant code
* add final declarations where missing
* fix typo "onSelectedLisener" to "onSelectedListener"
* rename "baseEqual" to "baseEquals"
* replace getPlaylistsObserver code with functions pointers
* remove duplicate code in constructors
* remove useless null checks
2020-07-04 11:37:38 +02:00
Roy Yosef
dfc27b2480
Add playlist tab to main page
Add bookmarked playlist as tab in the main page (by Settings > Content > Content of main page)
2020-07-04 11:35:45 +02:00
kapodamy
b2d78d380b update WebMWriter.java 2020-07-03 20:51:45 -03:00
kapodamy
452977abdf Drop "writing/muxed by" metadata
* All muxers (mp4, webm and ogg) are affected
* solve some checkstyle's errors (building was blocked)

Mp4FromDashWriter:
* drop "writing application"
* drop "handler name"

OggFromWebMWriter:
* drop "writing application" for OPUS and VORBIS header

WebMWriter:
* Drop "Muxing application"
* Drop "Writing application"
2020-07-03 02:07:42 -03:00
Tobias Groza
07cead7e99
Merge pull request #3404 from mauriciocolli/feed-add-filter-sub-list
Add filter to the feed group dialog to show only ungrouped subscriptions
2020-07-02 22:53:11 +02:00
Tobias Groza
9516d9da17
Merge pull request #3837 from Stypox/audio-sync
Fix audio/video desync caused by floating point cumulative errors
2020-07-02 21:29:18 +02:00
Stypox
5e9dce7d39
Merge pull request #3774 from eames-palmer/status-bar-color
Update status color to match toolbar color
2020-07-01 08:39:32 +02:00
Stypox
38c79bbc11
Fix audio/video desync caused by floating point cumulative errors 2020-06-30 22:41:09 +02:00
TobiGr
3de5afc68e Add Markdown export of crash logs
Add app language as additional debug information to reports
2020-06-28 16:07:22 +02:00
Stypox
5cc60ed760
Show dialog with open options in case of an unsupported url 2020-06-28 13:33:08 +02:00
Mauricio Colli
2e6e75cd4e
Add filter to the feed group dialog to show only ungrouped subscriptions 2020-06-27 11:58:40 -03:00
Mauricio Colli
9f3b35634a
Fix subscription picker items flickering in the feed group dialog
The adapter could not tell the items were the same because the
subscription class was missing some methods (i.e. equals and hashcode),
so a full rebind was being done.
2020-06-27 11:25:31 -03:00
Mauricio Colli
c24dfc63dc
Add search for subscription picker in the feed group dialog 2020-06-27 11:25:25 -03:00
Tobias Groza
d9100913d5
Merge pull request #3787 from budde25/fix-popup-queue
Fixes enqueue resuming paused videos
2020-06-27 11:56:08 +02:00
Avently
a7fbe05a73 Changes for review 2020-06-27 06:25:50 +03:00
Tobias Groza
fe4516ea23
Merge pull request #3752 from Redirion/exoupdate
Update to ExoPlayer 2.11.6
2020-06-26 18:33:53 +02:00
Ethan Budd
33266a96ff fixes enqueue resuming paused videos 2020-06-17 22:15:50 -05:00
wb9688
5cfd8bbb56
Merge pull request #3704 from Stypox/keep-failed-streams
Do not remove items generating errors form queue
2020-06-15 15:16:26 +02:00
wb9688
e6fe6fd645
Merge pull request #3437 from TheLastGimbus/fast-rewind-forward-in-background-activity
Fast rewind forward in background activity
2020-06-15 15:06:58 +02:00
TheLastGimbus
abe77c4783 Change to final 2020-06-14 19:52:58 +02:00
TheLastGimbus
72af51fe9d Add speed button to top bar 2020-06-14 15:16:04 +02:00
TheLastGimbus
36b4134838 Remove speed buttons from bottom menu 2020-06-14 15:15:38 +02:00
Tobias Groza
9ef7688f9e
Merge pull request #3772 from adinilfeld/copy-video-title
Copy video title
2020-06-13 16:38:14 +02:00
Jasper Eames Palmer
7d6e226c2b Update status color to match toolbar color 2020-06-11 19:29:15 -07:00
adinilfeld
17d1346a8a made ClipboardManager final 2020-06-11 09:36:57 -07:00
adinilfeld
59e0c10c42 inverted if-else statement 2020-06-11 09:36:05 -07:00
adinilfeld
0d29e66092 removed unnecessary setLongClickable 2020-06-11 09:33:05 -07:00
adinilfeld
267e114354 added a copyToClipboard method to ShareUtils, and modified CommentsMiniInfoItemHolder and VideoDetailFragment to use the new method. 2020-06-10 15:14:08 -07:00
adinilfeld
b5375396d2 allowed user to copy video title to clipboard (from detail screen) 2020-06-10 14:17:43 -07:00
adinilfeld
e34f666b70 set an OnLongClickListener 2020-06-10 14:11:06 -07:00
Stypox
3e70050056
Fix search crash: adapter array index out of bounds 2020-06-07 21:28:54 +02:00
Robin
145e0a0b7b Update to ExoPlayer 2.11.5 2020-06-06 15:29:52 +02:00
Stypox
b3db8c9549
Do not remove items generating errors form queue 2020-05-31 14:06:22 +02:00
bopol
6b0381b903 avoid duplicate: use openUrlInBrowser instead of openWebsite 2020-05-31 12:17:54 +02:00
wb9688
c89746214c Open the correct kiosk 2020-05-30 08:14:54 +02:00
wb9688
a9697a61ad Fix viewing licenses 2020-05-28 11:39:17 +02:00
wb9688
e16a2d7cb6 Upgrade jsoup 2020-05-28 11:39:17 +02:00
wb9688
7b81e98581 Upgrade ACRA 2020-05-25 11:03:07 +02:00
wb9688
0cae58ce8e Upgrade LeakCanary 2020-05-25 11:03:07 +02:00
Stypox
927a1d58e2
Use drop down/up instead of expand icons in drawer
As per the material guidelines
2020-05-21 15:39:36 +02:00
Stypox
bbd0df08d3
Add shadow behind play icon in video detail fragment 2020-05-21 15:39:36 +02:00
Stypox
9e57195e14
Fix checkstyle issues
Also replace all tabs with 4 spaces
2020-05-21 15:39:36 +02:00
Stypox
e3e2028153
Use AppCompatResources instead of ContextCompat 2020-05-21 15:39:36 +02:00
Stypox
883bcc735d
Fix pause used instead of play in paused popup player when seeking
Also use `setBackgroundResource` to automatically obtain PNG drawables (from exoplayer)
2020-05-21 15:39:36 +02:00
Stypox
158727e2f2
Replace hardcoded white drawable with themed one 2020-05-21 15:39:36 +02:00
Stypox
899f69d120
Fix additional empty title on tab selection fragments in API 19 2020-05-21 15:39:36 +02:00
Stypox
b575046c05
Fix choice dialogs on API 19 by manually getting drawable 2020-05-21 15:39:36 +02:00
Stypox
631dfee763
Readd ic_close and ic_replay PNGs: needed in notifications
The other icons used in notifications are taken from exoplayer's ones: `@drawable/exo_controls_*`
2020-05-21 15:39:36 +02:00
Stypox
e0e4f6db2b
Fix MainFragment tab icons did not follow theme color 2020-05-21 15:39:36 +02:00
Stypox
c27a26c0aa
Rename ic_hot in ic_kiosk_hot and improve getKioskIcon() 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
a3e2a085b6
Merge pull request #3501 from B0pol/openInBrowser
Open in browser button now really opens in browser
2020-05-21 09:24:57 +02:00
bopol
8e13161f64 fix checkstyle 2020-05-19 21:57:46 +02:00
bopol
97437b8af3 apply @stypox suggestions 2020-05-19 21:52:30 +02:00
bopol
9a938093e2 Open in browser button now really opens in browser 2020-05-19 21:51:47 +02:00
wb9688
93ba7510e1 Fix ListHelper ANR 2020-05-18 13:40:01 +02:00
Stypox
c05467fb92
Merge pull request #3513 from Stypox/exoplayer
Update to ExoPlayer 2.11.4
2020-05-17 22:02:19 +02:00
Tobias Groza
87c7ac3970
Merge pull request #3580 from wb9688/fix-email
Fix sending e-mail from crash reporter
2020-05-13 17:10:22 +02:00
wb9688
dd4cb23005 Fix sending e-mail from crash reporter 2020-05-13 09:42:08 +02:00
bopol
375e18bec8 subscribe button now match service's main color 2020-05-11 19:29:34 +02:00
Tobias Groza
b3eadb557b
Merge pull request #3337 from AioiLight/blocking-gesture-when-touch-from-navbar
Block the gesture when touch it from NavigationBar or StatusBar.
2020-05-09 10:43:15 +02:00
AioiLight
0abd2bcba6 Clean up code
Follow Checkstyle

Move to PlayerGestureListener from VideoPlayerImpl

Update app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java

Co-authored-by: wb9688 <46277131+wb9688@users.noreply.github.com>
2020-05-09 10:11:46 +02:00
Tobias Groza
9cf76a918e
Merge pull request #3430 from Royosef/DisplayParentChannelDetails
Display parent channel details
2020-05-08 23:29:28 +02:00
wb9688
ae437b1510 Bump NewPipeExtractor 2020-05-08 18:07:52 +02:00
wb9688
235394d96c Don't show sub-channel thumbnail by default 2020-05-08 15:51:21 +02:00
wb9688
b990f30a09
Merge pull request #3545 from Stypox/kore
Fix Kodi button showing up with unsupported services
2020-05-07 21:44:09 +02:00
Stypox
5c711322d4
In player hide kodi button if service unsupported 2020-05-07 21:11:34 +02:00
Roy Yosef
b7d4a4f604 Navigate to parent(uploader) channel from the uploader section on long click 2020-05-07 20:40:17 +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
2d0bc05488 Add sub-channel details to channel fragment 2020-05-07 20:39:32 +02:00
Roy Yosef
1429774487 Add sub-channel details to video detail fragment 2020-05-07 20:39:32 +02:00
Stypox
9ca6cfd637
Fix Kodi button showing up in unsupported services 2020-05-06 20:55:53 +02:00
bopol
d1c94f5120 adapt CommentsInfoItemExtractorRefactoring 2020-05-05 15:03:59 +02:00
wb9688
b630f269c4
Merge pull request #3511 from wb9688/ktlint
Ktlint
2020-05-04 15:13:07 +02:00
wb9688
40b1cd82b1
Merge pull request #2727 from vnagel/ageRestrictedContent
Restricted mode setting for youtube
2020-05-04 15:05:11 +02:00
Tobias Groza
cb5e7532ab
Merge pull request #3480 from wb9688/update-nanojson
Use our nanojson fork
2020-05-02 16:17:29 +02:00
wb9688
81c3e7e7f6 Use our nanojson fork 2020-05-02 16:03:15 +02:00
wb9688
b0415a5289 Auto-format using Ktlint 2020-05-01 20:13:21 +02:00
wb9688
ff7344438b Optimize imports 2020-05-01 20:13:01 +02:00
Stypox
b4ddc8f96c
Update to ExoPlayer 2.11.4 2020-05-01 15:03:54 +02:00
Tobias Groza
f4f4f062cf
Merge pull request #3495 from Stypox/fix-rotation
Fix rotation
2020-04-27 09:18:08 +02:00
Stypox
d8d9c7e171
Fix crashes on rotation by checking for null 2020-04-27 09:01:24 +02:00
bopol
77597b329e store isTv value to prevent calculating it again and again 2020-04-26 00:36:45 +02:00
bopol
f62f00b4ad Fix crash on Android 4.4 and surely other sdk versions 2020-04-25 23:38:34 +02:00
TheLastGimbus
1975973ff2 Update progress bar on fast forward/rewind 2020-04-25 15:46:56 +02:00
bopol
00262b4a49 Better detection of TV devices
Some devices were not detected as TV even though they are
2020-04-25 12:04:44 +02:00
Stypox
2db0d63c97
Merge pull request #3065 from GradyClark/dev
Added the ability to remove all watched videos from a local playlist
2020-04-23 23:52:28 +02:00
Stypox
437b86d1a7
Use centralized CompositeDisposable instead of custom Disposable
Also do not show any dialog if the user is aready removing watched videos in a local playlist
2020-04-23 23:35:00 +02:00
TobiGr
04ab753b26 Merge pull request Android TV support #2806
Closes #2806
2020-04-23 22:33:20 +02:00
TobiGr
651cdec9b5 Fix button ripples in VideoDetailFragment 2020-04-22 22:35:41 +02:00
Stypox
0ec22c7a6e
Fix pause button is not focused on player control activation 2020-04-21 09:25:09 +02:00
Grady Clark
73611004a0
Code cleanup, and best practices 2020-04-21 01:57:23 -05:00
Grady Clark
776ddddc83
fixed naming and formatting issues 2020-04-21 01:03:42 -05:00
Vincent Nagel
f60cce54ea rename setting to "YouTube restricted mode" 2020-04-20 21:47:32 -05:00
Vincent Nagel
63087a4311 renamed to "restricted mode" 2020-04-20 21:46:40 -05:00
Vincent Nagel
5a193d50f6 remove duplicate line 2020-04-20 21:45:32 -05:00
Vincent Nagel
08a6e999b9 fix checkstyle errors 2020-04-20 21:45:32 -05:00
Vincent Nagel
e33cdca1ef added logging when context null in onPrefTreeClick 2020-04-20 21:45:32 -05:00
Vincent Nagel
9ede7a3c42 setupTabs() if ageRestrictedContent pref changed 2020-04-20 21:45:32 -05:00
Vincent Nagel
430d4e1ccd ageRestrictedContent cookie only sent for youtube
Now the age restricted content cookie is only sent when sending a
request to youtube. There's no need to remove the cookie when the
service changes because whether to add the cookie is determined by
looking at the url the request is being sent to.
2020-04-20 21:45:32 -05:00
Vincent Nagel
de4d6037d3 ageRestrictedContent first draft
Cookie updated whenever ageRestrictedContent setting is changed or
service is changed. Right now there is only a cookie for youtube, but
cookies for other services could be added in the future.

Problems with this approach: Even when the service is set to youtube,
the downloader doesn't only request youtube urls e.g. it also sends
reqeusts to i.ytimg.com, suggestqueries.google.com, and yt3.ggpht.com.
The ageRestrictedContent cookie is not normally sent when sending
requests to these other urls, so doing so might have unknown effects.
2020-04-20 21:45:32 -05:00
wb9688
aa1cc32d17 Open comment author on TV at long press 2020-04-20 13:37:35 +02:00
bopol
b22398ae6c use nanojson instead of org.json 2020-04-20 11:02:45 +02:00
Tobias Groza
cd53518897
Merge pull request #3345 from mitosagi/error-with-bookmarks
Fix repeated exceptions in Bookmarked Playlists
2020-04-19 22:00:31 +02:00
wb9688
8e9b1b7213
Merge pull request #3414 from Stypox/recaptcha
Fix ReCaptcha Activity for another type of recaptcha page
2020-04-19 19:49:01 +02:00
Stypox
34aa3d3e00
Enqueue on long click on background/popup in channel 2020-04-19 10:34:07 +02:00
Grady Clark
db335d5cec
Removed redundant code
reorganized code
2020-04-16 12:58:16 -05:00
Stypox
ee5ce0c809
Save and restore cookies to/from preferences
So that the user does not have to solve a recaptcha every time he opens the app
2020-04-15 13:30:27 +02:00
Stypox
b8efef7c7a
Remove duplicate check if cookies are already present 2020-04-15 13:30:27 +02:00
Stypox
e2cbf40957
Fix recaptcha activity for another type of recaptcha page
Try to get cookies from pages even when they start loading, because non-html pages like ones with `pbj=1` never stop loading.
Try to extract the cookie directly from the redirection url, by looking at the field "google_abuse=".
Add `GOOGLE_ABUSE_EXEMPTION=` to the youtube recaptcha cookies.
2020-04-15 13:30:27 +02:00
TheLastGimbus
63afacc067 Add listeners in activity 2020-04-14 22:06:32 +02:00
Grady Clark
1d0c3de65f
Merge branch 'dev' of https://github.com/TeamNewPipe/NewPipe into dev 2020-04-14 13:24:57 -05:00
Grady Clark
fe1646caa0
Changed "Remove Watched":
- Will now execute on the io thread
- Added confirmation dialog
  - Warning the user, and asking if they also want to remove partially watched videos
2020-04-14 13:15:07 -05:00
Alexander--
850f51a156 When drawer opens, always place focus at it's start 2020-04-12 09:39:32 +06:59
Alexander--
54ceb85ebe Don't break navigation if player Views other than controls are focused 2020-04-11 16:04:38 +06:59
wb9688
b7ef60eedd
Merge pull request #3410 from wb9688/fix-restricted
Show error when video has age limit and setting is disabled
2020-04-11 09:44:25 +02:00
wb9688
70ede70ea8 Hide tabs when a video is age restricted 2020-04-11 09:30:12 +02:00
Alexander--
d1d942f3fd Fix Checkstyle violations in MediaSourceManager 2020-04-11 09:51:50 +06:59
Alexander--
53b3bda909 Comply with Checkstyle rules 2020-04-11 09:02:22 +06:59
Alexander--
ac5571a363 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-04-11 08:30:40 +06:59
Alexander--
c42f5eca87 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-04-11 08:24:05 +06:59
Tobias Groza
9cb6816b3c
Merge pull request #3294 from mauriciocolli/fix-network-issues-detection
Fix detection of network related exceptions
2020-04-10 23:10:34 +02:00
Stypox
a50e430cd9
Fix checkstyle issues and improve code formatting
Also calculate differently the moved distance of a pointer: use euclidean and not manhattan geometry
2020-04-10 22:12:45 +02:00
Harshal Lele
46918ee907
formatting changes 2020-04-10 22:10:32 +02:00
Harshal Lele
fe1889653e
made formatting changes 2020-04-10 22:10:32 +02:00
Harshal Lele
9487b5367d
changed popup resizing 2020-04-10 22:10:32 +02:00
Tobias Groza
6b47df75a7
Merge pull request #3412 from mauriciocolli/improve-drawer-title-size-handling
Improve size handling of the drawer header title
2020-04-10 22:04:53 +02:00
Mauricio Colli
506d1dc1f2
Improve size handling of the drawer header title
Some devices, specially with custom fonts that changed the font width,
weren't being correctly adjusted before.
2020-04-10 10:31:28 -03:00
wb9688
90f9819cbd Show error when video has age limit and setting is disabled 2020-04-10 15:29:48 +02:00
wb9688
2852815e1a Use suggested layout for search filters 2020-04-10 10:35:54 +02:00
wb9688
41a100613f Add ability to translate YouTube Music search options 2020-04-10 10:35:54 +02:00
Stypox
63e489f134 Use ITEM_COUNT_UNKNOWN 2020-04-10 10:35:54 +02:00
Stypox
914d3c4a66 Use "mini" stream count alternatives for info items
Note: more_than_100_videos_mini and infinite_videos_mini are untranslatable
2020-04-10 10:35:54 +02:00
Stypox
2b47a1b06a Also use localizeStreamCount() in local items 2020-04-10 10:35:54 +02:00
Stypox
625419a7db Detect ITEM_COUNT_* in localizeStreamCount()
ITEM_COUNT_INFINITE and ITEM_COUNT_MORE_THAN_100.
Use localizeStreamCount in PlaylistFragment and PlaylistItemHolder
2020-04-10 10:35:54 +02:00
Stypox
2710d9de5b Add support for INFINITE_ and MORE_THAN_100_ITEMS in playlists 2020-04-10 10:35:53 +02:00
bopol
4c128d837c handle ContentNotSupportedException for Channel Fragment (when an user has no video tab) 2020-04-10 09:12:29 +02:00
bopol
c392804f47 handle ContentNotSupportedException in ExtractorHelper.handleGeneralException() 2020-04-09 23:58:01 +02:00
bopol
cc7a25d9ce handle ContentNotSupportedException in BaseStateFragment
thus not supported soundcloud streams (e.g. hls streams) don't crash
anyore
2020-04-09 23:58:01 +02:00
wb9688
36b2bea25f
Merge pull request #3395 from kapodamy/checkstyle-warnings
remove some warnings issued by checkstyle
2020-04-09 21:08:53 +02:00
Mauricio Colli
913796ff0f
Use exception utils in network error detection throughout the app 2020-04-09 13:22:24 -03:00
Mauricio Colli
a1b9892c77
Move exception utils to a separate class and add tests for it 2020-04-09 13:22:18 -03:00
wb9688
03de4b29ea Suppress remaining Checkstyle errors 2020-04-09 17:24:43 +02:00
Tobias Groza
65cd9751d8
Merge pull request #3288 from XiangRongLin/save-playback
Save and restore playback parameters into/from preferences
2020-04-08 21:38:53 +02:00
kapodamy
ff9a1ebb1b checkstyle
* drop unused methods
* split blobs
* make no final parameters
2020-04-08 12:08:01 -03:00
wb9688
e4a4af34c5
Merge pull request #3276 from lnjX/fix/the-the-typo
ThemeHelper: Fix 'the the' typo
2020-04-07 09:25:00 +02:00
wb9688
b047e562ca
Merge branch 'dev' into fix/the-the-typo 2020-04-07 09:17:10 +02:00
Mauricio Colli
225b9e1b15
Fix visibility of group sort button in the subscriptions fragment 2020-04-05 16:57:28 -03:00
Xiang Rong Lin
3855e488cb Save and restore playback parameters into/from preferences
Playback parameters are speed, pitch and skip silence.
Remove parameters being passed on as intent to the player, since the parameters can be restored from the preferences instead.

# Conflicts:
#	app/src/main/java/org/schabi/newpipe/player/BasePlayer.java
2020-04-05 17:46:49 +02:00
Mauricio Colli
c726639484
Avoid unnecessary changes to the upload date of saved streams
The upload date was being updated regardless if the new one had more
precision or not, this caused items on the feed to jump around when the
user opened one of them.

This changes it to only update when the existent upload date is null or
the new one has a higher precision (i.e. is not an approximation).
2020-04-05 10:57:54 -03:00
mitosagi
4491b66872 Make null sortable 2020-04-05 17:26:00 +09:00
Tobias Groza
5653d443d9
Merge pull request #3344 from wb9688/checkfornewappversiontask-downloaderimpl
Use DownloaderImpl in CheckForNewAppVersionTask
2020-04-04 20:11:39 +02:00
wb9688
a5a497c4ea Clean up CheckForNewAppVersionTask 2020-04-04 19:34:13 +02:00
AioiLight
562754c0b9
Merge branch 'dev' into blocking-gesture-when-touch-from-navbar 2020-04-04 23:52:06 +09:00
Stypox
92ca1e6e09
Check if already running before removing watched 2020-04-03 20:41:21 +02:00
Stypox
6571fdbaa2
Fix checkstyle errors 2020-04-03 20:13:56 +02:00
Stypox
9c3f138b8e
Use binary search to remove watched items from playlists 2020-04-03 19:51:29 +02:00
developer
0ac2865b74
Optimised 'removeWatchedStreams'
Removed merge mistake
Reordered code
Refactored 'removeWatchedWorker' to 'removeWatchedDisposable'
2020-04-03 19:50:12 +02:00
Grady Clark
98fc88dec6
Simplified the removal of watched videos, into the function removeWatchedStreams
Replaced unnecessary nested class.
Fixed formating issues
2020-04-03 19:49:41 +02:00
Grady Clark
8cab790030
- Will now use ReactiveX instead of AsyncTask, when removing watched videos.
- Removed redundant file 'local_playlist_control'
- Fixed grammer issue
2020-04-03 19:49:41 +02:00
Grady Clark
954399b255
Moved the 'Remove Watched' button to the three dot menu button. 2020-04-03 19:49:01 +02:00
Grady Clark
66c95f901d
Added the ability to remove all watched videos from local playlists
Changes:
 - local_playlist_control.xml
   * A copy of playlist_control.xml
   * To hold the 'Remove Watched Videos' buttton

 - local_playlist_header.xml
   * Changed the include layout	to now include local_playlist_control.xml

 - strings.xml
   * added string 'remove_watched' with value 'Remove Watched'

 - LocalPlaylistFragment.java
   * Added the functionality to remove watched videos,
      to the 'Remove Watched Videos' button in local_playlist_control.xml.
      In the background via AsyncTask.
      This will also change the playlist's thumbnail, if the thumbnail video is removed.

Tested on:
 - Pixel
2020-04-03 19:47:31 +02:00
wb9688
15a53d299d Revert some more changes 2020-04-03 15:48:38 +02:00
Alexander--
3c193dca58 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-04-03 06:56:52 +06:59
AioiLight
d9c6f7acb6 Block the gesture when touch it from NavigationBar or StatusBar. 2020-04-03 05:11:36 +09:00
wb9688
41061d0289 Use DownloaderImpl in CheckForNewAppVersionTask 2020-04-02 20:13:05 +02:00
wb9688
b6c6dc7282 Use Checkstyle for org.schabi.newpipe.streams as well 2020-04-02 16:48:57 +02:00
wb9688
63bcc04eff Move things back to its original place 2020-04-02 15:57:50 +02:00
wb9688
fda5405e48 Improve code style to be more consistent 2020-04-02 15:57:50 +02:00
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
yausername
a0151f2a68
more grammar fix 2019-12-10 12:36:56 +05:30
yausername
fd5f4d9840
merged upstream/dev 2019-12-10 01:37:33 +05:30
Peter Hindes
98d7e6bcc6
Merge branch 'dev' into dev 2019-12-09 09:13:18 -07:00
Tobias Groza
27ca9ed8b8
Merge branch 'dev' into remember-subtitles 2019-12-09 16:55:37 +01:00
kapodamy
03939555ac add missing change after updating NPE
use +webm_opus instead of +opus
2019-12-07 00:16:01 -03:00
kapodamy
5a2cd93d13 remove netbeans editor-fold comments 2019-12-06 16:30:07 -03:00
Peter Hindes
ef69625cd2
Merge branch 'dev' into dev 2019-12-06 08:57:43 -07:00
Peter Hindes
ae88b4c697
remove unused code pt2 2019-12-06 08:38:15 -07:00
Peter Hindes
693756bdd6
Removed redundant. Related to last merge 2019-12-06 08:36:57 -07:00
Peter Hindes
c05633979c
Update app/src/main/java/org/schabi/newpipe/local/holder/RemotePlaylistItemHolder.java
Co-Authored-By: Redirion <redirion@web.de>
2019-12-06 08:35:14 -07:00
Peter Hindes
7d80d04f34
Remove unused code pt1 2019-12-06 08:32:45 -07:00
kapodamy
aae8865bdd remove unused imports 2019-12-05 14:04:48 -03:00
yausername
d2a59ecc62
grammar fix 2019-12-05 05:11:05 +05:30
yausername
17c5e73994
null check on share 2019-12-03 02:04:52 +05:30
yausername
890d1cb50b
update extractor, kiosk names and icons 2019-12-03 01:50:23 +05:30
Alexander--
3f51114129 Improve usability of settings on TV devices
* Add focus overlay to SettingsActivity
* Make screen "Contents of Main Page" navigable from remote
2019-12-01 12:43:38 +06:59
Alexander--
29136d633a Intercept ActivityNotFoundException for ACTION_CAPTIONING_SETTINGS 2019-12-01 12:43:38 +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--
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--
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
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
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
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
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
k1rakishou
e8437052d8 Add a setting for the lock screen thumbnail feature 2019-11-28 21:47:15 +03:00
k1rakishou
cf13f5ca56 Rebase onto the latest dev, update appcompat dependencies to use androidx 2019-11-28 21:47:15 +03:00
k1rakishou
52f82ed228 Show video thumbnail on the lock screen 2019-11-28 21:47:15 +03:00
kapodamy
84ec320df4 commit
* rebase fixup, add null check
* better ETA string
* drop connection read timeout, for HSDPA networks
* bump NPE version
2019-11-26 13:41:16 -03: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
763995d4c9 update DownloadDialog.java
keep *.opus extension
2019-11-26 10:46:29 -03:00
kapodamy
8a992d4c47 update WebMWriter.java
fix wrong cue generation
2019-11-26 10:46:29 -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
570738190d Mp4FromDashWriter fixes
* correct calculation of "co64" box and usage of 64bits offsets
* generate one chunk for audio streams like ffmpeg does, attempt to fix cut-off audio
* misc. cleanup
2019-11-26 10:46:26 -03:00