diff --git a/CHANGES.md b/CHANGES.md index a1748f3623..e7f920d788 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,6 +15,7 @@ Improvements 🙌: - Cross-Signing | Setup key backup as part of SSSS bootstrapping (#1201) - Cross-Signing | Gossip key backup recovery key (#1200) - Show room encryption status as a bubble tile (#1078) + - UX/UI | Add indicator to home tab on invite (#957) - Cross-Signing | Restore history after recover from passphrase (#1214) - Cross-Sign | QR code scan confirmation screens design update (#1187) - Emoji Verification | It's not the same butterfly! (#1220) diff --git a/vector/src/main/java/im/vector/riotx/features/home/HomeDetailViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/HomeDetailViewModel.kt index 6b322a2b48..3824ba7922 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/HomeDetailViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/HomeDetailViewModel.kt @@ -22,6 +22,7 @@ import com.airbnb.mvrx.ViewModelContext import com.squareup.inject.assisted.Assisted import com.squareup.inject.assisted.AssistedInject import im.vector.matrix.android.api.session.Session +import im.vector.matrix.android.api.session.room.model.Membership import im.vector.matrix.rx.rx import im.vector.riotx.core.di.HasScreenInjector import im.vector.riotx.core.platform.EmptyViewEvents @@ -116,10 +117,14 @@ class HomeDetailViewModel @AssistedInject constructor(@Assisted initialState: Ho .observeOn(Schedulers.computation()) .map { it.asSequence() } .subscribe { summaries -> + val invites = summaries + .filter { it.membership == Membership.INVITE } + .count() + val peopleNotifications = summaries .filter { it.isDirect } .map { it.notificationCount } - .sumBy { i -> i } + .sum() val peopleHasHighlight = summaries .filter { it.isDirect } .any { it.highlightCount > 0 } @@ -127,14 +132,14 @@ class HomeDetailViewModel @AssistedInject constructor(@Assisted initialState: Ho val roomsNotifications = summaries .filter { !it.isDirect } .map { it.notificationCount } - .sumBy { i -> i } + .sum() val roomsHasHighlight = summaries .filter { !it.isDirect } .any { it.highlightCount > 0 } setState { copy( - notificationCountCatchup = peopleNotifications + roomsNotifications, + notificationCountCatchup = peopleNotifications + roomsNotifications + invites, notificationHighlightCatchup = peopleHasHighlight || roomsHasHighlight, notificationCountPeople = peopleNotifications, notificationHighlightPeople = peopleHasHighlight,