Fix more playback display issues
Fix some other problems with the way playback is displayed.
This commit is contained in:
parent
6687dbc2f6
commit
554a0f28b2
19 changed files with 27 additions and 93 deletions
|
@ -12,7 +12,7 @@ class AuxioApp : Application(), ImageLoaderFactory {
|
||||||
super.onCreate()
|
super.onCreate()
|
||||||
|
|
||||||
// Init SettingsManager here so that there aren't any race conditions
|
// Init SettingsManager here so that there aren't any race conditions
|
||||||
// [e.g Service gets SettingsManager before activity can init SettingsManager]
|
// [e.g PlaybackService gets SettingsManager before activity can init SettingsManager]
|
||||||
SettingsManager.init(applicationContext)
|
SettingsManager.init(applicationContext)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,27 +75,22 @@ class MainFragment : Fragment() {
|
||||||
if (isTablet(resources) && !isLandscape(resources)) {
|
if (isTablet(resources) && !isLandscape(resources)) {
|
||||||
labelVisibilityMode = LabelVisibilityMode.LABEL_VISIBILITY_LABELED
|
labelVisibilityMode = LabelVisibilityMode.LABEL_VISIBILITY_LABELED
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
binding.navBar.itemIconTintList = navTints
|
|
||||||
binding.navBar.itemTextColor = navTints
|
|
||||||
|
|
||||||
navController?.let { controller ->
|
navController?.let { controller ->
|
||||||
binding.navBar.setOnNavigationItemSelectedListener {
|
binding.navBar.setOnNavigationItemSelectedListener {
|
||||||
navigateWithItem(controller, it)
|
navigateWithItem(controller, it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// --- VIEWMODEL SETUP ---
|
// --- VIEWMODEL SETUP ---
|
||||||
|
|
||||||
// Change CompactPlaybackFragment's visibility here so that an animation occurs.
|
// Change CompactPlaybackFragment's visibility here so that an animation occurs.
|
||||||
if (!isLandscape(resources)) {
|
|
||||||
handleCompactPlaybackVisibility(binding, playbackModel.song.value)
|
handleCompactPlaybackVisibility(binding, playbackModel.song.value)
|
||||||
|
|
||||||
playbackModel.song.observe(viewLifecycleOwner) {
|
playbackModel.song.observe(viewLifecycleOwner) {
|
||||||
handleCompactPlaybackVisibility(binding, it)
|
handleCompactPlaybackVisibility(binding, it)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
detailModel.navToItem.observe(viewLifecycleOwner) {
|
detailModel.navToItem.observe(viewLifecycleOwner) {
|
||||||
if (it != null && navController != null) {
|
if (it != null && navController != null) {
|
||||||
|
@ -148,7 +143,9 @@ class MainFragment : Fragment() {
|
||||||
if (song == null) {
|
if (song == null) {
|
||||||
logD("Hiding CompactPlaybackFragment since no song is being played.")
|
logD("Hiding CompactPlaybackFragment since no song is being played.")
|
||||||
|
|
||||||
binding.compactPlayback.visibility = View.GONE
|
binding.compactPlayback.visibility = if (isLandscape(resources))
|
||||||
|
View.INVISIBLE else View.GONE
|
||||||
|
|
||||||
playbackModel.disableAnimation()
|
playbackModel.disableAnimation()
|
||||||
} else {
|
} else {
|
||||||
binding.compactPlayback.visibility = View.VISIBLE
|
binding.compactPlayback.visibility = View.VISIBLE
|
||||||
|
|
|
@ -15,7 +15,6 @@ import org.oxycblt.auxio.databinding.FragmentCompactPlaybackBinding
|
||||||
import org.oxycblt.auxio.detail.DetailViewModel
|
import org.oxycblt.auxio.detail.DetailViewModel
|
||||||
import org.oxycblt.auxio.logD
|
import org.oxycblt.auxio.logD
|
||||||
import org.oxycblt.auxio.music.MusicStore
|
import org.oxycblt.auxio.music.MusicStore
|
||||||
import org.oxycblt.auxio.ui.isLandscape
|
|
||||||
import org.oxycblt.auxio.ui.memberBinding
|
import org.oxycblt.auxio.ui.memberBinding
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -37,8 +36,6 @@ class CompactPlaybackFragment : Fragment() {
|
||||||
container: ViewGroup?,
|
container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View {
|
): View {
|
||||||
val isLandscape = isLandscape(resources)
|
|
||||||
|
|
||||||
// --- UI SETUP ---
|
// --- UI SETUP ---
|
||||||
|
|
||||||
binding.lifecycleOwner = viewLifecycleOwner
|
binding.lifecycleOwner = viewLifecycleOwner
|
||||||
|
@ -46,9 +43,6 @@ class CompactPlaybackFragment : Fragment() {
|
||||||
// Put a placeholder song in the binding & hide the playback fragment initially.
|
// Put a placeholder song in the binding & hide the playback fragment initially.
|
||||||
binding.song = MusicStore.getInstance().songs[0]
|
binding.song = MusicStore.getInstance().songs[0]
|
||||||
binding.playbackModel = playbackModel
|
binding.playbackModel = playbackModel
|
||||||
if (playbackModel.song.value == null && isLandscape) {
|
|
||||||
hideAll(binding)
|
|
||||||
}
|
|
||||||
|
|
||||||
binding.root.apply {
|
binding.root.apply {
|
||||||
setOnClickListener {
|
setOnClickListener {
|
||||||
|
@ -71,14 +65,6 @@ class CompactPlaybackFragment : Fragment() {
|
||||||
|
|
||||||
binding.song = it
|
binding.song = it
|
||||||
binding.playbackProgress.max = it.seconds.toInt()
|
binding.playbackProgress.max = it.seconds.toInt()
|
||||||
|
|
||||||
if (isLandscape) {
|
|
||||||
showAll(binding)
|
|
||||||
}
|
|
||||||
} else if (isLandscape) {
|
|
||||||
// CompactPlaybackFragment isn't fully hidden in landscape mode, only
|
|
||||||
// its UI elements are hidden.
|
|
||||||
hideAll(binding)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,36 +112,4 @@ class CompactPlaybackFragment : Fragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Hide all UI elements, and disable the fragment from being clickable.
|
|
||||||
* Only called in landscape mode.
|
|
||||||
*/
|
|
||||||
private fun hideAll(binding: FragmentCompactPlaybackBinding) {
|
|
||||||
binding.apply {
|
|
||||||
root.isEnabled = false
|
|
||||||
|
|
||||||
playbackCover.visibility = View.INVISIBLE
|
|
||||||
playbackSong.visibility = View.INVISIBLE
|
|
||||||
playbackInfo.visibility = View.INVISIBLE
|
|
||||||
playbackControls.visibility = View.INVISIBLE
|
|
||||||
playbackProgress.visibility = View.INVISIBLE
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Unhide all UI elements, and make the fragment clickable.
|
|
||||||
* Only called in landscape mode.
|
|
||||||
*/
|
|
||||||
private fun showAll(binding: FragmentCompactPlaybackBinding) {
|
|
||||||
binding.apply {
|
|
||||||
root.isEnabled = true
|
|
||||||
|
|
||||||
playbackCover.visibility = View.VISIBLE
|
|
||||||
playbackSong.visibility = View.VISIBLE
|
|
||||||
playbackInfo.visibility = View.VISIBLE
|
|
||||||
playbackControls.visibility = View.VISIBLE
|
|
||||||
playbackProgress.visibility = View.VISIBLE
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,8 +44,8 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/margin_mid_small"
|
android:layout_marginStart="@dimen/margin_mid_small"
|
||||||
android:layout_marginEnd="@dimen/margin_mid_small"
|
android:layout_marginEnd="@dimen/margin_mid_small"
|
||||||
android:fontFamily="@font/inter_semibold"
|
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
|
android:fontFamily="@font/inter_semibold"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:text="@{song.name}"
|
android:text="@{song.name}"
|
||||||
android:textAppearance="@style/TextAppearance.SmallHeader"
|
android:textAppearance="@style/TextAppearance.SmallHeader"
|
||||||
|
|
|
@ -172,7 +172,6 @@
|
||||||
android:id="@+id/playback_skip_next"
|
android:id="@+id/playback_skip_next"
|
||||||
style="@style/Widget.Button.Unbounded"
|
style="@style/Widget.Button.Unbounded"
|
||||||
android:layout_marginEnd="@dimen/margin_large"
|
android:layout_marginEnd="@dimen/margin_large"
|
||||||
android:padding="0dp"
|
|
||||||
android:background="@drawable/ui_unbounded_ripple"
|
android:background="@drawable/ui_unbounded_ripple"
|
||||||
android:contentDescription="@string/description_skip_next"
|
android:contentDescription="@string/description_skip_next"
|
||||||
android:onClick="@{() -> playbackModel.skipNext()}"
|
android:onClick="@{() -> playbackModel.skipNext()}"
|
||||||
|
@ -190,7 +189,6 @@
|
||||||
android:contentDescription="@string/description_skip_prev"
|
android:contentDescription="@string/description_skip_prev"
|
||||||
android:onClick="@{() -> playbackModel.skipPrev()}"
|
android:onClick="@{() -> playbackModel.skipPrev()}"
|
||||||
android:src="@drawable/ic_skip_prev"
|
android:src="@drawable/ic_skip_prev"
|
||||||
android:padding="0dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_loop"
|
app:layout_constraintStart_toEndOf="@+id/playback_loop"
|
||||||
|
|
|
@ -29,9 +29,9 @@
|
||||||
android:layout_height="@dimen/size_cover_mid_huge"
|
android:layout_height="@dimen/size_cover_mid_huge"
|
||||||
android:layout_marginStart="@dimen/margin_medium"
|
android:layout_marginStart="@dimen/margin_medium"
|
||||||
android:layout_marginTop="@dimen/margin_medium"
|
android:layout_marginTop="@dimen/margin_medium"
|
||||||
android:outlineProvider="bounds"
|
|
||||||
android:elevation="@dimen/elevation_normal"
|
|
||||||
android:contentDescription="@{@string/description_album_cover(album.name)}"
|
android:contentDescription="@{@string/description_album_cover(album.name)}"
|
||||||
|
android:elevation="@dimen/elevation_normal"
|
||||||
|
android:outlineProvider="bounds"
|
||||||
app:coverArt="@{album}"
|
app:coverArt="@{album}"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|
|
@ -29,8 +29,8 @@
|
||||||
android:layout_height="@dimen/size_cover_mid_huge"
|
android:layout_height="@dimen/size_cover_mid_huge"
|
||||||
android:layout_margin="@dimen/margin_medium"
|
android:layout_margin="@dimen/margin_medium"
|
||||||
android:contentDescription="@{@string/description_artist_image(artist.name)}"
|
android:contentDescription="@{@string/description_artist_image(artist.name)}"
|
||||||
android:outlineProvider="bounds"
|
|
||||||
android:elevation="@dimen/elevation_normal"
|
android:elevation="@dimen/elevation_normal"
|
||||||
|
android:outlineProvider="bounds"
|
||||||
app:artistImage="@{artist}"
|
app:artistImage="@{artist}"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|
|
@ -29,8 +29,8 @@
|
||||||
android:layout_height="@dimen/size_cover_mid_huge"
|
android:layout_height="@dimen/size_cover_mid_huge"
|
||||||
android:layout_margin="@dimen/margin_medium"
|
android:layout_margin="@dimen/margin_medium"
|
||||||
android:contentDescription="@{@string/description_genre_image(genre.name)}"
|
android:contentDescription="@{@string/description_genre_image(genre.name)}"
|
||||||
android:outlineProvider="bounds"
|
|
||||||
android:elevation="@dimen/elevation_normal"
|
android:elevation="@dimen/elevation_normal"
|
||||||
|
android:outlineProvider="bounds"
|
||||||
app:genreImage="@{genre}"
|
app:genreImage="@{genre}"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|
|
@ -173,14 +173,10 @@
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/playback_skip_next"
|
android:id="@+id/playback_skip_next"
|
||||||
style="@style/Widget.Button.Unbounded"
|
style="@style/Widget.Button.Unbounded"
|
||||||
android:layout_width="@dimen/size_play_pause_compact"
|
|
||||||
android:layout_height="@dimen/size_play_pause_compact"
|
|
||||||
android:layout_marginEnd="@dimen/margin_large"
|
android:layout_marginEnd="@dimen/margin_large"
|
||||||
android:background="@drawable/ui_unbounded_ripple"
|
|
||||||
android:contentDescription="@string/description_skip_next"
|
android:contentDescription="@string/description_skip_next"
|
||||||
android:onClick="@{() -> playbackModel.skipNext()}"
|
android:onClick="@{() -> playbackModel.skipNext()}"
|
||||||
android:src="@drawable/ic_skip_next"
|
android:src="@drawable/ic_skip_next"
|
||||||
android:padding="0dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_shuffle"
|
app:layout_constraintEnd_toStartOf="@+id/playback_shuffle"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
||||||
|
@ -189,10 +185,7 @@
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/playback_skip_prev"
|
android:id="@+id/playback_skip_prev"
|
||||||
style="@style/Widget.Button.Unbounded"
|
style="@style/Widget.Button.Unbounded"
|
||||||
android:layout_width="@dimen/size_play_pause_compact"
|
|
||||||
android:layout_height="@dimen/size_play_pause_compact"
|
|
||||||
android:layout_marginStart="@dimen/margin_large"
|
android:layout_marginStart="@dimen/margin_large"
|
||||||
android:background="@drawable/ui_unbounded_ripple"
|
|
||||||
android:contentDescription="@string/description_skip_prev"
|
android:contentDescription="@string/description_skip_prev"
|
||||||
android:onClick="@{() -> playbackModel.skipPrev()}"
|
android:onClick="@{() -> playbackModel.skipPrev()}"
|
||||||
android:src="@drawable/ic_skip_prev"
|
android:src="@drawable/ic_skip_prev"
|
||||||
|
@ -204,13 +197,9 @@
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/playback_shuffle"
|
android:id="@+id/playback_shuffle"
|
||||||
style="@style/Widget.Button.Unbounded"
|
style="@style/Widget.Button.Unbounded"
|
||||||
android:layout_width="@dimen/size_play_pause_compact"
|
|
||||||
android:layout_height="@dimen/size_play_pause_compact"
|
|
||||||
android:background="@drawable/ui_unbounded_ripple"
|
|
||||||
android:contentDescription="@{playbackModel.isShuffling() ? @string/description_shuffle_off : @string/description_shuffle_on"
|
android:contentDescription="@{playbackModel.isShuffling() ? @string/description_shuffle_off : @string/description_shuffle_on"
|
||||||
android:onClick="@{() -> playbackModel.invertShuffleStatus()}"
|
android:onClick="@{() -> playbackModel.invertShuffleStatus()}"
|
||||||
android:src="@drawable/ic_shuffle"
|
android:src="@drawable/ic_shuffle"
|
||||||
android:padding="0dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_song_container_duration"
|
app:layout_constraintEnd_toEndOf="@+id/playback_song_container_duration"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
|
app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
|
||||||
|
@ -219,9 +208,6 @@
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/playback_loop"
|
android:id="@+id/playback_loop"
|
||||||
style="@style/Widget.Button.Unbounded"
|
style="@style/Widget.Button.Unbounded"
|
||||||
android:layout_width="@dimen/size_play_pause_compact"
|
|
||||||
android:layout_height="@dimen/size_play_pause_compact"
|
|
||||||
android:background="@drawable/ui_unbounded_ripple"
|
|
||||||
android:contentDescription="@string/description_change_loop"
|
android:contentDescription="@string/description_change_loop"
|
||||||
android:onClick="@{() -> playbackModel.incrementLoopStatus()}"
|
android:onClick="@{() -> playbackModel.incrementLoopStatus()}"
|
||||||
android:src="@drawable/ic_loop"
|
android:src="@drawable/ic_loop"
|
||||||
|
|
|
@ -29,9 +29,9 @@
|
||||||
android:layout_height="@dimen/size_cover_mid_huge"
|
android:layout_height="@dimen/size_cover_mid_huge"
|
||||||
android:layout_marginStart="@dimen/margin_medium"
|
android:layout_marginStart="@dimen/margin_medium"
|
||||||
android:layout_marginTop="@dimen/margin_medium"
|
android:layout_marginTop="@dimen/margin_medium"
|
||||||
android:outlineProvider="bounds"
|
|
||||||
android:elevation="@dimen/elevation_normal"
|
|
||||||
android:contentDescription="@{@string/description_album_cover(album.name)}"
|
android:contentDescription="@{@string/description_album_cover(album.name)}"
|
||||||
|
android:elevation="@dimen/elevation_normal"
|
||||||
|
android:outlineProvider="bounds"
|
||||||
app:coverArt="@{album}"
|
app:coverArt="@{album}"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|
|
@ -29,8 +29,8 @@
|
||||||
android:layout_height="@dimen/size_cover_mid_huge"
|
android:layout_height="@dimen/size_cover_mid_huge"
|
||||||
android:layout_margin="@dimen/margin_medium"
|
android:layout_margin="@dimen/margin_medium"
|
||||||
android:contentDescription="@{@string/description_artist_image(artist.name)}"
|
android:contentDescription="@{@string/description_artist_image(artist.name)}"
|
||||||
android:outlineProvider="bounds"
|
|
||||||
android:elevation="@dimen/elevation_normal"
|
android:elevation="@dimen/elevation_normal"
|
||||||
|
android:outlineProvider="bounds"
|
||||||
app:artistImage="@{artist}"
|
app:artistImage="@{artist}"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|
|
@ -29,8 +29,8 @@
|
||||||
android:layout_height="@dimen/size_cover_mid_huge"
|
android:layout_height="@dimen/size_cover_mid_huge"
|
||||||
android:layout_margin="@dimen/margin_medium"
|
android:layout_margin="@dimen/margin_medium"
|
||||||
android:contentDescription="@{@string/description_genre_image(genre.name)}"
|
android:contentDescription="@{@string/description_genre_image(genre.name)}"
|
||||||
android:outlineProvider="bounds"
|
|
||||||
android:elevation="@dimen/elevation_normal"
|
android:elevation="@dimen/elevation_normal"
|
||||||
|
android:outlineProvider="bounds"
|
||||||
app:genreImage="@{genre}"
|
app:genreImage="@{genre}"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|
|
@ -175,7 +175,6 @@
|
||||||
android:layout_marginStart="@dimen/margin_large"
|
android:layout_marginStart="@dimen/margin_large"
|
||||||
android:contentDescription="@string/description_skip_prev"
|
android:contentDescription="@string/description_skip_prev"
|
||||||
android:onClick="@{() -> playbackModel.skipPrev()}"
|
android:onClick="@{() -> playbackModel.skipPrev()}"
|
||||||
android:padding="0dp"
|
|
||||||
android:src="@drawable/ic_skip_prev"
|
android:src="@drawable/ic_skip_prev"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||||
|
@ -188,7 +187,6 @@
|
||||||
android:contentDescription="@{playbackModel.isShuffling() ? @string/description_shuffle_off : @string/description_shuffle_on"
|
android:contentDescription="@{playbackModel.isShuffling() ? @string/description_shuffle_off : @string/description_shuffle_on"
|
||||||
android:onClick="@{() -> playbackModel.invertShuffleStatus()}"
|
android:onClick="@{() -> playbackModel.invertShuffleStatus()}"
|
||||||
android:src="@drawable/ic_shuffle"
|
android:src="@drawable/ic_shuffle"
|
||||||
android:padding="0dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
|
app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
|
||||||
|
|
|
@ -29,8 +29,8 @@
|
||||||
android:layout_height="@dimen/size_cover_huge"
|
android:layout_height="@dimen/size_cover_huge"
|
||||||
android:layout_marginTop="@dimen/margin_medium"
|
android:layout_marginTop="@dimen/margin_medium"
|
||||||
android:contentDescription="@{@string/description_album_cover(album.name)}"
|
android:contentDescription="@{@string/description_album_cover(album.name)}"
|
||||||
android:outlineProvider="bounds"
|
|
||||||
android:elevation="@dimen/elevation_normal"
|
android:elevation="@dimen/elevation_normal"
|
||||||
|
android:outlineProvider="bounds"
|
||||||
app:coverArt="@{album}"
|
app:coverArt="@{album}"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
|
|
@ -29,8 +29,8 @@
|
||||||
android:layout_height="@dimen/size_cover_huge"
|
android:layout_height="@dimen/size_cover_huge"
|
||||||
android:layout_marginTop="@dimen/margin_medium"
|
android:layout_marginTop="@dimen/margin_medium"
|
||||||
android:contentDescription="@{@string/description_artist_image(artist.name)}"
|
android:contentDescription="@{@string/description_artist_image(artist.name)}"
|
||||||
android:outlineProvider="bounds"
|
|
||||||
android:elevation="@dimen/elevation_normal"
|
android:elevation="@dimen/elevation_normal"
|
||||||
|
android:outlineProvider="bounds"
|
||||||
app:artistImage="@{artist}"
|
app:artistImage="@{artist}"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
|
|
@ -30,8 +30,8 @@
|
||||||
android:layout_height="@dimen/size_cover_huge"
|
android:layout_height="@dimen/size_cover_huge"
|
||||||
android:layout_marginTop="@dimen/margin_medium"
|
android:layout_marginTop="@dimen/margin_medium"
|
||||||
android:contentDescription="@{@string/description_genre_image(genre.name)}"
|
android:contentDescription="@{@string/description_genre_image(genre.name)}"
|
||||||
android:outlineProvider="bounds"
|
|
||||||
android:elevation="@dimen/elevation_normal"
|
android:elevation="@dimen/elevation_normal"
|
||||||
|
android:outlineProvider="bounds"
|
||||||
app:genreImage="@{genre}"
|
app:genreImage="@{genre}"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
|
|
@ -13,7 +13,8 @@
|
||||||
android:title="@string/label_sort"
|
android:title="@string/label_sort"
|
||||||
app:showAsAction="always">
|
app:showAsAction="always">
|
||||||
<menu>
|
<menu>
|
||||||
<group android:id="@+id/group_sorting"
|
<group
|
||||||
|
android:id="@+id/group_sorting"
|
||||||
android:checkableBehavior="single">
|
android:checkableBehavior="single">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/option_sort_none"
|
android:id="@+id/option_sort_none"
|
||||||
|
|
|
@ -235,6 +235,6 @@
|
||||||
<item name="android:layout_marginTop">@dimen/margin_medium</item>
|
<item name="android:layout_marginTop">@dimen/margin_medium</item>
|
||||||
<item name="android:layout_marginEnd">@dimen/margin_large</item>
|
<item name="android:layout_marginEnd">@dimen/margin_large</item>
|
||||||
<item name="android:scaleType">fitCenter</item>
|
<item name="android:scaleType">fitCenter</item>
|
||||||
<item name="android:padding">@dimen/padding_medium</item>
|
<item name="android:padding">18dp</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in a new issue