Fixed image loading
Signed-off-by: Balazs Toldi <balazs@toldi.eu>
This commit is contained in:
parent
55ca983cf7
commit
5933cd2b8a
1 changed files with 71 additions and 50 deletions
|
@ -36,6 +36,7 @@ import su.litvak.chromecast.api.v2.MediaStatus
|
||||||
class ChromecastManagerActivity : ComponentActivity() {
|
class ChromecastManagerActivity : ComponentActivity() {
|
||||||
companion object {
|
companion object {
|
||||||
var chromeCast_: ChromeCast? = null
|
var chromeCast_: ChromeCast? = null
|
||||||
|
const val METADATA_THUMB = "thumb"
|
||||||
}
|
}
|
||||||
|
|
||||||
private lateinit var chromeCast: ChromeCast
|
private lateinit var chromeCast: ChromeCast
|
||||||
|
@ -102,6 +103,17 @@ class ChromecastManagerActivity : ComponentActivity() {
|
||||||
CircularProgressIndicator()
|
CircularProgressIndicator()
|
||||||
}
|
}
|
||||||
PlayBackControl()
|
PlayBackControl()
|
||||||
|
mediaStatus()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun mediaStatus() {
|
||||||
val mediaStatus = viewModel.mediaStatus.value
|
val mediaStatus = viewModel.mediaStatus.value
|
||||||
|
|
||||||
if (mediaStatus != null) {
|
if (mediaStatus != null) {
|
||||||
|
@ -112,9 +124,14 @@ class ChromecastManagerActivity : ComponentActivity() {
|
||||||
Text(text = stringResource(id = R.string.now_playing) + ": $nowPlaying")
|
Text(text = stringResource(id = R.string.now_playing) + ": $nowPlaying")
|
||||||
var sliderPosition by remember { mutableStateOf(0.0f) }
|
var sliderPosition by remember { mutableStateOf(0.0f) }
|
||||||
var sliderMoving by remember { mutableStateOf(false) }
|
var sliderMoving by remember { mutableStateOf(false) }
|
||||||
|
if (mediaStatus.media.duration != null) {
|
||||||
|
|
||||||
|
|
||||||
if (!sliderMoving)
|
if (!sliderMoving)
|
||||||
sliderPosition =
|
sliderPosition =
|
||||||
(mediaStatus.currentTime / mediaStatus.media.duration).toFloat()
|
(mediaStatus.currentTime / mediaStatus.media.duration).toFloat()
|
||||||
|
}
|
||||||
|
if (mediaStatus.media.metadata[Media.METADATA_IMAGES] != null) {
|
||||||
val images =
|
val images =
|
||||||
mediaStatus.media.metadata[Media.METADATA_IMAGES] as ArrayList<LinkedHashMap<String, String>>
|
mediaStatus.media.metadata[Media.METADATA_IMAGES] as ArrayList<LinkedHashMap<String, String>>
|
||||||
if (images.size >= 1 && images[0].containsKey("url")) {
|
if (images.size >= 1 && images[0].containsKey("url")) {
|
||||||
|
@ -125,6 +142,16 @@ class ChromecastManagerActivity : ComponentActivity() {
|
||||||
modifier = Modifier.fillMaxWidth()
|
modifier = Modifier.fillMaxWidth()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
} else if (mediaStatus.media.metadata[METADATA_THUMB] != null) {
|
||||||
|
val image =
|
||||||
|
mediaStatus.media.metadata[METADATA_THUMB] as String
|
||||||
|
Log.e("Caster", image)
|
||||||
|
Image(
|
||||||
|
painter = rememberImagePainter(image),
|
||||||
|
contentDescription = null,
|
||||||
|
modifier = Modifier.fillMaxWidth()
|
||||||
|
)
|
||||||
|
}
|
||||||
Row(
|
Row(
|
||||||
Modifier.fillMaxWidth(),
|
Modifier.fillMaxWidth(),
|
||||||
horizontalArrangement = Arrangement.SpaceBetween
|
horizontalArrangement = Arrangement.SpaceBetween
|
||||||
|
@ -153,12 +180,6 @@ class ChromecastManagerActivity : ComponentActivity() {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MenuBar() {
|
fun MenuBar() {
|
||||||
|
|
Loading…
Reference in a new issue