- simplified dtmf watcher implementation

This commit is contained in:
Juha Heinanen
2019-04-17 21:57:15 +03:00
parent d98fd679f1
commit b178d753f1

View File

@ -16,7 +16,6 @@ import android.os.CountDownTimer
import android.support.v4.content.LocalBroadcastManager
import android.view.inputmethod.InputMethodManager
import android.text.InputType
import android.text.TextWatcher
import android.widget.*
import android.view.*
@ -304,8 +303,6 @@ class MainActivity : AppCompatActivity() {
}
}
dtmf.tag = ArrayList<TextWatcher>()
infoButton.setOnClickListener {
val ua = UserAgent.uas()[aorSpinner.selectedItemPosition]
val calls = Call.uaCalls(ua,"")
@ -646,7 +643,8 @@ class MainActivity : AppCompatActivity() {
dtmf.hint = "DTMF"
dtmf.visibility = View.VISIBLE
dtmf.requestFocus()
(dtmf.tag as ArrayList<TextWatcher>).add(call.dtmfWatcher!!)
for (c in BaresipService.calls)
dtmf.removeTextChangedListener(c.dtmfWatcher)
dtmf.addTextChangedListener(call.dtmfWatcher)
infoButton.visibility = View.VISIBLE
}
@ -745,11 +743,6 @@ class MainActivity : AppCompatActivity() {
showCall(ua)
}
"call closed" -> {
val watchers = dtmf.tag as ArrayList<TextWatcher>
if (watchers.size > 0) {
dtmf.removeTextChangedListener(watchers[0])
watchers.removeAt(0)
}
if (ua == UserAgent.uas()[aorSpinner.selectedItemPosition]) {
showCall(ua)
if (ua.account.missedCalls)
@ -1114,6 +1107,9 @@ class MainActivity : AppCompatActivity() {
holdButton.visibility = View.VISIBLE
dtmf.visibility = View.VISIBLE
dtmf.requestFocus()
for (c in BaresipService.calls)
dtmf.removeTextChangedListener(c.dtmfWatcher)
dtmf.addTextChangedListener(call.dtmfWatcher)
infoButton.visibility = View.VISIBLE
}
}