Commit graph

2546 commits

Author SHA1 Message Date
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
897c754dd4 Convert MissionRecoveryInfo to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:29 +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
Tobias Groza
c4a739bef6
Merge pull request #4562 from Stypox/fix-detail-open
Fix opening VideoDetailFragment and much more
2020-11-09 22:04:39 +01:00
Stypox
60dc9d27bc
Merge pull request #4784 from bd0n4lds/Dont-Use-Float-Type-For-Loop-Indices
Change loop index from float to int
2020-11-09 13:04:17 +01:00
Bri@n
9eb0f48a7a
Change loop index from float to int 2020-11-09 12:55:59 +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
3b69e0dd25 Use RxJava instead of AsyncTask in MissionAdapter. 2020-11-05 11:06: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
1a64d8aec9 Replace a ContextCompat with LayoutInflater.from 2020-10-31 15:54:19 -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
2215ce58a4
Merge pull request #3794 from budde25/download-same-file-crash
Fixes crash when a file is deleted then redownloaded
2020-09-09 15:41:06 +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