mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-24 10:51:27 +01:00
Mark all call events as read whenever we enter the calls tab.
This commit is contained in:
committed by
Greyson Parrelli
parent
ee89629738
commit
2a16d8baed
@@ -10,7 +10,6 @@ import android.view.View
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.view.ActionMode
|
||||
import androidx.compose.animation.core.snap
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
import androidx.core.view.MenuProvider
|
||||
import androidx.fragment.app.Fragment
|
||||
@@ -193,6 +192,7 @@ class CallLogFragment : Fragment(R.layout.call_log_fragment), CallLogAdapter.Cal
|
||||
super.onResume()
|
||||
initializeSearchAction()
|
||||
ApplicationDependencies.getDeletedCallEventManager().scheduleIfNecessary()
|
||||
viewModel.markAllCallEventsRead()
|
||||
}
|
||||
|
||||
private fun initializeTapToScrollToTop(snapToTopDataObserver: SnapToTopDataObserver) {
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.calls.log
|
||||
import io.reactivex.rxjava3.core.Completable
|
||||
import io.reactivex.rxjava3.core.Observable
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
import org.signal.core.util.concurrent.SignalExecutors
|
||||
import org.thoughtcrime.securesms.database.DatabaseObserver
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
@@ -16,6 +17,12 @@ class CallLogRepository : CallLogPagedDataSource.CallRepository {
|
||||
return SignalDatabase.calls.getCalls(start, length, query, filter)
|
||||
}
|
||||
|
||||
fun markAllCallEventsRead() {
|
||||
SignalExecutors.BOUNDED_IO.execute {
|
||||
SignalDatabase.messages.markAllCallEventsRead()
|
||||
}
|
||||
}
|
||||
|
||||
fun listenForChanges(): Observable<Unit> {
|
||||
return Observable.create { emitter ->
|
||||
fun refresh() {
|
||||
|
||||
@@ -77,6 +77,10 @@ class CallLogViewModel(
|
||||
disposables.dispose()
|
||||
}
|
||||
|
||||
fun markAllCallEventsRead() {
|
||||
callLogRepository.markAllCallEventsRead()
|
||||
}
|
||||
|
||||
fun selectAll() {
|
||||
callLogStore.update {
|
||||
val selectionState = CallLogSelectionState.selectAll()
|
||||
|
||||
@@ -1307,6 +1307,13 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
|
||||
return markedMessageInfos
|
||||
}
|
||||
|
||||
fun markAllCallEventsRead(): List<MarkedMessageInfo> {
|
||||
val where = "$IS_CALL_TYPE_CLAUSE AND $READ = 0"
|
||||
val markedMessageInfos = setMessagesRead(where, null)
|
||||
notifyConversationListListeners()
|
||||
return markedMessageInfos
|
||||
}
|
||||
|
||||
fun markAllFailedStoriesNotified() {
|
||||
val where = "$IS_STORY_CLAUSE AND (${getOutgoingTypeClause()}) AND $NOTIFIED = 0 AND ($TYPE & ${MessageTypes.BASE_TYPE_MASK}) = ${MessageTypes.BASE_SENT_FAILED_TYPE}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user