mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2025-08-22 10:09:39 +00:00
PlayerHolder: kotlinify getters
This commit is contained in:
parent
9b22773070
commit
fc7daa96e9
@ -32,25 +32,12 @@ class PlayerHolder private constructor() {
|
|||||||
private set
|
private set
|
||||||
private var playerService: PlayerService? = null
|
private var playerService: PlayerService? = null
|
||||||
|
|
||||||
private val player: Optional<Player?>
|
private val player: Player?
|
||||||
get() = Optional.ofNullable<PlayerService?>(playerService)
|
get() = playerService?.player
|
||||||
.flatMap<Player?>(
|
|
||||||
Function { s: PlayerService? ->
|
|
||||||
Optional.ofNullable<Player?>(
|
|
||||||
s!!.player
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
private val playQueue: Optional<PlayQueue?>
|
private val playQueue: PlayQueue?
|
||||||
get() = // player play queue might be null e.g. while player is starting
|
get() = // player play queue might be null e.g. while player is starting
|
||||||
this.player.flatMap<PlayQueue?>(
|
this.player?.playQueue
|
||||||
Function { p: Player? ->
|
|
||||||
Optional.ofNullable<PlayQueue?>(
|
|
||||||
p!!.getPlayQueue()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
val type: PlayerType?
|
val type: PlayerType?
|
||||||
/**
|
/**
|
||||||
@ -59,15 +46,13 @@ class PlayerHolder private constructor() {
|
|||||||
*
|
*
|
||||||
* @return Current PlayerType
|
* @return Current PlayerType
|
||||||
*/
|
*/
|
||||||
get() = this.player.map<PlayerType?>(Function { obj: Player? -> obj!!.getPlayerType() })
|
get() = this.player?.playerType
|
||||||
.orElse(null)
|
|
||||||
|
|
||||||
val isPlaying: Boolean
|
val isPlaying: Boolean
|
||||||
get() = this.player.map<Boolean?>(Function { obj: Player? -> obj!!.isPlaying() })
|
get() = this.player?.isPlaying == true
|
||||||
.orElse(false)
|
|
||||||
|
|
||||||
val isPlayerOpen: Boolean
|
val isPlayerOpen: Boolean
|
||||||
get() = this.player.isPresent()
|
get() = this.player != null
|
||||||
|
|
||||||
val isPlayQueueReady: Boolean
|
val isPlayQueueReady: Boolean
|
||||||
/**
|
/**
|
||||||
@ -75,13 +60,13 @@ class PlayerHolder private constructor() {
|
|||||||
* the stream long press menu) when there actually is a play queue to manipulate.
|
* the stream long press menu) when there actually is a play queue to manipulate.
|
||||||
* @return true only if the player is open and its play queue is ready (i.e. it is not null)
|
* @return true only if the player is open and its play queue is ready (i.e. it is not null)
|
||||||
*/
|
*/
|
||||||
get() = this.playQueue.isPresent()
|
get() = this.playQueue != null
|
||||||
|
|
||||||
val queueSize: Int
|
val queueSize: Int
|
||||||
get() = this.playQueue.map<Int?>(Function { obj: PlayQueue? -> obj!!.size() }).orElse(0)
|
get() = this.playQueue?.size() ?: 0
|
||||||
|
|
||||||
val queuePosition: Int
|
val queuePosition: Int
|
||||||
get() = this.playQueue.map<Int?>(Function { obj: PlayQueue? -> obj!!.getIndex() }).orElse(0)
|
get() = this.playQueue?.index ?: 0
|
||||||
|
|
||||||
fun setListener(newListener: PlayerServiceExtendedEventListener?) {
|
fun setListener(newListener: PlayerServiceExtendedEventListener?) {
|
||||||
listener = newListener
|
listener = newListener
|
||||||
@ -182,16 +167,12 @@ class PlayerHolder private constructor() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
playerService = s
|
playerService = s
|
||||||
if (listener != null) {
|
val l = listener
|
||||||
listener!!.onServiceConnected(s)
|
if (l != null) {
|
||||||
this@PlayerHolder.player.ifPresent(
|
l.onServiceConnected(s)
|
||||||
Consumer { p: Player? ->
|
player?.let {
|
||||||
listener!!.onPlayerConnected(
|
l.onPlayerConnected(it, playAfterConnect)
|
||||||
p!!,
|
}
|
||||||
playAfterConnect
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
startPlayerListener()
|
startPlayerListener()
|
||||||
|
|
||||||
@ -252,14 +233,14 @@ class PlayerHolder private constructor() {
|
|||||||
// player in the service is (not) already active, also see playerStateListener below
|
// player in the service is (not) already active, also see playerStateListener below
|
||||||
playerService!!.setPlayerListener(playerStateListener)
|
playerService!!.setPlayerListener(playerStateListener)
|
||||||
}
|
}
|
||||||
this.player.ifPresent(Consumer { p: Player? -> p!!.setFragmentListener(internalListener) })
|
this.player?.setFragmentListener(internalListener)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun stopPlayerListener() {
|
private fun stopPlayerListener() {
|
||||||
if (playerService != null) {
|
if (playerService != null) {
|
||||||
playerService!!.setPlayerListener(null)
|
playerService!!.setPlayerListener(null)
|
||||||
}
|
}
|
||||||
this.player.ifPresent(Consumer { p: Player? -> p!!.removeFragmentListener(internalListener) })
|
this.player?.removeFragmentListener(internalListener)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user