@@ -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 },
@@ -1296,7 +1296,7 @@ class VideoDetailFragment :
12961296 removeVideoPlayerView()
12971297 if (this .isAutoplayEnabled) {
12981298 playerService!! .stopForImmediateReusing()
1299- root.ifPresent(Consumer { view: View ? -> view!! .setVisibility(View .GONE ) })
1299+ root.ifPresent(Consumer { view: View -> view.setVisibility(View .GONE ) })
13001300 } else {
13011301 playerHolder.stopService()
13021302 }
@@ -1373,7 +1373,7 @@ class VideoDetailFragment :
13731373 Handler (Looper .getMainLooper()).post(
13741374 Runnable {
13751375 if (! this .isPlayerAvailable || getView() == null ) {
1376- return @post
1376+ return @Runnable
13771377 }
13781378 // setup the surface view height, so that it fits the video correctly
13791379 setHeightThumbnail()
@@ -1424,7 +1424,7 @@ class VideoDetailFragment :
14241424 activity.getWindow().getDecorView()
14251425 ).getHeight()
14261426 setHeightThumbnail(height, metrics)
1427- getView() !! .getViewTreeObserver().removeOnPreDrawListener(preDrawListener)
1427+ requireView() .getViewTreeObserver().removeOnPreDrawListener(preDrawListener)
14281428 }
14291429 return false
14301430 }
@@ -1627,11 +1627,11 @@ class VideoDetailFragment :
16271627 binding!! .detailSubChannelThumbnailView.setImageBitmap(null )
16281628 }
16291629
1630- override fun handleResult (info : StreamInfo ) {
1630+ override fun handleResult (info : StreamInfo ? ) {
16311631 super .handleResult(info)
16321632
16331633 currentInfo = info
1634- setInitialData(info.getServiceId(), info.getOriginalUrl(), info.getName(), playQueue)
1634+ setInitialData(info!! .getServiceId(), info.getOriginalUrl(), info.getName(), playQueue)
16351635
16361636 updateTabs(info)
16371637
@@ -2277,7 +2277,7 @@ class VideoDetailFragment :
22772277 binding!! .detailControlsOpenInBrowser.setBackgroundColor(transparent)
22782278 binding!! .detailControlsPlayWithKodi.setBackgroundColor(transparent)
22792279 }
2280- if (DeviceUtils .isDesktopMode(getContext() !! )) {
2280+ if (DeviceUtils .isDesktopMode(requireContext() )) {
22812281 // Remove the "hover" overlay (since it is visible on all mouse events and interferes
22822282 // with the video content being played)
22832283 binding!! .detailThumbnailRootLayout.setForeground(null )
@@ -2309,9 +2309,9 @@ class VideoDetailFragment :
23092309
23102310 private fun findQueueInStack (queue : PlayQueue ? ): StackItem ? {
23112311 var item: StackItem ? = null
2312- val iterator: MutableIterator <StackItem > = stack.descendingIterator()
2312+ val iterator: MutableIterator <StackItem ? > = stack.descendingIterator()
23132313 while (iterator.hasNext()) {
2314- val next = iterator.next()
2314+ val next = iterator.next()!!
23152315 if (next.getPlayQueue().equals(queue)) {
23162316 item = next
23172317 break
@@ -2380,9 +2380,9 @@ class VideoDetailFragment :
23802380 } else {
23812381 val selectedVideoStreamIndexForExternalPlayers =
23822382 ListHelper .getDefaultResolutionIndex(activity, videoStreamsForExternalPlayers)
2383- val resolutions = videoStreamsForExternalPlayers.stream()
2384- .map< String ?> { obj : VideoStream ? -> obj !! .getResolution() }
2385- .toArray< CharSequence ?> { _Dummy_ . __Array__ () }
2383+ val resolutions = videoStreamsForExternalPlayers.map {
2384+ it !! .getResolution() as CharSequence
2385+ }.toTypedArray()
23862386
23872387 builder.setSingleChoiceItems(
23882388 resolutions, selectedVideoStreamIndexForExternalPlayers,
@@ -2430,14 +2430,13 @@ class VideoDetailFragment :
24302430 } else {
24312431 val selectedAudioStream =
24322432 ListHelper .getDefaultAudioFormat(activity, audioTracks)
2433- val trackNames = audioTracks.stream()
2434- .map< String ?> { audioStream: AudioStream ? ->
2433+ val trackNames = audioTracks
2434+ .map { audioStream: AudioStream ? ->
24352435 Localization .audioTrackName(
24362436 activity,
24372437 audioStream
24382438 )
2439- }
2440- .toArray<CharSequence ?> { _Dummy_ .__Array__ () }
2439+ }.toTypedArray()
24412440
24422441 AlertDialog .Builder (activity)
24432442 .setTitle(R .string.select_audio_track_external_players)
@@ -2476,7 +2475,7 @@ class VideoDetailFragment :
24762475 playerHolder.stopService()
24772476 setInitialData(0 , null , " " , null )
24782477 currentInfo = null
2479- updateOverlayData(null , null , mutableListOf<Image ? >())
2478+ updateOverlayData(null , null , mutableListOf<Image >())
24802479 }
24812480
24822481 /* //////////////////////////////////////////////////////////////////////////
@@ -2588,9 +2587,9 @@ class VideoDetailFragment :
25882587 hideSystemUiIfNeeded()
25892588 // Conditions when the player should be expanded to fullscreen
25902589 if (DeviceUtils .isLandscape(requireContext()) &&
2591- this .isPlayerAvailable &&
2590+ this @VideoDetailFragment .isPlayerAvailable &&
25922591 player!! .isPlaying() &&
2593- ! this .isFullscreen && ! DeviceUtils .isTablet(activity)
2592+ ! this @VideoDetailFragment .isFullscreen && ! DeviceUtils .isTablet(activity)
25942593 ) {
25952594 player!! .UIs ().getOpt<MainPlayerUi >(MainPlayerUi ::class .java)
25962595 .ifPresent(Consumer { obj: MainPlayerUi ? -> obj!! .toggleFullscreen() })
@@ -2606,18 +2605,18 @@ class VideoDetailFragment :
26062605
26072606 // Re-enable clicks
26082607 setOverlayElementsClickable(true )
2609- if (this .isPlayerAvailable) {
2608+ if (this @VideoDetailFragment .isPlayerAvailable) {
26102609 player!! .UIs ().getOpt<MainPlayerUi >(MainPlayerUi ::class .java)
26112610 .ifPresent(Consumer { obj: MainPlayerUi ? -> obj!! .closeItemsList() })
26122611 }
26132612 setOverlayLook(binding!! .appBarLayout, behavior, 0f )
26142613 }
26152614
26162615 BottomSheetBehavior .STATE_DRAGGING , BottomSheetBehavior .STATE_SETTLING -> {
2617- if (this .isFullscreen) {
2616+ if (this @VideoDetailFragment .isFullscreen) {
26182617 showSystemUi()
26192618 }
2620- if (this .isPlayerAvailable) {
2619+ if (this @VideoDetailFragment .isPlayerAvailable) {
26212620 player!! .UIs ().getOpt<MainPlayerUi >(MainPlayerUi ::class .java).ifPresent(
26222621 Consumer { ui: MainPlayerUi ? ->
26232622 if (ui!! .isControlsVisible()) {
@@ -2665,7 +2664,7 @@ class VideoDetailFragment :
26652664 private fun updateOverlayData (
26662665 overlayTitle : String? ,
26672666 uploader : String? ,
2668- thumbnails : MutableList <Image ? >
2667+ thumbnails : MutableList <Image >
26692668 ) {
26702669 binding!! .overlayTitleTextView.setText(if (TextUtils .isEmpty(overlayTitle)) " " else overlayTitle)
26712670 binding!! .overlayChannelTextView.setText(if (TextUtils .isEmpty(uploader)) " " else uploader)
0 commit comments