diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 137f8d57..62fd92a1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -106,7 +106,7 @@ android:name=".AndroidContactActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/contact" - android:parentActivityName=".ContactsActivity" > + android:parentActivityName=".AndroidContactsActivity" > , private val aor: String) : diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt index b59b4b20..266108e6 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt @@ -1408,6 +1408,7 @@ class BaresipService: Service() { var callActionUri = "" var isMainVisible = false var isMicMuted = false + var preferAndroidContacts = false val uas = ArrayList() val status = ArrayList() diff --git a/app/src/main/kotlin/com/tutpro/baresip/Config.kt b/app/src/main/kotlin/com/tutpro/baresip/Config.kt index c76f5780..b9ac9d59 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Config.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Config.kt @@ -85,6 +85,8 @@ object Config { config = "${config}jitter_buffer_wish 6\n" } + BaresipService.preferAndroidContacts = config.contains("prefer_android_contacts yes") + Utils.putFileContents(configPath, config.toByteArray()) BaresipService.isConfigInitialized = true Log.i(TAG, "Initialized config to '$config'") diff --git a/app/src/main/kotlin/com/tutpro/baresip/ConfigActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/ConfigActivity.kt index 9f35a892..344d3354 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/ConfigActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/ConfigActivity.kt @@ -42,6 +42,7 @@ class ConfigActivity : AppCompatActivity() { private lateinit var verifyServer: CheckBox private lateinit var caFile: CheckBox private lateinit var darkTheme: CheckBox + private lateinit var androidContacts: CheckBox private lateinit var debug: CheckBox private lateinit var sipTrace: CheckBox private lateinit var reset: CheckBox @@ -55,6 +56,7 @@ class ConfigActivity : AppCompatActivity() { private var oldCAFile = false private var oldLogLevel = "" private var oldDisplayTheme = -1 + private var oldAndroidContacts = "" private var save = false private var restart = false private var menu: Menu? = null @@ -291,6 +293,11 @@ class ConfigActivity : AppCompatActivity() { oldDisplayTheme = Preferences(applicationContext).displayTheme darkTheme.isChecked = oldDisplayTheme == AppCompatDelegate.MODE_NIGHT_YES + androidContacts = binding.AndroidContacts + val acCv = Config.variable("prefer_android_contacts") + oldAndroidContacts = if (acCv.size == 0) "no" else acCv[0] + androidContacts.isChecked = oldAndroidContacts == "yes" + debug = binding.Debug val dbCv = Config.variable("log_level") oldLogLevel = if (dbCv.size == 0) @@ -428,6 +435,16 @@ class ConfigActivity : AppCompatActivity() { if (oldDisplayTheme != newDisplayTheme) Preferences(applicationContext).displayTheme = newDisplayTheme + val androidContactsString = if (androidContacts.isChecked) + "yes" + else + "no" + if (oldAndroidContacts != androidContactsString) { + Config.replaceVariable("prefer_android_contacts", androidContactsString) + BaresipService.preferAndroidContacts = androidContacts.isChecked + save = true + } + var logLevelString = "2" if (debug.isChecked) logLevelString = "0" if (oldLogLevel != logLevelString) { @@ -508,7 +525,7 @@ class ConfigActivity : AppCompatActivity() { Utils.alertView(this, getString(R.string.tls_ca_file), getString(R.string.tls_ca_file_help)) } - binding.AudioSettingsTitle .setOnClickListener { + binding.AudioSettingsTitle.setOnClickListener { startActivity(Intent(this, AudioActivity::class.java)) } binding.AndroidSettings.setOnClickListener { @@ -522,6 +539,10 @@ class ConfigActivity : AppCompatActivity() { Utils.alertView(this, getString(R.string.dark_theme), getString(R.string.dark_theme_help)) } + binding.AndroidContactsTitle.setOnClickListener { + Utils.alertView(this, getString(R.string.show_android_contacts), + getString(R.string.show_android_contacts_help)) + } binding.DebugTitle.setOnClickListener { Utils.alertView(this, getString(R.string.debug), getString(R.string.debug_help)) } diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt index 7bcc1e21..3eb0d0a5 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt @@ -460,14 +460,23 @@ class MainActivity : AppCompatActivity() { } contactsButton.setOnClickListener { - val i = Intent(this@MainActivity, ContactsActivity::class.java) - val b = Bundle() - if (aorSpinner.selectedItemPosition >= 0) - b.putString("aor", aorSpinner.tag.toString()) - else - b.putString("aor", "") - i.putExtras(b) - contactsRequest.launch(i) + if (BaresipService.preferAndroidContacts) { + val i = Intent(this@MainActivity, AndroidContactsActivity::class.java) + if (aorSpinner.selectedItemPosition >= 0) + i.putExtra("aor", aorSpinner.tag.toString()) + else + i.putExtra("aor", "") + startActivity(i) + } else { + val i = Intent(this@MainActivity, ContactsActivity::class.java) + val b = Bundle() + if (aorSpinner.selectedItemPosition >= 0) + b.putString("aor", aorSpinner.tag.toString()) + else + b.putString("aor", "") + i.putExtras(b) + contactsRequest.launch(i) + } } chatRequests = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { diff --git a/app/src/main/res/layout/activity_config.xml b/app/src/main/res/layout/activity_config.xml index 73f6af01..ef2cc252 100644 --- a/app/src/main/res/layout/activity_config.xml +++ b/app/src/main/res/layout/activity_config.xml @@ -231,6 +231,32 @@ android:textSize="18sp"> + + + + + + + Lähetettävän videon kehyskoko (leveys x korkeus). Tehdasasetus on 800x600. Android-asetukset + Näytä Androidin yhteystiedot + Jos valittu, niin Yhteystiedot-ikoni näyttää + Androidin yhteystiedot. Lokiviestit Jos merkitty, baresip tuottaa debug- ja info-tason Logcat-viestejä. SIP-sanomien jäljitys diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f844c98d..2a058811 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -329,6 +329,9 @@ Size of transmitted video frames (width x height). Factory default is 800x600. Android Settings + Show Android Contacts + If checked, Android contacts are shown when Contacts + button is touched. Debug If checked, provides debug and info level log messages to Logcat. SIP Trace