diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt index eddb96a2..2c5ecf80 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt @@ -47,6 +47,7 @@ class MainActivity : AppCompatActivity() { private lateinit var hangupButton: ImageButton private lateinit var answerButton: ImageButton private lateinit var rejectButton: ImageButton + private lateinit var callControl: HorizontalScrollView private lateinit var holdButton: ImageButton private lateinit var micButton: ImageButton private lateinit var transferButton: ImageButton @@ -124,6 +125,7 @@ class MainActivity : AppCompatActivity() { hangupButton = binding.hangupButton answerButton = binding.answerButton rejectButton = binding.rejectButton + callControl = binding.callControl holdButton = binding.holdButton micButton = binding.micButton transferButton = binding.transferButton @@ -1604,6 +1606,7 @@ class MainActivity : AppCompatActivity() { private fun showCall(ua: UserAgent) { if (Call.uaCalls(ua, "").size == 0) { + swipeRefresh.isEnabled = true callTitle.text = getString(R.string.outgoing_call_to_dots) if (ua.account.resumeUri != "") callUri.setText(ua.account.resumeUri) @@ -1621,14 +1624,11 @@ class MainActivity : AppCompatActivity() { hangupButton.visibility = View.INVISIBLE answerButton.visibility = View.INVISIBLE rejectButton.visibility = View.INVISIBLE - holdButton.visibility = View.INVISIBLE - micButton.visibility = View.INVISIBLE - transferButton.visibility = View.INVISIBLE - dtmf.visibility = View.INVISIBLE + callControl.visibility = View.INVISIBLE dialpadButton.isEnabled = true - infoButton.visibility = View.INVISIBLE volumeControlStream = AudioManager.STREAM_VOICE_CALL } else { + swipeRefresh.isEnabled = false val call = Call.uaCalls(ua, "")[0] callUri.isFocusable = false imm.hideSoftInputFromWindow(callUri.windowToken, 0) @@ -1643,12 +1643,8 @@ class MainActivity : AppCompatActivity() { hangupButton.isEnabled = true answerButton.visibility = View.INVISIBLE rejectButton.visibility = View.INVISIBLE - holdButton.visibility = View.INVISIBLE - micButton.visibility = View.INVISIBLE - transferButton.visibility = View.INVISIBLE - dtmf.visibility = View.INVISIBLE + callControl.visibility = View.INVISIBLE dialpadButton.isEnabled = false - infoButton.visibility = View.INVISIBLE volumeControlStream = AudioManager.STREAM_VOICE_CALL } "incoming" -> { @@ -1663,12 +1659,8 @@ class MainActivity : AppCompatActivity() { answerButton.isEnabled = true rejectButton.visibility = View.VISIBLE rejectButton.isEnabled = true - holdButton.visibility = View.INVISIBLE - micButton.visibility = View.INVISIBLE - transferButton.visibility = View.INVISIBLE - dtmf.visibility = View.INVISIBLE + callControl.visibility = View.INVISIBLE dialpadButton.isEnabled = false - infoButton.visibility = View.INVISIBLE volumeControlStream = AudioManager.STREAM_RING } "connected" -> { @@ -1698,15 +1690,15 @@ class MainActivity : AppCompatActivity() { hangupButton.isEnabled = true answerButton.visibility = View.INVISIBLE rejectButton.visibility = View.INVISIBLE + callControl.post(Runnable { + callControl.scrollTo(holdButton.left, holdButton.top) + }) + callControl.visibility = View.VISIBLE if (call.onhold) { holdButton.setImageResource(R.drawable.play) } else { holdButton.setImageResource(R.drawable.pause) } - holdButton.visibility = View.VISIBLE - micButton.visibility = View.VISIBLE - transferButton.visibility = View.VISIBLE - dtmf.visibility = View.VISIBLE dtmf.isEnabled = true dtmf.requestFocus() if (resources.configuration.orientation == ORIENTATION_PORTRAIT) @@ -1718,7 +1710,6 @@ class MainActivity : AppCompatActivity() { dialpadButton.setImageResource(R.drawable.dialpad_on) dialpadButton.tag = "on" dialpadButton.isEnabled = false - infoButton.visibility = View.VISIBLE infoButton.isEnabled = true volumeControlStream = AudioManager.STREAM_VOICE_CALL } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index bafdd66b..ccff1cbc 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -146,79 +146,80 @@ android:contentDescription="@string/reject" > - - + android:id="@+id/callControl" > - - + - - + + - - + + - + + - + + - - + + + + + +