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 662f5d9a0..7df39ab51 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 @@ -9,6 +9,7 @@ import android.widget.ArrayAdapter import androidx.annotation.UiThread import androidx.appcompat.app.AppCompatDelegate import androidx.navigation.navGraphViewModels +import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.R import org.linphone.core.tools.Log import org.linphone.databinding.SettingsFragmentBinding @@ -117,4 +118,12 @@ class SettingsFragment : GenericFragment() { startPostponedEnterTransition() } + + override fun onPause() { + super.onPause() + + coreContext.postOnCoreThread { + viewModel.stopRingtonePlayer() + } + } } 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 fe60879e8..2bbad823e 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 @@ -112,7 +112,10 @@ class SettingsViewModel @UiThread constructor() : ViewModel() { autoRecordCalls.postValue(corePreferences.automaticallyStartCallRecording) useWifiOnly.postValue(core.isWifiOnlyEnabled) - selectedRingtone.postValue(core.ring.orEmpty()) + + val ringtone = core.ring.orEmpty() + Log.i("Currently configured ringtone in Core is [$ringtone]") + selectedRingtone.postValue(ringtone) theme.postValue(corePreferences.darkMode) } @@ -184,6 +187,7 @@ class SettingsViewModel @UiThread constructor() : ViewModel() { fun setRingtone(ringtone: String) { coreContext.postOnCoreThread { core -> core.ring = ringtone + selectedRingtone.postValue(ringtone) if (::ringtonePlayer.isInitialized) { if (ringtonePlayer.state == Player.State.Playing) { @@ -268,6 +272,17 @@ class SettingsViewModel @UiThread constructor() : ViewModel() { corePreferences.darkMode = theme } + @WorkerThread + fun stopRingtonePlayer() { + if (::ringtonePlayer.isInitialized && ringtonePlayer.state != Player.State.Closed) { + Log.i("$TAG Stopping ringtone player") + ringtonePlayer.pause() + ringtonePlayer.seek(0) + ringtonePlayer.close() + isRingtonePlaying.postValue(false) + } + } + @UiThread private fun computeAvailableRingtones() { availableRingtonesNames.add( @@ -288,15 +303,4 @@ class SettingsViewModel @UiThread constructor() : ViewModel() { } } } - - @WorkerThread - private fun stopRingtonePlayer() { - if (::ringtonePlayer.isInitialized && ringtonePlayer.state != Player.State.Closed) { - Log.i("$TAG Stopping ringtone player") - ringtonePlayer.pause() - ringtonePlayer.seek(0) - ringtonePlayer.close() - isRingtonePlaying.postValue(false) - } - } } diff --git a/app/src/main/res/values-land/dimen.xml b/app/src/main/res/values-land/dimen.xml index 1194e6838..6639657bb 100644 --- a/app/src/main/res/values-land/dimen.xml +++ b/app/src/main/res/values-land/dimen.xml @@ -3,4 +3,9 @@ 110dp 125dp 235dp + + 75dp + 325dp + + 400dp \ No newline at end of file diff --git a/app/src/main/res/values/dimen.xml b/app/src/main/res/values/dimen.xml index d47827733..4d22c47d1 100644 --- a/app/src/main/res/values/dimen.xml +++ b/app/src/main/res/values/dimen.xml @@ -5,9 +5,9 @@ 32dp 75dp - 400dp + 280dp - 475dp + 355dp 300dp 24dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b3d2f8aa4..e0cdb1310 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -51,9 +51,9 @@ in Linphone Une application de communication sécurisée, open source et française. Sécurisé - Vos communications sont en sécurité grâce au chiffrement de bout en bout. + Vos communications sont en sécurité grâce au chiffrement de bout en bout. Open source - Une application open source et un service gratuit depuis 2001 + Une application open source et un service gratuit depuis 2001. Contacts Calls