Added MWI URI account setting + added missing hints into text based settings

This commit is contained in:
Sylvain Berfini 2024-05-20 08:35:26 +02:00
parent 99e771898a
commit d48f7697df
4 changed files with 50 additions and 3 deletions

View file

@ -69,6 +69,8 @@ class AccountSettingsViewModel @UiThread constructor() : GenericViewModel() {
val bundleModeEnabled = MutableLiveData<Boolean>()
val voicemailUri = MutableLiveData<String>()
val cpimInBasicChatRooms = MutableLiveData<Boolean>()
val accountFoundEvent = MutableLiveData<Event<Boolean>>()
@ -124,6 +126,8 @@ class AccountSettingsViewModel @UiThread constructor() : GenericViewModel() {
cpimInBasicChatRooms.postValue(params.isCpimInBasicChatRoomEnabled)
voicemailUri.postValue(params.mwiServerAddress?.asStringUriOnly().orEmpty())
expire.postValue(params.expires.toString())
conferenceFactoryUri.postValue(params.conferenceFactoryAddress?.asStringUriOnly())
@ -177,6 +181,9 @@ class AccountSettingsViewModel @UiThread constructor() : GenericViewModel() {
newParams.isCpimInBasicChatRoomEnabled = cpimInBasicChatRooms.value == true
val mwiAddress = core.interpretUrl(voicemailUri.value.orEmpty(), false)
newParams.mwiServerAddress = mwiAddress
newParams.expires = expire.value?.toInt() ?: 31536000
val conferenceFactoryAddress = core.interpretUrl(

View file

@ -184,6 +184,7 @@
android:paddingEnd="20dp"
android:text="@={viewModel.sipProxyServer}"
android:inputType="text|textUri"
android:hint="@string/account_settings_sip_proxy_url_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/sip_proxy_title"/>
@ -241,6 +242,7 @@
android:paddingEnd="20dp"
android:text="@={viewModel.stunServer}"
android:inputType="text|textUri"
android:hint="@string/account_settings_stun_server_url_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/stun_server_title"/>
@ -323,6 +325,38 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/bundle_mode_switch"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/settings_title_style"
android:id="@+id/mwi_uri_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:text="@string/account_settings_mwi_uri_title"
android:maxLines="2"
android:ellipsize="end"
app:layout_constraintTop_toBottomOf="@id/bundle_mode_switch"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.appcompat.widget.AppCompatEditText
style="@style/default_text_style"
android:id="@+id/mwi_uri"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:background="@drawable/edit_text_background"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="@={viewModel.voicemailUri}"
android:inputType="text|textUri"
android:hint="@string/account_settings_mwi_uri_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/mwi_uri_title"/>
<com.google.android.material.materialswitch.MaterialSwitch
style="@style/material_switch_style"
android:id="@+id/cpim_basic_chat_room_switch"
@ -333,7 +367,7 @@
android:checked="@={viewModel.cpimInBasicChatRooms}"
android:visibility="@{viewModel.imEncryptionMandatory ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/bundle_mode_switch" />
app:layout_constraintTop_toBottomOf="@id/mwi_uri" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/settings_title_style"
@ -378,6 +412,7 @@
android:paddingEnd="20dp"
android:text="@={viewModel.expire}"
android:inputType="number"
android:hint="@string/account_settings_expire_title"
app:layout_constraintVertical_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@ -411,6 +446,7 @@
android:enabled="@{!viewModel.imEncryptionMandatory}"
android:text="@={viewModel.conferenceFactoryUri}"
android:inputType="text|textUri"
android:hint="@string/account_settings_conference_factory_uri_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/conference_factory_uri_title"/>
@ -442,6 +478,7 @@
android:paddingEnd="20dp"
android:text="@={viewModel.audioVideoConferenceFactoryUri}"
android:inputType="text|textUri"
android:hint="@string/account_settings_audio_video_conference_factory_uri_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/audio_video_conference_factory_uri_title"/>
@ -475,6 +512,7 @@
android:enabled="@{!viewModel.imEncryptionMandatory}"
android:text="@={viewModel.limeServerUrl}"
android:inputType="text|textUri"
android:hint="@string/account_settings_lime_server_url_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/lime_server_title"

View file

@ -318,12 +318,13 @@
<string name="account_settings_stun_server_url_title">URL du serveur STUN</string>
<string name="account_settings_enable_ice_title">Activer ICE</string>
<string name="account_settings_avpf_title">AVPF</string>
<string name="account_settings_expire_title">Expiration</string>
<string name="account_settings_expire_title">Expiration (en secondes)</string>
<string name="account_settings_conference_factory_uri_title">URI de l\'usine à conversations</string>
<string name="account_settings_audio_video_conference_factory_uri_title">URI de l\'usine à réunions</string>
<string name="account_settings_lime_server_url_title">URL du serveur d\'échange de clés de chiffrement</string>
<string name="account_settings_bundle_mode_title">Mode "bundle"</string>
<string name="account_settings_cpim_in_basic_conversations_title">Utiliser CPIM dans les conversations "basiques"</string>
<string name="account_settings_mwi_uri_title">URI de la boîte vocale</string>
<string name="account_settings_dialog_invalid_password_title">Autentification requise</string>
<string name="account_settings_dialog_invalid_password_message">La connexion a échoué pour le compte \n%s.\n\nVous pouvez renseigner votre mot de passe à nouveau ou bien vérifier les options de configuration de votre compte.</string>

View file

@ -353,12 +353,13 @@
<string name="account_settings_stun_server_url_title">STUN server URL</string>
<string name="account_settings_enable_ice_title">Enable ICE</string>
<string name="account_settings_avpf_title">AVPF</string>
<string name="account_settings_expire_title">Expire</string>
<string name="account_settings_expire_title">Expire (in seconds)</string>
<string name="account_settings_conference_factory_uri_title">Conference factory URI</string>
<string name="account_settings_audio_video_conference_factory_uri_title">Audio/video conference factory URI</string>
<string name="account_settings_lime_server_url_title">E2E encryption keys server URL</string>
<string name="account_settings_bundle_mode_title">Bundle mode</string>
<string name="account_settings_cpim_in_basic_conversations_title">Use CPIM in "basic" conversations</string>
<string name="account_settings_mwi_uri_title">Voicemail URI</string>
<string name="account_settings_dialog_invalid_password_title">Authentication needed</string>
<string name="account_settings_dialog_invalid_password_message">Connection failed because authentication is missing or invalid for account \n%s.\n\nYou can provide password again, or check your account configuration in the settings.</string>