Fixed back press action for API < 33 compatibility
This commit is contained in:
@ -9,6 +9,7 @@ import androidx.activity.ComponentActivity
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.padding
|
||||
@ -37,14 +38,16 @@ import androidx.compose.ui.unit.dp
|
||||
|
||||
class AboutActivity : ComponentActivity() {
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -54,12 +57,15 @@ class AboutActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
Utils.addActivity("about")
|
||||
|
||||
@ -128,10 +134,11 @@ class AboutActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@ import androidx.activity.ComponentActivity
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
@ -136,14 +137,16 @@ class AccountActivity : ComponentActivity() {
|
||||
private val showAlert = mutableStateOf(false)
|
||||
private val showStun = mutableStateOf(false)
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -153,12 +156,15 @@ class AccountActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
aor = intent.getStringExtra("aor")!!
|
||||
|
||||
@ -1234,7 +1240,6 @@ class AccountActivity : ComponentActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun AskPassword(ctx: Context) {
|
||||
if (showPasswordDialog.value)
|
||||
@ -1632,10 +1637,11 @@ class AccountActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -11,6 +11,7 @@ import androidx.activity.ComponentActivity
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@ -85,14 +86,16 @@ class AccountsActivity : ComponentActivity() {
|
||||
private val alertMessage = mutableStateOf("")
|
||||
private val showAlert = mutableStateOf(false)
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -102,12 +105,15 @@ class AccountsActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
val title = String.format(getString(R.string.accounts))
|
||||
|
||||
@ -482,10 +488,11 @@ class AccountsActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -12,6 +12,7 @@ import androidx.activity.ComponentActivity
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.foundation.Canvas
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
@ -64,14 +65,16 @@ class AndroidContactActivity : ComponentActivity() {
|
||||
|
||||
private var color = 0
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -81,12 +84,15 @@ class AndroidContactActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
aor = intent.getStringExtra("aor")!!
|
||||
name = intent.getStringExtra("name")!!
|
||||
@ -283,10 +289,11 @@ class AndroidContactActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ import androidx.activity.ComponentActivity
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
@ -80,14 +81,16 @@ class AudioActivity : ComponentActivity() {
|
||||
private val alertMessage = mutableStateOf("")
|
||||
private val showAlert = mutableStateOf(false)
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -97,12 +100,15 @@ class AudioActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
val title = String.format(getString(R.string.configuration))
|
||||
|
||||
@ -657,10 +663,11 @@ class AudioActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -22,6 +22,7 @@ import androidx.activity.compose.rememberLauncherForActivityResult
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.foundation.Canvas
|
||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||
import androidx.compose.foundation.Image
|
||||
@ -108,14 +109,16 @@ class BaresipContactActivity : ComponentActivity() {
|
||||
private val textAvatarColor = mutableIntStateOf(0)
|
||||
private val imageAvatarUri = mutableStateOf("")
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -125,12 +128,15 @@ class BaresipContactActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
val title: String
|
||||
|
||||
@ -702,10 +708,11 @@ class BaresipContactActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -12,6 +12,7 @@ import androidx.activity.ComponentActivity
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
@ -70,14 +71,16 @@ class CallDetailsActivity : ComponentActivity() {
|
||||
private val encPlayer = MediaPlayer()
|
||||
private var position = 0
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -87,12 +90,15 @@ class CallDetailsActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
aor = intent.getStringExtra("aor")!!
|
||||
account = Account.ofAor(aor)!!
|
||||
@ -377,10 +383,11 @@ class CallDetailsActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -12,6 +12,7 @@ import androidx.activity.ComponentActivity
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
@ -73,14 +74,16 @@ class CallsActivity : ComponentActivity() {
|
||||
|
||||
private var aor = ""
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -90,12 +93,15 @@ class CallsActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
val title = String.format(getString(R.string.call_history))
|
||||
|
||||
@ -463,10 +469,11 @@ class CallsActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -14,6 +14,7 @@ import androidx.activity.ComponentActivity
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.clickable
|
||||
@ -101,14 +102,16 @@ class ChatActivity : ComponentActivity() {
|
||||
private var unsentMessage = ""
|
||||
private var keyboardController: SoftwareKeyboardController? = null
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -118,12 +121,15 @@ class ChatActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
aor = intent.getStringExtra("aor")!!
|
||||
peerUri = intent.getStringExtra("peer")!!
|
||||
@ -637,10 +643,11 @@ class ChatActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -14,8 +14,8 @@ import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.activity.result.ActivityResultLauncher
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.animation.animateContentSize
|
||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@ -102,14 +102,16 @@ class ChatsActivity: ComponentActivity() {
|
||||
private val alertMessage = mutableStateOf("")
|
||||
private val showAlert = mutableStateOf(false)
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
public override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -119,12 +121,15 @@ class ChatsActivity: ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
aor = intent.extras!!.getString("aor")!!
|
||||
Utils.addActivity("chats,$aor")
|
||||
@ -285,7 +290,6 @@ class ChatsActivity: ComponentActivity() {
|
||||
)
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalFoundationApi::class)
|
||||
@Composable
|
||||
fun Chats(ctx: Context, account: Account) {
|
||||
|
||||
@ -475,7 +479,7 @@ class ChatsActivity: ComponentActivity() {
|
||||
|
||||
val showDialog = remember { mutableStateOf(false) }
|
||||
val items = remember { mutableStateOf(listOf<String>()) }
|
||||
val itemAction = remember { mutableStateOf<(Int) -> Unit>({ index -> {} }) }
|
||||
val itemAction = remember { mutableStateOf<(Int) -> Unit>({ _ -> run {} }) }
|
||||
|
||||
SelectableAlertDialog(
|
||||
openDialog = showDialog,
|
||||
@ -609,7 +613,7 @@ class ChatsActivity: ComponentActivity() {
|
||||
modifier = Modifier.padding(end = 4.dp),
|
||||
onClick = {
|
||||
showSuggestions = false
|
||||
var peerText = newPeer.trim()
|
||||
val peerText = newPeer.trim()
|
||||
if (peerText.isNotEmpty()) {
|
||||
val uris = Contact.contactUris(peerText)
|
||||
if (uris.isEmpty())
|
||||
@ -684,10 +688,11 @@ class ChatsActivity: ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ import androidx.activity.ComponentActivity
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
@ -68,14 +69,16 @@ class CodecsActivity : ComponentActivity() {
|
||||
private val alertMessage = mutableStateOf("")
|
||||
private val showAlert = mutableStateOf(false)
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -85,12 +88,15 @@ class CodecsActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
aor = intent.getStringExtra("aor")!!
|
||||
media = intent.getStringExtra("media")!!
|
||||
@ -368,10 +374,11 @@ class CodecsActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
}
|
||||
|
||||
@ -130,14 +130,16 @@ class ConfigActivity : ComponentActivity() {
|
||||
private val onNegativeClicked = mutableStateOf({})
|
||||
private val showDialog = mutableStateOf(false)
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
private val certificateRequest =
|
||||
@ -207,12 +209,15 @@ class ConfigActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
val title = String.format(getString(R.string.configuration))
|
||||
|
||||
@ -1245,7 +1250,7 @@ class ConfigActivity : ComponentActivity() {
|
||||
baresipService.action = "Stop Content Observer"
|
||||
}
|
||||
"android" -> {
|
||||
BaresipService.baresipContacts.value = mutableListOf<Contact.BaresipContact>()
|
||||
BaresipService.baresipContacts.value = mutableListOf()
|
||||
Contact.loadAndroidContacts(this)
|
||||
baresipService.action = "Start Content Observer"
|
||||
}
|
||||
@ -1297,10 +1302,11 @@ class ConfigActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -15,6 +15,7 @@ import androidx.activity.OnBackPressedCallback
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
@ -74,14 +75,16 @@ class ContactsActivity : ComponentActivity() {
|
||||
private var newAndroidName: String? = null
|
||||
private var lastClick: Long = 0
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
goBack()
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback { goBack() }
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
private val contactRequest =
|
||||
@ -99,12 +102,15 @@ class ContactsActivity : ComponentActivity() {
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
goBack()
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
val title = String.format(getString(R.string.contacts))
|
||||
|
||||
@ -434,10 +440,11 @@ class ContactsActivity : ComponentActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@ -243,14 +243,18 @@ class MainActivity : ComponentActivity() {
|
||||
val items = mutableStateOf(listOf<String>())
|
||||
private val itemAction = mutableStateOf<(Int) -> Unit>({ _ -> run {} })
|
||||
|
||||
private val backInvokedCallback = OnBackInvokedCallback {
|
||||
moveTaskToBack(true)
|
||||
}
|
||||
private var backInvokedCallback: OnBackInvokedCallback? = null
|
||||
private lateinit var onBackPressedCallback: OnBackPressedCallback
|
||||
|
||||
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
@RequiresApi(33)
|
||||
private fun registerBackInvokedCallback() {
|
||||
backInvokedCallback = OnBackInvokedCallback {
|
||||
moveTaskToBack(true)
|
||||
}
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback!!
|
||||
)
|
||||
}
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
@ -260,13 +264,16 @@ class MainActivity : ComponentActivity() {
|
||||
|
||||
enableEdgeToEdge()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33)
|
||||
onBackInvokedDispatcher.registerOnBackInvokedCallback(
|
||||
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
|
||||
backInvokedCallback
|
||||
)
|
||||
else
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU)
|
||||
registerBackInvokedCallback()
|
||||
else {
|
||||
onBackPressedCallback = object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
moveTaskToBack(true)
|
||||
}
|
||||
}
|
||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||
}
|
||||
|
||||
val extraAction = intent.getStringExtra("action")
|
||||
Log.d(TAG, "Main onCreate ${intent.action}/${intent.data}/$extraAction")
|
||||
@ -2079,10 +2086,11 @@ class MainActivity : ComponentActivity() {
|
||||
Log.d(TAG, "Main onDestroy")
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback)
|
||||
} else {
|
||||
onBackPressedCallback.remove()
|
||||
if (backInvokedCallback != null)
|
||||
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(backInvokedCallback!!)
|
||||
}
|
||||
else
|
||||
onBackPressedCallback.remove()
|
||||
|
||||
this.unregisterReceiver(screenEventReceiver)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user