all: cleanup
Clean up the project after the previous changes and update some dependencies.
This commit is contained in:
parent
d79592e029
commit
595a982d59
50 changed files with 1749 additions and 1749 deletions
|
@ -97,10 +97,13 @@ dependencies {
|
||||||
implementation fileTree(dir: "libs", include: ["extension-*.aar"])
|
implementation fileTree(dir: "libs", include: ["extension-*.aar"])
|
||||||
|
|
||||||
// Image loading
|
// Image loading
|
||||||
implementation "io.coil-kt:coil:2.0.0-rc01"
|
implementation "io.coil-kt:coil:2.0.0-rc02"
|
||||||
|
|
||||||
// Material
|
// Material
|
||||||
implementation "com.google.android.material:material:1.6.0-alpha03"
|
implementation "com.google.android.material:material:1.6.0-beta01"
|
||||||
|
|
||||||
|
// LeakCanary
|
||||||
|
debugImplementation "com.squareup.leakcanary:leakcanary-android:2.8.1"
|
||||||
}
|
}
|
||||||
|
|
||||||
spotless {
|
spotless {
|
||||||
|
|
|
@ -38,19 +38,19 @@ import org.oxycblt.auxio.music.Song
|
||||||
// --- BINDING ADAPTERS ---
|
// --- BINDING ADAPTERS ---
|
||||||
|
|
||||||
/** Bind the album cover for a [song]. */
|
/** Bind the album cover for a [song]. */
|
||||||
fun ImageView.applyAlbumCover(song: Song?) =
|
fun ImageView.bindAlbumCover(song: Song?) =
|
||||||
load(song, R.drawable.ic_album, R.string.desc_album_cover)
|
load(song, R.drawable.ic_album, R.string.desc_album_cover)
|
||||||
|
|
||||||
/** Bind the album cover for an [album]. */
|
/** Bind the album cover for an [album]. */
|
||||||
fun ImageView.applyAlbumCover(album: Album?) =
|
fun ImageView.bindAlbumCover(album: Album?) =
|
||||||
load(album, R.drawable.ic_album, R.string.desc_album_cover)
|
load(album, R.drawable.ic_album, R.string.desc_album_cover)
|
||||||
|
|
||||||
/** Bind the image for an [artist] */
|
/** Bind the image for an [artist] */
|
||||||
fun ImageView.applyArtistImage(artist: Artist?) =
|
fun ImageView.bindArtistImage(artist: Artist?) =
|
||||||
load(artist, R.drawable.ic_artist, R.string.desc_artist_image)
|
load(artist, R.drawable.ic_artist, R.string.desc_artist_image)
|
||||||
|
|
||||||
/** Bind the image for a [genre] */
|
/** Bind the image for a [genre] */
|
||||||
fun ImageView.applyGenreImage(genre: Genre?) =
|
fun ImageView.bindGenreImage(genre: Genre?) =
|
||||||
load(genre, R.drawable.ic_genre, R.string.desc_genre_image)
|
load(genre, R.drawable.ic_genre, R.string.desc_genre_image)
|
||||||
|
|
||||||
fun <T : Music> ImageView.load(music: T?, @DrawableRes error: Int, @StringRes desc: Int) {
|
fun <T : Music> ImageView.load(music: T?, @DrawableRes error: Int, @StringRes desc: Int) {
|
||||||
|
|
|
@ -24,7 +24,7 @@ import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import org.oxycblt.auxio.IntegerTable
|
import org.oxycblt.auxio.IntegerTable
|
||||||
import org.oxycblt.auxio.R
|
import org.oxycblt.auxio.R
|
||||||
import org.oxycblt.auxio.coil.applyAlbumCover
|
import org.oxycblt.auxio.coil.bindAlbumCover
|
||||||
import org.oxycblt.auxio.databinding.ItemAlbumSongBinding
|
import org.oxycblt.auxio.databinding.ItemAlbumSongBinding
|
||||||
import org.oxycblt.auxio.databinding.ItemDetailBinding
|
import org.oxycblt.auxio.databinding.ItemDetailBinding
|
||||||
import org.oxycblt.auxio.detail.DetailViewModel
|
import org.oxycblt.auxio.detail.DetailViewModel
|
||||||
|
@ -129,7 +129,7 @@ class AlbumDetailAdapter(
|
||||||
|
|
||||||
override fun onBind(data: Album) {
|
override fun onBind(data: Album) {
|
||||||
binding.detailCover.apply {
|
binding.detailCover.apply {
|
||||||
applyAlbumCover(data)
|
bindAlbumCover(data)
|
||||||
contentDescription = context.getString(R.string.desc_album_cover, data.resolvedName)
|
contentDescription = context.getString(R.string.desc_album_cover, data.resolvedName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,8 @@ import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import org.oxycblt.auxio.IntegerTable
|
import org.oxycblt.auxio.IntegerTable
|
||||||
import org.oxycblt.auxio.R
|
import org.oxycblt.auxio.R
|
||||||
import org.oxycblt.auxio.coil.applyAlbumCover
|
import org.oxycblt.auxio.coil.bindAlbumCover
|
||||||
import org.oxycblt.auxio.coil.applyArtistImage
|
import org.oxycblt.auxio.coil.bindArtistImage
|
||||||
import org.oxycblt.auxio.databinding.ItemDetailBinding
|
import org.oxycblt.auxio.databinding.ItemDetailBinding
|
||||||
import org.oxycblt.auxio.databinding.ItemParentBinding
|
import org.oxycblt.auxio.databinding.ItemParentBinding
|
||||||
import org.oxycblt.auxio.databinding.ItemSongBinding
|
import org.oxycblt.auxio.databinding.ItemSongBinding
|
||||||
|
@ -176,7 +176,7 @@ class ArtistDetailAdapter(
|
||||||
val context = binding.root.context
|
val context = binding.root.context
|
||||||
|
|
||||||
binding.detailCover.apply {
|
binding.detailCover.apply {
|
||||||
applyArtistImage(data)
|
bindArtistImage(data)
|
||||||
contentDescription =
|
contentDescription =
|
||||||
context.getString(R.string.desc_artist_image, data.resolvedName)
|
context.getString(R.string.desc_artist_image, data.resolvedName)
|
||||||
}
|
}
|
||||||
|
@ -209,7 +209,7 @@ class ArtistDetailAdapter(
|
||||||
private val binding: ItemParentBinding,
|
private val binding: ItemParentBinding,
|
||||||
) : BaseViewHolder<Album>(binding, doOnClick, doOnLongClick), Highlightable {
|
) : BaseViewHolder<Album>(binding, doOnClick, doOnLongClick), Highlightable {
|
||||||
override fun onBind(data: Album) {
|
override fun onBind(data: Album) {
|
||||||
binding.parentImage.applyAlbumCover(data)
|
binding.parentImage.bindAlbumCover(data)
|
||||||
binding.parentName.textSafe = data.resolvedName
|
binding.parentName.textSafe = data.resolvedName
|
||||||
binding.parentInfo.textSafe = binding.context.getString(R.string.fmt_number, data.year)
|
binding.parentInfo.textSafe = binding.context.getString(R.string.fmt_number, data.year)
|
||||||
}
|
}
|
||||||
|
@ -223,7 +223,7 @@ class ArtistDetailAdapter(
|
||||||
private val binding: ItemSongBinding,
|
private val binding: ItemSongBinding,
|
||||||
) : BaseViewHolder<Song>(binding, doOnSongClick, doOnLongClick), Highlightable {
|
) : BaseViewHolder<Song>(binding, doOnSongClick, doOnLongClick), Highlightable {
|
||||||
override fun onBind(data: Song) {
|
override fun onBind(data: Song) {
|
||||||
binding.songAlbumCover.applyAlbumCover(data)
|
binding.songAlbumCover.bindAlbumCover(data)
|
||||||
binding.songName.textSafe = data.resolvedName
|
binding.songName.textSafe = data.resolvedName
|
||||||
binding.songInfo.textSafe = data.resolvedAlbumName
|
binding.songInfo.textSafe = data.resolvedAlbumName
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,8 @@ import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import org.oxycblt.auxio.IntegerTable
|
import org.oxycblt.auxio.IntegerTable
|
||||||
import org.oxycblt.auxio.R
|
import org.oxycblt.auxio.R
|
||||||
import org.oxycblt.auxio.coil.applyAlbumCover
|
import org.oxycblt.auxio.coil.bindAlbumCover
|
||||||
import org.oxycblt.auxio.coil.applyGenreImage
|
import org.oxycblt.auxio.coil.bindGenreImage
|
||||||
import org.oxycblt.auxio.databinding.ItemDetailBinding
|
import org.oxycblt.auxio.databinding.ItemDetailBinding
|
||||||
import org.oxycblt.auxio.databinding.ItemSongBinding
|
import org.oxycblt.auxio.databinding.ItemSongBinding
|
||||||
import org.oxycblt.auxio.music.ActionHeader
|
import org.oxycblt.auxio.music.ActionHeader
|
||||||
|
@ -128,7 +128,7 @@ class GenreDetailAdapter(
|
||||||
val context = binding.root.context
|
val context = binding.root.context
|
||||||
|
|
||||||
binding.detailCover.apply {
|
binding.detailCover.apply {
|
||||||
applyGenreImage(data)
|
bindGenreImage(data)
|
||||||
contentDescription = context.getString(R.string.desc_genre_image, data.resolvedName)
|
contentDescription = context.getString(R.string.desc_genre_image, data.resolvedName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ class GenreDetailAdapter(
|
||||||
) : BaseViewHolder<Song>(binding, doOnClick, doOnLongClick), Highlightable {
|
) : BaseViewHolder<Song>(binding, doOnClick, doOnLongClick), Highlightable {
|
||||||
|
|
||||||
override fun onBind(data: Song) {
|
override fun onBind(data: Song) {
|
||||||
binding.songAlbumCover.applyAlbumCover(data)
|
binding.songAlbumCover.bindAlbumCover(data)
|
||||||
binding.songName.textSafe = data.resolvedName
|
binding.songName.textSafe = data.resolvedName
|
||||||
binding.songInfo.textSafe = data.resolvedArtistName
|
binding.songInfo.textSafe = data.resolvedArtistName
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@ import org.oxycblt.auxio.music.Genre
|
||||||
import org.oxycblt.auxio.ui.GenreViewHolder
|
import org.oxycblt.auxio.ui.GenreViewHolder
|
||||||
import org.oxycblt.auxio.ui.newMenu
|
import org.oxycblt.auxio.ui.newMenu
|
||||||
import org.oxycblt.auxio.ui.sliceArticle
|
import org.oxycblt.auxio.ui.sliceArticle
|
||||||
|
import org.oxycblt.auxio.util.context
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A [HomeListFragment] for showing a list of [Genre]s.
|
* A [HomeListFragment] for showing a list of [Genre]s.
|
||||||
|
|
|
@ -25,7 +25,7 @@ import androidx.core.view.updatePadding
|
||||||
import androidx.fragment.app.activityViewModels
|
import androidx.fragment.app.activityViewModels
|
||||||
import com.google.android.material.color.MaterialColors
|
import com.google.android.material.color.MaterialColors
|
||||||
import org.oxycblt.auxio.R
|
import org.oxycblt.auxio.R
|
||||||
import org.oxycblt.auxio.coil.applyAlbumCover
|
import org.oxycblt.auxio.coil.bindAlbumCover
|
||||||
import org.oxycblt.auxio.databinding.FragmentPlaybackBarBinding
|
import org.oxycblt.auxio.databinding.FragmentPlaybackBarBinding
|
||||||
import org.oxycblt.auxio.detail.DetailViewModel
|
import org.oxycblt.auxio.detail.DetailViewModel
|
||||||
import org.oxycblt.auxio.ui.BottomSheetLayout
|
import org.oxycblt.auxio.ui.BottomSheetLayout
|
||||||
|
@ -99,7 +99,7 @@ class PlaybackBarFragment : ViewBindingFragment<FragmentPlaybackBarBinding>() {
|
||||||
|
|
||||||
playbackModel.song.observe(viewLifecycleOwner) { song ->
|
playbackModel.song.observe(viewLifecycleOwner) { song ->
|
||||||
if (song != null) {
|
if (song != null) {
|
||||||
binding.playbackCover.applyAlbumCover(song)
|
binding.playbackCover.bindAlbumCover(song)
|
||||||
binding.playbackSong.textSafe = song.resolvedName
|
binding.playbackSong.textSafe = song.resolvedName
|
||||||
binding.playbackInfo.textSafe =
|
binding.playbackInfo.textSafe =
|
||||||
getString(R.string.fmt_two, song.resolvedArtistName, song.resolvedAlbumName)
|
getString(R.string.fmt_two, song.resolvedArtistName, song.resolvedAlbumName)
|
||||||
|
|
|
@ -29,7 +29,7 @@ import com.google.android.material.slider.Slider
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
import org.oxycblt.auxio.MainFragmentDirections
|
import org.oxycblt.auxio.MainFragmentDirections
|
||||||
import org.oxycblt.auxio.R
|
import org.oxycblt.auxio.R
|
||||||
import org.oxycblt.auxio.coil.applyAlbumCover
|
import org.oxycblt.auxio.coil.bindAlbumCover
|
||||||
import org.oxycblt.auxio.databinding.FragmentPlaybackPanelBinding
|
import org.oxycblt.auxio.databinding.FragmentPlaybackPanelBinding
|
||||||
import org.oxycblt.auxio.detail.DetailViewModel
|
import org.oxycblt.auxio.detail.DetailViewModel
|
||||||
import org.oxycblt.auxio.music.MusicParent
|
import org.oxycblt.auxio.music.MusicParent
|
||||||
|
@ -175,7 +175,7 @@ class PlaybackPanelFragment :
|
||||||
if (song == null) return
|
if (song == null) return
|
||||||
|
|
||||||
val binding = requireBinding()
|
val binding = requireBinding()
|
||||||
binding.playbackCover.applyAlbumCover(song)
|
binding.playbackCover.bindAlbumCover(song)
|
||||||
binding.playbackSong.textSafe = song.resolvedName
|
binding.playbackSong.textSafe = song.resolvedName
|
||||||
binding.playbackArtist.textSafe = song.resolvedArtistName
|
binding.playbackArtist.textSafe = song.resolvedArtistName
|
||||||
binding.playbackAlbum.textSafe = song.resolvedAlbumName
|
binding.playbackAlbum.textSafe = song.resolvedAlbumName
|
||||||
|
|
|
@ -28,7 +28,7 @@ import androidx.recyclerview.widget.ItemTouchHelper
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.google.android.material.shape.MaterialShapeDrawable
|
import com.google.android.material.shape.MaterialShapeDrawable
|
||||||
import org.oxycblt.auxio.IntegerTable
|
import org.oxycblt.auxio.IntegerTable
|
||||||
import org.oxycblt.auxio.coil.applyAlbumCover
|
import org.oxycblt.auxio.coil.bindAlbumCover
|
||||||
import org.oxycblt.auxio.databinding.ItemQueueSongBinding
|
import org.oxycblt.auxio.databinding.ItemQueueSongBinding
|
||||||
import org.oxycblt.auxio.music.ActionHeader
|
import org.oxycblt.auxio.music.ActionHeader
|
||||||
import org.oxycblt.auxio.music.Header
|
import org.oxycblt.auxio.music.Header
|
||||||
|
@ -127,7 +127,7 @@ class QueueAdapter(private val touchHelper: ItemTouchHelper) :
|
||||||
|
|
||||||
@SuppressLint("ClickableViewAccessibility")
|
@SuppressLint("ClickableViewAccessibility")
|
||||||
override fun onBind(data: Song) {
|
override fun onBind(data: Song) {
|
||||||
binding.songAlbumCover.applyAlbumCover(data)
|
binding.songAlbumCover.bindAlbumCover(data)
|
||||||
binding.songName.textSafe = data.resolvedName
|
binding.songName.textSafe = data.resolvedName
|
||||||
binding.songInfo.textSafe = data.resolvedArtistName
|
binding.songInfo.textSafe = data.resolvedArtistName
|
||||||
|
|
||||||
|
|
|
@ -23,9 +23,9 @@ import androidx.appcompat.widget.TooltipCompat
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import androidx.viewbinding.ViewBinding
|
import androidx.viewbinding.ViewBinding
|
||||||
import org.oxycblt.auxio.R
|
import org.oxycblt.auxio.R
|
||||||
import org.oxycblt.auxio.coil.applyAlbumCover
|
import org.oxycblt.auxio.coil.bindAlbumCover
|
||||||
import org.oxycblt.auxio.coil.applyArtistImage
|
import org.oxycblt.auxio.coil.bindArtistImage
|
||||||
import org.oxycblt.auxio.coil.applyGenreImage
|
import org.oxycblt.auxio.coil.bindGenreImage
|
||||||
import org.oxycblt.auxio.databinding.ItemActionHeaderBinding
|
import org.oxycblt.auxio.databinding.ItemActionHeaderBinding
|
||||||
import org.oxycblt.auxio.databinding.ItemHeaderBinding
|
import org.oxycblt.auxio.databinding.ItemHeaderBinding
|
||||||
import org.oxycblt.auxio.databinding.ItemParentBinding
|
import org.oxycblt.auxio.databinding.ItemParentBinding
|
||||||
|
@ -96,7 +96,7 @@ private constructor(
|
||||||
) : BaseViewHolder<Song>(binding, doOnClick, doOnLongClick) {
|
) : BaseViewHolder<Song>(binding, doOnClick, doOnLongClick) {
|
||||||
|
|
||||||
override fun onBind(data: Song) {
|
override fun onBind(data: Song) {
|
||||||
binding.songAlbumCover.applyAlbumCover(data)
|
binding.songAlbumCover.bindAlbumCover(data)
|
||||||
binding.songName.textSafe = data.resolvedName
|
binding.songName.textSafe = data.resolvedName
|
||||||
binding.songInfo.textSafe = data.resolvedArtistName
|
binding.songInfo.textSafe = data.resolvedArtistName
|
||||||
}
|
}
|
||||||
|
@ -123,13 +123,9 @@ private constructor(
|
||||||
) : BaseViewHolder<Album>(binding, doOnClick, doOnLongClick) {
|
) : BaseViewHolder<Album>(binding, doOnClick, doOnLongClick) {
|
||||||
|
|
||||||
override fun onBind(data: Album) {
|
override fun onBind(data: Album) {
|
||||||
binding.parentImage.applyAlbumCover(data)
|
binding.parentImage.bindAlbumCover(data)
|
||||||
binding.parentName.textSafe = data.resolvedName
|
binding.parentName.textSafe = data.resolvedName
|
||||||
binding.parentInfo.textSafe =
|
binding.parentInfo.textSafe = data.resolvedArtistName
|
||||||
binding.context.getString(
|
|
||||||
R.string.fmt_two,
|
|
||||||
data.resolvedArtistName,
|
|
||||||
binding.context.getPluralSafe(R.plurals.fmt_song_count, data.songs.size))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -154,7 +150,7 @@ private constructor(
|
||||||
) : BaseViewHolder<Artist>(binding, doOnClick, doOnLongClick) {
|
) : BaseViewHolder<Artist>(binding, doOnClick, doOnLongClick) {
|
||||||
|
|
||||||
override fun onBind(data: Artist) {
|
override fun onBind(data: Artist) {
|
||||||
binding.parentImage.applyArtistImage(data)
|
binding.parentImage.bindArtistImage(data)
|
||||||
binding.parentName.textSafe = data.resolvedName
|
binding.parentName.textSafe = data.resolvedName
|
||||||
binding.parentInfo.textSafe =
|
binding.parentInfo.textSafe =
|
||||||
binding.context.getString(
|
binding.context.getString(
|
||||||
|
@ -185,7 +181,7 @@ private constructor(
|
||||||
) : BaseViewHolder<Genre>(binding, doOnClick, doOnLongClick) {
|
) : BaseViewHolder<Genre>(binding, doOnClick, doOnLongClick) {
|
||||||
|
|
||||||
override fun onBind(data: Genre) {
|
override fun onBind(data: Genre) {
|
||||||
binding.parentImage.applyGenreImage(data)
|
binding.parentImage.bindGenreImage(data)
|
||||||
binding.parentName.textSafe = data.resolvedName
|
binding.parentName.textSafe = data.resolvedName
|
||||||
binding.parentInfo.textSafe =
|
binding.parentInfo.textSafe =
|
||||||
binding.context.getPluralSafe(R.plurals.fmt_song_count, data.songs.size)
|
binding.context.getPluralSafe(R.plurals.fmt_song_count, data.songs.size)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:color="?attr/colorOnSurface" android:alpha="0.12" android:state_enabled="false" />
|
<item android:alpha="0.12" android:color="?attr/colorOnSurface" android:state_enabled="false" />
|
||||||
<item android:color="?attr/colorOnPrimary" android:state_checked="true" />
|
<item android:color="?attr/colorOnPrimary" android:state_checked="true" />
|
||||||
<item android:color="?attr/colorSurfaceVariant" />
|
<item android:color="?attr/colorSurfaceVariant" />
|
||||||
</selector>
|
</selector>
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:color="?attr/colorOnSurface" android:alpha="0.38" android:state_enabled="false" />
|
<item android:alpha="0.38" android:color="?attr/colorOnSurface" android:state_enabled="false" />
|
||||||
<item android:color="?attr/colorPrimary" android:state_checked="true" />
|
<item android:color="?attr/colorPrimary" android:state_checked="true" />
|
||||||
<item android:color="?attr/colorOnSurfaceVariant" />
|
<item android:color="?attr/colorOnSurfaceVariant" />
|
||||||
</selector>
|
</selector>
|
|
@ -2,9 +2,9 @@
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
|
android:tint="?attr/colorPrimary"
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="24"
|
||||||
android:viewportHeight="24"
|
android:viewportHeight="24">
|
||||||
android:tint="?attr/colorPrimary">
|
|
||||||
<path
|
<path
|
||||||
android:fillColor="@android:color/white"
|
android:fillColor="@android:color/white"
|
||||||
android:pathData="M12,3v10.55c-0.59,-0.34 -1.27,-0.55 -2,-0.55 -2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4V7h4V3h-6z" />
|
android:pathData="M12,3v10.55c-0.59,-0.34 -1.27,-0.55 -2,-0.55 -2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4V7h4V3h-6z" />
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:shape="oval">
|
android:shape="oval">
|
||||||
<size
|
<size
|
||||||
android:height="4dp"
|
android:width="4dp"
|
||||||
android:width="4dp" />
|
android:height="4dp" />
|
||||||
<solid android:color="?attr/colorPrimary" />
|
<solid android:color="?attr/colorPrimary" />
|
||||||
</shape>
|
</shape>
|
||||||
|
|
|
@ -1,73 +1,73 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:padding="@dimen/spacing_medium">
|
||||||
|
|
||||||
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
|
android:id="@+id/detail_cover"
|
||||||
|
style="@style/Widget.Auxio.Image.Huge"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="ContentDescription"
|
||||||
|
tools:src="@drawable/ic_artist" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/detail_name"
|
||||||
|
style="@style/Widget.Auxio.TextView.Detail"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:padding="@dimen/spacing_medium">
|
android:layout_marginTop="@dimen/spacing_medium"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/detail_cover"
|
||||||
|
tools:text="Name" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
<TextView
|
||||||
android:id="@+id/detail_cover"
|
android:id="@+id/detail_subhead"
|
||||||
style="@style/Widget.Auxio.Image.Huge"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:layout_width="match_parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
tools:ignore="ContentDescription"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
tools:src="@drawable/ic_artist" />
|
app:layout_constraintTop_toBottomOf="@+id/detail_name"
|
||||||
|
tools:text="Info A" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/detail_name"
|
android:id="@+id/detail_info"
|
||||||
style="@style/Widget.Auxio.TextView.Detail"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/spacing_medium"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintTop_toBottomOf="@+id/detail_subhead"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
tools:text="Info B" />
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_cover"
|
|
||||||
tools:text="Name" />
|
|
||||||
|
|
||||||
<TextView
|
<Button
|
||||||
android:id="@+id/detail_subhead"
|
android:id="@+id/detail_play_button"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.Button.Secondary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:layout_marginTop="@dimen/spacing_medium"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
android:layout_marginEnd="@dimen/spacing_small"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_name"
|
android:text="@string/lbl_play"
|
||||||
tools:text="Info A" />
|
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/detail_info" />
|
||||||
|
|
||||||
<TextView
|
<Button
|
||||||
android:id="@+id/detail_info"
|
android:id="@+id/detail_shuffle_button"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.Button.Primary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
android:text="@string/lbl_shuffle"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_subhead"
|
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
||||||
tools:text="Info B" />
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
||||||
<Button
|
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
||||||
android:id="@+id/detail_play_button"
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
style="@style/Widget.Auxio.Button.Secondary"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="@dimen/spacing_medium"
|
|
||||||
android:layout_marginEnd="@dimen/spacing_small"
|
|
||||||
android:text="@string/lbl_play"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_info" />
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/detail_shuffle_button"
|
|
||||||
style="@style/Widget.Auxio.Button.Primary"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
|
||||||
android:text="@string/lbl_shuffle"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
|
@ -1,86 +1,86 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:padding="@dimen/spacing_medium">
|
android:padding="@dimen/spacing_medium">
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
android:id="@+id/detail_cover"
|
android:id="@+id/detail_cover"
|
||||||
style="@style/Widget.Auxio.Image.Large"
|
style="@style/Widget.Auxio.Image.Large"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:ignore="ContentDescription"
|
tools:ignore="ContentDescription"
|
||||||
tools:src="@drawable/ic_artist" />
|
tools:src="@drawable/ic_artist" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/detail_name"
|
android:id="@+id/detail_name"
|
||||||
style="@style/Widget.Auxio.TextView.Detail"
|
style="@style/Widget.Auxio.TextView.Detail"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/detail_subhead"
|
app:layout_constraintBottom_toTopOf="@+id/detail_subhead"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
||||||
app:layout_constraintTop_toTopOf="@+id/detail_cover"
|
app:layout_constraintTop_toTopOf="@+id/detail_cover"
|
||||||
app:layout_constraintVertical_chainStyle="packed"
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
tools:text="Name" />
|
tools:text="Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/detail_subhead"
|
android:id="@+id/detail_subhead"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/detail_info"
|
app:layout_constraintBottom_toTopOf="@+id/detail_info"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_name"
|
app:layout_constraintTop_toBottomOf="@+id/detail_name"
|
||||||
tools:text="Info A" />
|
tools:text="Info A" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/detail_info"
|
android:id="@+id/detail_info"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/detail_cover"
|
app:layout_constraintBottom_toBottomOf="@+id/detail_cover"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_subhead"
|
app:layout_constraintTop_toBottomOf="@+id/detail_subhead"
|
||||||
tools:text="Info B" />
|
tools:text="Info B" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/detail_play_button"
|
android:id="@+id/detail_play_button"
|
||||||
style="@style/Widget.Auxio.Button.Secondary"
|
style="@style/Widget.Auxio.Button.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/spacing_medium"
|
android:layout_marginTop="@dimen/spacing_medium"
|
||||||
android:layout_marginEnd="@dimen/spacing_small"
|
android:layout_marginEnd="@dimen/spacing_small"
|
||||||
android:text="@string/lbl_play"
|
android:text="@string/lbl_play"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_cover" />
|
app:layout_constraintTop_toBottomOf="@+id/detail_cover" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/detail_shuffle_button"
|
android:id="@+id/detail_shuffle_button"
|
||||||
style="@style/Widget.Auxio.Button.Primary"
|
style="@style/Widget.Auxio.Button.Primary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
android:text="@string/lbl_shuffle"
|
android:text="@string/lbl_shuffle"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
||||||
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -10,171 +10,171 @@
|
||||||
android:id="@+id/playback_toolbar"
|
android:id="@+id/playback_toolbar"
|
||||||
style="@style/Widget.Auxio.Toolbar.Icon.Down"
|
style="@style/Widget.Auxio.Toolbar.Icon.Down"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:title="@string/lbl_playback"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:subtitle="@string/lbl_all_songs"
|
app:menu="@menu/menu_playback"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:title="@string/lbl_playback"
|
||||||
app:menu="@menu/menu_playback" />
|
tools:subtitle="@string/lbl_all_songs" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
android:id="@+id/playback_cover"
|
android:id="@+id/playback_cover"
|
||||||
style="@style/Widget.Auxio.Image.Full"
|
style="@style/Widget.Auxio.Image.Full"
|
||||||
android:layout_margin="@dimen/spacing_mid_large"
|
android:layout_margin="@dimen/spacing_mid_large"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_song_container"
|
app:layout_constraintEnd_toStartOf="@+id/playback_song_container"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
||||||
tools:src="@drawable/ic_album" />
|
tools:src="@drawable/ic_album" />
|
||||||
|
|
||||||
<!-- TextView is wrapped in a container so that marquee doesn't break -->
|
<!-- TextView is wrapped in a container so that marquee doesn't break -->
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/playback_song_container"
|
android:id="@+id/playback_song_container"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/spacing_mid_large"
|
android:layout_marginEnd="@dimen/spacing_mid_large"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_artist"
|
app:layout_constraintBottom_toTopOf="@+id/playback_artist"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
||||||
app:layout_constraintVertical_chainStyle="packed">
|
app:layout_constraintVertical_chainStyle="packed">
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/playback_song"
|
|
||||||
style="@style/Widget.Auxio.TextView.Primary"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
tools:text="Song Name" />
|
|
||||||
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_artist"
|
android:id="@+id/playback_song"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Primary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_album"
|
tools:text="Song Name" />
|
||||||
app:layout_constraintStart_toStartOf="@+id/playback_song_container"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_song_container"
|
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_song_container"
|
|
||||||
tools:text="Artist Name" />
|
|
||||||
|
|
||||||
<TextView
|
</FrameLayout>
|
||||||
android:id="@+id/playback_album"
|
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_seek_bar"
|
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
|
||||||
app:layout_constraintStart_toStartOf="@+id/playback_song_container"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_song_container"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_artist"
|
|
||||||
tools:text="Album Name" />
|
|
||||||
|
|
||||||
<com.google.android.material.slider.Slider
|
<TextView
|
||||||
android:id="@+id/playback_seek_bar"
|
android:id="@+id/playback_artist"
|
||||||
android:layout_width="0dp"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_marginBottom="@dimen/spacing_medium"
|
android:layout_height="wrap_content"
|
||||||
android:valueFrom="0"
|
app:layout_constraintBottom_toTopOf="@+id/playback_album"
|
||||||
android:valueTo="1"
|
app:layout_constraintEnd_toEndOf="@+id/playback_song_container"
|
||||||
app:haloRadius="@dimen/slider_halo_radius"
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
app:labelBehavior="gone"
|
app:layout_constraintStart_toStartOf="@+id/playback_song_container"
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
app:layout_constraintTop_toBottomOf="@+id/playback_song_container"
|
||||||
android:layout_marginEnd="@dimen/spacing_small"
|
tools:text="Artist Name" />
|
||||||
app:labelStyle="@style/TextAppearance.Auxio.BodySmall"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_play_pause"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_album"
|
|
||||||
app:thumbRadius="@dimen/slider_thumb_radius" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_position"
|
android:id="@+id/playback_album"
|
||||||
android:layout_width="wrap_content"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/spacing_small_inv"
|
app:layout_constraintBottom_toTopOf="@+id/playback_seek_bar"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
app:layout_constraintEnd_toEndOf="@+id/playback_song_container"
|
||||||
android:textColor="@color/sel_accented_secondary"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
app:layout_constraintStart_toStartOf="@+id/playback_song_container"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
app:layout_constraintTop_toBottomOf="@+id/playback_artist"
|
||||||
tools:text="11:38" />
|
tools:text="Album Name" />
|
||||||
|
|
||||||
<TextView
|
<com.google.android.material.slider.Slider
|
||||||
android:id="@+id/playback_duration"
|
android:id="@+id/playback_seek_bar"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
android:layout_marginTop="@dimen/spacing_small_inv"
|
android:layout_marginEnd="@dimen/spacing_small"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
android:layout_marginBottom="@dimen/spacing_medium"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:valueFrom="0"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
android:valueTo="1"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
app:haloRadius="@dimen/slider_halo_radius"
|
||||||
tools:text="16:16" />
|
app:labelBehavior="gone"
|
||||||
|
app:labelStyle="@style/TextAppearance.Auxio.BodySmall"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/playback_play_pause"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/playback_album"
|
||||||
|
app:thumbRadius="@dimen/slider_thumb_radius" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<TextView
|
||||||
android:id="@+id/playback_loop"
|
android:id="@+id/playback_position"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/spacing_large"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:contentDescription="@string/desc_change_loop"
|
android:layout_marginTop="@dimen/spacing_small_inv"
|
||||||
android:src="@drawable/ic_loop"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||||
app:hasIndicator="true"
|
android:textColor="@color/sel_accented_secondary"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_prev"
|
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_skip_prev"
|
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
tools:text="11:38" />
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_prev" />
|
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<TextView
|
||||||
android:id="@+id/playback_skip_prev"
|
android:id="@+id/playback_duration"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/spacing_large"
|
android:layout_marginTop="@dimen/spacing_small_inv"
|
||||||
android:contentDescription="@string/desc_skip_prev"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
android:src="@drawable/ic_skip_prev"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
||||||
|
tools:text="16:16" />
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_play_pause"
|
android:id="@+id/playback_loop"
|
||||||
style="@style/Widget.Auxio.FloatingActionButton.PlayPause"
|
android:layout_width="wrap_content"
|
||||||
android:layout_width="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_marginEnd="@dimen/spacing_large"
|
||||||
android:contentDescription="@string/desc_play_pause"
|
android:contentDescription="@string/desc_change_loop"
|
||||||
android:src="@drawable/sel_playing_state"
|
android:src="@drawable/ic_loop"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:hasIndicator="true"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_prev"
|
||||||
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
app:layout_constraintEnd_toStartOf="@+id/playback_skip_prev"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
tools:src="@drawable/ic_pause" />
|
app:layout_constraintTop_toTopOf="@+id/playback_skip_prev" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_skip_next"
|
android:id="@+id/playback_skip_prev"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_large"
|
android:layout_marginEnd="@dimen/spacing_large"
|
||||||
android:contentDescription="@string/desc_skip_next"
|
android:contentDescription="@string/desc_skip_prev"
|
||||||
android:src="@drawable/ic_skip_next"
|
android:src="@drawable/ic_skip_prev"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
android:id="@+id/playback_shuffle"
|
android:id="@+id/playback_play_pause"
|
||||||
android:layout_width="wrap_content"
|
style="@style/Widget.Auxio.FloatingActionButton.PlayPause"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_large"
|
android:layout_height="wrap_content"
|
||||||
app:hasIndicator="true"
|
android:contentDescription="@string/desc_play_pause"
|
||||||
android:contentDescription="@string/desc_shuffle"
|
android:src="@drawable/sel_playing_state"
|
||||||
android:src="@drawable/ic_shuffle"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
|
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
||||||
app:tint="@color/sel_accented" />
|
tools:src="@drawable/ic_pause" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
|
android:id="@+id/playback_skip_next"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/spacing_large"
|
||||||
|
android:contentDescription="@string/desc_skip_next"
|
||||||
|
android:src="@drawable/ic_skip_next"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
|
android:id="@+id/playback_shuffle"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/spacing_large"
|
||||||
|
android:contentDescription="@string/desc_shuffle"
|
||||||
|
android:src="@drawable/ic_shuffle"
|
||||||
|
app:hasIndicator="true"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
||||||
|
app:tint="@color/sel_accented" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -11,159 +11,159 @@
|
||||||
android:id="@+id/playback_toolbar"
|
android:id="@+id/playback_toolbar"
|
||||||
style="@style/Widget.Auxio.Toolbar.Icon.Down"
|
style="@style/Widget.Auxio.Toolbar.Icon.Down"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:title="@string/lbl_playback"
|
app:menu="@menu/menu_playback"
|
||||||
tools:subtitle="@string/lbl_all_songs"
|
app:title="@string/lbl_playback"
|
||||||
app:menu="@menu/menu_playback" />
|
tools:subtitle="@string/lbl_all_songs" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
android:id="@+id/playback_cover"
|
android:id="@+id/playback_cover"
|
||||||
style="@style/Widget.Auxio.Image.Full"
|
style="@style/Widget.Auxio.Image.Full"
|
||||||
android:layout_margin="@dimen/spacing_large"
|
android:layout_margin="@dimen/spacing_large"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_song"
|
app:layout_constraintBottom_toTopOf="@+id/playback_song"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
||||||
tools:src="@drawable/ic_album" />
|
tools:src="@drawable/ic_album" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_song"
|
android:id="@+id/playback_song"
|
||||||
style="@style/Widget.Auxio.TextView.Primary"
|
style="@style/Widget.Auxio.TextView.Primary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_large"
|
android:layout_marginStart="@dimen/spacing_large"
|
||||||
android:layout_marginEnd="@dimen/spacing_large"
|
android:layout_marginEnd="@dimen/spacing_large"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_artist"
|
app:layout_constraintBottom_toTopOf="@+id/playback_artist"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintVertical_chainStyle="packed"
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
tools:text="Song Name" />
|
tools:text="Song Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_artist"
|
android:id="@+id/playback_artist"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_large"
|
android:layout_marginStart="@dimen/spacing_large"
|
||||||
android:layout_marginEnd="@dimen/spacing_large"
|
android:layout_marginEnd="@dimen/spacing_large"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_album"
|
app:layout_constraintBottom_toTopOf="@+id/playback_album"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
tools:text="Artist Name" />
|
tools:text="Artist Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_album"
|
android:id="@+id/playback_album"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_large"
|
android:layout_marginStart="@dimen/spacing_large"
|
||||||
android:layout_marginEnd="@dimen/spacing_large"
|
android:layout_marginEnd="@dimen/spacing_large"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_seek_bar"
|
app:layout_constraintBottom_toTopOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
tools:text="Album Name" />
|
tools:text="Album Name" />
|
||||||
|
|
||||||
<com.google.android.material.slider.Slider
|
<com.google.android.material.slider.Slider
|
||||||
android:id="@+id/playback_seek_bar"
|
android:id="@+id/playback_seek_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:valueFrom="0"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:valueTo="1"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
app:haloRadius="@dimen/slider_halo_radius"
|
android:layout_marginBottom="@dimen/spacing_medium"
|
||||||
app:labelBehavior="gone"
|
android:valueFrom="0"
|
||||||
app:labelStyle="@style/TextAppearance.Auxio.BodySmall"
|
android:valueTo="1"
|
||||||
android:layout_marginBottom="@dimen/spacing_medium"
|
app:haloRadius="@dimen/slider_halo_radius"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
app:labelBehavior="gone"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
app:labelStyle="@style/TextAppearance.Auxio.BodySmall"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_play_pause"
|
app:layout_constraintBottom_toTopOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:thumbRadius="@dimen/slider_thumb_radius" />
|
app:thumbRadius="@dimen/slider_thumb_radius" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_position"
|
android:id="@+id/playback_position"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:layout_marginTop="@dimen/spacing_small_inv"
|
android:layout_marginTop="@dimen/spacing_small_inv"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||||
android:textColor="@color/sel_accented_secondary"
|
android:textColor="@color/sel_accented_secondary"
|
||||||
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
||||||
tools:text="11:38" />
|
tools:text="11:38" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_duration"
|
android:id="@+id/playback_duration"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
android:layout_marginTop="@dimen/spacing_small_inv"
|
||||||
android:layout_marginTop="@dimen/spacing_small_inv"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
||||||
tools:text="16:16" />
|
tools:text="16:16" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_loop"
|
android:id="@+id/playback_loop"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/spacing_large"
|
android:layout_marginEnd="@dimen/spacing_large"
|
||||||
android:contentDescription="@string/desc_change_loop"
|
android:contentDescription="@string/desc_change_loop"
|
||||||
android:src="@drawable/ic_loop"
|
android:src="@drawable/ic_loop"
|
||||||
app:hasIndicator="true"
|
app:hasIndicator="true"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_prev"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_prev"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_skip_prev"
|
app:layout_constraintEnd_toStartOf="@+id/playback_skip_prev"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_prev" />
|
app:layout_constraintTop_toTopOf="@+id/playback_skip_prev" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_skip_prev"
|
android:id="@+id/playback_skip_prev"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/spacing_large"
|
android:layout_marginEnd="@dimen/spacing_large"
|
||||||
android:contentDescription="@string/desc_skip_prev"
|
android:contentDescription="@string/desc_skip_prev"
|
||||||
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"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
android:id="@+id/playback_play_pause"
|
android:id="@+id/playback_play_pause"
|
||||||
style="@style/Widget.Auxio.FloatingActionButton.PlayPause"
|
style="@style/Widget.Auxio.FloatingActionButton.PlayPause"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/spacing_large"
|
android:layout_marginBottom="@dimen/spacing_large"
|
||||||
android:contentDescription="@string/desc_play_pause"
|
android:contentDescription="@string/desc_play_pause"
|
||||||
android:src="@drawable/sel_playing_state"
|
android:src="@drawable/sel_playing_state"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
||||||
tools:src="@drawable/ic_pause" />
|
tools:src="@drawable/ic_pause" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_skip_next"
|
android:id="@+id/playback_skip_next"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_large"
|
android:layout_marginStart="@dimen/spacing_large"
|
||||||
android:contentDescription="@string/desc_skip_next"
|
android:contentDescription="@string/desc_skip_next"
|
||||||
android:src="@drawable/ic_skip_next"
|
android:src="@drawable/ic_skip_next"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_shuffle"
|
android:id="@+id/playback_shuffle"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_large"
|
android:layout_marginStart="@dimen/spacing_large"
|
||||||
android:contentDescription="@string/desc_shuffle"
|
android:contentDescription="@string/desc_shuffle"
|
||||||
android:src="@drawable/ic_shuffle"
|
android:src="@drawable/ic_shuffle"
|
||||||
app:hasIndicator="true"
|
app:hasIndicator="true"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
|
app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
||||||
app:tint="@color/sel_accented" />
|
app:tint="@color/sel_accented" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -1,91 +1,91 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_height="match_parent"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:padding="@dimen/spacing_medium">
|
android:padding="@dimen/spacing_medium">
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
android:id="@+id/detail_cover"
|
android:id="@+id/detail_cover"
|
||||||
style="@style/Widget.Auxio.Image.MidHuge"
|
style="@style/Widget.Auxio.Image.MidHuge"
|
||||||
app:layout_constraintDimensionRatio="1"
|
app:layout_constraintDimensionRatio="1"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:ignore="ContentDescription"
|
tools:ignore="ContentDescription"
|
||||||
tools:src="@drawable/ic_artist" />
|
tools:src="@drawable/ic_artist" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/detail_name"
|
android:id="@+id/detail_name"
|
||||||
style="@style/Widget.Auxio.TextView.Detail"
|
style="@style/Widget.Auxio.TextView.Detail"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/detail_subhead"
|
app:layout_constraintBottom_toTopOf="@+id/detail_subhead"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
||||||
app:layout_constraintTop_toTopOf="@+id/detail_cover"
|
app:layout_constraintTop_toTopOf="@+id/detail_cover"
|
||||||
app:layout_constraintVertical_chainStyle="packed"
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
tools:text="Name" />
|
tools:text="Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/detail_subhead"
|
android:id="@+id/detail_subhead"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/detail_info"
|
app:layout_constraintBottom_toTopOf="@+id/detail_info"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_name"
|
app:layout_constraintTop_toBottomOf="@+id/detail_name"
|
||||||
tools:text="Info A" />
|
tools:text="Info A" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/detail_info"
|
android:id="@+id/detail_info"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/detail_play_button"
|
app:layout_constraintBottom_toTopOf="@+id/detail_play_button"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_subhead"
|
app:layout_constraintTop_toBottomOf="@+id/detail_subhead"
|
||||||
tools:text="Info B" />
|
tools:text="Info B" />
|
||||||
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/detail_play_button"
|
android:id="@+id/detail_play_button"
|
||||||
style="@style/Widget.Auxio.Button.Secondary"
|
style="@style/Widget.Auxio.Button.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:layout_marginTop="@dimen/spacing_medium"
|
android:layout_marginTop="@dimen/spacing_medium"
|
||||||
android:layout_marginEnd="@dimen/spacing_small"
|
android:layout_marginEnd="@dimen/spacing_small"
|
||||||
android:text="@string/lbl_play"
|
android:text="@string/lbl_play"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/detail_cover"
|
app:layout_constraintBottom_toBottomOf="@+id/detail_cover"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_info" />
|
app:layout_constraintTop_toBottomOf="@+id/detail_info" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/detail_shuffle_button"
|
android:id="@+id/detail_shuffle_button"
|
||||||
style="@style/Widget.Auxio.Button.Primary"
|
style="@style/Widget.Auxio.Button.Primary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
android:text="@string/lbl_shuffle"
|
android:text="@string/lbl_shuffle"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
||||||
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
||||||
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -1,95 +1,95 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
|
||||||
|
|
||||||
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
|
android:id="@+id/playback_cover"
|
||||||
|
style="@style/Widget.Auxio.Image.Medium"
|
||||||
|
android:layout_margin="@dimen/spacing_small"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:src="@drawable/ic_album" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/playback_song"
|
||||||
|
style="@style/Widget.Auxio.TextView.Primary.Compact"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
|
android:layout_marginEnd="@dimen/spacing_small"
|
||||||
|
android:textAppearance="@style/TextAppearance.Auxio.LabelLarger"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/playback_info"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/playback_skip_prev"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/playback_cover"
|
||||||
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
|
tools:text="Song Name" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/playback_info"
|
||||||
|
style="@style/Widget.Auxio.TextView.Secondary.Compact"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:textAppearance="@style/TextAppearance.Auxio.LabelLarge"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/playback_cover"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/playback_song"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/playback_song"
|
||||||
|
tools:text="Artist Name / Album Name" />
|
||||||
|
|
||||||
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
|
android:id="@+id/playback_skip_prev"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="@dimen/spacing_small"
|
||||||
|
android:contentDescription="@string/desc_play_pause"
|
||||||
|
android:src="@drawable/ic_skip_prev"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/playback_song"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
|
android:id="@+id/playback_play_pause"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="@dimen/spacing_small"
|
||||||
|
android:contentDescription="@string/desc_play_pause"
|
||||||
|
android:src="@drawable/sel_playing_state"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/playback_skip_next"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/playback_skip_prev"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
|
android:id="@+id/playback_skip_next"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="@dimen/spacing_small"
|
||||||
|
android:contentDescription="@string/desc_play_pause"
|
||||||
|
android:src="@drawable/ic_skip_next"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
|
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||||
|
android:id="@+id/playback_progress_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:trackColor="?attr/colorPrimary"
|
||||||
|
tools:progress="70" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
android:id="@+id/playback_cover"
|
|
||||||
style="@style/Widget.Auxio.Image.Medium"
|
|
||||||
android:layout_margin="@dimen/spacing_small"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:src="@drawable/ic_album" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/playback_song"
|
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.LabelLarger"
|
|
||||||
style="@style/Widget.Auxio.TextView.Primary.Compact"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
|
||||||
android:layout_marginEnd="@dimen/spacing_small"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_info"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_skip_prev"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_cover"
|
|
||||||
app:layout_constraintVertical_chainStyle="packed"
|
|
||||||
tools:text="Song Name" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/playback_info"
|
|
||||||
style="@style/Widget.Auxio.TextView.Secondary.Compact"
|
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.LabelLarge"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
|
||||||
android:ellipsize="end"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_cover"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_song"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_song"
|
|
||||||
tools:text="Artist Name / Album Name" />
|
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
|
||||||
android:id="@+id/playback_skip_prev"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_margin="@dimen/spacing_small"
|
|
||||||
android:contentDescription="@string/desc_play_pause"
|
|
||||||
android:src="@drawable/ic_skip_prev"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_song"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
|
||||||
android:id="@+id/playback_play_pause"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_margin="@dimen/spacing_small"
|
|
||||||
android:contentDescription="@string/desc_play_pause"
|
|
||||||
android:src="@drawable/sel_playing_state"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_skip_next"
|
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_skip_prev"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
|
||||||
android:id="@+id/playback_skip_next"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_margin="@dimen/spacing_small"
|
|
||||||
android:contentDescription="@string/desc_play_pause"
|
|
||||||
android:src="@drawable/ic_skip_next"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
|
||||||
|
|
||||||
<com.google.android.material.progressindicator.LinearProgressIndicator
|
|
||||||
android:id="@+id/playback_progress_bar"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:trackColor="?attr/colorPrimary"
|
|
||||||
tools:progress="70" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
@ -1,86 +1,86 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_height="match_parent"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:padding="@dimen/spacing_medium">
|
android:padding="@dimen/spacing_medium">
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
android:id="@+id/detail_cover"
|
android:id="@+id/detail_cover"
|
||||||
style="@style/Widget.Auxio.Image.Huge"
|
style="@style/Widget.Auxio.Image.Huge"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:ignore="ContentDescription"
|
tools:ignore="ContentDescription"
|
||||||
tools:src="@drawable/ic_artist" />
|
tools:src="@drawable/ic_artist" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/detail_name"
|
android:id="@+id/detail_name"
|
||||||
style="@style/Widget.Auxio.TextView.Detail"
|
style="@style/Widget.Auxio.TextView.Detail"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/detail_subhead"
|
app:layout_constraintBottom_toTopOf="@+id/detail_subhead"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
||||||
app:layout_constraintTop_toTopOf="@+id/detail_cover"
|
app:layout_constraintTop_toTopOf="@+id/detail_cover"
|
||||||
app:layout_constraintVertical_chainStyle="packed"
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
tools:text="Name" />
|
tools:text="Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/detail_subhead"
|
android:id="@+id/detail_subhead"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/detail_info"
|
app:layout_constraintBottom_toTopOf="@+id/detail_info"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_name"
|
app:layout_constraintTop_toBottomOf="@+id/detail_name"
|
||||||
tools:text="Info A" />
|
tools:text="Info A" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/detail_info"
|
android:id="@+id/detail_info"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintBottom_toTopOf="@+id/detail_play_button"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_subhead"
|
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/detail_play_button"
|
app:layout_constraintTop_toBottomOf="@+id/detail_subhead"
|
||||||
tools:text="Info B" />
|
tools:text="Info B" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/detail_play_button"
|
android:id="@+id/detail_play_button"
|
||||||
style="@style/Widget.Auxio.Button.Secondary"
|
style="@style/Widget.Auxio.Button.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:layout_marginTop="@dimen/spacing_medium"
|
android:layout_marginTop="@dimen/spacing_medium"
|
||||||
android:layout_marginEnd="@dimen/spacing_small"
|
android:layout_marginEnd="@dimen/spacing_small"
|
||||||
android:text="@string/lbl_play"
|
android:text="@string/lbl_play"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/detail_cover"
|
app:layout_constraintBottom_toBottomOf="@+id/detail_cover"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
app:layout_constraintStart_toEndOf="@+id/detail_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_info" />
|
app:layout_constraintTop_toBottomOf="@+id/detail_info" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/detail_shuffle_button"
|
android:id="@+id/detail_shuffle_button"
|
||||||
style="@style/Widget.Auxio.Button.Primary"
|
style="@style/Widget.Auxio.Button.Primary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
android:text="@string/lbl_shuffle"
|
android:text="@string/lbl_shuffle"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
||||||
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -11,173 +11,173 @@
|
||||||
android:id="@+id/playback_toolbar"
|
android:id="@+id/playback_toolbar"
|
||||||
style="@style/Widget.Auxio.Toolbar.Icon.Down"
|
style="@style/Widget.Auxio.Toolbar.Icon.Down"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:title="@string/lbl_playback"
|
app:menu="@menu/menu_playback"
|
||||||
tools:subtitle="@string/lbl_all_songs"
|
app:title="@string/lbl_playback"
|
||||||
app:menu="@menu/menu_playback" />
|
tools:subtitle="@string/lbl_all_songs" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
android:id="@+id/playback_cover"
|
android:id="@+id/playback_cover"
|
||||||
style="@style/Widget.Auxio.Image.Full"
|
style="@style/Widget.Auxio.Image.Full"
|
||||||
android:layout_margin="@dimen/spacing_medium"
|
android:layout_margin="@dimen/spacing_medium"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
||||||
tools:src="@drawable/ic_album" />
|
tools:src="@drawable/ic_album" />
|
||||||
|
|
||||||
<!-- TextView is wrapped in a container so that marquee doesn't break -->
|
<!-- TextView is wrapped in a container so that marquee doesn't break -->
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/playback_song_container"
|
android:id="@+id/playback_song_container"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_artist"
|
app:layout_constraintBottom_toTopOf="@+id/playback_artist"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
||||||
app:layout_constraintVertical_chainStyle="packed">
|
app:layout_constraintVertical_chainStyle="packed">
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/playback_song"
|
|
||||||
style="@style/Widget.Auxio.TextView.Primary"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
tools:text="Song Name" />
|
|
||||||
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_artist"
|
android:id="@+id/playback_song"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Primary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
tools:text="Song Name" />
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_album"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_song_container"
|
|
||||||
tools:text="Artist Name" />
|
|
||||||
|
|
||||||
<TextView
|
</FrameLayout>
|
||||||
android:id="@+id/playback_album"
|
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_seek_bar"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_artist"
|
|
||||||
tools:text="Album Name" />
|
|
||||||
|
|
||||||
<com.google.android.material.slider.Slider
|
<TextView
|
||||||
android:id="@+id/playback_seek_bar"
|
android:id="@+id/playback_artist"
|
||||||
android:layout_width="0dp"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_marginBottom="@dimen/spacing_medium"
|
android:layout_height="wrap_content"
|
||||||
android:valueFrom="0"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:valueTo="1"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
app:haloRadius="@dimen/slider_halo_radius"
|
app:layout_constraintBottom_toTopOf="@+id/playback_album"
|
||||||
app:labelBehavior="gone"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:labelStyle="@style/TextAppearance.Auxio.BodySmall"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_play_pause"
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintTop_toBottomOf="@+id/playback_song_container"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
tools:text="Artist Name" />
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_album"
|
|
||||||
app:thumbRadius="@dimen/slider_thumb_radius" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_position"
|
android:id="@+id/playback_album"
|
||||||
android:layout_width="wrap_content"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/spacing_small_inv"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
android:textColor="@color/sel_accented_secondary"
|
app:layout_constraintBottom_toTopOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
tools:text="11:38" />
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/playback_artist"
|
||||||
|
tools:text="Album Name" />
|
||||||
|
|
||||||
<TextView
|
<com.google.android.material.slider.Slider
|
||||||
android:id="@+id/playback_duration"
|
android:id="@+id/playback_seek_bar"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
android:layout_marginBottom="@dimen/spacing_medium"
|
||||||
android:layout_marginTop="@dimen/spacing_small_inv"
|
android:valueFrom="0"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
android:valueTo="1"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
app:haloRadius="@dimen/slider_halo_radius"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
app:labelBehavior="gone"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
app:labelStyle="@style/TextAppearance.Auxio.BodySmall"
|
||||||
tools:text="16:16" />
|
app:layout_constraintBottom_toTopOf="@+id/playback_play_pause"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/playback_album"
|
||||||
|
app:thumbRadius="@dimen/slider_thumb_radius" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<TextView
|
||||||
android:id="@+id/playback_loop"
|
android:id="@+id/playback_position"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:contentDescription="@string/desc_change_loop"
|
android:layout_marginTop="@dimen/spacing_small_inv"
|
||||||
app:hasIndicator="true"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||||
android:src="@drawable/ic_loop"
|
android:textColor="@color/sel_accented_secondary"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_prev"
|
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintHorizontal_chainStyle="packed"
|
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
tools:text="11:38" />
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_prev" />
|
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<TextView
|
||||||
android:id="@+id/playback_skip_prev"
|
android:id="@+id/playback_duration"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:contentDescription="@string/desc_skip_prev"
|
android:layout_marginTop="@dimen/spacing_small_inv"
|
||||||
android:src="@drawable/ic_skip_prev"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_loop"
|
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
||||||
|
tools:text="16:16" />
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_play_pause"
|
android:id="@+id/playback_loop"
|
||||||
style="@style/Widget.Auxio.FloatingActionButton.PlayPause"
|
android:layout_width="wrap_content"
|
||||||
android:layout_width="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:contentDescription="@string/desc_play_pause"
|
android:contentDescription="@string/desc_change_loop"
|
||||||
android:src="@drawable/sel_playing_state"
|
android:src="@drawable/ic_loop"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:hasIndicator="true"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_prev"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
app:layout_constraintTop_toTopOf="@+id/playback_skip_prev" />
|
||||||
tools:src="@drawable/ic_pause" />
|
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_skip_next"
|
android:id="@+id/playback_skip_prev"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:contentDescription="@string/desc_skip_next"
|
android:contentDescription="@string/desc_skip_prev"
|
||||||
android:src="@drawable/ic_skip_next"
|
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_shuffle"
|
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
app:layout_constraintStart_toEndOf="@+id/playback_loop"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
android:id="@+id/playback_shuffle"
|
android:id="@+id/playback_play_pause"
|
||||||
android:layout_width="wrap_content"
|
style="@style/Widget.Auxio.FloatingActionButton.PlayPause"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
android:layout_height="wrap_content"
|
||||||
android:contentDescription="@string/desc_shuffle"
|
android:contentDescription="@string/desc_play_pause"
|
||||||
app:hasIndicator="true"
|
android:src="@drawable/sel_playing_state"
|
||||||
android:src="@drawable/ic_shuffle"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
app:tint="@color/sel_accented" />
|
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
||||||
|
tools:src="@drawable/ic_pause" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
|
android:id="@+id/playback_skip_next"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:contentDescription="@string/desc_skip_next"
|
||||||
|
android:src="@drawable/ic_skip_next"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/playback_shuffle"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
|
android:id="@+id/playback_shuffle"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
|
android:contentDescription="@string/desc_shuffle"
|
||||||
|
android:src="@drawable/ic_shuffle"
|
||||||
|
app:hasIndicator="true"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
||||||
|
app:tint="@color/sel_accented" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -10,85 +10,85 @@
|
||||||
android:id="@+id/playback_cover"
|
android:id="@+id/playback_cover"
|
||||||
style="@style/Widget.Auxio.Image.Small"
|
style="@style/Widget.Auxio.Image.Small"
|
||||||
android:layout_margin="@dimen/spacing_small"
|
android:layout_margin="@dimen/spacing_small"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:src="@drawable/ic_album" />
|
tools:src="@drawable/ic_album" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_song"
|
android:id="@+id/playback_song"
|
||||||
style="@style/Widget.Auxio.TextView.Primary.Compact"
|
style="@style/Widget.Auxio.TextView.Primary.Compact"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
android:layout_marginEnd="@dimen/spacing_small"
|
android:layout_marginEnd="@dimen/spacing_small"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_info"
|
app:layout_constraintBottom_toTopOf="@+id/playback_info"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_skip_prev"
|
app:layout_constraintEnd_toStartOf="@+id/playback_skip_prev"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_cover"
|
app:layout_constraintTop_toTopOf="@+id/playback_cover"
|
||||||
app:layout_constraintVertical_chainStyle="packed"
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
tools:text="Song Name" />
|
tools:text="Song Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_info"
|
android:id="@+id/playback_info"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary.Compact"
|
style="@style/Widget.Auxio.TextView.Secondary.Compact"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_cover"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_cover"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/playback_song"
|
app:layout_constraintEnd_toEndOf="@+id/playback_song"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_song"
|
app:layout_constraintTop_toBottomOf="@+id/playback_song"
|
||||||
tools:text="Artist Name / Album Name" />
|
tools:text="Artist Name / Album Name" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_skip_prev"
|
android:id="@+id/playback_skip_prev"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/spacing_small"
|
android:layout_margin="@dimen/spacing_small"
|
||||||
android:contentDescription="@string/desc_play_pause"
|
android:contentDescription="@string/desc_play_pause"
|
||||||
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"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_song"
|
app:layout_constraintStart_toEndOf="@+id/playback_song"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_play_pause"
|
android:id="@+id/playback_play_pause"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/spacing_small"
|
android:layout_margin="@dimen/spacing_small"
|
||||||
android:contentDescription="@string/desc_play_pause"
|
android:contentDescription="@string/desc_play_pause"
|
||||||
android:src="@drawable/sel_playing_state"
|
android:src="@drawable/sel_playing_state"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_skip_next"
|
app:layout_constraintEnd_toStartOf="@+id/playback_skip_next"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_skip_prev"
|
app:layout_constraintStart_toEndOf="@+id/playback_skip_prev"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_skip_next"
|
android:id="@+id/playback_skip_next"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/spacing_small"
|
android:layout_margin="@dimen/spacing_small"
|
||||||
android:contentDescription="@string/desc_play_pause"
|
android:contentDescription="@string/desc_play_pause"
|
||||||
android:src="@drawable/ic_skip_next"
|
android:src="@drawable/ic_skip_next"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
<com.google.android.material.progressindicator.LinearProgressIndicator
|
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||||
android:id="@+id/playback_progress_bar"
|
android:id="@+id/playback_progress_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:trackColor="?attr/colorPrimary"
|
app:trackColor="?attr/colorPrimary"
|
||||||
tools:progress="70" />
|
tools:progress="70" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -1,58 +1,58 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<org.oxycblt.auxio.ui.EdgeCoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<org.oxycblt.auxio.ui.EdgeCoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/main_layout"
|
android:id="@+id/main_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<org.oxycblt.auxio.ui.EdgeAppBarLayout
|
<org.oxycblt.auxio.ui.EdgeAppBarLayout
|
||||||
android:id="@+id/home_appbar"
|
android:id="@+id/home_appbar"
|
||||||
style="@style/Widget.Auxio.AppBarLayout"
|
style="@style/Widget.Auxio.AppBarLayout"
|
||||||
app:liftOnScroll="true">
|
app:liftOnScroll="true">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/home_toolbar"
|
android:id="@+id/home_toolbar"
|
||||||
style="@style/Widget.Auxio.Toolbar"
|
style="@style/Widget.Auxio.Toolbar"
|
||||||
app:menu="@menu/menu_home"
|
app:menu="@menu/menu_home"
|
||||||
app:title="@string/info_app_name" />
|
app:title="@string/info_app_name" />
|
||||||
|
|
||||||
<com.google.android.material.tabs.TabLayout
|
<com.google.android.material.tabs.TabLayout
|
||||||
android:id="@+id/home_tabs"
|
android:id="@+id/home_tabs"
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="@android:color/transparent"
|
|
||||||
app:tabContentStart="@dimen/spacing_medium"
|
|
||||||
app:tabGravity="start"
|
|
||||||
app:tabMode="scrollable"
|
|
||||||
app:tabTextAppearance="@style/TextAppearance.Auxio.LabelLarger" />
|
|
||||||
|
|
||||||
</org.oxycblt.auxio.ui.EdgeAppBarLayout>
|
|
||||||
|
|
||||||
<androidx.viewpager2.widget.ViewPager2
|
|
||||||
android:id="@+id/home_pager"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
android:background="@android:color/transparent"
|
||||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
|
app:tabContentStart="@dimen/spacing_medium"
|
||||||
tools:layout="@layout/fragment_home_list" />
|
app:tabGravity="start"
|
||||||
|
app:tabMode="scrollable"
|
||||||
|
app:tabTextAppearance="@style/TextAppearance.Auxio.LabelLarger" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.home.EdgeFabContainer
|
</org.oxycblt.auxio.ui.EdgeAppBarLayout>
|
||||||
android:id="@+id/home_fab_container"
|
|
||||||
|
<androidx.viewpager2.widget.ViewPager2
|
||||||
|
android:id="@+id/home_pager"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
|
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
|
||||||
|
tools:layout="@layout/fragment_home_list" />
|
||||||
|
|
||||||
|
<org.oxycblt.auxio.home.EdgeFabContainer
|
||||||
|
android:id="@+id/home_fab_container"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_anchor="@id/home_pager"
|
||||||
|
app:layout_anchorGravity="bottom|end">
|
||||||
|
|
||||||
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
|
android:id="@+id/home_fab"
|
||||||
|
style="@style/Widget.Auxio.FloatingActionButton.Adaptive"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_anchor="@id/home_pager"
|
android:layout_margin="@dimen/spacing_medium"
|
||||||
app:layout_anchorGravity="bottom|end">
|
android:contentDescription="@string/desc_shuffle_all"
|
||||||
|
android:src="@drawable/ic_shuffle" />
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
</org.oxycblt.auxio.home.EdgeFabContainer>
|
||||||
android:id="@+id/home_fab"
|
|
||||||
style="@style/Widget.Auxio.FloatingActionButton.Adaptive"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_margin="@dimen/spacing_medium"
|
|
||||||
android:contentDescription="@string/desc_shuffle_all"
|
|
||||||
android:src="@drawable/ic_shuffle" />
|
|
||||||
|
|
||||||
</org.oxycblt.auxio.home.EdgeFabContainer>
|
</org.oxycblt.auxio.ui.EdgeCoordinatorLayout>
|
||||||
|
|
||||||
</org.oxycblt.auxio.ui.EdgeCoordinatorLayout>
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<org.oxycblt.auxio.home.fastscroll.FastScrollRecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
|
<org.oxycblt.auxio.home.fastscroll.FastScrollRecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/home_recycler"
|
android:id="@+id/home_recycler"
|
||||||
style="@style/Widget.Auxio.RecyclerView.WithAdaptiveFab"
|
style="@style/Widget.Auxio.RecyclerView.WithAdaptiveFab"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
|
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
|
||||||
tools:listitem="@layout/item_artist" />
|
tools:listitem="@layout/item_artist" />
|
||||||
|
|
|
@ -11,52 +11,52 @@
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<androidx.fragment.app.FragmentContainerView
|
<androidx.fragment.app.FragmentContainerView
|
||||||
android:id="@+id/explore_nav_host"
|
android:id="@+id/explore_nav_host"
|
||||||
android:name="androidx.navigation.fragment.NavHostFragment"
|
android:name="androidx.navigation.fragment.NavHostFragment"
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
app:navGraph="@navigation/nav_explore"
|
|
||||||
tools:layout="@layout/fragment_home" />
|
|
||||||
|
|
||||||
<androidx.fragment.app.FragmentContainerView
|
|
||||||
android:id="@+id/playback_bar_fragment"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:name="org.oxycblt.auxio.playback.PlaybackBarFragment" />
|
|
||||||
|
|
||||||
<androidx.fragment.app.FragmentContainerView
|
|
||||||
android:id="@+id/playback_panel_fragment"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:name="org.oxycblt.auxio.playback.PlaybackPanelFragment" />
|
|
||||||
|
|
||||||
</org.oxycblt.auxio.ui.BottomSheetLayout>
|
|
||||||
|
|
||||||
<FrameLayout
|
|
||||||
android:id="@+id/layout_too_small"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface"
|
app:navGraph="@navigation/nav_explore"
|
||||||
android:visibility="gone">
|
tools:layout="@layout/fragment_home" />
|
||||||
|
|
||||||
<ImageView
|
<androidx.fragment.app.FragmentContainerView
|
||||||
android:layout_width="match_parent"
|
android:id="@+id/playback_bar_fragment"
|
||||||
android:layout_height="match_parent"
|
android:name="org.oxycblt.auxio.playback.PlaybackBarFragment"
|
||||||
android:alpha="0.275"
|
android:layout_width="match_parent"
|
||||||
android:contentDescription="@string/desc_auxio_icon"
|
android:layout_height="wrap_content" />
|
||||||
android:scaleType="centerCrop"
|
|
||||||
android:src="@drawable/ic_auxio" />
|
|
||||||
|
|
||||||
<TextView
|
<androidx.fragment.app.FragmentContainerView
|
||||||
android:layout_width="match_parent"
|
android:id="@+id/playback_panel_fragment"
|
||||||
android:layout_height="wrap_content"
|
android:name="org.oxycblt.auxio.playback.PlaybackPanelFragment"
|
||||||
android:layout_gravity="center"
|
android:layout_width="match_parent"
|
||||||
android:gravity="center"
|
android:layout_height="match_parent" />
|
||||||
android:padding="@dimen/spacing_medium"
|
|
||||||
android:text="@string/err_too_small"
|
</org.oxycblt.auxio.ui.BottomSheetLayout>
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.TitleMidLarge"
|
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
<FrameLayout
|
||||||
android:textStyle="bold" />
|
android:id="@+id/layout_too_small"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="?attr/colorSurface"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:alpha="0.275"
|
||||||
|
android:contentDescription="@string/desc_auxio_icon"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/ic_auxio" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:gravity="center"
|
||||||
|
android:padding="@dimen/spacing_medium"
|
||||||
|
android:text="@string/err_too_small"
|
||||||
|
android:textAppearance="@style/TextAppearance.Auxio.TitleMidLarge"
|
||||||
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
</FrameLayout>
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
</FrameLayout>
|
||||||
|
|
|
@ -10,58 +10,58 @@
|
||||||
android:id="@+id/playback_cover"
|
android:id="@+id/playback_cover"
|
||||||
style="@style/Widget.Auxio.Image.Small"
|
style="@style/Widget.Auxio.Image.Small"
|
||||||
android:layout_margin="@dimen/spacing_small"
|
android:layout_margin="@dimen/spacing_small"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:src="@drawable/ic_album" />
|
tools:src="@drawable/ic_album" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_song"
|
android:id="@+id/playback_song"
|
||||||
style="@style/Widget.Auxio.TextView.Primary.Compact"
|
style="@style/Widget.Auxio.TextView.Primary.Compact"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
android:layout_marginEnd="@dimen/spacing_small"
|
android:layout_marginEnd="@dimen/spacing_small"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_info"
|
app:layout_constraintBottom_toTopOf="@+id/playback_info"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_cover"
|
app:layout_constraintTop_toTopOf="@+id/playback_cover"
|
||||||
app:layout_constraintVertical_chainStyle="packed"
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
tools:text="Song Name" />
|
tools:text="Song Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_info"
|
android:id="@+id/playback_info"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary.Compact"
|
style="@style/Widget.Auxio.TextView.Secondary.Compact"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
android:layout_marginEnd="@dimen/spacing_small"
|
android:layout_marginEnd="@dimen/spacing_small"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_cover"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_cover"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_song"
|
app:layout_constraintTop_toBottomOf="@+id/playback_song"
|
||||||
tools:text="Artist Name / Album Name" />
|
tools:text="Artist Name / Album Name" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_play_pause"
|
android:id="@+id/playback_play_pause"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="@dimen/spacing_small"
|
android:layout_margin="@dimen/spacing_small"
|
||||||
android:contentDescription="@string/desc_play_pause"
|
android:contentDescription="@string/desc_play_pause"
|
||||||
android:src="@drawable/sel_playing_state"
|
android:src="@drawable/sel_playing_state"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
app:layout_constraintBottom_toTopOf="@+id/playback_progress_bar"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<com.google.android.material.progressindicator.LinearProgressIndicator
|
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||||
android:id="@+id/playback_progress_bar"
|
android:id="@+id/playback_progress_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:trackColor="?attr/colorPrimary"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:trackColor="?attr/colorPrimary"
|
||||||
tools:progress="70" />
|
tools:progress="70" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -10,160 +10,160 @@
|
||||||
android:id="@+id/playback_toolbar"
|
android:id="@+id/playback_toolbar"
|
||||||
style="@style/Widget.Auxio.Toolbar.Icon.Down"
|
style="@style/Widget.Auxio.Toolbar.Icon.Down"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:title="@string/lbl_playback"
|
app:menu="@menu/menu_playback"
|
||||||
tools:subtitle="@string/lbl_all_songs"
|
app:title="@string/lbl_playback"
|
||||||
app:menu="@menu/menu_playback" />
|
tools:subtitle="@string/lbl_all_songs" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
android:id="@+id/playback_cover"
|
android:id="@+id/playback_cover"
|
||||||
style="@style/Widget.Auxio.Image.Full"
|
style="@style/Widget.Auxio.Image.Full"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_song"
|
android:layout_margin="@dimen/spacing_medium"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintBottom_toTopOf="@+id/playback_song"
|
||||||
android:layout_margin="@dimen/spacing_medium"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
app:layout_constraintTop_toBottomOf="@+id/playback_toolbar"
|
||||||
tools:src="@drawable/ic_album" />
|
tools:src="@drawable/ic_album" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_song"
|
android:id="@+id/playback_song"
|
||||||
style="@style/Widget.Auxio.TextView.Primary"
|
style="@style/Widget.Auxio.TextView.Primary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_artist"
|
app:layout_constraintBottom_toTopOf="@+id/playback_artist"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintVertical_chainStyle="packed"
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
tools:text="Song Name" />
|
tools:text="Song Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_artist"
|
android:id="@+id/playback_artist"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_album"
|
app:layout_constraintBottom_toTopOf="@+id/playback_album"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
tools:text="Artist Name" />
|
tools:text="Artist Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_album"
|
android:id="@+id/playback_album"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_seek_bar"
|
app:layout_constraintBottom_toTopOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
tools:text="Album Name" />
|
tools:text="Album Name" />
|
||||||
|
|
||||||
<com.google.android.material.slider.Slider
|
<com.google.android.material.slider.Slider
|
||||||
android:id="@+id/playback_seek_bar"
|
android:id="@+id/playback_seek_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:valueFrom="0"
|
android:layout_marginBottom="@dimen/spacing_medium"
|
||||||
android:valueTo="1"
|
android:valueFrom="0"
|
||||||
app:haloRadius="@dimen/slider_halo_radius"
|
android:valueTo="1"
|
||||||
app:labelBehavior="gone"
|
app:haloRadius="@dimen/slider_halo_radius"
|
||||||
app:labelStyle="@style/TextAppearance.Auxio.BodySmall"
|
app:labelBehavior="gone"
|
||||||
android:layout_marginBottom="@dimen/spacing_medium"
|
app:labelStyle="@style/TextAppearance.Auxio.BodySmall"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/playback_play_pause"
|
app:layout_constraintBottom_toTopOf="@+id/playback_play_pause"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:thumbRadius="@dimen/slider_thumb_radius" />
|
app:thumbRadius="@dimen/slider_thumb_radius" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_position"
|
android:id="@+id/playback_position"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:layout_marginTop="@dimen/spacing_small_inv"
|
android:layout_marginTop="@dimen/spacing_small_inv"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||||
android:textColor="@color/sel_accented_secondary"
|
android:textColor="@color/sel_accented_secondary"
|
||||||
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
app:layout_constraintStart_toStartOf="@+id/playback_seek_bar"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
||||||
tools:text="11:38" />
|
tools:text="11:38" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_duration"
|
android:id="@+id/playback_duration"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/spacing_small_inv"
|
android:layout_marginTop="@dimen/spacing_small_inv"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
||||||
tools:text="16:16" />
|
tools:text="16:16" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_loop"
|
android:id="@+id/playback_loop"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:contentDescription="@string/desc_change_loop"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:src="@drawable/ic_loop"
|
android:contentDescription="@string/desc_change_loop"
|
||||||
app:hasIndicator="true"
|
android:src="@drawable/ic_loop"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
app:hasIndicator="true"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_prev"
|
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_prev"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_prev" />
|
app:layout_constraintTop_toTopOf="@+id/playback_skip_prev" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_skip_prev"
|
android:id="@+id/playback_skip_prev"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:contentDescription="@string/desc_skip_prev"
|
android:contentDescription="@string/desc_skip_prev"
|
||||||
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"
|
||||||
app:layout_constraintStart_toEndOf="@+id/playback_loop"
|
app:layout_constraintStart_toEndOf="@+id/playback_loop"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
android:id="@+id/playback_play_pause"
|
android:id="@+id/playback_play_pause"
|
||||||
style="@style/Widget.Auxio.FloatingActionButton.PlayPause"
|
style="@style/Widget.Auxio.FloatingActionButton.PlayPause"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/spacing_medium"
|
android:layout_marginBottom="@dimen/spacing_medium"
|
||||||
android:contentDescription="@string/desc_play_pause"
|
android:contentDescription="@string/desc_play_pause"
|
||||||
android:src="@drawable/sel_playing_state"
|
android:src="@drawable/sel_playing_state"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
tools:src="@drawable/ic_play" />
|
tools:src="@drawable/ic_play" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_skip_next"
|
android:id="@+id/playback_skip_next"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:contentDescription="@string/desc_skip_next"
|
android:contentDescription="@string/desc_skip_next"
|
||||||
android:minWidth="@dimen/size_btn_small"
|
android:minWidth="@dimen/size_btn_small"
|
||||||
android:minHeight="@dimen/size_btn_small"
|
android:minHeight="@dimen/size_btn_small"
|
||||||
android:src="@drawable/ic_skip_next"
|
android:src="@drawable/ic_skip_next"
|
||||||
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"
|
||||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.playback.PlaybackButton
|
<org.oxycblt.auxio.playback.PlaybackButton
|
||||||
android:id="@+id/playback_shuffle"
|
android:id="@+id/playback_shuffle"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:contentDescription="@string/desc_shuffle"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
android:minWidth="@dimen/size_btn_small"
|
android:contentDescription="@string/desc_shuffle"
|
||||||
android:minHeight="@dimen/size_btn_small"
|
android:minWidth="@dimen/size_btn_small"
|
||||||
android:src="@drawable/ic_shuffle"
|
android:minHeight="@dimen/size_btn_small"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
android:src="@drawable/ic_shuffle"
|
||||||
app:hasIndicator="true"
|
app:hasIndicator="true"
|
||||||
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_constraintTop_toTopOf="@+id/playback_skip_next"
|
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
||||||
app:tint="@color/sel_accented" />
|
app:tint="@color/sel_accented" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -10,26 +10,26 @@
|
||||||
|
|
||||||
<org.oxycblt.auxio.ui.EdgeAppBarLayout
|
<org.oxycblt.auxio.ui.EdgeAppBarLayout
|
||||||
android:id="@+id/queue_appbar"
|
android:id="@+id/queue_appbar"
|
||||||
style="@style/Widget.Auxio.AppBarLayout"
|
style="@style/Widget.Auxio.AppBarLayout"
|
||||||
app:liftOnScroll="true"
|
app:liftOnScroll="true"
|
||||||
app:liftOnScrollTargetViewId="@id/queue_recycler">
|
app:liftOnScrollTargetViewId="@id/queue_recycler">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/queue_toolbar"
|
android:id="@+id/queue_toolbar"
|
||||||
style="@style/Widget.Auxio.Toolbar.Icon.Down"
|
style="@style/Widget.Auxio.Toolbar.Icon.Down"
|
||||||
android:elevation="0dp"
|
android:elevation="0dp"
|
||||||
app:navigationIcon="@drawable/ic_down"
|
app:navigationIcon="@drawable/ic_down"
|
||||||
app:title="@string/lbl_queue" />
|
app:title="@string/lbl_queue" />
|
||||||
|
|
||||||
</org.oxycblt.auxio.ui.EdgeAppBarLayout>
|
</org.oxycblt.auxio.ui.EdgeAppBarLayout>
|
||||||
|
|
||||||
<org.oxycblt.auxio.ui.EdgeRecyclerView
|
<org.oxycblt.auxio.ui.EdgeRecyclerView
|
||||||
android:id="@+id/queue_recycler"
|
android:id="@+id/queue_recycler"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:overScrollMode="ifContentScrolls"
|
android:overScrollMode="ifContentScrolls"
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
|
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
|
||||||
tools:listitem="@layout/item_queue_song" />
|
tools:listitem="@layout/item_queue_song" />
|
||||||
|
|
||||||
</org.oxycblt.auxio.ui.EdgeCoordinatorLayout>
|
</org.oxycblt.auxio.ui.EdgeCoordinatorLayout>
|
|
@ -1,55 +1,55 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<org.oxycblt.auxio.ui.EdgeCoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<org.oxycblt.auxio.ui.EdgeCoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<org.oxycblt.auxio.ui.EdgeAppBarLayout
|
<org.oxycblt.auxio.ui.EdgeAppBarLayout
|
||||||
android:id="@+id/search_appbar"
|
android:id="@+id/search_appbar"
|
||||||
style="@style/Widget.Auxio.AppBarLayout"
|
style="@style/Widget.Auxio.AppBarLayout"
|
||||||
app:liftOnScroll="true"
|
app:liftOnScroll="true"
|
||||||
app:liftOnScrollTargetViewId="@id/search_recycler">
|
app:liftOnScrollTargetViewId="@id/search_recycler">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/search_toolbar"
|
android:id="@+id/search_toolbar"
|
||||||
style="@style/Widget.Auxio.Toolbar.Icon"
|
style="@style/Widget.Auxio.Toolbar.Icon"
|
||||||
app:menu="@menu/menu_search">
|
app:menu="@menu/menu_search">
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:id="@+id/search_text_layout"
|
android:id="@+id/search_text_layout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:endIconContentDescription="@string/desc_clear_search"
|
||||||
|
app:endIconDrawable="@drawable/ic_close"
|
||||||
|
app:endIconMode="clear_text"
|
||||||
|
app:endIconTint="?attr/colorControlNormal"
|
||||||
|
app:errorEnabled="false"
|
||||||
|
app:hintEnabled="false">
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
|
android:id="@+id/search_edit_text"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:endIconContentDescription="@string/desc_clear_search"
|
android:background="@android:color/transparent"
|
||||||
app:endIconDrawable="@drawable/ic_close"
|
android:hint="@string/hint_search_library"
|
||||||
app:endIconMode="clear_text"
|
android:imeOptions="actionSearch|flagNoExtractUi"
|
||||||
app:endIconTint="?attr/colorControlNormal"
|
android:inputType="textFilter"
|
||||||
app:errorEnabled="false"
|
android:paddingStart="0dp"
|
||||||
app:hintEnabled="false">
|
android:paddingEnd="0dp" />
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
android:id="@+id/search_edit_text"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="@android:color/transparent"
|
|
||||||
android:hint="@string/hint_search_library"
|
|
||||||
android:imeOptions="actionSearch|flagNoExtractUi"
|
|
||||||
android:inputType="textFilter"
|
|
||||||
android:paddingStart="0dp"
|
|
||||||
android:paddingEnd="0dp" />
|
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.appbar.MaterialToolbar>
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
</org.oxycblt.auxio.ui.EdgeAppBarLayout>
|
||||||
|
|
||||||
</org.oxycblt.auxio.ui.EdgeAppBarLayout>
|
<org.oxycblt.auxio.ui.EdgeRecyclerView
|
||||||
|
android:id="@+id/search_recycler"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
|
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
|
||||||
|
tools:listitem="@layout/item_song" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.ui.EdgeRecyclerView
|
</org.oxycblt.auxio.ui.EdgeCoordinatorLayout>
|
||||||
android:id="@+id/search_recycler"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
|
||||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
|
|
||||||
tools:listitem="@layout/item_song" />
|
|
||||||
|
|
||||||
</org.oxycblt.auxio.ui.EdgeCoordinatorLayout>
|
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<org.oxycblt.auxio.ui.EdgeCoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<org.oxycblt.auxio.ui.EdgeCoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:id="@+id/settings_coordinator"
|
android:id="@+id/settings_coordinator"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="?attr/colorSurface"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<org.oxycblt.auxio.ui.EdgeAppBarLayout
|
||||||
|
android:id="@+id/settings_appbar"
|
||||||
|
style="@style/Widget.Auxio.AppBarLayout"
|
||||||
|
android:clickable="true"
|
||||||
|
android:focusable="true"
|
||||||
|
app:liftOnScroll="true">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
|
android:id="@+id/settings_toolbar"
|
||||||
|
style="@style/Widget.Auxio.Toolbar.Icon"
|
||||||
|
app:title="@string/set_title" />
|
||||||
|
|
||||||
|
</org.oxycblt.auxio.ui.EdgeAppBarLayout>
|
||||||
|
|
||||||
|
<androidx.fragment.app.FragmentContainerView
|
||||||
|
android:id="@+id/settings_list_fragment"
|
||||||
|
android:name="org.oxycblt.auxio.settings.SettingsListFragment"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?attr/colorSurface"
|
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<org.oxycblt.auxio.ui.EdgeAppBarLayout
|
</org.oxycblt.auxio.ui.EdgeCoordinatorLayout>
|
||||||
android:id="@+id/settings_appbar"
|
|
||||||
style="@style/Widget.Auxio.AppBarLayout"
|
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true"
|
|
||||||
app:liftOnScroll="true">
|
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
|
||||||
android:id="@+id/settings_toolbar"
|
|
||||||
style="@style/Widget.Auxio.Toolbar.Icon"
|
|
||||||
app:title="@string/set_title" />
|
|
||||||
|
|
||||||
</org.oxycblt.auxio.ui.EdgeAppBarLayout>
|
|
||||||
|
|
||||||
<androidx.fragment.app.FragmentContainerView
|
|
||||||
android:id="@+id/settings_list_fragment"
|
|
||||||
android:name="org.oxycblt.auxio.settings.SettingsListFragment"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
|
|
||||||
|
|
||||||
</org.oxycblt.auxio.ui.EdgeCoordinatorLayout>
|
|
||||||
|
|
|
@ -11,31 +11,31 @@
|
||||||
style="@style/Widget.Auxio.TextView.Header"
|
style="@style/Widget.Auxio.TextView.Header"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toTopOf="@id/header_divider"
|
app:layout_constraintBottom_toTopOf="@id/header_divider"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:text="Songs" />
|
tools:text="Songs" />
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/header_button"
|
android:id="@+id/header_button"
|
||||||
style="@style/Widget.AppCompat.Button.Borderless"
|
style="@style/Widget.AppCompat.Button.Borderless"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:minWidth="@dimen/size_btn_small"
|
android:background="@drawable/ui_unbounded_ripple"
|
||||||
android:minHeight="@dimen/size_btn_small"
|
android:minWidth="@dimen/size_btn_small"
|
||||||
android:background="@drawable/ui_unbounded_ripple"
|
android:minHeight="@dimen/size_btn_small"
|
||||||
android:paddingStart="@dimen/spacing_medium"
|
android:paddingStart="@dimen/spacing_medium"
|
||||||
android:paddingEnd="@dimen/spacing_medium"
|
android:paddingEnd="@dimen/spacing_medium"
|
||||||
app:layout_constraintBottom_toTopOf="@id/header_divider"
|
app:layout_constraintBottom_toTopOf="@id/header_divider"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:ignore="ContentDescription"
|
tools:ignore="ContentDescription"
|
||||||
tools:src="@drawable/ic_sort" />
|
tools:src="@drawable/ic_sort" />
|
||||||
|
|
||||||
<com.google.android.material.divider.MaterialDivider
|
<com.google.android.material.divider.MaterialDivider
|
||||||
android:id="@+id/header_divider"
|
android:id="@+id/header_divider"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="parent" />
|
app:layout_constraintBottom_toBottomOf="parent" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -13,54 +13,54 @@
|
||||||
android:contentDescription="@string/def_track"
|
android:contentDescription="@string/def_track"
|
||||||
android:src="@drawable/ic_song"
|
android:src="@drawable/ic_song"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/song_track"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/song_track"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/song_track"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/song_track"
|
||||||
app:tint="@color/sel_accented"
|
app:tint="@color/sel_accented"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/song_track"
|
tools:text="1" />
|
||||||
app:layout_constraintEnd_toEndOf="@+id/song_track"
|
|
||||||
app:layout_constraintStart_toStartOf="@+id/song_track"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/song_track"
|
|
||||||
tools:text="1" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/song_track"
|
android:id="@+id/song_track"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:minWidth="@dimen/size_track_number"
|
android:minWidth="@dimen/size_track_number"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
|
||||||
android:textColor="@color/sel_accented_secondary"
|
android:textColor="@color/sel_accented_secondary"
|
||||||
android:textSize="@dimen/text_size_ext_title_mid_large"
|
android:textSize="@dimen/text_size_ext_title_mid_large"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/song_name"
|
app:layout_constraintEnd_toStartOf="@+id/song_name"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:text="16" />
|
tools:text="16" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/song_name"
|
android:id="@+id/song_name"
|
||||||
style="@style/Widget.Auxio.TextView.Item.Primary"
|
style="@style/Widget.Auxio.TextView.Item.Primary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="@color/sel_accented_primary"
|
android:textColor="@color/sel_accented_primary"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/song_duration"
|
app:layout_constraintBottom_toTopOf="@+id/song_duration"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/song_track"
|
app:layout_constraintStart_toEndOf="@+id/song_track"
|
||||||
app:layout_constraintTop_toTopOf="@+id/song_track"
|
app:layout_constraintTop_toTopOf="@+id/song_track"
|
||||||
app:layout_constraintVertical_chainStyle="packed"
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
tools:text="Song Name" />
|
tools:text="Song Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/song_duration"
|
android:id="@+id/song_duration"
|
||||||
style="@style/Widget.Auxio.TextView.Item.Secondary"
|
style="@style/Widget.Auxio.TextView.Item.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/song_track"
|
app:layout_constraintBottom_toBottomOf="@+id/song_track"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/song_track"
|
app:layout_constraintStart_toEndOf="@+id/song_track"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/song_name"
|
app:layout_constraintTop_toBottomOf="@+id/song_name"
|
||||||
tools:text="16:16" />
|
tools:text="16:16" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
style="@style/Widget.Auxio.ItemLayout">
|
style="@style/Widget.Auxio.ItemLayout">
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
|
@ -14,26 +14,26 @@
|
||||||
tools:src="@drawable/ic_artist" />
|
tools:src="@drawable/ic_artist" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/artist_name"
|
android:id="@+id/artist_name"
|
||||||
style="@style/Widget.Auxio.TextView.Item.Primary"
|
style="@style/Widget.Auxio.TextView.Item.Primary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/artist_info"
|
app:layout_constraintBottom_toTopOf="@+id/artist_info"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/artist_image"
|
app:layout_constraintStart_toEndOf="@+id/artist_image"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintVertical_chainStyle="packed"
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
tools:text="Artist Name" />
|
tools:text="Artist Name" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/artist_info"
|
android:id="@+id/artist_info"
|
||||||
style="@style/Widget.Auxio.TextView.Item.Secondary"
|
style="@style/Widget.Auxio.TextView.Item.Secondary"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/artist_image"
|
app:layout_constraintStart_toEndOf="@+id/artist_image"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/artist_name"
|
app:layout_constraintTop_toBottomOf="@+id/artist_name"
|
||||||
tools:text="2 Albums, 20 Songs" />
|
tools:text="2 Albums, 20 Songs" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -1,74 +1,74 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:padding="@dimen/spacing_medium">
|
||||||
|
|
||||||
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
|
android:id="@+id/detail_cover"
|
||||||
|
style="@style/Widget.Auxio.Image.MidHuge"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="ContentDescription"
|
||||||
|
tools:src="@drawable/ic_artist" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/detail_name"
|
||||||
|
style="@style/Widget.Auxio.TextView.Detail"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:padding="@dimen/spacing_medium">
|
android:layout_marginTop="@dimen/spacing_medium"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/detail_cover"
|
||||||
|
tools:text="Name" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
<TextView
|
||||||
android:id="@+id/detail_cover"
|
android:id="@+id/detail_subhead"
|
||||||
style="@style/Widget.Auxio.Image.MidHuge"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:layout_width="match_parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
tools:ignore="ContentDescription"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
tools:src="@drawable/ic_artist" />
|
app:layout_constraintTop_toBottomOf="@+id/detail_name"
|
||||||
|
tools:text="Info A" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/detail_name"
|
android:id="@+id/detail_info"
|
||||||
style="@style/Widget.Auxio.TextView.Detail"
|
style="@style/Widget.Auxio.TextView.Secondary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/spacing_medium"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintTop_toBottomOf="@+id/detail_subhead"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
tools:text="Info B" />
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_cover"
|
|
||||||
tools:text="Name" />
|
|
||||||
|
|
||||||
<TextView
|
<Button
|
||||||
android:id="@+id/detail_subhead"
|
android:id="@+id/detail_play_button"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.Button.Secondary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:layout_marginTop="@dimen/spacing_medium"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
android:layout_marginEnd="@dimen/spacing_small"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_name"
|
android:text="@string/lbl_play"
|
||||||
tools:text="Info A" />
|
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/detail_info" />
|
||||||
|
|
||||||
<TextView
|
<Button
|
||||||
android:id="@+id/detail_info"
|
android:id="@+id/detail_shuffle_button"
|
||||||
style="@style/Widget.Auxio.TextView.Secondary"
|
style="@style/Widget.Auxio.Button.Primary"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:layout_marginStart="@dimen/spacing_small"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
android:text="@string/lbl_shuffle"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_subhead"
|
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
||||||
tools:text="Info B" />
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
||||||
<Button
|
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
||||||
android:id="@+id/detail_play_button"
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
style="@style/Widget.Auxio.Button.Secondary"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="@dimen/spacing_medium"
|
|
||||||
android:layout_marginEnd="@dimen/spacing_small"
|
|
||||||
android:text="@string/lbl_play"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_info" />
|
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/detail_shuffle_button"
|
|
||||||
style="@style/Widget.Auxio.Button.Primary"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/spacing_small"
|
|
||||||
android:text="@string/lbl_shuffle"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
|
@ -1,43 +1,43 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
style="@style/Widget.Auxio.ItemLayout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:clickable="false"
|
||||||
|
android:focusable="false"
|
||||||
|
android:padding="0dp">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/excluded_path"
|
||||||
|
style="@style/Widget.Auxio.TextView.Item.Primary"
|
||||||
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:clickable="false"
|
android:layout_margin="@dimen/spacing_medium"
|
||||||
android:focusable="false"
|
android:gravity="center"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
android:maxLines="@null"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
|
||||||
style="@style/Widget.Auxio.ItemLayout"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
android:padding="0dp">
|
app:layout_constraintEnd_toStartOf="@+id/excluded_clear"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="/storage/emulated/0/directory" />
|
||||||
|
|
||||||
<TextView
|
<ImageButton
|
||||||
android:id="@+id/excluded_path"
|
android:id="@+id/excluded_clear"
|
||||||
style="@style/Widget.Auxio.TextView.Item.Primary"
|
android:layout_width="wrap_content"
|
||||||
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
|
android:layout_margin="@dimen/spacing_small"
|
||||||
android:layout_height="wrap_content"
|
android:background="@drawable/ui_unbounded_ripple"
|
||||||
android:layout_margin="@dimen/spacing_medium"
|
android:contentDescription="@string/desc_blacklist_delete"
|
||||||
android:gravity="center"
|
android:minWidth="@dimen/size_btn_small"
|
||||||
android:maxLines="@null"
|
android:minHeight="@dimen/size_btn_small"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
android:src="@drawable/ic_clear"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/excluded_clear"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:text="/storage/emulated/0/directory" />
|
app:tint="?attr/colorControlNormal" />
|
||||||
|
|
||||||
<ImageButton
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
android:id="@+id/excluded_clear"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_margin="@dimen/spacing_small"
|
|
||||||
android:minHeight="@dimen/size_btn_small"
|
|
||||||
android:minWidth="@dimen/size_btn_small"
|
|
||||||
android:background="@drawable/ui_unbounded_ripple"
|
|
||||||
android:contentDescription="@string/desc_blacklist_delete"
|
|
||||||
android:src="@drawable/ic_clear"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:tint="?attr/colorControlNormal" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@android:id/title"
|
||||||
|
style="@style/Widget.Auxio.TextView.Header"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintBottom_toTopOf="@id/header_divider"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="Songs" />
|
||||||
|
|
||||||
<TextView
|
<com.google.android.material.divider.MaterialDivider
|
||||||
android:id="@android:id/title"
|
android:id="@+id/header_divider"
|
||||||
style="@style/Widget.Auxio.TextView.Header"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
app:layout_constraintBottom_toBottomOf="parent" />
|
||||||
app:layout_constraintBottom_toTopOf="@id/header_divider"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:text="Songs" />
|
|
||||||
|
|
||||||
<com.google.android.material.divider.MaterialDivider
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
android:id="@+id/header_divider"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
@ -1,84 +1,84 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/background"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="?attr/colorPrimary"
|
||||||
|
android:visibility="invisible" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="end|center_vertical"
|
||||||
|
android:contentDescription="@string/desc_clear_queue_item"
|
||||||
|
android:padding="@dimen/spacing_medium"
|
||||||
|
android:src="@drawable/ic_clear"
|
||||||
|
app:tint="?attr/colorSurface" />
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:id="@+id/body"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/colorSurface">
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
<View
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
android:id="@+id/background"
|
android:id="@+id/song_album_cover"
|
||||||
android:layout_width="match_parent"
|
style="@style/Widget.Auxio.Image.Small"
|
||||||
android:layout_height="match_parent"
|
android:layout_margin="@dimen/spacing_medium"
|
||||||
android:background="?attr/colorPrimary"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
android:visibility="invisible" />
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:src="@drawable/ic_album" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/song_name"
|
||||||
|
style="@style/Widget.Auxio.TextView.Item.Primary"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/song_info"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/song_drag_handle"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/song_album_cover"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
|
tools:text="Song Name" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/song_info"
|
||||||
|
style="@style/Widget.Auxio.TextView.Item.Secondary"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/song_drag_handle"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/song_album_cover"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/song_name"
|
||||||
|
tools:text="Artist / Album" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
android:id="@+id/song_drag_handle"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="end|center_vertical"
|
android:clickable="true"
|
||||||
android:contentDescription="@string/desc_clear_queue_item"
|
android:contentDescription="@string/desc_queue_handle"
|
||||||
android:padding="@dimen/spacing_medium"
|
android:focusable="true"
|
||||||
android:src="@drawable/ic_clear"
|
android:minWidth="@dimen/size_btn_small"
|
||||||
app:tint="?attr/colorSurface" />
|
android:minHeight="@dimen/size_btn_small"
|
||||||
|
android:paddingStart="@dimen/spacing_medium"
|
||||||
|
android:paddingEnd="@dimen/spacing_medium"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:src="@drawable/ic_handle"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/song_album_cover"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/song_album_cover" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
android:id="@+id/body"
|
</FrameLayout>
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="?attr/colorSurface">
|
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
|
||||||
android:id="@+id/song_album_cover"
|
|
||||||
style="@style/Widget.Auxio.Image.Small"
|
|
||||||
android:layout_margin="@dimen/spacing_medium"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:src="@drawable/ic_album" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/song_name"
|
|
||||||
style="@style/Widget.Auxio.TextView.Item.Primary"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/song_info"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/song_drag_handle"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/song_album_cover"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintVertical_chainStyle="packed"
|
|
||||||
tools:text="Song Name" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/song_info"
|
|
||||||
style="@style/Widget.Auxio.TextView.Item.Secondary"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toStartOf="@+id/song_drag_handle"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/song_album_cover"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/song_name"
|
|
||||||
tools:text="Artist / Album" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/song_drag_handle"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:clickable="true"
|
|
||||||
android:contentDescription="@string/desc_queue_handle"
|
|
||||||
android:focusable="true"
|
|
||||||
android:minWidth="@dimen/size_btn_small"
|
|
||||||
android:minHeight="@dimen/size_btn_small"
|
|
||||||
android:paddingStart="@dimen/spacing_medium"
|
|
||||||
android:paddingEnd="@dimen/spacing_medium"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/ic_handle"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/song_album_cover"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/song_album_cover" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
style="@style/Widget.Auxio.ItemLayout">
|
style="@style/Widget.Auxio.ItemLayout">
|
||||||
|
|
||||||
<org.oxycblt.auxio.coil.RoundableImageView
|
<org.oxycblt.auxio.coil.RoundableImageView
|
||||||
|
@ -36,4 +36,4 @@
|
||||||
app:layout_constraintTop_toBottomOf="@+id/song_name"
|
app:layout_constraintTop_toBottomOf="@+id/song_name"
|
||||||
tools:text="Info" />
|
tools:text="Info" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
|
@ -1,48 +1,48 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
style="@style/Widget.Auxio.ItemLayout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="0dp">
|
||||||
|
|
||||||
|
<com.google.android.material.checkbox.MaterialCheckBox
|
||||||
|
android:id="@+id/tab_icon"
|
||||||
|
style="@style/Widget.Material3.CompoundButton.CheckBox"
|
||||||
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
android:layout_marginTop="@dimen/spacing_small"
|
||||||
style="@style/Widget.Auxio.ItemLayout"
|
android:layout_marginBottom="@dimen/spacing_small"
|
||||||
android:padding="0dp">
|
android:clickable="false"
|
||||||
|
android:focusable="false"
|
||||||
|
android:paddingStart="@dimen/spacing_medium"
|
||||||
|
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
|
||||||
|
app:buttonCompat="@null"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/tab_drag_handle"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:ignore="RtlSymmetry,contentDescription"
|
||||||
|
tools:text="Artist" />
|
||||||
|
|
||||||
<com.google.android.material.checkbox.MaterialCheckBox
|
<ImageView
|
||||||
android:id="@+id/tab_icon"
|
android:id="@+id/tab_drag_handle"
|
||||||
style="@style/Widget.Material3.CompoundButton.CheckBox"
|
android:layout_width="wrap_content"
|
||||||
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:clickable="true"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:contentDescription="@string/desc_tab_handle"
|
||||||
android:layout_marginTop="@dimen/spacing_small"
|
android:focusable="true"
|
||||||
android:layout_marginBottom="@dimen/spacing_small"
|
android:minWidth="@dimen/size_btn_small"
|
||||||
android:clickable="false"
|
android:minHeight="@dimen/size_btn_small"
|
||||||
android:focusable="false"
|
android:paddingStart="@dimen/spacing_medium"
|
||||||
android:paddingStart="@dimen/spacing_medium"
|
android:paddingEnd="@dimen/spacing_medium"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
|
android:scaleType="center"
|
||||||
app:buttonCompat="@null"
|
android:src="@drawable/ic_handle"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="@+id/tab_icon"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/tab_drag_handle"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintTop_toTopOf="@+id/tab_icon" />
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:ignore="RtlSymmetry,contentDescription"
|
|
||||||
tools:text="Artist" />
|
|
||||||
|
|
||||||
<ImageView
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
android:id="@+id/tab_drag_handle"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:clickable="true"
|
|
||||||
android:contentDescription="@string/desc_tab_handle"
|
|
||||||
android:focusable="true"
|
|
||||||
android:minWidth="@dimen/size_btn_small"
|
|
||||||
android:minHeight="@dimen/size_btn_small"
|
|
||||||
android:paddingStart="@dimen/spacing_medium"
|
|
||||||
android:paddingEnd="@dimen/spacing_medium"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/ic_handle"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/tab_icon"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/tab_icon" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
@ -1,50 +1,50 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:layout_height="wrap_content"
|
tools:layout_height="wrap_content"
|
||||||
tools:layout_width="match_parent"
|
tools:layout_width="match_parent"
|
||||||
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
|
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
|
||||||
|
|
||||||
<com.google.android.material.slider.Slider
|
<com.google.android.material.slider.Slider
|
||||||
android:id="@+id/seek_bar"
|
android:id="@+id/seek_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/spacing_medium"
|
android:layout_marginBottom="@dimen/spacing_medium"
|
||||||
android:paddingStart="@dimen/spacing_small"
|
android:paddingStart="@dimen/spacing_small"
|
||||||
android:paddingEnd="@dimen/spacing_small"
|
android:paddingEnd="@dimen/spacing_small"
|
||||||
app:labelBehavior="gone"
|
android:valueFrom="0"
|
||||||
app:labelStyle="@style/TextAppearance.Auxio.BodySmall"
|
android:valueTo="1"
|
||||||
android:valueFrom="0"
|
app:haloRadius="@dimen/slider_halo_radius"
|
||||||
android:valueTo="1"
|
app:labelBehavior="gone"
|
||||||
app:thumbRadius="@dimen/slider_thumb_radius"
|
app:labelStyle="@style/TextAppearance.Auxio.BodySmall"
|
||||||
app:haloRadius="@dimen/slider_halo_radius"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent" />
|
app:thumbRadius="@dimen/slider_thumb_radius" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_position"
|
android:id="@+id/playback_position"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/spacing_medium"
|
android:layout_marginStart="@dimen/spacing_medium"
|
||||||
android:layout_marginBottom="@dimen/spacing_small"
|
android:layout_marginBottom="@dimen/spacing_small"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||||
android:textColor="@color/sel_accented_secondary"
|
android:textColor="@color/sel_accented_secondary"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
tools:text="11:38" />
|
tools:text="11:38" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/playback_duration"
|
android:id="@+id/playback_duration"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/spacing_medium"
|
android:layout_marginEnd="@dimen/spacing_medium"
|
||||||
android:layout_marginBottom="@dimen/spacing_small"
|
android:layout_marginBottom="@dimen/spacing_small"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
tools:text="16:16" />
|
tools:text="16:16" />
|
||||||
|
|
||||||
</merge>
|
</merge>
|
|
@ -18,15 +18,15 @@
|
||||||
android:tint="?attr/colorPrimary" />
|
android:tint="?attr/colorPrimary" />
|
||||||
|
|
||||||
<android.widget.TextView
|
<android.widget.TextView
|
||||||
android:layout_width="match_parent"
|
|
||||||
style="@style/Widget.Auxio.TextView.Primary.AppWidget"
|
style="@style/Widget.Auxio.TextView.Primary.AppWidget"
|
||||||
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:ellipsize="none"
|
android:ellipsize="none"
|
||||||
android:singleLine="false"
|
|
||||||
android:textAlignment="center"
|
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:padding="@dimen/spacing_medium"
|
android:padding="@dimen/spacing_medium"
|
||||||
android:text="@string/def_playback" />
|
android:singleLine="false"
|
||||||
|
android:text="@string/def_playback"
|
||||||
|
android:textAlignment="center" />
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
|
@ -51,9 +51,9 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:padding="@dimen/spacing_medium"
|
android:layout_gravity="center"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:layout_gravity="center">
|
android:padding="@dimen/spacing_medium">
|
||||||
|
|
||||||
<android.widget.TextView
|
<android.widget.TextView
|
||||||
android:id="@+id/widget_song"
|
android:id="@+id/widget_song"
|
||||||
|
|
|
@ -51,9 +51,9 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:padding="@dimen/spacing_medium"
|
android:layout_gravity="center"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:layout_gravity="center">
|
android:padding="@dimen/spacing_medium">
|
||||||
|
|
||||||
<android.widget.TextView
|
<android.widget.TextView
|
||||||
android:id="@+id/widget_song"
|
android:id="@+id/widget_song"
|
||||||
|
|
|
@ -53,13 +53,13 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:paddingTop="@dimen/spacing_small"
|
android:layout_gravity="center"
|
||||||
android:paddingBottom="@dimen/spacing_small"
|
|
||||||
android:paddingStart="@dimen/spacing_small"
|
|
||||||
android:paddingEnd="@dimen/spacing_small"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:background="@drawable/ui_widget_panel"
|
android:background="@drawable/ui_widget_panel"
|
||||||
android:layout_gravity="center">
|
android:orientation="horizontal"
|
||||||
|
android:paddingStart="@dimen/spacing_small"
|
||||||
|
android:paddingTop="@dimen/spacing_small"
|
||||||
|
android:paddingEnd="@dimen/spacing_small"
|
||||||
|
android:paddingBottom="@dimen/spacing_small">
|
||||||
|
|
||||||
<android.widget.ImageButton
|
<android.widget.ImageButton
|
||||||
android:id="@+id/widget_skip_prev"
|
android:id="@+id/widget_skip_prev"
|
||||||
|
|
|
@ -56,10 +56,10 @@
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:background="@drawable/ui_widget_panel"
|
android:background="@drawable/ui_widget_panel"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:paddingTop="@dimen/spacing_small"
|
|
||||||
android:paddingBottom="@dimen/spacing_small"
|
|
||||||
android:paddingStart="@dimen/spacing_small"
|
android:paddingStart="@dimen/spacing_small"
|
||||||
android:paddingEnd="@dimen/spacing_small">
|
android:paddingTop="@dimen/spacing_small"
|
||||||
|
android:paddingEnd="@dimen/spacing_small"
|
||||||
|
android:paddingBottom="@dimen/spacing_small">
|
||||||
|
|
||||||
<android.widget.ImageButton
|
<android.widget.ImageButton
|
||||||
android:id="@+id/widget_loop"
|
android:id="@+id/widget_loop"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<style name="Widget.Auxio.Button.AppWidget.V31" parent="Widget.AppCompat.Button.Borderless">
|
<style name="Widget.Auxio.Button.AppWidget.V31" parent="Widget.AppCompat.Button.Borderless">
|
||||||
<item name="android:background">@drawable/ui_large_unbounded_ripple</item>
|
<item name="android:background">@drawable/ui_large_unbounded_ripple</item>
|
||||||
</style>
|
</style>
|
||||||
</resources>
|
</resources>
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<style name="Theme.Widget" parent="@android:style/Theme.DeviceDefault.DayNight">
|
<style name="Theme.Widget" parent="@android:style/Theme.DeviceDefault.DayNight">
|
||||||
<item name="colorSurface">@color/widget_surface</item>
|
<item name="colorSurface">@color/widget_surface</item>
|
||||||
<item name="colorPrimary">?android:attr/colorAccent</item>
|
<item name="colorPrimary">?android:attr/colorAccent</item>
|
||||||
<item name="colorSecondary">?android:attr/colorAccent</item>
|
<item name="colorSecondary">?android:attr/colorAccent</item>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<style name="Theme.Auxio.Black" parent="Theme.Auxio.App">
|
<style name="Theme.Auxio.Black" parent="Theme.Auxio.App">
|
||||||
<item name="colorSurface">@android:color/black</item>
|
<item name="colorSurface">@android:color/black</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
@ -6,17 +6,17 @@
|
||||||
|
|
||||||
<org.oxycblt.auxio.settings.pref.IntListPreference
|
<org.oxycblt.auxio.settings.pref.IntListPreference
|
||||||
app:defaultValue="@integer/theme_auto"
|
app:defaultValue="@integer/theme_auto"
|
||||||
app:isPreferenceVisible="@bool/enable_theme_settings"
|
|
||||||
app:entries="@array/entries_theme"
|
app:entries="@array/entries_theme"
|
||||||
app:entryValues="@array/values_theme"
|
app:entryValues="@array/values_theme"
|
||||||
app:icon="@drawable/ic_day"
|
app:icon="@drawable/ic_day"
|
||||||
app:iconSpaceReserved="false"
|
app:iconSpaceReserved="false"
|
||||||
|
app:isPreferenceVisible="@bool/enable_theme_settings"
|
||||||
app:key="KEY_THEME2"
|
app:key="KEY_THEME2"
|
||||||
app:title="@string/set_theme" />
|
app:title="@string/set_theme" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
app:isPreferenceVisible="@bool/enable_theme_settings"
|
|
||||||
app:icon="@drawable/ic_accent"
|
app:icon="@drawable/ic_accent"
|
||||||
|
app:isPreferenceVisible="@bool/enable_theme_settings"
|
||||||
app:key="auxio_accent"
|
app:key="auxio_accent"
|
||||||
app:title="@string/set_accent" />
|
app:title="@string/set_accent" />
|
||||||
|
|
||||||
|
@ -81,8 +81,8 @@
|
||||||
<org.oxycblt.auxio.settings.pref.M3SwitchPreference
|
<org.oxycblt.auxio.settings.pref.M3SwitchPreference
|
||||||
app:defaultValue="true"
|
app:defaultValue="true"
|
||||||
app:iconSpaceReserved="false"
|
app:iconSpaceReserved="false"
|
||||||
app:key="KEY_AUDIO_FOCUS"
|
|
||||||
app:isPreferenceVisible="@bool/enable_audio_focus_setting"
|
app:isPreferenceVisible="@bool/enable_audio_focus_setting"
|
||||||
|
app:key="KEY_AUDIO_FOCUS"
|
||||||
app:summary="@string/set_focus_desc"
|
app:summary="@string/set_focus_desc"
|
||||||
app:title="@string/set_focus" />
|
app:title="@string/set_focus" />
|
||||||
|
|
||||||
|
@ -94,12 +94,12 @@
|
||||||
app:title="@string/set_headset_autoplay" />
|
app:title="@string/set_headset_autoplay" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.settings.pref.IntListPreference
|
<org.oxycblt.auxio.settings.pref.IntListPreference
|
||||||
app:defaultValue="@integer/replay_gain_off"
|
|
||||||
app:key="auxio_replay_gain"
|
|
||||||
app:allowDividerBelow="false"
|
app:allowDividerBelow="false"
|
||||||
app:iconSpaceReserved="false"
|
app:defaultValue="@integer/replay_gain_off"
|
||||||
app:entries="@array/entries_replay_gain"
|
app:entries="@array/entries_replay_gain"
|
||||||
app:entryValues="@array/values_replay_gain"
|
app:entryValues="@array/values_replay_gain"
|
||||||
|
app:iconSpaceReserved="false"
|
||||||
|
app:key="auxio_replay_gain"
|
||||||
app:title="@string/set_replay_gain" />
|
app:title="@string/set_replay_gain" />
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
Loading…
Reference in a new issue