Fixed image loading

Signed-off-by: Balazs Toldi <balazs@toldi.eu>
This commit is contained in:
Balazs Toldi 2022-01-03 11:23:02 +01:00
parent 55ca983cf7
commit 5933cd2b8a
Signed by: Bazsalanszky
GPG key ID: 933820884952BE27

View file

@ -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() {