diff --git a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/albums/activity/AlbumBrowseActivity.kt b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/albums/activity/AlbumBrowseActivity.kt index 42af09df1..75b68c0ce 100644 --- a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/albums/activity/AlbumBrowseActivity.kt +++ b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/albums/activity/AlbumBrowseActivity.kt @@ -51,7 +51,7 @@ class AlbumBrowseActivity : BaseActivity(), Filterable { setTitleFromIntent(R.string.albums_title) enableUpNavigation() - adapter = AlbumBrowseAdapter(eventListener, playback) + adapter = AlbumBrowseAdapter(eventListener, playback, prefs) val recyclerView = findViewById(R.id.recycler_view) setupDefaultRecyclerView(recyclerView, adapter) diff --git a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/albums/adapter/AlbumBrowseAdapter.kt b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/albums/adapter/AlbumBrowseAdapter.kt index b03174386..4cb9aa013 100644 --- a/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/albums/adapter/AlbumBrowseAdapter.kt +++ b/src/musikdroid/app/src/main/java/io/casey/musikcube/remote/ui/albums/adapter/AlbumBrowseAdapter.kt @@ -1,6 +1,8 @@ package io.casey.musikcube.remote.ui.albums.adapter +import android.content.SharedPreferences import android.support.v7.widget.RecyclerView +import android.text.TextUtils import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -13,12 +15,14 @@ import io.casey.musikcube.remote.injection.GlideApp import io.casey.musikcube.remote.service.websocket.model.IAlbum import io.casey.musikcube.remote.ui.shared.extension.fallback import io.casey.musikcube.remote.ui.shared.extension.getColorCompat +import io.casey.musikcube.remote.ui.shared.extension.titleEllipsizeMode import io.casey.musikcube.remote.ui.shared.mixin.PlaybackMixin import io.casey.musikcube.remote.ui.shared.model.albumart.Size import io.casey.musikcube.remote.ui.shared.model.albumart.getUrl class AlbumBrowseAdapter(private val listener: EventListener, - private val playback: PlaybackMixin) + private val playback: PlaybackMixin, + val prefs: SharedPreferences) : RecyclerView.Adapter() { interface EventListener { @@ -27,6 +31,7 @@ class AlbumBrowseAdapter(private val listener: EventListener, } private var model: List = listOf() + private val ellipsizeMode = titleEllipsizeMode(prefs) internal fun setModel(model: List) { this.model = model @@ -37,9 +42,9 @@ class AlbumBrowseAdapter(private val listener: EventListener, val inflater = LayoutInflater.from(parent.context) val view = inflater.inflate(R.layout.simple_list_item, parent, false) val action = view.findViewById(R.id.action) - view.setOnClickListener({ v -> listener.onItemClicked(v.tag as IAlbum) }) - action.setOnClickListener({ v -> listener.onActionClicked(v, v.tag as IAlbum) }) - return ViewHolder(view, playback) + view.setOnClickListener { v -> listener.onItemClicked(v.tag as IAlbum) } + action.setOnClickListener { v -> listener.onActionClicked(v, v.tag as IAlbum) } + return ViewHolder(view, playback, ellipsizeMode) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { @@ -49,12 +54,20 @@ class AlbumBrowseAdapter(private val listener: EventListener, override fun getItemCount(): Int = model.size class ViewHolder internal constructor( - itemView: View, val playback: PlaybackMixin) : RecyclerView.ViewHolder(itemView) { + itemView: View, + val playback: PlaybackMixin, + ellipsizeMode: TextUtils.TruncateAt) + : RecyclerView.ViewHolder(itemView) + { private val title = itemView.findViewById(R.id.title) private val subtitle = itemView.findViewById(R.id.subtitle) private val artwork = itemView.findViewById(R.id.artwork) private val action = itemView.findViewById(R.id.action) + init { + title.ellipsize = ellipsizeMode + } + internal fun bind(album: IAlbum) { val playing = playback.service.playingTrack val playingId = playing.albumId