Improved saving of call uri when main activity is paused
This commit is contained in:
@ -68,6 +68,11 @@ class MainActivity : AppCompatActivity() {
|
||||
private var restart = false
|
||||
private var atStartup = false
|
||||
|
||||
private var resumeUri = ""
|
||||
private var resumeUap = ""
|
||||
private var resumeCall: Call? = null
|
||||
private var resumeAction = ""
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
|
||||
@ -255,7 +260,7 @@ class MainActivity : AppCompatActivity() {
|
||||
val aor = ua.account.aor
|
||||
if (Call.calls().isEmpty()) {
|
||||
val uriText = callUri.text.toString().trim()
|
||||
if (uriText.length > 0) {
|
||||
if (uriText.isNotEmpty()) {
|
||||
var uri = ContactsActivity.findContactURI(uriText)
|
||||
if (!uri.startsWith("sip:")) {
|
||||
uri = "sip:$uri"
|
||||
@ -271,17 +276,17 @@ class MainActivity : AppCompatActivity() {
|
||||
callUri.isFocusable = false
|
||||
if (am.mode != AudioManager.MODE_IN_COMMUNICATION)
|
||||
am.mode = AudioManager.MODE_IN_COMMUNICATION
|
||||
callButton.visibility = View.INVISIBLE
|
||||
callButton.isEnabled = false
|
||||
hangupButton.visibility = View.VISIBLE
|
||||
hangupButton.isEnabled = false
|
||||
hangupButton.isEnabled = true
|
||||
if (!call(ua, uri, "outgoing")) {
|
||||
am.mode = AudioManager.MODE_NORMAL
|
||||
callButton.visibility = View.VISIBLE
|
||||
callButton.isEnabled = true
|
||||
hangupButton.visibility = View.INVISIBLE
|
||||
hangupButton.isEnabled = false
|
||||
} else {
|
||||
callButton.visibility = View.INVISIBLE
|
||||
callButton.isEnabled = false
|
||||
hangupButton.visibility = View.VISIBLE
|
||||
hangupButton.isEnabled = true
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -674,8 +679,7 @@ class MainActivity : AppCompatActivity() {
|
||||
Log.d("Baresip", "Main onPause")
|
||||
Utils.addActivity("main")
|
||||
visible = false
|
||||
if (UserAgent.uas().isNotEmpty() && aorSpinner.selectedItemPosition >= 0)
|
||||
UserAgent.uas()[aorSpinner.selectedItemPosition].account.resumeUri = callUri.text.toString()
|
||||
saveCallUri()
|
||||
super.onPause()
|
||||
}
|
||||
|
||||
@ -1715,6 +1719,16 @@ class MainActivity : AppCompatActivity() {
|
||||
return
|
||||
}
|
||||
|
||||
private fun saveCallUri() {
|
||||
if (UserAgent.uas().isNotEmpty() && aorSpinner.selectedItemPosition >= 0) {
|
||||
val ua = UserAgent.uas()[aorSpinner.selectedItemPosition]
|
||||
if (Call.uaCalls(ua, "").size == 0)
|
||||
ua.account.resumeUri = callUri.text.toString()
|
||||
else
|
||||
ua.account.resumeUri = ""
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
private fun dismissKeyguard() {
|
||||
if (Build.VERSION.SDK_INT >= 27) {
|
||||
@ -1731,11 +1745,6 @@ class MainActivity : AppCompatActivity() {
|
||||
companion object {
|
||||
|
||||
var visible = false
|
||||
|
||||
var resumeAction = ""
|
||||
var resumeUap = ""
|
||||
var resumeCall: Call? = null
|
||||
var resumeUri = ""
|
||||
var activityAor = ""
|
||||
|
||||
// <aor, password> of those accounts that have auth username without auth password
|
||||
|
||||
Reference in New Issue
Block a user