mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Added mark as read when dismissing message notif setting
This commit is contained in:
parent
9fc9574369
commit
6c22b1f66d
6 changed files with 58 additions and 0 deletions
|
|
@ -121,6 +121,14 @@ class CorePreferences @UiThread constructor(private val context: Context) {
|
|||
config.setBool("app", "show_confirmation_dialog_zrtp_trust_call", value)
|
||||
}
|
||||
|
||||
/* Conversation related */
|
||||
|
||||
var markConversationAsReadWhenDismissingMessageNotification: Boolean
|
||||
get() = config.getBool("app", "mark_as_read_notif_dismissal", false)
|
||||
set(value) {
|
||||
config.setBool("app", "mark_as_read_notif_dismissal", value)
|
||||
}
|
||||
|
||||
/* Contacts related */
|
||||
|
||||
@get:WorkerThread @set:WorkerThread
|
||||
|
|
|
|||
|
|
@ -1089,6 +1089,12 @@ class NotificationsManager @MainThread constructor(private val context: Context)
|
|||
notificationBuilder.addPerson(person)
|
||||
}
|
||||
|
||||
if (corePreferences.markConversationAsReadWhenDismissingMessageNotification) {
|
||||
Log.i("$TAG Conversation will be marked as read upon notification dismissal")
|
||||
notificationBuilder
|
||||
.setDeleteIntent(getMarkMessageAsReadPendingIntent(notifiable))
|
||||
}
|
||||
|
||||
return notificationBuilder.build()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -87,6 +87,8 @@ class SettingsViewModel @UiThread constructor() : GenericViewModel() {
|
|||
|
||||
val autoDownloadEnabled = MutableLiveData<Boolean>()
|
||||
|
||||
val markAsReadWhenDismissingNotification = MutableLiveData<Boolean>()
|
||||
|
||||
// Contacts settings
|
||||
val showContactsSettings = MutableLiveData<Boolean>()
|
||||
|
||||
|
|
@ -271,6 +273,9 @@ class SettingsViewModel @UiThread constructor() : GenericViewModel() {
|
|||
allowIpv6.postValue(core.isIpv6Enabled)
|
||||
|
||||
autoDownloadEnabled.postValue(core.maxSizeForAutoDownloadIncomingFiles == 0)
|
||||
markAsReadWhenDismissingNotification.postValue(
|
||||
corePreferences.markConversationAsReadWhenDismissingMessageNotification
|
||||
)
|
||||
|
||||
defaultLayout.postValue(core.defaultConferenceLayout.toInt())
|
||||
|
||||
|
|
@ -418,6 +423,15 @@ class SettingsViewModel @UiThread constructor() : GenericViewModel() {
|
|||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleMarkConversationAsReadWhenDismissingNotification() {
|
||||
val newValue = markAsReadWhenDismissingNotification.value == false
|
||||
coreContext.postOnCoreThread {
|
||||
corePreferences.markConversationAsReadWhenDismissingMessageNotification = newValue
|
||||
markAsReadWhenDismissingNotification.postValue(newValue)
|
||||
}
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun toggleContactsExpand() {
|
||||
expandContacts.value = expandContacts.value == false
|
||||
|
|
|
|||
|
|
@ -44,6 +44,34 @@
|
|||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/settings_title_style"
|
||||
android:onClick="@{() -> viewModel.toggleMarkConversationAsReadWhenDismissingNotification()}"
|
||||
android:id="@+id/mark_as_read_dismiss_notif_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/settings_conversations_mark_as_read_when_dismissing_notif_title"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintTop_toTopOf="@id/mark_as_read_dismiss_notif_switch"
|
||||
app:layout_constraintBottom_toBottomOf="@id/mark_as_read_dismiss_notif_switch"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/mark_as_read_dismiss_notif_switch"/>
|
||||
|
||||
<com.google.android.material.materialswitch.MaterialSwitch
|
||||
style="@style/material_switch_style"
|
||||
android:id="@+id/mark_as_read_dismiss_notif_switch"
|
||||
android:onClick="@{() -> viewModel.toggleMarkConversationAsReadWhenDismissingNotification()}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:checked="@{viewModel.markAsReadWhenDismissingNotification}"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/auto_download_switch" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
||||
|
|
@ -194,6 +194,7 @@
|
|||
<string name="settings_calls_change_ringtone_title">Changer de sonnerie</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_mark_as_read_when_dismissing_notif_title">Marquer la conversation comme lue lorsqu\'une notification de message est supprimée</string>
|
||||
<string name="settings_contacts_title">Contacts</string>
|
||||
<string name="settings_contacts_add_ldap_server_title">Ajouter un serveur LDAP</string>
|
||||
<string name="settings_contacts_edit_ldap_server_title">Editer le serveur LDAP</string>
|
||||
|
|
|
|||
|
|
@ -231,6 +231,7 @@
|
|||
<string name="settings_calls_change_ringtone_title">Change ringtone</string>
|
||||
<string name="settings_conversations_title">Conversations</string>
|
||||
<string name="settings_conversations_auto_download_title">Auto-download files</string>
|
||||
<string name="settings_conversations_mark_as_read_when_dismissing_notif_title">Mark conversation as read when dismissing message notification</string>
|
||||
<string name="settings_contacts_title">Contacts</string>
|
||||
<string name="settings_contacts_add_ldap_server_title">Add LDAP server</string>
|
||||
<string name="settings_contacts_edit_ldap_server_title">Edit LDAP server</string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue