Added BackHandler to some screens
This commit is contained in:
@ -11,6 +11,7 @@ import android.net.Uri
|
||||
import android.provider.ContactsContract
|
||||
import android.provider.ContactsContract.CommonDataKinds
|
||||
import android.provider.ContactsContract.Contacts.Data
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.activity.compose.rememberLauncherForActivityResult
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.compose.foundation.Canvas
|
||||
@ -187,6 +188,10 @@ private fun ContactScreen(
|
||||
navController.popBackStack()
|
||||
}
|
||||
|
||||
BackHandler(enabled = true) {
|
||||
onBack()
|
||||
}
|
||||
|
||||
Scaffold(
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
|
||||
@ -3,6 +3,7 @@ package com.tutpro.baresip
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.BitmapFactory
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
@ -89,6 +90,11 @@ private fun CallsScreen(navController: NavController, viewModel: ViewModel, aor:
|
||||
isHistoryLoaded = true
|
||||
}
|
||||
|
||||
BackHandler(enabled = true) {
|
||||
account.missedCalls = false
|
||||
navController.popBackStack()
|
||||
}
|
||||
|
||||
Scaffold(
|
||||
modifier = Modifier.fillMaxSize().imePadding(),
|
||||
containerColor = LocalCustomColors.current.background,
|
||||
@ -153,8 +159,8 @@ private fun TopAppBar(navController: NavController, account: Account, callHistor
|
||||
navigationIcon = {
|
||||
IconButton(
|
||||
onClick = {
|
||||
navController.popBackStack()
|
||||
account.missedCalls = false
|
||||
navController.popBackStack()
|
||||
}
|
||||
) {
|
||||
Icon(
|
||||
|
||||
@ -4,6 +4,7 @@ import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.text.format.DateUtils.isToday
|
||||
import android.widget.Toast
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
@ -166,8 +167,14 @@ private fun ChatScreen(
|
||||
}
|
||||
}
|
||||
|
||||
BackHandler(enabled = true) {
|
||||
backAction(navController, account, peerUri)
|
||||
}
|
||||
|
||||
Scaffold(
|
||||
modifier = Modifier.fillMaxSize().imePadding(),
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.imePadding(),
|
||||
containerColor = LocalCustomColors.current.background,
|
||||
topBar = {
|
||||
Column(modifier = Modifier
|
||||
@ -210,11 +217,7 @@ private fun TopAppBar(
|
||||
containerColor = LocalCustomColors.current.primary
|
||||
),
|
||||
navigationIcon = {
|
||||
IconButton(onClick = {
|
||||
Message.updateMessagesFromPearRead(aor, peerUri)
|
||||
account.unreadMessages = Message.unreadMessages(aor)
|
||||
navController.popBackStack()
|
||||
}) {
|
||||
IconButton(onClick = { backAction(navController, account, peerUri) }) {
|
||||
Icon(
|
||||
imageVector = Icons.AutoMirrored.Filled.ArrowBack,
|
||||
contentDescription = "Back",
|
||||
@ -262,7 +265,9 @@ private fun ChatContent(
|
||||
onMessageDeleted: () -> Unit
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier.fillMaxWidth().padding(contentPadding),
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(contentPadding),
|
||||
verticalArrangement = Arrangement.Bottom
|
||||
) {
|
||||
Account(ctx, account)
|
||||
@ -331,7 +336,9 @@ private fun Messages(
|
||||
}
|
||||
|
||||
LazyColumn(
|
||||
modifier = Modifier.fillMaxWidth().padding(start = 16.dp, end = 2.dp)
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(start = 16.dp, end = 2.dp)
|
||||
.verticalScrollbar(
|
||||
state = lazyListState,
|
||||
width = 4.dp,
|
||||
@ -572,6 +579,13 @@ private fun NewMessage(
|
||||
}
|
||||
}
|
||||
|
||||
private fun backAction(navController: NavController, account: Account, peerUri: String) {
|
||||
val aor = account.aor
|
||||
Message.updateMessagesFromPearRead(aor, peerUri)
|
||||
account.unreadMessages = Message.unreadMessages(aor)
|
||||
navController.popBackStack()
|
||||
}
|
||||
|
||||
private fun loadPeerMessages(aor: String, peerUri: String): List<Message> {
|
||||
val res = mutableListOf<Message>()
|
||||
for (m in BaresipService.messages.reversed())
|
||||
|
||||
Reference in New Issue
Block a user