From f3e52b96c0e48ea4afced1329df5fedfa1bf5628 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Sat, 11 Jan 2020 22:12:56 +0100 Subject: [PATCH] Cleanup --- .../room/breadcrumbs/BreadcrumbsController.kt | 2 +- .../home/room/detail/RoomDetailViewModel.kt | 2 +- .../home/room/list/RoomSummaryItemFactory.kt | 2 +- .../features/home/room/typing/TypingHelper.kt | 26 +++++++++---------- .../src/main/res/layout/item_breadcrumbs.xml | 4 +-- vector/src/main/res/values/donottranslate.xml | 1 + 6 files changed, 19 insertions(+), 18 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/breadcrumbs/BreadcrumbsController.kt b/vector/src/main/java/im/vector/riotx/features/home/room/breadcrumbs/BreadcrumbsController.kt index 28caf3a2cd..2761be88f1 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/breadcrumbs/BreadcrumbsController.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/breadcrumbs/BreadcrumbsController.kt @@ -64,7 +64,7 @@ class BreadcrumbsController @Inject constructor( unreadNotificationCount(it.notificationCount) showHighlighted(it.highlightCount > 0) hasUnreadMessage(it.hasUnreadMessages) - hasTypingUsers(typingHelper.excludeCurrentUser(it.typingRoomMemberIds)?.isNotEmpty() == true) + hasTypingUsers(typingHelper.excludeCurrentUser(it.typingRoomMemberIds).isNotEmpty()) hasDraft(it.userDrafts.isNotEmpty()) itemClickListener( DebouncedClickListener(View.OnClickListener { _ -> diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt index e6870dbb7f..ba7729a0f4 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt @@ -802,7 +802,7 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro .unwrap() .execute { async -> val typingRoomMembers = - typingHelper.toTypingRoomMembers(async.invoke()?.typingRoomMemberIds, room) + typingHelper.toTypingRoomMembers(async.invoke()?.typingRoomMemberIds.orEmpty(), room) copy( asyncRoomSummary = async, diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryItemFactory.kt b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryItemFactory.kt index dde4623334..d53cd7b8c0 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryItemFactory.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryItemFactory.kt @@ -126,7 +126,7 @@ class RoomSummaryItemFactory @Inject constructor(private val noticeEventFormatte } } - val typingString = if (roomSummary.typingRoomMemberIds.isEmpty()) { + val typingString = if (typingHelper.excludeCurrentUser(roomSummary.typingRoomMemberIds).isEmpty()) { null } else { // TODO Check how costly it is to create a Room here diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/typing/TypingHelper.kt b/vector/src/main/java/im/vector/riotx/features/home/room/typing/TypingHelper.kt index b6378657b1..e3dc3dc7ee 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/typing/TypingHelper.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/typing/TypingHelper.kt @@ -32,37 +32,37 @@ class TypingHelper @Inject constructor( * Exclude current user from the list of typing users */ fun excludeCurrentUser( - typingUserIds: List? - ): List? { + typingUserIds: List + ): List { return typingUserIds - ?.filter { it != session.myUserId } + .filter { it != session.myUserId } } /** * Convert a list of userId to a list of maximum 3 UserItems */ fun toTypingRoomMembers( - typingUserIds: List?, + typingUserIds: List, membershipService: MembershipService? - ): List? { + ): List { return excludeCurrentUser(typingUserIds) - ?.take(3) - ?.mapNotNull { membershipService?.getRoomMember(it) } - ?.map { it.toMatrixItem() } + .take(3) + .mapNotNull { membershipService?.getRoomMember(it) } + .map { it.toMatrixItem() } } /** * Convert a list of typing UserItems to a human readable String */ - fun toTypingMessage(typingUserItems: List?): String? { + fun toTypingMessage(typingUserItems: List): String? { return when { - typingUserItems.isNullOrEmpty() -> + typingUserItems.isEmpty() -> null - typingUserItems.size == 1 -> + typingUserItems.size == 1 -> stringProvider.getString(R.string.room_one_user_is_typing, typingUserItems[0].getBestName()) - typingUserItems.size == 2 -> + typingUserItems.size == 2 -> stringProvider.getString(R.string.room_two_users_are_typing, typingUserItems[0].getBestName(), typingUserItems[1].getBestName()) - else -> + else -> stringProvider.getString(R.string.room_many_users_are_typing, typingUserItems[0].getBestName(), typingUserItems[1].getBestName()) } } diff --git a/vector/src/main/res/layout/item_breadcrumbs.xml b/vector/src/main/res/layout/item_breadcrumbs.xml index 8e59799843..6596f71b40 100644 --- a/vector/src/main/res/layout/item_breadcrumbs.xml +++ b/vector/src/main/res/layout/item_breadcrumbs.xml @@ -59,7 +59,7 @@ android:layout_height="20dp" android:background="@drawable/bg_breadcrumbs_typing" android:gravity="center" - android:text="…" + android:text="@string/ellipsis" android:textColor="@android:color/white" android:textSize="11sp" android:textStyle="bold" @@ -67,7 +67,7 @@ app:layout_constraintCircle="@+id/breadcrumbsImageView" app:layout_constraintCircleAngle="135" app:layout_constraintCircleRadius="28dp" - tools:ignore="HardcodedText,MissingConstraints" + tools:ignore="MissingConstraints" tools:visibility="visible" /> Debug screen + + :