Fixed unreliable rec on/off handling
This commit is contained in:
@ -525,9 +525,8 @@ private fun TopAppBar(
|
|||||||
|
|
||||||
val recOffImage = Icons.Filled.VoiceOverOff
|
val recOffImage = Icons.Filled.VoiceOverOff
|
||||||
val recOnImage = Icons.Filled.RecordVoiceOver
|
val recOnImage = Icons.Filled.RecordVoiceOver
|
||||||
var recImage by remember { mutableStateOf(recOffImage) }
|
var isRecOn by remember { mutableStateOf(BaresipService.isRecOn) }
|
||||||
val isSpeakerOn = remember { mutableStateOf(Utils.isSpeakerPhoneOn(am)) }
|
val isSpeakerOn = remember { mutableStateOf(Utils.isSpeakerPhoneOn(am)) }
|
||||||
|
|
||||||
var menuExpanded by remember { mutableStateOf(false) }
|
var menuExpanded by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
val about = stringResource(R.string.about)
|
val about = stringResource(R.string.about)
|
||||||
@ -557,8 +556,7 @@ private fun TopAppBar(
|
|||||||
|
|
||||||
Spacer(modifier = Modifier.width(8.dp))
|
Spacer(modifier = Modifier.width(8.dp))
|
||||||
|
|
||||||
Box(
|
Box(contentAlignment = Alignment.Center,
|
||||||
contentAlignment = Alignment.Center,
|
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.size(48.dp)
|
.size(48.dp)
|
||||||
.clip(CircleShape)
|
.clip(CircleShape)
|
||||||
@ -566,13 +564,12 @@ private fun TopAppBar(
|
|||||||
onClick = {
|
onClick = {
|
||||||
if (Call.call("connected") == null) {
|
if (Call.call("connected") == null) {
|
||||||
BaresipService.isRecOn = !BaresipService.isRecOn
|
BaresipService.isRecOn = !BaresipService.isRecOn
|
||||||
recImage = if (BaresipService.isRecOn) {
|
if (BaresipService.isRecOn) {
|
||||||
Api.module_load("sndfile")
|
Api.module_load("sndfile")
|
||||||
recOnImage
|
|
||||||
} else {
|
} else {
|
||||||
Api.module_unload("sndfile")
|
Api.module_unload("sndfile")
|
||||||
recOffImage
|
|
||||||
}
|
}
|
||||||
|
isRecOn = BaresipService.isRecOn
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(ctx, R.string.rec_in_call, Toast.LENGTH_SHORT).show()
|
Toast.makeText(ctx, R.string.rec_in_call, Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
@ -585,9 +582,9 @@ private fun TopAppBar(
|
|||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = recImage,
|
imageVector = if (isRecOn) recOnImage else recOffImage,
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
tint = if (BaresipService.isRecOn)
|
tint = if (isRecOn)
|
||||||
MaterialTheme.colorScheme.error
|
MaterialTheme.colorScheme.error
|
||||||
else
|
else
|
||||||
MaterialTheme.colorScheme.onPrimary,
|
MaterialTheme.colorScheme.onPrimary,
|
||||||
|
|||||||
Reference in New Issue
Block a user