Room list

This commit is contained in:
Benoit Marty
2019-05-29 12:21:45 +02:00
parent 25f6528049
commit 2b8bbc550c
22 changed files with 290 additions and 102 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorAccent" android:state_checked="true" />
<item android:color="@color/vector_silver_color" />
<item android:color="#7E899C" />
</selector>

View File

@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="7dp"
android:height="12dp"
android:viewportWidth="7"
android:viewportHeight="12">
<path
android:pathData="M1,11l5,-5 -5,-5"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#2E2F32"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="14dp"
android:height="14dp"
android:viewportWidth="14"
android:viewportHeight="14">
<path
android:pathData="M6,0v6H0v2h6v6h2V8h6V6H8V0z"
android:fillColor="#FFF"
android:fillType="evenOdd"/>
</vector>

View File

@ -0,0 +1,21 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="34dp"
android:height="20dp"
android:viewportWidth="34"
android:viewportHeight="20">
<path
android:pathData="M19,9.5a8.38,8.38 0,0 1,-0.9 3.8,8.5 8.5,0 0,1 -7.6,4.7 8.38,8.38 0,0 1,-3.8 -0.9L1,19l1.9,-5.7A8.38,8.38 0,0 1,2 9.5a8.5,8.5 0,0 1,4.7 -7.6,8.38 8.38,0 0,1 3.8,-0.9h0.5a8.48,8.48 0,0 1,8 8v0.5z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#FFF"
android:strokeLineCap="round"/>
<path
android:pathData="M28.5,6v8M24.5,10h8"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#FFF"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,37 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="37dp"
android:height="20dp"
android:viewportWidth="37"
android:viewportHeight="20">
<path
android:pathData="M17,19v-2a4,4 0,0 0,-4 -4L5,13a4,4 0,0 0,-4 4v2"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#FFF"
android:strokeLineCap="round"/>
<path
android:pathData="M9,5m-4,0a4,4 0,1 1,8 0a4,4 0,1 1,-8 0"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#FFF"
android:strokeLineCap="round"/>
<path
android:pathData="M23,19v-2a4,4 0,0 0,-3 -3.87M16,1.13a4,4 0,0 1,0 7.75"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#FFF"
android:strokeLineCap="round"/>
<path
android:pathData="M31.5,6v8M27.5,10h8"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#FFF"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,22 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="22dp"
android:viewportWidth="20"
android:viewportHeight="22">
<path
android:pathData="M1,8l9,-7 9,7v11a2,2 0,0 1,-2 2H3a2,2 0,0 1,-2 -2V8z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#7E899C"
android:strokeLineCap="round"/>
<path
android:pathData="M7,21V11h6v10"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#7E899C"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M19,9.5a8.38,8.38 0,0 1,-0.9 3.8,8.5 8.5,0 0,1 -7.6,4.7 8.38,8.38 0,0 1,-3.8 -0.9L1,19l1.9,-5.7A8.38,8.38 0,0 1,2 9.5a8.5,8.5 0,0 1,4.7 -7.6,8.38 8.38,0 0,1 3.8,-0.9h0.5a8.48,8.48 0,0 1,8 8v0.5z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#7E899C"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="18dp"
android:height="20dp"
android:viewportWidth="18"
android:viewportHeight="20">
<path
android:pathData="M1,7h16M1,13h16M7,1L5,19M13,1l-2,18"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#7E899C"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,22 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M10,10m-2.455,0a2.455,2.455 0,1 1,4.91 0a2.455,2.455 0,1 1,-4.91 0"
android:strokeLineJoin="round"
android:strokeWidth="1.2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#FFF"
android:strokeLineCap="round"/>
<path
android:pathData="M16.055,12.455a1.35,1.35 0,0 0,0.27 1.489l0.049,0.049a1.636,1.636 0,1 1,-2.316 2.315l-0.049,-0.049a1.35,1.35 0,0 0,-1.489 -0.27,1.35 1.35,0 0,0 -0.818,1.236v0.139a1.636,1.636 0,0 1,-3.273 0v-0.074a1.35,1.35 0,0 0,-0.884 -1.235,1.35 1.35,0 0,0 -1.489,0.27l-0.049,0.049a1.636,1.636 0,1 1,-2.315 -2.316l0.049,-0.049a1.35,1.35 0,0 0,0.27 -1.489,1.35 1.35,0 0,0 -1.236,-0.818h-0.139a1.636,1.636 0,0 1,0 -3.273h0.074a1.35,1.35 0,0 0,1.235 -0.884,1.35 1.35,0 0,0 -0.27,-1.489l-0.049,-0.049a1.636,1.636 0,1 1,2.316 -2.315l0.049,0.049a1.35,1.35 0,0 0,1.489 0.27h0.065a1.35,1.35 0,0 0,0.819 -1.236v-0.139a1.636,1.636 0,0 1,3.272 0v0.074a1.35,1.35 0,0 0,0.819 1.235,1.35 1.35,0 0,0 1.489,-0.27l0.049,-0.049a1.636,1.636 0,1 1,2.315 2.316l-0.049,0.049a1.35,1.35 0,0 0,-0.27 1.489v0.065a1.35,1.35 0,0 0,1.236 0.819h0.139a1.636,1.636 0,0 1,0 3.272h-0.074a1.35,1.35 0,0 0,-1.235 0.819z"
android:strokeLineJoin="round"
android:strokeWidth="1.2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#FFF"
android:strokeLineCap="round"/>
</vector>

