Contacts mode related fixes and improvements
This commit is contained in:
@ -43,7 +43,7 @@ class ConfigActivity : AppCompatActivity() {
|
||||
private lateinit var darkTheme: CheckBox
|
||||
private lateinit var contactsSpinner: Spinner
|
||||
private lateinit var contactsMode: String
|
||||
private lateinit var contactsModes: ArrayList<String>
|
||||
private lateinit var contactsModeKeys: ArrayList<String>
|
||||
private lateinit var debug: CheckBox
|
||||
private lateinit var sipTrace: CheckBox
|
||||
private lateinit var reset: CheckBox
|
||||
@ -299,21 +299,26 @@ class ConfigActivity : AppCompatActivity() {
|
||||
oldDisplayTheme = Preferences(applicationContext).displayTheme
|
||||
darkTheme.isChecked = oldDisplayTheme == AppCompatDelegate.MODE_NIGHT_YES
|
||||
|
||||
contactsModes = arrayListOf(
|
||||
getString(R.string.baresip), getString(R.string.android), getString(R.string.both))
|
||||
contactsSpinner = binding.contactsSpinner
|
||||
contactsModeKeys = arrayListOf("baresip", "Android", "Both")
|
||||
val contactsModeVals = arrayListOf(getString(R.string.baresip), getString(R.string.android),
|
||||
getString(R.string.both))
|
||||
val ctCv = Config.variable("contacts_mode")
|
||||
oldContactsMode = if (ctCv.size == 0) "baresip" else ctCv[0]
|
||||
contactsMode = oldContactsMode
|
||||
contactsModes.removeAt(contactsModes.indexOf(oldContactsMode))
|
||||
contactsModes.add(0, oldContactsMode)
|
||||
val keyIndex = contactsModeKeys.indexOf(oldContactsMode)
|
||||
val keyValue = contactsModeVals.elementAt(keyIndex)
|
||||
contactsModeKeys.removeAt(keyIndex)
|
||||
contactsModeVals.removeAt(keyIndex)
|
||||
contactsModeKeys.add(0, oldContactsMode)
|
||||
contactsModeVals.add(0, keyValue)
|
||||
val contactsAdapter = ArrayAdapter(this,android.R.layout.simple_spinner_item,
|
||||
contactsModes)
|
||||
contactsModeVals)
|
||||
contactsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
|
||||
contactsSpinner.adapter = contactsAdapter
|
||||
contactsSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
||||
override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) {
|
||||
contactsMode = contactsModes[position]
|
||||
contactsMode = contactsModeKeys[position]
|
||||
if (contactsMode != "baresip" && Build.VERSION.SDK_INT >= 23 &&
|
||||
!Utils.checkPermissions(applicationContext, contactsPermissions))
|
||||
requestPermissions(contactsPermissions, CONTACTS_PERMISSION_REQUEST_CODE)
|
||||
@ -370,7 +375,7 @@ class ConfigActivity : AppCompatActivity() {
|
||||
registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) {
|
||||
if (it.containsValue(false)) {
|
||||
contactsMode = oldContactsMode
|
||||
contactsSpinner.setSelection(contactsModes.indexOf(oldContactsMode))
|
||||
contactsSpinner.setSelection(contactsModeKeys.indexOf(oldContactsMode))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -370,6 +370,10 @@
|
||||
<string name="show_android_contacts">Näytä Androidin yhteystiedot</string>
|
||||
<string name="show_android_contacts_help">Jos valittu, niin Yhteystiedot-ikoni näyttää
|
||||
Androidin yhteystiedot.</string>
|
||||
<string name="contacts_help">Valitsee käytetäänkö baresip-sovelluksen yhteystietoja, Androidin
|
||||
yhteystietoja vai molempia. Jos molempia ja sama yhteystieto on molemmissa, käytetään
|
||||
baresip-sovelluksen yhteystietoa.</string>
|
||||
<string name="both">Molemmat</string>
|
||||
<string name="debug">Lokiviestit</string>
|
||||
<string name="debug_help">Jos merkitty, baresip tuottaa debug- ja info-tason Logcat-viestejä.</string>
|
||||
<string name="sip_trace">SIP-sanomien jäljitys</string>
|
||||
@ -427,6 +431,8 @@
|
||||
<string name="help">Apua</string>
|
||||
<string name="confirmation">Vahvistus</string>
|
||||
<string name="invalid_sip_or_tel_uri">Invalid SIP or tel URI \'%1$s\'</string>
|
||||
<string name="baresip" translatable="false">baresip</string>
|
||||
<string name="android" translatable="false">Android</string>
|
||||
<!-- Main Activity -->
|
||||
<string name="backup">Tallenna</string>
|
||||
<string name="restore">Palauta</string>
|
||||
|
||||
@ -329,7 +329,9 @@
|
||||
<string name="video_size_help">Size of transmitted video frames (width x height).
|
||||
Factory default is 800x600.</string>
|
||||
<string name="android_settings">Android Settings</string>
|
||||
<string name="contacts_help">Chooses if baresip contacts, Android contacts, or both will be used.</string>
|
||||
<string name="contacts_help">Chooses if baresip contacts, Android contacts, or both are used.
|
||||
If both and contact with the same name exists in both, baresip contact is chosen.</string>
|
||||
<string name="both">Both</string>
|
||||
<string name="debug">Debug</string>
|
||||
<string name="debug_help">If checked, provides debug and info level log messages to Logcat.</string>
|
||||
<string name="sip_trace">SIP Trace</string>
|
||||
@ -391,7 +393,6 @@
|
||||
<string name="invalid_sip_or_tel_uri">Invalid SIP or tel URI \'%1$s\'</string>
|
||||
<string name="baresip" translatable="false">baresip</string>
|
||||
<string name="android" translatable="false">Android</string>
|
||||
<string name="both">Both</string>
|
||||
<!-- Main Activity -->
|
||||
<string name="backup">Backup</string>
|
||||
<string name="restore">Restore</string>
|
||||
|
||||
Reference in New Issue
Block a user