added speaker icon to action bar

This commit is contained in:
Juha Heinanen
2018-05-12 15:17:41 +03:00
parent 7d46cb40ad
commit d60e035641
3 changed files with 18 additions and 6 deletions

View File

@ -25,7 +25,7 @@ import java.util.*
import java.io.* import java.io.*
import android.widget.RelativeLayout import android.widget.RelativeLayout
import android.media.AudioManager import android.media.AudioManager
import android.media.AudioManager.STREAM_VOICE_CALL import android.support.v7.view.menu.ActionMenuItemView
import android.text.Editable import android.text.Editable
import android.text.TextWatcher import android.text.TextWatcher
import android.view.inputmethod.InputMethodManager import android.view.inputmethod.InputMethodManager
@ -296,12 +296,23 @@ class MainActivity : AppCompatActivity() {
super.onCreateOptionsMenu(menu) super.onCreateOptionsMenu(menu)
val inflater = menuInflater val inflater = menuInflater
inflater.inflate(R.menu.main_menu, menu) inflater.inflate(R.menu.main_menu, menu)
inflater.inflate(R.menu.speaker_icon, menu)
return true return true
} }
override fun onOptionsItemSelected(item: MenuItem): Boolean { override fun onOptionsItemSelected(item: MenuItem): Boolean {
val i: Intent val i: Intent
when (item.itemId) { when (item.itemId) {
R.id.speakerIcon -> {
am.isSpeakerphoneOn = !am.isSpeakerphoneOn
val speakerIcon = findViewById(R.id.speakerIcon) as ActionMenuItemView
if (am.isSpeakerphoneOn)
speakerIcon.setBackgroundColor(Color.RED)
// speakerIcon.setIcon(ContextCompat.getDrawable(this, R.drawable.speaker_on))
else
speakerIcon.setBackgroundColor(resources.getColor(R.color.colorPrimary))
return true
}
R.id.accounts -> { R.id.accounts -> {
i = Intent(this, EditAccountsActivity::class.java) i = Intent(this, EditAccountsActivity::class.java)
startActivityForResult(i, EDIT_ACCOUNTS_CODE) startActivityForResult(i, EDIT_ACCOUNTS_CODE)
@ -666,9 +677,9 @@ class MainActivity : AppCompatActivity() {
} }
am.mode = AudioManager.MODE_IN_COMMUNICATION am.mode = AudioManager.MODE_IN_COMMUNICATION
am.isSpeakerphoneOn = false am.isSpeakerphoneOn = false
am.setStreamVolume(AudioManager.STREAM_VOICE_CALL, // am.setStreamVolume(AudioManager.STREAM_VOICE_CALL,
(am.getStreamMaxVolume(STREAM_VOICE_CALL) / 2) + 1, // (am.getStreamMaxVolume(STREAM_VOICE_CALL) / 2) + 1,
AudioManager.STREAM_VOICE_CALL) // AudioManager.STREAM_VOICE_CALL)
if (HistoryActivity.aorHistory(aor) > HISTORY_SIZE) if (HistoryActivity.aorHistory(aor) > HISTORY_SIZE)
HistoryActivity.aorRemoveHistory(aor) HistoryActivity.aorRemoveHistory(aor)
} }
@ -684,7 +695,7 @@ class MainActivity : AppCompatActivity() {
} }
} }
am.mode = AudioManager.MODE_RINGTONE am.mode = AudioManager.MODE_RINGTONE
am.isSpeakerphoneOn = true // am.isSpeakerphoneOn = true
} }
"call verify" -> { "call verify" -> {
this@MainActivity.runOnUiThread { this@MainActivity.runOnUiThread {
@ -844,6 +855,7 @@ class MainActivity : AppCompatActivity() {
" closed") " closed")
} }
} }
if ((callsIn.size == 0) && (callsOut.size == 0))
am.mode = AudioManager.MODE_NORMAL am.mode = AudioManager.MODE_NORMAL
} }
else -> Log.d("Baresip", "Unknown event '${ev[0]}'") else -> Log.d("Baresip", "Unknown event '${ev[0]}'")

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File