View File

@ -11,6 +11,7 @@
style="@style/VectorToolbarStyle"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#FFFFFF"
app:contentInsetStartWithNavigation="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
@ -25,20 +26,21 @@
<ImageView
android:id="@+id/groupToolbarAvatarImageView"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_width="32dp"
android:layout_height="32dp"
tools:src="@tools:sample/avatars" />
<TextView
android:id="@+id/groupToolbarTitleView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="32dp"
android:layout_marginEnd="32dp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="?vctr_toolbar_primary_text_color"
android:textSize="18sp"
android:textColor="@color/dark_grey"
android:textSize="20sp"
android:textStyle="bold"
tools:text="@tools:sample/lorem/random" />
</LinearLayout>
@ -49,20 +51,21 @@
android:id="@+id/roomListContainer"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#F3F8FD"
app:layout_constraintBottom_toTopOf="@+id/bottomNavigationView"
app:layout_constraintTop_toBottomOf="@+id/groupToolbar" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
app:itemIconTint="@android:color/white"
android:layout_height="48dp"
android:background="#FFFFFF"
app:itemIconTint="@color/home_bottom_nav_view_tint"
app:itemTextColor="@color/home_bottom_nav_view_tint"
app:labelVisibilityMode="unlabeled"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:menu='@menu/selected_group_navigation' />
app:menu="@menu/home_bottom_navigation" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -29,28 +29,33 @@
<TextView
android:id="@+id/homeDrawerUsernameView"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:maxLines="1"
android:singleLine="true"
android:textColor="@android:color/white"
android:textSize="15sp"
app:layout_constraintEnd_toStartOf="@id/homeDrawerHeaderSettingsView"
app:layout_constraintStart_toStartOf="@+id/homeDrawerHeaderAvatarView"
app:layout_constraintTop_toBottomOf="@+id/homeDrawerHeaderAvatarView"
tools:text="@sample/matrix.json/data/displayName" />
<TextView
android:id="@+id/homeDrawerUserIdView"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="17dp"
android:maxLines="1"
android:singleLine="true"
android:textColor="@android:color/white"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/homeDrawerHeaderSettingsView"
app:layout_constraintStart_toStartOf="@+id/homeDrawerHeaderAvatarView"
app:layout_constraintTop_toBottomOf="@+id/homeDrawerUsernameView"
tools:text="@sample/matrix.json/data/mxid" />
<!-- TODO Design Picto -->
<ImageView
android:id="@+id/homeDrawerHeaderSettingsView"
android:layout_width="wrap_content"
@ -62,8 +67,7 @@
android:paddingEnd="16dp"
android:paddingRight="16dp"
android:paddingBottom="16dp"
android:scaleType="center"
android:src="@drawable/ic_settings"
android:src="@drawable/ic_settings_x"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

