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