Проблема в том, что строка продолжительности обновляется с помощью значение меняется плавно, когда я устанавливаю отладочную сборку, но когда я устанавливаю релизную сборку, строка длительности обновляется до «00:02» и зависает на «00:02», после этого больше не обновляется.
Код: Выделить всё
//this is how I'm calling it
CallStatusInfo(
modifier = Modifier
.align(Alignment.Center)
.padding(vertical = 8.dp),
callStatus = viewModel.callStatus,
callDuration = viewModel.callDuration
)
@OptIn(ExperimentalFoundationApi::class)
@Composable
fun CallStatusInfo(modifier: Modifier = Modifier, callStatus: String, callDuration: String?) {
Text(
modifier = modifier.basicMarquee(),
text = when(callStatus){
"ringing" -> "ringing"
"connected" -> callDuration ?: ""
else -> ""
},
style = MaterialTheme.typography.body2,
fontWeight = FontWeight.W600,
maxLines = 1
)
}
Примечание: Приведенный ниже код — это не мой точный код, а его короткая версия этого.
Код: Выделить всё
var callDuration by mutableStateOf(null)
private set
var callStatus by mutableStateOf("connected")
private set
private var startTime = Instant.now()
init {
viewModelScope.launch {
while (true) {
val timeElapsed = System.currentTimeMillis() - startTime.toEpochMilli()
val duration = formatTimeToDuration(timeElapsed)
callDuration = duration
delay(1.seconds)
}
}
}
Еще одна странная вещь: как только я касаюсь или взаимодействую с любым другим компонентом на экране, продолжительность начинает обновляться< /strong>.
Хотелось бы получить помощь, так как я долгое время сталкивался с этой странной проблемой, но безрезультатно.
Подробнее здесь: https://stackoverflow.com/questions/786 ... ease-build
Мобильная версия