mirror of
https://github.com/androidx/media.git
synced 2025-04-29 22:36:54 +08:00
Refactor PlayerSurface Kotlin syntax to avoid variable shadowing
PiperOrigin-RevId: 751414538
This commit is contained in:
parent
ae7d7dc7e8
commit
fe59718805
@ -58,16 +58,16 @@ fun PlayerSurface(
|
|||||||
player,
|
player,
|
||||||
modifier,
|
modifier,
|
||||||
createView = { SurfaceView(it) },
|
createView = { SurfaceView(it) },
|
||||||
setViewOnPlayer = { player, view -> player.setVideoSurfaceView(view) },
|
setViewOnPlayer = { setVideoSurfaceView(it) },
|
||||||
clearViewFromPlayer = { player, view -> player.clearVideoSurfaceView(view) },
|
clearViewFromPlayer = { clearVideoSurfaceView(it) },
|
||||||
)
|
)
|
||||||
SURFACE_TYPE_TEXTURE_VIEW ->
|
SURFACE_TYPE_TEXTURE_VIEW ->
|
||||||
PlayerSurfaceInternal(
|
PlayerSurfaceInternal(
|
||||||
player,
|
player,
|
||||||
modifier,
|
modifier,
|
||||||
createView = { TextureView(it) },
|
createView = { TextureView(it) },
|
||||||
setViewOnPlayer = { player, view -> player.setVideoTextureView(view) },
|
setViewOnPlayer = { setVideoTextureView(it) },
|
||||||
clearViewFromPlayer = { player, view -> player.clearVideoTextureView(view) },
|
clearViewFromPlayer = { clearVideoTextureView(it) },
|
||||||
)
|
)
|
||||||
else -> throw IllegalArgumentException("Unrecognized surface type: $surfaceType")
|
else -> throw IllegalArgumentException("Unrecognized surface type: $surfaceType")
|
||||||
}
|
}
|
||||||
@ -78,8 +78,8 @@ private fun <T : View> PlayerSurfaceInternal(
|
|||||||
player: Player,
|
player: Player,
|
||||||
modifier: Modifier,
|
modifier: Modifier,
|
||||||
createView: (Context) -> T,
|
createView: (Context) -> T,
|
||||||
setViewOnPlayer: (Player, T) -> Unit,
|
setViewOnPlayer: Player.(T) -> Unit,
|
||||||
clearViewFromPlayer: (Player, T) -> Unit,
|
clearViewFromPlayer: Player.(T) -> Unit,
|
||||||
) {
|
) {
|
||||||
var view by remember { mutableStateOf<T?>(null) }
|
var view by remember { mutableStateOf<T?>(null) }
|
||||||
var registeredPlayer by remember { mutableStateOf<Player?>(null) }
|
var registeredPlayer by remember { mutableStateOf<Player?>(null) }
|
||||||
@ -88,11 +88,11 @@ private fun <T : View> PlayerSurfaceInternal(
|
|||||||
LaunchedEffect(view, player) {
|
LaunchedEffect(view, player) {
|
||||||
registeredPlayer?.let { previousPlayer ->
|
registeredPlayer?.let { previousPlayer ->
|
||||||
if (previousPlayer.isCommandAvailable(Player.COMMAND_SET_VIDEO_SURFACE))
|
if (previousPlayer.isCommandAvailable(Player.COMMAND_SET_VIDEO_SURFACE))
|
||||||
clearViewFromPlayer(previousPlayer, view)
|
previousPlayer.clearViewFromPlayer(view)
|
||||||
registeredPlayer = null
|
registeredPlayer = null
|
||||||
}
|
}
|
||||||
if (player.isCommandAvailable(Player.COMMAND_SET_VIDEO_SURFACE)) {
|
if (player.isCommandAvailable(Player.COMMAND_SET_VIDEO_SURFACE)) {
|
||||||
setViewOnPlayer(player, view)
|
player.setViewOnPlayer(view)
|
||||||
registeredPlayer = player
|
registeredPlayer = player
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user