Skip to content

Commit cc3ecd4

Browse files
ProfpatschStypox
authored andcommitted
VideoDetailFragment: convert to kotlin (mechanical, fixup)
Mostly 1:1, I had to fix a few places where the automatic conversion did not infer the right kotlin types, and places where it tried to convert to `double` instead of using `float` like the original. Everything else is the result of automatic conversion.
1 parent bf72fd1 commit cc3ecd4

1 file changed

Lines changed: 27 additions & 28 deletions

File tree

app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.kt

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ import org.schabi.newpipe.util.ExtractorHelper
112112
import org.schabi.newpipe.util.InfoCache
113113
import org.schabi.newpipe.util.ListHelper
114114
import org.schabi.newpipe.util.Localization
115+
import org.schabi.newpipe.util.NO_SERVICE_ID
115116
import org.schabi.newpipe.util.NavigationHelper
116117
import org.schabi.newpipe.util.PermissionHelper
117118
import 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

Comments
 (0)