From d60e035641c8819ac5b71e3066ee18d901891441 Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Sat, 12 May 2018 15:17:41 +0300 Subject: [PATCH] added speaker icon to action bar --- .../kotlin/com/tutpro/baresip/MainActivity.kt | 24 +++++++++++++----- app/src/main/res/drawable/speaker.png | Bin 0 -> 1650 bytes app/src/main/res/menu/speaker_icon.xml | 0 3 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 app/src/main/res/drawable/speaker.png create mode 100644 app/src/main/res/menu/speaker_icon.xml diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt index cec9256a..11a1fc9f 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt @@ -25,7 +25,7 @@ import java.util.* import java.io.* import android.widget.RelativeLayout 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.TextWatcher import android.view.inputmethod.InputMethodManager @@ -296,12 +296,23 @@ class MainActivity : AppCompatActivity() { super.onCreateOptionsMenu(menu) val inflater = menuInflater inflater.inflate(R.menu.main_menu, menu) + inflater.inflate(R.menu.speaker_icon, menu) return true } override fun onOptionsItemSelected(item: MenuItem): Boolean { val i: Intent 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 -> { i = Intent(this, EditAccountsActivity::class.java) startActivityForResult(i, EDIT_ACCOUNTS_CODE) @@ -666,9 +677,9 @@ class MainActivity : AppCompatActivity() { } am.mode = AudioManager.MODE_IN_COMMUNICATION am.isSpeakerphoneOn = false - am.setStreamVolume(AudioManager.STREAM_VOICE_CALL, - (am.getStreamMaxVolume(STREAM_VOICE_CALL) / 2) + 1, - AudioManager.STREAM_VOICE_CALL) + // am.setStreamVolume(AudioManager.STREAM_VOICE_CALL, + // (am.getStreamMaxVolume(STREAM_VOICE_CALL) / 2) + 1, + // AudioManager.STREAM_VOICE_CALL) if (HistoryActivity.aorHistory(aor) > HISTORY_SIZE) HistoryActivity.aorRemoveHistory(aor) } @@ -684,7 +695,7 @@ class MainActivity : AppCompatActivity() { } } am.mode = AudioManager.MODE_RINGTONE - am.isSpeakerphoneOn = true + // am.isSpeakerphoneOn = true } "call verify" -> { this@MainActivity.runOnUiThread { @@ -844,7 +855,8 @@ class MainActivity : AppCompatActivity() { " closed") } } - am.mode = AudioManager.MODE_NORMAL + if ((callsIn.size == 0) && (callsOut.size == 0)) + am.mode = AudioManager.MODE_NORMAL } else -> Log.d("Baresip", "Unknown event '${ev[0]}'") } diff --git a/app/src/main/res/drawable/speaker.png b/app/src/main/res/drawable/speaker.png new file mode 100644 index 0000000000000000000000000000000000000000..54fa9b74d94fdbf62693c25591813331c1a5e249 GIT binary patch literal 1650 zcmV-&295cNP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt010qNS#tmY4c7nw4c7reD4Tcy000McNliru;sp#09xaXPx-S3# z1!YM@K~!ko&6-_o6-5-s|FgXmF<7l1K!FGFqbdmkS^@^4piPJYLcxco!8>~kN_?Q0 zKrGQfT0Uw5N+K2>_l!ivQfU&^c@u7EjXQ4p5 zcb4sW`k$HZ+21`gJ9}oj41t??9@EikZ7aJO{Js1EmW%(Slrr&E*d$$AZC|ljIu?J{ zUlb!a!1y4mfzNaOtbzXGM1leo1=z`l>WCCj7R6gQpa(FJEH3Nw^m;yDUp(!IG(hg) z6Lm(^Jka!<{6z(%qjaKIA&NI-GtXB5$r>v!WExf5Kvx;VKSTv*4qgh2&2>N`8V^^#E#_i=qh49>85U#&d0e8nP&spqghn zcoHkj<&gRSGeq3fFMAW8b|DRa&oo`ZEOV7!Kmh4E&c|5wHO?DLd7|k&&UG_XtE`9} z(~JiIXONeMETZLDdK)4(npFYZwkNiT8hF37eqZb{4+4SiqkC@VK~_SkPR$L}R2d;7 ziuXjDxF{;sHohAx99=MMHW1)e|6Z1u$kzY>s&Lu-#BEPjQ!yXYso4_j2r-MSz>y!( zt8ROF3X5#b3usiB1KmvNC5uO7jl0AE=Fjx2tz~J5h~|D&+nSHa;hxTfqo#)XxSXz} zeU9_C+9SWVGmIDFkA#R=Wud}x#?b(`Cw2kHI~6zBh)~x>^AH`eQRDFDdIj*t zS#r@Kl&Jq>O-wD=r4fUG0SXmTO&B)FB~_p z5~K7U-kC>g@@Z(Kb~@`c@}+I;&t(lXTZOxdoUfT|#E~0ssGjXKKu1R)Ki{001R)MObuXVRU6W zV{&C-bY%cCFflkSFf}bPGE^}#Ix{djG&L(QGdeIZUBIT=0000bbVXQnWMOn=I&E)c wX=Zr