View File

@ -2,6 +2,8 @@
<im.vector.riotredesign.core.platform.StateView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/stateView"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -12,11 +14,36 @@
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Create several FABs to manage different icon size. maxImageSize cannot be set programmatically -->
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/createRoomButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp" />
android:layout_margin="16dp"
android:src="@drawable/ic_fab_add"
app:maxImageSize="14dp" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/createChatRoomButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:scaleType="center"
android:src="@drawable/ic_fab_add_chat"
app:maxImageSize="34dp"
tools:layout_margin="66dp" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/createGroupRoomButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:scaleType="center"
android:src="@drawable/ic_fab_add_room"
app:maxImageSize="32dp"
tools:layout_margin="116dp" />
</im.vector.riotredesign.core.platform.StateView>

View File

@ -48,7 +48,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="21dp"
android:layout_marginRight="21dp"
android:src="@drawable/ic_material_chevron_right_black"
android:src="@drawable/ic_arrow_right"
app:layout_constraintBottom_toTopOf="@+id/groupBottomSeparator"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
@ -9,26 +8,34 @@
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:paddingStart="8dp"
android:paddingLeft="8dp">
tools:background="@color/pale_grey">
<ImageView
android:id="@+id/roomAvatarImageView"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="12dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@tools:sample/avatars" />
<!-- Margin bottom does not work, so I use space -->
<Space
android:id="@+id/roomAvatarBottomSpace"
android:layout_width="0dp"
android:layout_height="12dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/roomAvatarImageView"
tools:layout_marginStart="20dp" />
<TextView
android:id="@+id/roomNameView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginStart="@dimen/layout_horizontal_margin"
android:layout_marginLeft="@dimen/layout_horizontal_margin"
android:layout_marginTop="12dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
@ -36,14 +43,14 @@
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/black_87"
android:textSize="14sp"
android:textSize="15sp"
app:layout_constrainedWidth="true"
app:layout_constraintEnd_toStartOf="@+id/roomUnreadCounterBadgeView"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toEndOf="@id/roomAvatarImageView"
app:layout_constraintTop_toTopOf="parent"
tools:text="@tools:sample/full_names" />
tools:text="@sample/matrix.json/data/displayName" />
<im.vector.riotredesign.features.home.room.list.UnreadCounterBadgeView
android:id="@+id/roomUnreadCounterBadgeView"
@ -72,7 +79,7 @@
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:textColor="@color/black_38"
android:textSize="12sp"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="@+id/roomNameView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/roomNameView"
@ -82,25 +89,42 @@
android:id="@+id/roomLastEventView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:ellipsize="end"
android:maxLines="2"
android:textColor="@color/black_38"
android:textSize="14sp"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/roomNameView"
app:layout_constraintTop_toBottomOf="@+id/roomNameView"
tools:text="@tools:sample/lorem/random" />
tools:text="@sample/matrix.json/data/message" />
<!-- Margin bottom does not work, so I use space -->
<Space
android:id="@+id/roomLastEventBottomSpace"
android:layout_width="0dp"
android:layout_height="7dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/roomLastEventView"
tools:layout_marginStart="120dp" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/roomBottomBarrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="roomAvatarBottomSpace,roomLastEventBottomSpace" />
<View
android:id="@+id/roomDividerView"
android:layout_width="0dp"
android:layout_height="1dp"
android:background="#1e000000"
android:layout_marginTop="16dp"
app:layout_constraintTop_toBottomOf="@+id/roomLastEventView"
app:layout_constraintStart_toStartOf="@+id/roomNameView" />
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/roomBottomBarrier" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -9,12 +9,11 @@
android:focusable="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingStart="16dp"
android:paddingLeft="16dp"
android:paddingTop="8dp"
android:paddingEnd="8dp"
android:paddingRight="8dp"
android:paddingBottom="8dp"
android:paddingStart="@dimen/layout_horizontal_margin"
android:paddingLeft="@dimen/layout_horizontal_margin"
android:paddingTop="@dimen/layout_vertical_margin"
android:paddingEnd="@dimen/layout_horizontal_margin"
android:paddingRight="@dimen/layout_horizontal_margin"
tools:background="@color/pale_grey">
<TextView
@ -29,8 +28,9 @@
android:ellipsize="end"
android:gravity="center_vertical"
android:maxLines="1"
android:textColor="@color/bluey_grey_two"
tools:text="@string/room_recents_favourites" />
android:textColor="#7E899C"
android:textSize="14sp"
tools:text="@string/room_participants_header_direct_chats" />
<im.vector.riotredesign.features.home.room.list.UnreadCounterBadgeView
android:id="@+id/roomCategoryUnreadCounterBadgeView"
@ -39,12 +39,11 @@
android:gravity="center"
android:minWidth="16dp"
android:minHeight="16dp"
android:paddingRight="4dp"
android:paddingLeft="4dp"
android:textSize="10sp"
android:paddingRight="4dp"
android:textColor="@android:color/white"
tools:background="@drawable/bg_unread_highlight"
android:textSize="10sp"
tools:background="@drawable/bg_unread_highlight"
tools:text="24" />
</LinearLayout>

