From 1183ae796c66642265baa9cf53a24f7ae33b3ed7 Mon Sep 17 00:00:00 2001 From: jarnedemeulemeester Date: Tue, 1 Aug 2023 09:16:04 +0200 Subject: [PATCH] refactor: remove databinding from base_item, collection_item, episode_item, home_episode_item, person_item, season_header, user_item and user_list_item Also completely disable databinding in app:phone --- app/phone/build.gradle.kts | 1 - .../dev/jdtech/jellyfin/BindingAdapters.kt | 9 - .../adapters/CollectionListAdapter.kt | 5 +- .../jellyfin/adapters/EpisodeListAdapter.kt | 16 +- .../adapters/HomeEpisodeListAdapter.kt | 4 +- .../jellyfin/adapters/PersonListAdapter.kt | 6 +- .../jellyfin/adapters/UserListAdapter.kt | 5 +- .../jellyfin/adapters/UserLoginListAdapter.kt | 5 +- .../jellyfin/adapters/ViewItemListAdapter.kt | 6 +- .../adapters/ViewItemPagingAdapter.kt | 6 +- app/phone/src/main/res/layout/base_item.xml | 167 ++++++------ .../src/main/res/layout/collection_item.xml | 73 +++--- .../src/main/res/layout/episode_item.xml | 248 ++++++++---------- .../src/main/res/layout/home_episode_item.xml | 147 +++++------ app/phone/src/main/res/layout/person_item.xml | 79 +++--- .../src/main/res/layout/season_header.xml | 139 +++++----- app/phone/src/main/res/layout/user_item.xml | 79 +++--- .../src/main/res/layout/user_list_item.xml | 83 +++--- 18 files changed, 486 insertions(+), 592 deletions(-) diff --git a/app/phone/build.gradle.kts b/app/phone/build.gradle.kts index e87ea7c2..85606195 100644 --- a/app/phone/build.gradle.kts +++ b/app/phone/build.gradle.kts @@ -70,7 +70,6 @@ android { } buildFeatures { - dataBinding = true viewBinding = true } } diff --git a/app/phone/src/main/java/dev/jdtech/jellyfin/BindingAdapters.kt b/app/phone/src/main/java/dev/jdtech/jellyfin/BindingAdapters.kt index 70654131..16d4f463 100644 --- a/app/phone/src/main/java/dev/jdtech/jellyfin/BindingAdapters.kt +++ b/app/phone/src/main/java/dev/jdtech/jellyfin/BindingAdapters.kt @@ -3,7 +3,6 @@ package dev.jdtech.jellyfin import android.view.View import android.widget.ImageView import androidx.annotation.DrawableRes -import androidx.databinding.BindingAdapter import coil.load import dev.jdtech.jellyfin.api.JellyfinApi import dev.jdtech.jellyfin.models.FindroidEpisode @@ -17,7 +16,6 @@ import org.jellyfin.sdk.model.api.ImageType import java.util.UUID import dev.jdtech.jellyfin.core.R as CoreR -@BindingAdapter("itemImage") fun bindItemImage(imageView: ImageView, item: BaseItemDto) { val itemId = if (item.type == BaseItemKind.EPISODE || item.type == BaseItemKind.SEASON && item.imageTags.isNullOrEmpty()) item.seriesId else item.id @@ -27,7 +25,6 @@ fun bindItemImage(imageView: ImageView, item: BaseItemDto) { .posterDescription(item.name) } -@BindingAdapter("itemImage") fun bindItemImage(imageView: ImageView, item: FindroidItem) { val itemId = when (item) { is FindroidEpisode -> item.seriesId @@ -39,7 +36,6 @@ fun bindItemImage(imageView: ImageView, item: FindroidItem) { .posterDescription(item.name) } -@BindingAdapter("itemBackdropImage") fun bindItemBackdropImage(imageView: ImageView, item: FindroidItem?) { if (item == null) return @@ -48,19 +44,16 @@ fun bindItemBackdropImage(imageView: ImageView, item: FindroidItem?) { .backdropDescription(item.name) } -@BindingAdapter("itemBackdropById") fun bindItemBackdropById(imageView: ImageView, itemId: UUID) { imageView.loadImage("/items/$itemId/Images/${ImageType.BACKDROP}") } -@BindingAdapter("personImage") fun bindPersonImage(imageView: ImageView, person: BaseItemPerson) { imageView .loadImage("/items/${person.id}/Images/${ImageType.PRIMARY}", placeholderId = CoreR.drawable.person_placeholder) .posterDescription(person.name) } -@BindingAdapter("cardItemImage") fun bindCardItemImage(imageView: ImageView, item: FindroidItem) { val imageType = when (item) { is FindroidMovie -> ImageType.BACKDROP @@ -72,12 +65,10 @@ fun bindCardItemImage(imageView: ImageView, item: FindroidItem) { .posterDescription(item.name) } -@BindingAdapter("seasonPoster") fun bindSeasonPoster(imageView: ImageView, seasonId: UUID) { imageView.loadImage("/items/$seasonId/Images/${ImageType.PRIMARY}") } -@BindingAdapter("userImage") fun bindUserImage(imageView: ImageView, user: User) { imageView .loadImage("/users/${user.id}/Images/${ImageType.PRIMARY}", placeholderId = CoreR.drawable.user_placeholder) diff --git a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/CollectionListAdapter.kt b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/CollectionListAdapter.kt index 71b30d82..871cf232 100644 --- a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/CollectionListAdapter.kt +++ b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/CollectionListAdapter.kt @@ -5,6 +5,7 @@ import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView +import dev.jdtech.jellyfin.bindCardItemImage import dev.jdtech.jellyfin.databinding.CollectionItemBinding import dev.jdtech.jellyfin.models.FindroidCollection @@ -14,8 +15,8 @@ class CollectionListAdapter( class CollectionViewHolder(private var binding: CollectionItemBinding) : RecyclerView.ViewHolder(binding.root) { fun bind(collection: FindroidCollection) { - binding.collection = collection - binding.executePendingBindings() + binding.collectionName.text = collection.name + bindCardItemImage(binding.collectionImage, collection) } } diff --git a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/EpisodeListAdapter.kt b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/EpisodeListAdapter.kt index b7d37e60..923a47c6 100644 --- a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/EpisodeListAdapter.kt +++ b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/EpisodeListAdapter.kt @@ -8,6 +8,9 @@ import androidx.core.view.isVisible import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView +import dev.jdtech.jellyfin.bindCardItemImage +import dev.jdtech.jellyfin.bindItemBackdropById +import dev.jdtech.jellyfin.bindSeasonPoster import dev.jdtech.jellyfin.databinding.EpisodeItemBinding import dev.jdtech.jellyfin.databinding.SeasonHeaderBinding import dev.jdtech.jellyfin.models.EpisodeItem @@ -26,25 +29,24 @@ class EpisodeListAdapter( class HeaderViewHolder(private var binding: SeasonHeaderBinding) : RecyclerView.ViewHolder(binding.root) { fun bind(header: EpisodeItem.Header) { - binding.seriesId = header.seriesId - binding.seasonId = header.seasonId binding.seasonName.text = header.seasonName binding.seriesName.text = header.seriesName - binding.executePendingBindings() + bindItemBackdropById(binding.itemBanner, header.seriesId) + bindSeasonPoster(binding.seasonPoster, header.seasonId) } } class EpisodeViewHolder(private var binding: EpisodeItemBinding) : RecyclerView.ViewHolder(binding.root) { fun bind(episode: FindroidEpisode) { - binding.episode = episode - binding.episodeTitle.text = if (episode.indexNumberEnd == null) { binding.root.context.getString(CoreR.string.episode_name, episode.indexNumber, episode.name) } else { binding.root.context.getString(CoreR.string.episode_name_with_end, episode.indexNumber, episode.indexNumberEnd, episode.name) } + binding.episodeOverview.text = episode.overview + if (episode.playbackPositionTicks > 0) { binding.progressBar.layoutParams.width = TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, @@ -56,9 +58,11 @@ class EpisodeListAdapter( binding.progressBar.visibility = View.GONE } + binding.playedIcon.isVisible = episode.played + binding.missingIcon.isVisible = episode.missing binding.downloadedIcon.isVisible = episode.isDownloaded() - binding.executePendingBindings() + bindCardItemImage(binding.episodeImage, episode) } } diff --git a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/HomeEpisodeListAdapter.kt b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/HomeEpisodeListAdapter.kt index 19945ea0..1676637b 100644 --- a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/HomeEpisodeListAdapter.kt +++ b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/HomeEpisodeListAdapter.kt @@ -8,6 +8,7 @@ import androidx.core.view.isVisible import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView +import dev.jdtech.jellyfin.bindCardItemImage import dev.jdtech.jellyfin.databinding.HomeEpisodeItemBinding import dev.jdtech.jellyfin.models.FindroidEpisode import dev.jdtech.jellyfin.models.FindroidItem @@ -22,7 +23,6 @@ class HomeEpisodeListAdapter(private val onClickListener: OnClickListener) : Lis ) : RecyclerView.ViewHolder(binding.root) { fun bind(item: FindroidItem) { - binding.item = item if (item.playbackPositionTicks > 0) { binding.progressBar.layoutParams.width = TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, @@ -49,7 +49,7 @@ class HomeEpisodeListAdapter(private val onClickListener: OnClickListener) : Lis } } - binding.executePendingBindings() + bindCardItemImage(binding.episodeImage, item) } } diff --git a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/PersonListAdapter.kt b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/PersonListAdapter.kt index 76339602..8cbc5571 100644 --- a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/PersonListAdapter.kt +++ b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/PersonListAdapter.kt @@ -5,6 +5,7 @@ import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView +import dev.jdtech.jellyfin.bindPersonImage import dev.jdtech.jellyfin.databinding.PersonItemBinding import org.jellyfin.sdk.model.api.BaseItemPerson @@ -13,8 +14,9 @@ class PersonListAdapter(private val clickListener: (item: BaseItemPerson) -> Uni class PersonViewHolder(private var binding: PersonItemBinding) : RecyclerView.ViewHolder(binding.root) { fun bind(person: BaseItemPerson) { - binding.person = person - binding.executePendingBindings() + binding.personName.text = person.name + binding.personRole.text = person.role + bindPersonImage(binding.personImage, person) } } diff --git a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/UserListAdapter.kt b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/UserListAdapter.kt index d9f0f24d..5b69d055 100644 --- a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/UserListAdapter.kt +++ b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/UserListAdapter.kt @@ -5,6 +5,7 @@ import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView +import dev.jdtech.jellyfin.bindUserImage import dev.jdtech.jellyfin.databinding.UserListItemBinding import dev.jdtech.jellyfin.models.User @@ -15,8 +16,8 @@ class UserListAdapter( class UserViewHolder(private var binding: UserListItemBinding) : RecyclerView.ViewHolder(binding.root) { fun bind(user: User) { - binding.user = user - binding.executePendingBindings() + binding.userName.text = user.name + bindUserImage(binding.userImage, user) } } diff --git a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/UserLoginListAdapter.kt b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/UserLoginListAdapter.kt index 5c0280e3..957dc113 100644 --- a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/UserLoginListAdapter.kt +++ b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/UserLoginListAdapter.kt @@ -5,6 +5,7 @@ import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView +import dev.jdtech.jellyfin.bindUserImage import dev.jdtech.jellyfin.databinding.UserItemBinding import dev.jdtech.jellyfin.models.User @@ -14,8 +15,8 @@ class UserLoginListAdapter( class UserLoginViewHolder(private var binding: UserItemBinding) : RecyclerView.ViewHolder(binding.root) { fun bind(user: User) { - binding.user = user - binding.executePendingBindings() + binding.userName.text = user.name + bindUserImage(binding.userImage, user) } } diff --git a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt index b8707ba9..5ef80297 100644 --- a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt +++ b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemListAdapter.kt @@ -7,6 +7,7 @@ import androidx.core.view.isVisible import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView +import dev.jdtech.jellyfin.bindItemImage import dev.jdtech.jellyfin.databinding.BaseItemBinding import dev.jdtech.jellyfin.models.FindroidEpisode import dev.jdtech.jellyfin.models.FindroidItem @@ -21,7 +22,6 @@ class ViewItemListAdapter( class ItemViewHolder(private var binding: BaseItemBinding, private val parent: ViewGroup) : RecyclerView.ViewHolder(binding.root) { fun bind(item: FindroidItem, fixedWidth: Boolean) { - binding.item = item binding.itemName.text = if (item is FindroidEpisode) item.seriesName else item.name binding.itemCount.visibility = if (item.unplayedItemCount != null && item.unplayedItemCount!! > 0) View.VISIBLE else View.GONE @@ -31,9 +31,11 @@ class ViewItemListAdapter( (binding.itemLayout.layoutParams as ViewGroup.MarginLayoutParams).bottomMargin = 0 } + binding.itemCount.text = item.unplayedItemCount.toString() + binding.playedIcon.isVisible = item.played binding.downloadedIcon.isVisible = item.isDownloaded() - binding.executePendingBindings() + bindItemImage(binding.itemImage, item) } } diff --git a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemPagingAdapter.kt b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemPagingAdapter.kt index 90dc05bd..43c6224d 100644 --- a/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemPagingAdapter.kt +++ b/app/phone/src/main/java/dev/jdtech/jellyfin/adapters/ViewItemPagingAdapter.kt @@ -7,6 +7,7 @@ import androidx.core.view.isVisible import androidx.paging.PagingDataAdapter import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.RecyclerView +import dev.jdtech.jellyfin.bindItemImage import dev.jdtech.jellyfin.databinding.BaseItemBinding import dev.jdtech.jellyfin.models.FindroidEpisode import dev.jdtech.jellyfin.models.FindroidItem @@ -21,7 +22,6 @@ class ViewItemPagingAdapter( class ItemViewHolder(private var binding: BaseItemBinding, private val parent: ViewGroup) : RecyclerView.ViewHolder(binding.root) { fun bind(item: FindroidItem, fixedWidth: Boolean) { - binding.item = item binding.itemName.text = if (item is FindroidEpisode) item.seriesName else item.name binding.itemCount.visibility = @@ -32,9 +32,11 @@ class ViewItemPagingAdapter( (binding.itemLayout.layoutParams as ViewGroup.MarginLayoutParams).bottomMargin = 0 } + binding.itemCount.text = item.unplayedItemCount.toString() + binding.playedIcon.isVisible = item.played binding.downloadedIcon.isVisible = item.isDownloaded() - binding.executePendingBindings() + bindItemImage(binding.itemImage, item) } } diff --git a/app/phone/src/main/res/layout/base_item.xml b/app/phone/src/main/res/layout/base_item.xml index f6bf4e49..cbd5dcf5 100644 --- a/app/phone/src/main/res/layout/base_item.xml +++ b/app/phone/src/main/res/layout/base_item.xml @@ -1,103 +1,88 @@ - + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/item_layout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginHorizontal="12dp" + android:layout_marginBottom="24dp" + android:clickable="true" + android:focusable="true" + android:foreground="@drawable/ripple_background" + android:orientation="vertical"> - + - - - - - - + android:layout_marginTop="4dp" + android:ellipsize="end" + android:maxLines="2" + android:textAppearance="@style/TextAppearance.Material3.BodyMedium" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/item_image" + tools:text="Movie title" /> - + + + + android:id="@+id/item_count" + android:layout_width="24dp" + android:layout_height="24dp" + android:layout_marginStart="8dp" + android:background="@drawable/circle_background" + android:gravity="center" + android:textAppearance="@style/TextAppearance.Material3.BodySmall" + android:textColor="?attr/colorOnPrimary" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:text="9" /> - + app:layout_constraintTop_toTopOf="@id/item_image" + app:tint="?attr/colorOnPrimary" /> - + - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/phone/src/main/res/layout/collection_item.xml b/app/phone/src/main/res/layout/collection_item.xml index 36ecfbac..e13b04b8 100644 --- a/app/phone/src/main/res/layout/collection_item.xml +++ b/app/phone/src/main/res/layout/collection_item.xml @@ -1,47 +1,36 @@ - + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginHorizontal="12dp" + android:layout_marginBottom="24dp" + android:clickable="true" + android:focusable="true" + android:foreground="@drawable/ripple_background" + android:orientation="vertical"> - + - - - - - - - - - - \ No newline at end of file + android:layout_marginTop="4dp" + android:textAppearance="@style/TextAppearance.Material3.BodyMedium" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/collection_image" + tools:text="Movies" /> + \ No newline at end of file diff --git a/app/phone/src/main/res/layout/episode_item.xml b/app/phone/src/main/res/layout/episode_item.xml index 34c20ea0..8a46dab5 100644 --- a/app/phone/src/main/res/layout/episode_item.xml +++ b/app/phone/src/main/res/layout/episode_item.xml @@ -1,143 +1,127 @@ - + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="100dp" + android:layout_marginHorizontal="24dp" + android:layout_marginBottom="24dp" + android:clickable="true" + android:focusable="true" + android:foreground="@drawable/ripple_background"> - - - - - - - - + android:scaleType="centerCrop" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.Findroid.Image" /> - + - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + android:layout_marginStart="8dp" + android:background="@drawable/circle_background" + android:backgroundTint="?attr/colorError" + app:layout_constraintEnd_toStartOf="@id/played_icon" + app:layout_constraintTop_toTopOf="@id/episode_image" + tools:visibility="visible"> + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/phone/src/main/res/layout/home_episode_item.xml b/app/phone/src/main/res/layout/home_episode_item.xml index 40995caf..422c08ce 100644 --- a/app/phone/src/main/res/layout/home_episode_item.xml +++ b/app/phone/src/main/res/layout/home_episode_item.xml @@ -1,88 +1,77 @@ - + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="240dp" + android:layout_height="wrap_content" + android:layout_marginHorizontal="12dp" + android:clickable="true" + android:focusable="true" + android:foreground="@drawable/ripple_background"> - + - - - - + android:layout_marginTop="4dp" + android:ellipsize="end" + android:maxLines="1" + android:textAppearance="@style/TextAppearance.Material3.BodyMedium" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/episode_image" + tools:text="Wonder Egg Priority" /> - + - + - + - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/phone/src/main/res/layout/person_item.xml b/app/phone/src/main/res/layout/person_item.xml index e9fa0b2d..74ec8930 100644 --- a/app/phone/src/main/res/layout/person_item.xml +++ b/app/phone/src/main/res/layout/person_item.xml @@ -1,52 +1,39 @@ - + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/item_layout" + android:layout_width="110dp" + android:layout_height="wrap_content" + android:layout_marginHorizontal="8dp" + android:clickable="true" + android:focusable="true" + android:foreground="@drawable/ripple_background" + android:orientation="vertical"> - + - - - - + android:ellipsize="end" + android:maxLines="1" + android:textAppearance="@style/TextAppearance.Material3.BodyMedium" + tools:text="Rosa Salazar" /> - - - - - - - \ No newline at end of file + + \ No newline at end of file diff --git a/app/phone/src/main/res/layout/season_header.xml b/app/phone/src/main/res/layout/season_header.xml index 3620c236..12901a25 100644 --- a/app/phone/src/main/res/layout/season_header.xml +++ b/app/phone/src/main/res/layout/season_header.xml @@ -1,86 +1,69 @@ - - + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/header" + android:layout_width="match_parent" + android:layout_height="200dp" + android:layout_marginBottom="16dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> - + - + - - + - + - + - - - - - - - - - - + \ No newline at end of file diff --git a/app/phone/src/main/res/layout/user_item.xml b/app/phone/src/main/res/layout/user_item.xml index 18b4e668..08357961 100644 --- a/app/phone/src/main/res/layout/user_item.xml +++ b/app/phone/src/main/res/layout/user_item.xml @@ -1,51 +1,38 @@ - + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="64dp" + android:layout_height="wrap_content" + android:layout_marginHorizontal="12dp" + android:clickable="true" + android:focusable="true" + android:foreground="@drawable/ripple_background"> - + - - - - - - - - - - - \ No newline at end of file + android:layout_marginTop="8dp" + android:ellipsize="end" + android:maxLines="1" + android:textAlignment="center" + android:textAppearance="@style/TextAppearance.Material3.BodyMedium" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/user_image" + tools:text="username" /> + \ No newline at end of file diff --git a/app/phone/src/main/res/layout/user_list_item.xml b/app/phone/src/main/res/layout/user_list_item.xml index 611fdd62..b672acdb 100644 --- a/app/phone/src/main/res/layout/user_list_item.xml +++ b/app/phone/src/main/res/layout/user_list_item.xml @@ -1,52 +1,39 @@ - + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="50dp" + android:layout_marginHorizontal="24dp" + android:layout_marginTop="12dp" + android:layout_marginBottom="12dp" + android:clickable="true" + android:focusable="true" + android:foreground="@drawable/ripple_background"> - + - - - - - - - - - - - \ No newline at end of file + + \ No newline at end of file