diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt index 998c9bebda..305c2220fe 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogFragment.kt @@ -84,6 +84,7 @@ class CallLogFragment : Fragment(R.layout.call_log_fragment), CallLogAdapter.Cal val isFiltered = viewModel.filterSnapshot == CallLogFilter.MISSED menu.findItem(R.id.action_clear_missed_call_filter).isVisible = isFiltered menu.findItem(R.id.action_filter_missed_calls).isVisible = !isFiltered + menu.findItem(R.id.action_clear_call_history).isVisible = !viewModel.isEmpty } override fun onMenuItemSelected(menuItem: MenuItem): Boolean { diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogViewModel.kt index 6b83017366..36203fbf17 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogViewModel.kt @@ -40,8 +40,12 @@ class CallLogViewModel( .stateFlowable .map { it.selectionState to it.stagedDeletion } + private val _isEmpty: BehaviorProcessor = BehaviorProcessor.createDefault(false) + val isEmpty: Boolean get() = _isEmpty.value ?: false + val totalCount: Flowable = Flowable.combineLatest(distinctQueryFilterPairs, data) { a, _ -> a } .map { (query, filter) -> callLogRepository.getCallsCount(query, filter) } + .doOnNext { _isEmpty.onNext(it <= 0) } val selectionStateSnapshot: CallLogSelectionState get() = callLogStore.state.selectionState