implementation 'org.jetbrains.kotlin:kotlin-reflect:1.6.0'
kotlin
interface MusicPlayer {
fun getCurrentSongInfo(): String
}
kotlin
class LocalMusicPlayer : MusicPlayer {
override fun getCurrentSongInfo(): String {
}
}
class StreamingMusicPlayer : MusicPlayer {
override fun getCurrentSongInfo(): String {
}
}
kotlin
fun getCurrentPlayer(): MusicPlayer? {
val players = listOf(LocalMusicPlayer(), StreamingMusicPlayer())
return players.find { it::class.java.simpleName == currentPlayerClassName }
}