Catchup tab is removed temporarily (#1565)

Invites are displayed in the corresponding DM or Room tab
This commit is contained in:
Benoit Marty 2020-07-01 16:15:06 +02:00
parent 310517ece4
commit fb1c01c37c
7 changed files with 19 additions and 12 deletions

View file

@ -13,6 +13,7 @@ Improvements 🙌:
- Update user avatar (#1054) - Update user avatar (#1054)
- Allow self-signed certificate (#1564) - Allow self-signed certificate (#1564)
- Improve file download and open in timeline - Improve file download and open in timeline
- Catchup tab is removed temporarily (#1565)
Bugfix 🐛: Bugfix 🐛:
- Fix dark theme issue on login screen (#1097) - Fix dark theme issue on login screen (#1097)

View file

@ -117,8 +117,12 @@ class HomeDetailViewModel @AssistedInject constructor(@Assisted initialState: Ho
.observeOn(Schedulers.computation()) .observeOn(Schedulers.computation())
.map { it.asSequence() } .map { it.asSequence() }
.subscribe { summaries -> .subscribe { summaries ->
val invites = summaries val invitesDm = summaries
.filter { it.membership == Membership.INVITE } .filter { it.membership == Membership.INVITE && it.isDirect }
.count()
val invitesRoom = summaries
.filter { it.membership == Membership.INVITE && it.isDirect.not() }
.count() .count()
val peopleNotifications = summaries val peopleNotifications = summaries
@ -139,12 +143,12 @@ class HomeDetailViewModel @AssistedInject constructor(@Assisted initialState: Ho
setState { setState {
copy( copy(
notificationCountCatchup = peopleNotifications + roomsNotifications + invites, notificationCountCatchup = peopleNotifications + roomsNotifications + invitesDm + invitesRoom,
notificationHighlightCatchup = peopleHasHighlight || roomsHasHighlight, notificationHighlightCatchup = peopleHasHighlight || roomsHasHighlight,
notificationCountPeople = peopleNotifications, notificationCountPeople = peopleNotifications + invitesDm,
notificationHighlightPeople = peopleHasHighlight, notificationHighlightPeople = peopleHasHighlight || invitesDm > 0,
notificationCountRooms = roomsNotifications, notificationCountRooms = roomsNotifications + invitesRoom,
notificationHighlightRooms = roomsHasHighlight notificationHighlightRooms = roomsHasHighlight || invitesRoom > 0
) )
} }
} }

View file

@ -27,7 +27,7 @@ import im.vector.matrix.android.api.session.sync.SyncState
data class HomeDetailViewState( data class HomeDetailViewState(
val groupSummary: Option<GroupSummary> = Option.empty(), val groupSummary: Option<GroupSummary> = Option.empty(),
val asyncRooms: Async<List<RoomSummary>> = Uninitialized, val asyncRooms: Async<List<RoomSummary>> = Uninitialized,
val displayMode: RoomListDisplayMode = RoomListDisplayMode.HOME, val displayMode: RoomListDisplayMode = RoomListDisplayMode.PEOPLE,
val notificationCountCatchup: Int = 0, val notificationCountCatchup: Int = 0,
val notificationHighlightCatchup: Boolean = false, val notificationHighlightCatchup: Boolean = false,
val notificationCountPeople: Int = 0, val notificationCountPeople: Int = 0,

View file

@ -30,8 +30,8 @@ class RoomListDisplayModeFilter(private val displayMode: RoomListDisplayMode) :
return when (displayMode) { return when (displayMode) {
RoomListDisplayMode.HOME -> RoomListDisplayMode.HOME ->
roomSummary.notificationCount > 0 || roomSummary.membership == Membership.INVITE || roomSummary.userDrafts.isNotEmpty() roomSummary.notificationCount > 0 || roomSummary.membership == Membership.INVITE || roomSummary.userDrafts.isNotEmpty()
RoomListDisplayMode.PEOPLE -> roomSummary.isDirect && roomSummary.membership == Membership.JOIN RoomListDisplayMode.PEOPLE -> roomSummary.isDirect && roomSummary.membership.isActive()
RoomListDisplayMode.ROOMS -> !roomSummary.isDirect && roomSummary.membership == Membership.JOIN RoomListDisplayMode.ROOMS -> !roomSummary.isDirect && roomSummary.membership.isActive()
RoomListDisplayMode.FILTERED -> roomSummary.membership == Membership.JOIN RoomListDisplayMode.FILTERED -> roomSummary.membership == Membership.JOIN
} }
} }

View file

@ -171,6 +171,7 @@ object ThemeUtils {
* @param resourceId the resource id in the light theme * @param resourceId the resource id in the light theme
* @return the resource Id for the current theme * @return the resource Id for the current theme
*/ */
// TODO Now that we are API 21, this is not necessary anymore
fun getResourceId(c: Context, resourceId: Int): Int { fun getResourceId(c: Context, resourceId: Int): Int {
val theme = getApplicationTheme(c) val theme = getApplicationTheme(c)

View file

@ -36,7 +36,7 @@ class SharedPreferencesUiStateRepository @Inject constructor(private val sharedP
return when (sharedPreferences.getInt(KEY_DISPLAY_MODE, VALUE_DISPLAY_MODE_CATCHUP)) { return when (sharedPreferences.getInt(KEY_DISPLAY_MODE, VALUE_DISPLAY_MODE_CATCHUP)) {
VALUE_DISPLAY_MODE_PEOPLE -> RoomListDisplayMode.PEOPLE VALUE_DISPLAY_MODE_PEOPLE -> RoomListDisplayMode.PEOPLE
VALUE_DISPLAY_MODE_ROOMS -> RoomListDisplayMode.ROOMS VALUE_DISPLAY_MODE_ROOMS -> RoomListDisplayMode.ROOMS
else -> RoomListDisplayMode.HOME else -> RoomListDisplayMode.PEOPLE // RoomListDisplayMode.HOME
} }
} }

View file

@ -5,7 +5,8 @@
android:id="@+id/bottom_action_home" android:id="@+id/bottom_action_home"
android:enabled="true" android:enabled="true"
android:icon="@drawable/ic_home_bottom_catchup" android:icon="@drawable/ic_home_bottom_catchup"
android:title="@string/bottom_action_home" /> android:title="@string/bottom_action_home"
android:visible="false" />
<item <item
android:id="@+id/bottom_action_people" android:id="@+id/bottom_action_people"