From 2394c701cf700201362f2890ce2083615e5779e7 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Sat, 20 Jul 2024 18:08:32 +0200 Subject: [PATCH] Added shortcut in call settings to change incoming call ringtone --- .../settings/fragment/SettingsFragment.kt | 16 ++++++++++++++++ .../settings/viewmodel/SettingsViewModel.kt | 7 +++++++ app/src/main/res/layout/settings_calls.xml | 19 +++++++++++++++++++ app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 5 files changed, 44 insertions(+) diff --git a/app/src/main/java/org/linphone/ui/main/settings/fragment/SettingsFragment.kt b/app/src/main/java/org/linphone/ui/main/settings/fragment/SettingsFragment.kt index e762d2946..e363b3b55 100644 --- a/app/src/main/java/org/linphone/ui/main/settings/fragment/SettingsFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/settings/fragment/SettingsFragment.kt @@ -19,7 +19,9 @@ */ package org.linphone.ui.main.settings.fragment +import android.content.Intent import android.os.Bundle +import android.provider.Settings import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -137,6 +139,20 @@ class SettingsFragment : GenericMainFragment() { } } + viewModel.goToIncomingCallNotificationChannelSettingsEvent.observe(viewLifecycleOwner) { + it.consume { + Log.w("$TAG Going to incoming call channel settings") + val intent = Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS).apply { + putExtra(Settings.EXTRA_APP_PACKAGE, requireContext().packageName) + putExtra( + Settings.EXTRA_CHANNEL_ID, + getString(R.string.notification_channel_incoming_call_id) + ) + } + startActivity(intent) + } + } + viewModel.addLdapServerEvent.observe(viewLifecycleOwner) { it.consume { val action = SettingsFragmentDirections.actionSettingsFragmentToLdapServerConfigurationFragment( diff --git a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/SettingsViewModel.kt b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/SettingsViewModel.kt index c4756242b..a9a6fe64a 100644 --- a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/SettingsViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/SettingsViewModel.kt @@ -75,6 +75,8 @@ class SettingsViewModel @UiThread constructor() : GenericViewModel() { val autoRecordCalls = MutableLiveData() + val goToIncomingCallNotificationChannelSettingsEvent = MutableLiveData>() + // Conversations settings val showConversationsSettings = MutableLiveData() @@ -345,6 +347,11 @@ class SettingsViewModel @UiThread constructor() : GenericViewModel() { } } + @UiThread + fun changeRingtone() { + goToIncomingCallNotificationChannelSettingsEvent.value = Event(true) + } + @UiThread fun toggleConversationsExpand() { expandConversations.value = expandConversations.value == false diff --git a/app/src/main/res/layout/settings_calls.xml b/app/src/main/res/layout/settings_calls.xml index 0647b97e9..a6c4431d6 100644 --- a/app/src/main/res/layout/settings_calls.xml +++ b/app/src/main/res/layout/settings_calls.xml @@ -144,6 +144,25 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/vibrate_switch" /> + + \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index d94a1eb0c..ae2fdfd61 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -196,6 +196,7 @@ Activer la FEC vidéo Vibrer lors de la réception d\'un appel Démarrer l\'enregistrement des appels automatiquement + Changer de sonnerie Conversations Télécharger automatiquement les fichiers Contacts diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index aee9c4470..5e60d1454 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -233,6 +233,7 @@ Enable video FEC Vibrate while incoming call is ringing Automatically start recording calls + Change ringtone Conversations Auto-download files Contacts