View File

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<!-- define an empty title else lint fails -->
<item
android:id="@+id/bottom_action_home"
android:contentDescription="@string/bottom_action_home"
android:enabled="true"
android:icon="@drawable/ic_home_black_24dp"
android:title="" />
<item
android:id="@+id/bottom_action_favourites"
android:contentDescription="@string/bottom_action_favourites"
android:enabled="true"
android:icon="@drawable/ic_star_black_24dp"
android:title="" />
<item
android:id="@+id/bottom_action_people"
android:contentDescription="@string/bottom_action_people"
android:enabled="true"
android:icon="@drawable/ic_person_black_24dp"
android:title="" />
<item
android:id="@+id/bottom_action_rooms"
android:contentDescription="@string/bottom_action_rooms"
android:enabled="true"
android:icon="@drawable/riot_tab_rooms"
android:title="" />
<item
android:id="@+id/bottom_action_groups"
android:contentDescription="@string/bottom_action_groups"
android:enabled="true"
android:icon="@drawable/riot_tab_groups"
android:title="" />
</menu>

View File

@ -1,25 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<!-- TODO Design: icon -->
<item
android:id="@+id/bottom_action_home"
android:contentDescription="@string/bottom_action_home"
android:enabled="true"
android:icon="@drawable/ic_home_black_24dp"
android:icon="@drawable/ic_home_bottom_catchup"
android:title="" />
<item
android:id="@+id/bottom_action_people"
android:contentDescription="@string/bottom_action_people"
android:enabled="true"
android:icon="@drawable/ic_person_black_24dp"
android:icon="@drawable/ic_home_bottom_chat"
android:title="" />
<item
android:id="@+id/bottom_action_rooms"
android:contentDescription="@string/bottom_action_rooms"
android:enabled="true"
android:icon="@drawable/riot_tab_rooms"
android:icon="@drawable/ic_home_bottom_group"
android:title="" />
</menu>

View File

@ -4,7 +4,7 @@
<item
android:id="@+id/menu_settings"
android:icon="@drawable/ic_settings"
android:icon="@drawable/ic_settings_x"
android:title="@string/room_sliding_menu_settings"
app:showAsAction="always" />

View File

@ -9,7 +9,7 @@
<item
android:id="@+id/sliding_menu_settings"
android:icon="@drawable/ic_settings"
android:icon="@drawable/ic_settings_x"
android:title="@string/room_sliding_menu_settings" />
<item