From 7e59933fdadfdcfd2ddc5759284b2f5d14dc320d Mon Sep 17 00:00:00 2001 From: ganfra Date: Mon, 29 Oct 2018 17:20:08 +0100 Subject: [PATCH] Polish toolbar on room detail screen --- .idea/caches/build_file_checksums.ser | Bin 659 -> 659 bytes app/build.gradle | 5 ++ .../core/extensions/CharSequence.kt | 6 ++ .../features/home/RoomSummaryViewHelper.kt | 19 ++++++ .../home/detail/RoomDetailFragment.kt | 11 +++- .../features/home/list/RoomListFragment.kt | 2 +- .../home/list/RoomSummaryController.kt | 10 ++- .../features/home/list/RoomSummaryItem.kt | 11 +++- .../main/res/layout/fragment_room_detail.xml | 58 +++++++++++++++++- app/src/main/res/layout/item_room.xml | 25 +++++--- 10 files changed, 128 insertions(+), 19 deletions(-) create mode 100644 app/src/main/java/im/vector/riotredesign/core/extensions/CharSequence.kt create mode 100644 app/src/main/java/im/vector/riotredesign/features/home/RoomSummaryViewHelper.kt diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 7d78b39972890635811eb82242fdf631e8d2e89f..da03d8866f97c64ae3ba926c508a6daad03fe884 100644 GIT binary patch delta 33 pcmbQtI+=CC43+~)6ZJRFdB!OCaep0OYLma%oP8mEjz+4xDgf@94iW$W delta 33 pcmbQtI+=CC43_=s0, RoomSummary>() { override fun buildModels(summaries: List?, selected: RoomSummary?) { summaries?.forEach { + val roomSummaryViewHelper = RoomSummaryViewHelper(it) RoomSummaryItem( - it.displayName, + title = it.displayName, + avatarDrawable = roomSummaryViewHelper.avatarDrawable(context), isSelected = it == selected, listener = { callback?.onRoomSelected(it) } ) diff --git a/app/src/main/java/im/vector/riotredesign/features/home/list/RoomSummaryItem.kt b/app/src/main/java/im/vector/riotredesign/features/home/list/RoomSummaryItem.kt index 718628dd..99393f21 100644 --- a/app/src/main/java/im/vector/riotredesign/features/home/list/RoomSummaryItem.kt +++ b/app/src/main/java/im/vector/riotredesign/features/home/list/RoomSummaryItem.kt @@ -1,23 +1,28 @@ package im.vector.riotredesign.features.home.list -import android.support.v4.content.ContextCompat +import android.graphics.drawable.Drawable +import android.widget.ImageView import android.widget.TextView import im.vector.riotredesign.R import im.vector.riotredesign.core.epoxy.KotlinModel import im.vector.riotredesign.core.platform.CheckableConstraintLayout + data class RoomSummaryItem( val title: CharSequence, + val avatarDrawable: Drawable, val isSelected: Boolean, val listener: (() -> Unit)? = null ) : KotlinModel(R.layout.item_room) { - val titleView by bind(R.id.titleView) - val rootView by bind(R.id.itemRoomLayout) + private val titleView by bind(R.id.titleView) + private val avatarImageView by bind(R.id.toolbarAvatarImageView) + private val rootView by bind(R.id.itemRoomLayout) override fun bind() { rootView.isChecked = isSelected titleView.setOnClickListener { listener?.invoke() } titleView.text = title + avatarImageView.setImageDrawable(avatarDrawable) } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_room_detail.xml b/app/src/main/res/layout/fragment_room_detail.xml index 9b4f1019..3dff21eb 100644 --- a/app/src/main/res/layout/fragment_room_detail.xml +++ b/app/src/main/res/layout/fragment_room_detail.xml @@ -1,6 +1,7 @@ @@ -8,12 +9,65 @@ android:id="@+id/toolbar" android:layout_width="0dp" android:layout_height="?actionBarSize" - android:background="@color/dark" + android:background="?attr/colorPrimary" + app:contentInsetStartWithNavigation="0dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" - app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> + app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> + + + + + + + + + + + + + + android:minHeight="48dp"> + + + tools:text="@tools:sample/full_names" /> \ No newline at end of file