Skip to content

Commit 9a6b21c

Browse files
committed
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 f22b75f commit 9a6b21c

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
},
@@ -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

Comments
 (0)