@@ -112,6 +112,7 @@ import org.schabi.newpipe.util.ExtractorHelper
112112import org.schabi.newpipe.util.InfoCache
113113import org.schabi.newpipe.util.ListHelper
114114import org.schabi.newpipe.util.Localization
115+ import org.schabi.newpipe.util.NO_SERVICE_ID
115116import org.schabi.newpipe.util.NavigationHelper
116117import org.schabi.newpipe.util.PermissionHelper
117118import org.schabi.newpipe.util.PlayButtonHelper
@@ -229,7 +230,7 @@ class VideoDetailFragment :
229230 // It will do nothing if the player is not in fullscreen mode
230231 hideSystemUiIfNeeded()
231232
232- val playerUi: Optional <MainPlayerUi ? > =
233+ val playerUi: Optional <MainPlayerUi > =
233234 player!! .UIs ().getOpt<MainPlayerUi >(MainPlayerUi ::class .java)
234235 if (! player!! .videoPlayerSelected() && ! playAfterConnect) {
235236 return
@@ -469,8 +470,7 @@ class VideoDetailFragment :
469470 makeOnClickListener(
470471 Consumer { info: StreamInfo ? ->
471472 if (getFM() != null && currentInfo != null ) {
472- val fragment = getParentFragmentManager().findFragmentById
473- (R .id.fragment_holder)
473+ val fragment = getParentFragmentManager().findFragmentById(R .id.fragment_holder)
474474
475475 // commit previous pending changes to database
476476 if (fragment is LocalPlaylistFragment ) {
@@ -715,7 +715,7 @@ class VideoDetailFragment :
715715 View .GONE
716716 )
717717 binding!! .detailControlsCrashThePlayer.setVisibility(
718- if (DEBUG && PreferenceManager .getDefaultSharedPreferences(getContext() !! )
718+ if (DEBUG && PreferenceManager .getDefaultSharedPreferences(requireContext() )
719719 .getBoolean(getString(R .string.show_crash_the_player_key), false )
720720 )
721721 View .VISIBLE
@@ -887,11 +887,11 @@ class VideoDetailFragment :
887887 Handler (Looper .getMainLooper()).postDelayed(
888888 Runnable {
889889 if (activity == null ) {
890- return @postDelayed
890+ return @Runnable
891891 }
892892 // Data can already be drawn, don't spend time twice
893893 if (info.getName() == binding!! .detailVideoTitleView.getText().toString()) {
894- return @postDelayed
894+ return @Runnable
895895 }
896896 prepareAndHandleInfo(info, scrollToTop)
897897 },
@@ -1298,7 +1298,7 @@ class VideoDetailFragment :
12981298 removeVideoPlayerView()
12991299 if (this .isAutoplayEnabled) {
13001300 playerService!! .stopForImmediateReusing()
1301- root.ifPresent(Consumer { view: View ? -> view!! .setVisibility(View .GONE ) })
1301+ root.ifPresent(Consumer { view: View -> view.setVisibility(View .GONE ) })
13021302 } else {
13031303 playerHolder.stopService()
13041304 }
@@ -1375,7 +1375,7 @@ class VideoDetailFragment :
13751375 Handler (Looper .getMainLooper()).post(
13761376 Runnable {
13771377 if (! this .isPlayerAvailable || getView() == null ) {
1378- return @post
1378+ return @Runnable
13791379 }
13801380 // setup the surface view height, so that it fits the video correctly
13811381 setHeightThumbnail()
@@ -1426,7 +1426,7 @@ class VideoDetailFragment :
14261426 activity.getWindow().getDecorView()
14271427 ).getHeight()
14281428 setHeightThumbnail(height, metrics)
1429- getView() !! .getViewTreeObserver().removeOnPreDrawListener(preDrawListener)
1429+ requireView() .getViewTreeObserver().removeOnPreDrawListener(preDrawListener)
14301430 }
14311431 return false
14321432 }
@@ -1629,11 +1629,11 @@ class VideoDetailFragment :
16291629 binding!! .detailSubChannelThumbnailView.setImageBitmap(null )
16301630 }
16311631
1632- override fun handleResult (info : StreamInfo ) {
1632+ override fun handleResult (info : StreamInfo ? ) {
16331633 super .handleResult(info)
16341634
16351635 currentInfo = info
1636- setInitialData(info.getServiceId(), info.getOriginalUrl(), info.getName(), playQueue)
1636+ setInitialData(info!! .getServiceId(), info.getOriginalUrl(), info.getName(), playQueue)
16371637
16381638 updateTabs(info)
16391639
@@ -2279,7 +2279,7 @@ class VideoDetailFragment :
22792279 binding!! .detailControlsOpenInBrowser.setBackgroundColor(transparent)
22802280 binding!! .detailControlsPlayWithKodi.setBackgroundColor(transparent)
22812281 }
2282- if (DeviceUtils .isDesktopMode(getContext() !! )) {
2282+ if (DeviceUtils .isDesktopMode(requireContext() )) {
22832283 // Remove the "hover" overlay (since it is visible on all mouse events and interferes
22842284 // with the video content being played)
22852285 binding!! .detailThumbnailRootLayout.setForeground(null )
@@ -2311,9 +2311,9 @@ class VideoDetailFragment :
23112311
23122312 private fun findQueueInStack (queue : PlayQueue ? ): StackItem ? {
23132313 var item: StackItem ? = null
2314- val iterator: MutableIterator <StackItem > = stack.descendingIterator()
2314+ val iterator: MutableIterator <StackItem ? > = stack.descendingIterator()
23152315 while (iterator.hasNext()) {
2316- val next = iterator.next()
2316+ val next = iterator.next()!!
23172317 if (next.getPlayQueue().equalStreams(queue)) {
23182318 item = next
23192319 break
@@ -2382,9 +2382,9 @@ class VideoDetailFragment :
23822382 } else {
23832383 val selectedVideoStreamIndexForExternalPlayers =
23842384 ListHelper .getDefaultResolutionIndex(activity, videoStreamsForExternalPlayers)
2385- val resolutions = videoStreamsForExternalPlayers.stream()
2386- .map< String ?> { obj : VideoStream ? -> obj !! .getResolution() }
2387- .toArray< CharSequence ?> { _Dummy_ . __Array__ () }
2385+ val resolutions = videoStreamsForExternalPlayers.map {
2386+ it !! .getResolution() as CharSequence
2387+ }.toTypedArray()
23882388
23892389 builder.setSingleChoiceItems(
23902390 resolutions, selectedVideoStreamIndexForExternalPlayers,
@@ -2432,14 +2432,13 @@ class VideoDetailFragment :
24322432 } else {
24332433 val selectedAudioStream =
24342434 ListHelper .getDefaultAudioFormat(activity, audioTracks)
2435- val trackNames = audioTracks.stream()
2436- .map< String ?> { audioStream: AudioStream ? ->
2435+ val trackNames = audioTracks
2436+ .map { audioStream: AudioStream ? ->
24372437 Localization .audioTrackName(
24382438 activity,
24392439 audioStream
24402440 )
2441- }
2442- .toArray<CharSequence ?> { _Dummy_ .__Array__ () }
2441+ }.toTypedArray()
24432442
24442443 AlertDialog .Builder (activity)
24452444 .setTitle(R .string.select_audio_track_external_players)
@@ -2478,7 +2477,7 @@ class VideoDetailFragment :
24782477 playerHolder.stopService()
24792478 setInitialData(0 , null , " " , null )
24802479 currentInfo = null
2481- updateOverlayData(null , null , mutableListOf<Image ? >())
2480+ updateOverlayData(null , null , mutableListOf<Image >())
24822481 }
24832482
24842483 /* //////////////////////////////////////////////////////////////////////////
@@ -2590,9 +2589,9 @@ class VideoDetailFragment :
25902589 hideSystemUiIfNeeded()
25912590 // Conditions when the player should be expanded to fullscreen
25922591 if (DeviceUtils .isLandscape(requireContext()) &&
2593- this .isPlayerAvailable &&
2592+ this @VideoDetailFragment .isPlayerAvailable &&
25942593 player!! .isPlaying() &&
2595- ! this .isFullscreen && ! DeviceUtils .isTablet(activity)
2594+ ! this @VideoDetailFragment .isFullscreen && ! DeviceUtils .isTablet(activity)
25962595 ) {
25972596 player!! .UIs ().getOpt<MainPlayerUi >(MainPlayerUi ::class .java)
25982597 .ifPresent(Consumer { obj: MainPlayerUi ? -> obj!! .toggleFullscreen() })
@@ -2608,18 +2607,18 @@ class VideoDetailFragment :
26082607
26092608 // Re-enable clicks
26102609 setOverlayElementsClickable(true )
2611- if (this .isPlayerAvailable) {
2610+ if (this @VideoDetailFragment .isPlayerAvailable) {
26122611 player!! .UIs ().getOpt<MainPlayerUi >(MainPlayerUi ::class .java)
26132612 .ifPresent(Consumer { obj: MainPlayerUi ? -> obj!! .closeItemsList() })
26142613 }
26152614 setOverlayLook(binding!! .appBarLayout, behavior, 0f )
26162615 }
26172616
26182617 BottomSheetBehavior .STATE_DRAGGING , BottomSheetBehavior .STATE_SETTLING -> {
2619- if (this .isFullscreen) {
2618+ if (this @VideoDetailFragment .isFullscreen) {
26202619 showSystemUi()
26212620 }
2622- if (this .isPlayerAvailable) {
2621+ if (this @VideoDetailFragment .isPlayerAvailable) {
26232622 player!! .UIs ().getOpt<MainPlayerUi >(MainPlayerUi ::class .java).ifPresent(
26242623 Consumer { ui: MainPlayerUi ? ->
26252624 if (ui!! .isControlsVisible()) {
@@ -2667,7 +2666,7 @@ class VideoDetailFragment :
26672666 private fun updateOverlayData (
26682667 overlayTitle : String? ,
26692668 uploader : String? ,
2670- thumbnails : MutableList <Image ? >
2669+ thumbnails : MutableList <Image >
26712670 ) {
26722671 binding!! .overlayTitleTextView.setText(if (TextUtils .isEmpty(overlayTitle)) " " else overlayTitle)
26732672 binding!! .overlayChannelTextView.setText(if (TextUtils .isEmpty(uploader)) " " else uploader)
0 commit comments