Added vu meter developer setting

This commit is contained in:
Sylvain Berfini 2025-06-17 16:45:46 +02:00
parent 9ba2684f31
commit c62f549521
5 changed files with 49 additions and 4 deletions

View file

@ -300,6 +300,13 @@ class CorePreferences
// Customization options
@get:WorkerThread @set:WorkerThread
var showMicrophoneAndSpeakerVuMeters: Boolean
get() = config.getBool("ui", "show_mic_speaker_vu_meter", false)
set(value) {
config.setBool("ui", "show_mic_speaker_vu_meter", value)
}
@get:WorkerThread
val defaultDomain: String
get() = config.getString("app", "default_domain", "sip.linphone.org")!!
@ -407,10 +414,6 @@ class CorePreferences
val showLettersOnDialpad: Boolean
get() = config.getBool("ui", "show_letters_on_dialpad", true)
@get:WorkerThread
val showMicrophoneAndSpeakerVuMeters: Boolean
get() = config.getBool("ui", "show_mic_speaker_vu_meter", false)
// Paths
@get:AnyThread

View file

@ -244,6 +244,7 @@ class SettingsViewModel
val fileSharingServerUrl = MutableLiveData<String>()
val logsSharingServerUrl = MutableLiveData<String>()
val createEndToEndEncryptedConferences = MutableLiveData<Boolean>()
val enableVuMeters = MutableLiveData<Boolean>()
private val coreListener = object : CoreListenerStub() {
@WorkerThread
@ -374,6 +375,7 @@ class SettingsViewModel
fileSharingServerUrl.postValue(core.fileTransferServer)
logsSharingServerUrl.postValue(core.logCollectionUploadServerUrl)
createEndToEndEncryptedConferences.postValue(corePreferences.createEndToEndEncryptedMeetingsAndGroupCalls)
enableVuMeters.postValue(corePreferences.showMicrophoneAndSpeakerVuMeters)
}
}
@ -1148,4 +1150,14 @@ class SettingsViewModel
createEndToEndEncryptedConferences.postValue(newValue)
}
}
@UiThread
fun toggleEnableVuMeters() {
val newValue = enableVuMeters.value == false
coreContext.postOnCoreThread { core ->
corePreferences.showMicrophoneAndSpeakerVuMeters = newValue
enableVuMeters.postValue(newValue)
}
}
}

View file

@ -208,6 +208,34 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/logs_upload_server_url" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/settings_title_style"
android:onClick="@{() -> viewModel.toggleEnableVuMeters()}"
android:id="@+id/enable_vu_meters_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="10dp"
android:text="@string/settings_developer_enable_vu_meters_title"
android:maxLines="2"
android:ellipsize="end"
app:layout_constraintTop_toTopOf="@id/enable_vu_meters_switch"
app:layout_constraintBottom_toBottomOf="@id/enable_vu_meters_switch"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/enable_vu_meters_switch"/>
<com.google.android.material.materialswitch.MaterialSwitch
style="@style/material_switch_style"
android:id="@+id/enable_vu_meters_switch"
android:onClick="@{() -> viewModel.toggleEnableVuMeters()}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginEnd="16dp"
android:checked="@{viewModel.enableVuMeters}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/e2e_encrypted_conferences_switch" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

View file

@ -308,6 +308,7 @@
<string name="settings_developer_show_title">Afficher les paramètres développeurs</string>
<string name="settings_developer_enabled_toast">Paramètres développeurs activés</string>
<string name="settings_developer_already_enabled_toast">Paramètres développeurs déjà activés</string>
<string name="settings_developer_enable_vu_meters_title">Activer l\'indicateur des volumes d\'enregistrement et de lecture</string>
<!-- Account profile & settings -->
<string name="manage_account_title">Mon compte</string>

View file

@ -349,6 +349,7 @@
<string name="settings_developer_show_title">Show developer settings</string>
<string name="settings_developer_enabled_toast">Developer settings enabled</string>
<string name="settings_developer_already_enabled_toast">Developer settings already enabled</string>
<string name="settings_developer_enable_vu_meters_title">Enable record/playback volume vu meters while in call</string>
<!-- Account profile & settings -->
<string name="manage_account_title">Manage account</string>