From 46dd17644fb14e2132c2fec588ba54d0c5ea410d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 31 Jan 2020 20:12:02 +0100 Subject: [PATCH] Room decoration - in room profile UI --- .../features/roomprofile/RoomProfileFragment.kt | 14 ++++++++++++-- .../main/res/layout/fragment_matrix_profile.xml | 12 +++++++++++- .../res/layout/view_stub_room_profile_header.xml | 10 ++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/features/roomprofile/RoomProfileFragment.kt b/vector/src/main/java/im/vector/riotx/features/roomprofile/RoomProfileFragment.kt index 4e86738271..2f626547d2 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomprofile/RoomProfileFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomprofile/RoomProfileFragment.kt @@ -21,6 +21,7 @@ import android.os.Bundle import android.os.Parcelable import android.view.View import androidx.appcompat.app.AlertDialog +import androidx.core.view.isVisible import com.airbnb.mvrx.args import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState @@ -34,6 +35,7 @@ import im.vector.riotx.core.extensions.configureWith import im.vector.riotx.core.extensions.exhaustive import im.vector.riotx.core.extensions.setTextOrHide import im.vector.riotx.core.platform.VectorBaseFragment +import im.vector.riotx.features.crypto.util.toImageRes import im.vector.riotx.features.home.AvatarRenderer import im.vector.riotx.features.home.room.list.actions.RoomListActionsArgs import im.vector.riotx.features.home.room.list.actions.RoomListQuickActionsBottomSheet @@ -75,8 +77,12 @@ class RoomProfileFragment @Inject constructor( } setupToolbar(matrixProfileToolbar) setupRecyclerView() - appBarStateChangeListener = MatrixItemAppBarStateChangeListener(headerView, listOf(matrixProfileToolbarAvatarImageView, - matrixProfileToolbarTitleView)) + appBarStateChangeListener = MatrixItemAppBarStateChangeListener( + headerView, + listOf(matrixProfileToolbarAvatarImageView, + matrixProfileToolbarTitleView, + matrixProfileDecorationToolbarAvatarImageView) + ) matrixProfileAppBarLayout.addOnOffsetChangedListener(appBarStateChangeListener) roomProfileViewModel.observeViewEvents { when (it) { @@ -139,6 +145,10 @@ class RoomProfileFragment @Inject constructor( val matrixItem = it.toMatrixItem() avatarRenderer.render(matrixItem, roomProfileAvatarView) avatarRenderer.render(matrixItem, matrixProfileToolbarAvatarImageView) + roomProfileDecorationImageView.isVisible = it.roomEncryptionTrustLevel != null + roomProfileDecorationImageView.setImageResource(it.roomEncryptionTrustLevel.toImageRes()) + matrixProfileDecorationToolbarAvatarImageView.isVisible = it.roomEncryptionTrustLevel != null + matrixProfileDecorationToolbarAvatarImageView.setImageResource(it.roomEncryptionTrustLevel.toImageRes()) } } roomProfileController.setData(state) diff --git a/vector/src/main/res/layout/fragment_matrix_profile.xml b/vector/src/main/res/layout/fragment_matrix_profile.xml index 7bd6d8bfb0..c98e595c51 100644 --- a/vector/src/main/res/layout/fragment_matrix_profile.xml +++ b/vector/src/main/res/layout/fragment_matrix_profile.xml @@ -20,8 +20,8 @@ android:layout_height="match_parent" app:contentScrim="?riotx_background" app:layout_scrollFlags="scroll|exitUntilCollapsed|snap" - app:scrimVisibleHeightTrigger="80dp" app:scrimAnimationDuration="250" + app:scrimVisibleHeightTrigger="80dp" app:titleEnabled="false" app:toolbarId="@+id/matrixProfileToolbar"> @@ -59,6 +59,16 @@ tools:alpha="1" tools:src="@tools:sample/avatars" /> + + + +