Prevent multiple call button actions when buttons are touched repeatedly
This commit is contained in:
@@ -1432,12 +1432,13 @@ private fun CallRow(
|
|||||||
if (dialerState.showCallButton.value)
|
if (dialerState.showCallButton.value)
|
||||||
IconButton(
|
IconButton(
|
||||||
modifier = Modifier.size(48.dp),
|
modifier = Modifier.size(48.dp),
|
||||||
|
enabled = dialerState.callButtonsEnabled.value,
|
||||||
onClick = {
|
onClick = {
|
||||||
|
if (!dialerState.callButtonsEnabled.value) return@IconButton
|
||||||
dialerState.showCallConferenceButton.value = false
|
dialerState.showCallConferenceButton.value = false
|
||||||
dialerState.showSuggestions.value = false
|
dialerState.showSuggestions.value = false
|
||||||
callClick(ctx, viewModel, dialerState)
|
callClick(ctx, viewModel, dialerState)
|
||||||
},
|
},
|
||||||
enabled = dialerState.callButtonsEnabled.value
|
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = Icons.Filled.Call,
|
imageVector = Icons.Filled.Call,
|
||||||
@@ -1455,6 +1456,7 @@ private fun CallRow(
|
|||||||
modifier = Modifier.size(48.dp),
|
modifier = Modifier.size(48.dp),
|
||||||
enabled = dialerState.callButtonsEnabled.value,
|
enabled = dialerState.callButtonsEnabled.value,
|
||||||
onClick = {
|
onClick = {
|
||||||
|
if (!dialerState.callButtonsEnabled.value) return@IconButton
|
||||||
dialerState.showCallButton.value = false
|
dialerState.showCallButton.value = false
|
||||||
dialerState.showSuggestions.value = false
|
dialerState.showSuggestions.value = false
|
||||||
callClick(ctx, viewModel, dialerState)
|
callClick(ctx, viewModel, dialerState)
|
||||||
@@ -1480,7 +1482,10 @@ private fun CallRow(
|
|||||||
Spacer(modifier = Modifier.weight(1f))
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
IconButton(
|
IconButton(
|
||||||
modifier = Modifier.size(48.dp),
|
modifier = Modifier.size(48.dp),
|
||||||
|
enabled = !call.terminated.value,
|
||||||
onClick = {
|
onClick = {
|
||||||
|
if (call.terminated.value) return@IconButton
|
||||||
|
call.terminated.value = true
|
||||||
abandonAudioFocus(ctx)
|
abandonAudioFocus(ctx)
|
||||||
Log.d(
|
Log.d(
|
||||||
TAG,
|
TAG,
|
||||||
@@ -1505,6 +1510,7 @@ private fun CallRow(
|
|||||||
modifier = Modifier.size(48.dp),
|
modifier = Modifier.size(48.dp),
|
||||||
enabled = !call.terminated.value,
|
enabled = !call.terminated.value,
|
||||||
onClick = {
|
onClick = {
|
||||||
|
if (call.terminated.value) return@IconButton
|
||||||
call.terminated.value = true
|
call.terminated.value = true
|
||||||
abandonAudioFocus(ctx)
|
abandonAudioFocus(ctx)
|
||||||
Log.d(TAG, "AoR ${call.ua.account.aor} hanging up call ${call.callp} with ${call.callUri.value}")
|
Log.d(TAG, "AoR ${call.ua.account.aor} hanging up call ${call.callp} with ${call.callUri.value}")
|
||||||
|
|||||||
Reference in New Issue
Block a user