mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-04-18 05:58:25 +00:00
Trying to prevent ringtone picker not opening + show error toast if really not available
This commit is contained in:
parent
820eec9cf5
commit
9ecd63ec5f
4 changed files with 13 additions and 6 deletions
|
|
@ -36,6 +36,7 @@ import org.linphone.R
|
|||
import org.linphone.compatibility.Compatibility
|
||||
import org.linphone.core.tools.Log
|
||||
import org.linphone.databinding.SettingsFragmentBinding
|
||||
import org.linphone.ui.GenericActivity
|
||||
import org.linphone.ui.main.fragment.GenericMainFragment
|
||||
import org.linphone.utils.ConfirmationDialogModel
|
||||
import org.linphone.ui.main.settings.viewmodel.SettingsViewModel
|
||||
|
|
@ -176,7 +177,7 @@ class SettingsFragment : GenericMainFragment() {
|
|||
}
|
||||
}
|
||||
|
||||
viewModel.goToIncomingCallNotificationChannelSettingsEvent.observe(viewLifecycleOwner) {
|
||||
viewModel.showRingtonePickerEvent.observe(viewLifecycleOwner) {
|
||||
it.consume { currentRingtone ->
|
||||
try {
|
||||
val intent = Intent(RingtoneManager.ACTION_RINGTONE_PICKER).apply {
|
||||
|
|
@ -184,13 +185,16 @@ class SettingsFragment : GenericMainFragment() {
|
|||
RingtoneManager.EXTRA_RINGTONE_TYPE,
|
||||
RingtoneManager.TYPE_RINGTONE
|
||||
)
|
||||
putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, currentRingtone)
|
||||
if (currentRingtone != null) {
|
||||
putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, currentRingtone)
|
||||
}
|
||||
putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, AppUtils.getString(R.string.settings_calls_change_ringtone_pick_title))
|
||||
}
|
||||
startActivityForResult(intent, RINGTONE_PICKER_INTENT_ID)
|
||||
} catch (e: Exception) {
|
||||
Log.e("$TAG Failed start ringtone picker: $e")
|
||||
// TODO: show error to user
|
||||
val toastMessage = getString(R.string.settings_calls_change_ringtone_picker_unavailable_toast)
|
||||
(requireActivity() as GenericActivity).showRedToast(toastMessage, R.drawable.warning_circle)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ class SettingsViewModel
|
|||
|
||||
val autoRecordCalls = MutableLiveData<Boolean>()
|
||||
|
||||
val goToIncomingCallNotificationChannelSettingsEvent = MutableLiveData<Event<Uri?>>()
|
||||
val showRingtonePickerEvent = MutableLiveData<Event<Uri?>>()
|
||||
|
||||
// Conversations settings
|
||||
val showConversationsSettings = MutableLiveData<Boolean>()
|
||||
|
|
@ -531,9 +531,10 @@ class SettingsViewModel
|
|||
val coreRingtone = core.ring?.toUri()
|
||||
Log.i("$TAG Currently set ringtone in Core is [$coreRingtone], device default ringtone is [$defaultDeviceRingtone]")
|
||||
val currentRingtone = coreRingtone ?: defaultDeviceRingtone
|
||||
goToIncomingCallNotificationChannelSettingsEvent.postValue(Event(currentRingtone))
|
||||
showRingtonePickerEvent.postValue(Event(currentRingtone))
|
||||
} catch (e: Exception) {
|
||||
Log.e("$TAG Failed to get current ringtone: $e")
|
||||
Log.e("$TAG Failed to get current ringtone, opening picker anyway: $e")
|
||||
showRingtonePickerEvent.postValue(Event(null))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -220,6 +220,7 @@
|
|||
<string name="settings_calls_auto_record_title">Enregistrement automatique des appels</string>
|
||||
<string name="settings_calls_change_ringtone_title">Changer de sonnerie</string>
|
||||
<string name="settings_calls_change_ringtone_pick_title">Choisissez la sonnerie</string>
|
||||
<string name="settings_calls_change_ringtone_picker_unavailable_toast">Le sélectionneur de sonnerie n\'est pas disponible !</string>
|
||||
<string name="settings_conversations_title">Conversations</string>
|
||||
<string name="settings_conversations_auto_download_title">Télécharger automatiquement les fichiers</string>
|
||||
<string name="settings_conversations_auto_export_media_to_native_gallery_title">Rendre visible dans la galerie les médias téléchargés</string>
|
||||
|
|
|
|||
|
|
@ -262,6 +262,7 @@
|
|||
<string name="settings_calls_auto_record_title">Automatically start recording calls</string>
|
||||
<string name="settings_calls_change_ringtone_title">Change ringtone</string>
|
||||
<string name="settings_calls_change_ringtone_pick_title">Pick ringtone</string>
|
||||
<string name="settings_calls_change_ringtone_picker_unavailable_toast">Ringtone picker isn\'t available!</string>
|
||||
<string name="settings_conversations_title">Conversations</string>
|
||||
<string name="settings_conversations_auto_download_title">Auto-download files</string>
|
||||
<string name="settings_conversations_auto_export_media_to_native_gallery_title">Make downloaded media public</string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue