ui: rework cover style

Rework the style of all album covers in the app to be more in line with
the new track number style.

This is mostly comprised of adding a new background to all cover views
and rescaling error icons to be smaller than they would normally be.
This also includes a change in the cover/track background color from
colorSurfaceVariant to colorOnSurfaceInverse, which seems to provide
the best visibility in all cases.

These changes also apply to the track number views.
This commit is contained in:
OxygenCobalt 2022-04-02 16:52:02 -06:00
parent e387e72b2c
commit 74f5962844
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
55 changed files with 254 additions and 350 deletions

View file

@ -53,12 +53,15 @@ I primarily built Auxio for myself, but you can use it too, I guess.
- Completely private and offline - Completely private and offline
- No rounded album covers (Unless you want them. Then you can.) - No rounded album covers (Unless you want them. Then you can.)
## To possibly come in the future: ## To come in the future:
- Automatic music rescanning
- Even better metadata support
- Playlists - Playlists
- Liked songs - Liked songs
- More notification actions - Artist Images
- And other things, probably - More customization options
- Other things, probably
## Permissions ## Permissions
@ -69,7 +72,7 @@ I primarily built Auxio for myself, but you can use it too, I guess.
Auxio relies on a custom version of ExoPlayer that enables some extra features. So, the build process is as follows: Auxio relies on a custom version of ExoPlayer that enables some extra features. So, the build process is as follows:
1. `cd` into the project directory 1. `cd` into the project directory.
2. Run `python3 prebuild.py`, which installs ExoPlayer and it's extensions. 2. Run `python3 prebuild.py`, which installs ExoPlayer and it's extensions.
- The pre-build process only works with \*nix systems. On windows, this process must be done manually. - The pre-build process only works with \*nix systems. On windows, this process must be done manually.
3. Build the project normally in Android Studio. 3. Build the project normally in Android Studio.

View file

@ -1,8 +1,9 @@
apply plugin: "com.android.application" plugins {
apply plugin: "kotlin-android" id "com.android.application"
apply plugin: "kotlin-kapt" id "kotlin-android"
apply plugin: "androidx.navigation.safeargs.kotlin" id "androidx.navigation.safeargs.kotlin"
apply plugin: "com.diffplug.spotless" id "com.diffplug.spotless"
}
android { android {
compileSdkVersion 32 compileSdkVersion 32

View file

@ -41,6 +41,7 @@
android:windowSoftInputMode="adjustPan"> android:windowSoftInputMode="adjustPan">
<intent-filter> <intent-filter>
<!-- Expose that we are a music player. -->
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.MUSIC_PLAYER" /> <action android:name="android.intent.action.MUSIC_PLAYER" />
@ -50,6 +51,11 @@
</intent-filter> </intent-filter>
<intent-filter> <intent-filter>
<!--
Signal that we can take audio of *any* format, file or content. This is important,
as some apps use this to determine if Auxio is eligible to be a default music
player.
-->
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
@ -80,6 +86,7 @@
</intent-filter> </intent-filter>
</receiver> </receiver>
<!-- Auxio's one and only AppWidget -->
<receiver <receiver
android:name=".widgets.WidgetProvider" android:name=".widgets.WidgetProvider"
android:exported="false" android:exported="false"

View file

@ -1,80 +0,0 @@
/*
* Copyright (c) 2021 Auxio Project
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package org.oxycblt.auxio.coil
import android.content.Context
import android.graphics.Bitmap
import android.widget.ImageView
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.core.graphics.drawable.toBitmap
import coil.dispose
import coil.imageLoader
import coil.load
import coil.request.ImageRequest
import coil.size.Size
import org.oxycblt.auxio.R
import org.oxycblt.auxio.music.Album
import org.oxycblt.auxio.music.Artist
import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Music
import org.oxycblt.auxio.music.Song
// --- BINDING ADAPTERS ---
/** Bind the album cover for a [song]. */
fun ImageView.bindAlbumCover(song: Song?) =
load(song, R.drawable.ic_album, R.string.desc_album_cover)
/** Bind the album cover for an [album]. */
fun ImageView.bindAlbumCover(album: Album?) =
load(album, R.drawable.ic_album, R.string.desc_album_cover)
/** Bind the image for an [artist] */
fun ImageView.bindArtistImage(artist: Artist?) =
load(artist, R.drawable.ic_artist, R.string.desc_artist_image)
/** Bind the image for a [genre] */
fun ImageView.bindGenreImage(genre: Genre?) =
load(genre, R.drawable.ic_genre, R.string.desc_genre_image)
fun <T : Music> ImageView.load(music: T?, @DrawableRes error: Int, @StringRes desc: Int) {
contentDescription = context.getString(desc, music?.resolvedName)
dispose()
scaleType = ImageView.ScaleType.FIT_CENTER
load(music) {
error(error)
transformations(SquareFrameTransform.INSTANCE)
}
}
// --- OTHER FUNCTIONS ---
/**
* Get a bitmap for a [song]. [onDone] will be called with the loaded bitmap, or null if loading
* failed/shouldn't occur. **This not meant for UIs, instead use the Binding Adapters.**
*/
fun loadBitmap(context: Context, song: Song, onDone: (Bitmap?) -> Unit) {
context.imageLoader.enqueue(
ImageRequest.Builder(context)
.data(song.album)
.size(Size.ORIGINAL)
.transformations(SquareFrameTransform())
.target(onError = { onDone(null) }, onSuccess = { onDone(it.toBitmap()) })
.build())
}

View file

@ -1,64 +0,0 @@
/*
* Copyright (c) 2022 Auxio Project
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package org.oxycblt.auxio.coil
import android.content.Context
import android.util.AttributeSet
import androidx.annotation.AttrRes
import androidx.appcompat.widget.AppCompatImageView
import com.google.android.material.shape.MaterialShapeDrawable
import org.oxycblt.auxio.R
import org.oxycblt.auxio.settings.SettingsManager
import org.oxycblt.auxio.util.getColorSafe
import org.oxycblt.auxio.util.stateList
/**
* An [AppCompatImageView] that applies the specified cornerRadius attribute if the user has enabled
* the "Round album covers" option. We don't round album covers by default as it desecrates album
* artwork, but if the user desires it we do have an option to enable it.
*/
class RoundableImageView
@JvmOverloads
constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr: Int = 0) :
AppCompatImageView(context, attrs, defStyleAttr) {
init {
val styledAttrs = context.obtainStyledAttributes(attrs, R.styleable.RoundableImageView)
val cornerRadius = styledAttrs.getDimension(R.styleable.RoundableImageView_cornerRadius, 0f)
styledAttrs.recycle()
background =
MaterialShapeDrawable().apply {
setCornerSize(cornerRadius)
fillColor = context.getColorSafe(android.R.color.transparent).stateList
}
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
// Use clipToOutline and a background drawable to crop images. While Coil's transformation
// could theoretically be used to round corners, the corner radius is dependent on the
// dimensions of the image, which will result in inconsistent corners across different
// album covers unless we resize all covers to be the same size. clipToOutline is both
// cheaper and more elegant.
if (!isInEditMode) {
val settingsManager = SettingsManager.getInstance()
clipToOutline = settingsManager.roundCovers
}
}
}

View file

@ -0,0 +1,168 @@
/*
* Copyright (c) 2022 Auxio Project
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package org.oxycblt.auxio.coil
import android.content.Context
import android.graphics.Bitmap
import android.graphics.Matrix
import android.graphics.RectF
import android.util.AttributeSet
import android.widget.ImageView
import androidx.annotation.AttrRes
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.appcompat.widget.AppCompatImageView
import androidx.core.graphics.drawable.toBitmap
import coil.dispose
import coil.imageLoader
import coil.load
import coil.request.ImageRequest
import coil.size.Size
import com.google.android.material.shape.MaterialShapeDrawable
import kotlin.math.min
import org.oxycblt.auxio.R
import org.oxycblt.auxio.music.Album
import org.oxycblt.auxio.music.Artist
import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Music
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.settings.SettingsManager
import org.oxycblt.auxio.util.getColorStateListSafe
/** An [AppCompatImageView] that applies many of the stylistic choices thjat Auxio uses wi */
class StyledImageView
@JvmOverloads
constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr: Int = 0) :
AppCompatImageView(context, attrs, defStyleAttr) {
private val centerMatrix = Matrix()
private val matrixSrc = RectF()
private val matrixDst = RectF()
private var cornerRadius = 0f
init {
val styledAttrs = context.obtainStyledAttributes(attrs, R.styleable.StyledImageView)
cornerRadius = styledAttrs.getDimension(R.styleable.StyledImageView_cornerRadius, 0f)
styledAttrs.recycle()
clipToOutline = true
background =
MaterialShapeDrawable().apply {
fillColor = context.getColorStateListSafe(R.color.sel_cover_bg)
}
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
// Use clipToOutline and a background drawable to crop images. While Coil's transformation
// could theoretically be used to round corners, the corner radius is dependent on the
// dimensions of the image, which will result in inconsistent corners across different
// album covers unless we resize all covers to be the same size. clipToOutline is both
// cheaper and more elegant.
if (!isInEditMode) {
val settingsManager = SettingsManager.getInstance()
if (settingsManager.roundCovers) {
(background as MaterialShapeDrawable).setCornerSize(cornerRadius)
}
}
}
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
imageMatrix =
centerMatrix.apply {
reset()
drawable?.let { drawable ->
// Android is too good to allow us to set a fixed image size, so we instead need
// to define a matrix to scale an image directly.
// First scale the icon up to the desired size.
val iconSize = min(measuredWidth, measuredHeight) / 2f
matrixSrc.set(
0f,
0f,
drawable.intrinsicWidth.toFloat(),
drawable.intrinsicHeight.toFloat())
matrixDst.set(0f, 0f, iconSize, iconSize)
centerMatrix.setRectToRect(matrixSrc, matrixDst, Matrix.ScaleToFit.CENTER)
// Then actually center it into the icon, which the previous call does not
// actually do.
centerMatrix.postTranslate(
(measuredWidth - iconSize) / 2f, (measuredHeight - iconSize) / 2f)
}
}
}
}
// TODO: Borg the extension methods into the view, move the loadBitmap call to the service
// eventually
/** Bind the album cover for a [song]. */
fun StyledImageView.bindAlbumCover(song: Song?) =
load(song, R.drawable.ic_song, R.string.desc_album_cover)
/** Bind the album cover for an [album]. */
fun StyledImageView.bindAlbumCover(album: Album?) =
load(album, R.drawable.ic_album, R.string.desc_album_cover)
/** Bind the image for an [artist] */
fun StyledImageView.bindArtistImage(artist: Artist?) =
load(artist, R.drawable.ic_artist, R.string.desc_artist_image)
/** Bind the image for a [genre] */
fun StyledImageView.bindGenreImage(genre: Genre?) =
load(genre, R.drawable.ic_genre, R.string.desc_genre_image)
fun <T : Music> StyledImageView.load(music: T?, @DrawableRes error: Int, @StringRes desc: Int) {
contentDescription = context.getString(desc, music?.resolvedName)
dispose()
scaleType = ImageView.ScaleType.FIT_CENTER
load(music) {
error(error)
transformations(SquareFrameTransform.INSTANCE)
listener(
onSuccess = { _, _ ->
// Using the matrix scale type will shrink the cover images, so set it back to
// the default scale type.
scaleType = ImageView.ScaleType.CENTER
},
onError = { _, _ ->
// Error icons need to be scaled correctly, so set it to the custom matrix
// that the ImageView applies
scaleType = ImageView.ScaleType.MATRIX
})
}
}
// --- OTHER FUNCTIONS ---
/**
* Get a bitmap for a [song]. [onDone] will be called with the loaded bitmap, or null if loading
* failed/shouldn't occur. **This not meant for UIs, instead use the Binding Adapters.**
*/
fun loadBitmap(context: Context, song: Song, onDone: (Bitmap?) -> Unit) {
context.imageLoader.enqueue(
ImageRequest.Builder(context)
.data(song.album)
.size(Size.ORIGINAL)
.transformations(SquareFrameTransform())
.target(onError = { onDone(null) }, onSuccess = { onDone(it.toBitmap()) })
.build())
}

View file

@ -158,7 +158,7 @@ class DetailViewModel : ViewModel() {
private fun refreshAlbumData(album: Album) { private fun refreshAlbumData(album: Album) {
logD("Refreshing album data") logD("Refreshing album data")
val data = mutableListOf<Item>(album) val data = mutableListOf<Item>(album)
data.add(SortHeader(id = -2, R.string.lbl_albums)) data.add(SortHeader(id = -2, R.string.lbl_songs))
data.addAll(albumSort.album(album)) data.addAll(albumSort.album(album))
mAlbumData.value = data mAlbumData.value = data
} }

View file

@ -19,7 +19,6 @@ package org.oxycblt.auxio.detail.recycler
import android.content.Context import android.content.Context
import androidx.core.view.isInvisible import androidx.core.view.isInvisible
import androidx.core.view.isVisible
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
@ -170,16 +169,18 @@ private class AlbumSongViewHolder private constructor(private val binding: ItemA
binding.songTrack.apply { binding.songTrack.apply {
textSafe = context.getString(R.string.fmt_number, item.track) textSafe = context.getString(R.string.fmt_number, item.track)
isInvisible = false isInvisible = false
contentDescription = context.getString(R.string.desc_track_number, item.track)
} }
binding.songTrackPlaceholder.isVisible = false binding.songTrackBg.imageAlpha = 0
} else { } else {
binding.songTrack.apply { binding.songTrack.apply {
textSafe = "" textSafe = ""
isInvisible = true isInvisible = true
contentDescription = context.getString(R.string.def_track)
} }
binding.songTrackPlaceholder.isVisible = true binding.songTrackBg.imageAlpha = 255
} }
binding.songName.textSafe = item.resolvedName binding.songName.textSafe = item.resolvedName
@ -197,7 +198,6 @@ private class AlbumSongViewHolder private constructor(private val binding: ItemA
override fun setHighlighted(isHighlighted: Boolean) { override fun setHighlighted(isHighlighted: Boolean) {
binding.songName.isActivated = isHighlighted binding.songName.isActivated = isHighlighted
binding.songTrack.isActivated = isHighlighted binding.songTrack.isActivated = isHighlighted
binding.songTrackPlaceholder.isActivated = isHighlighted
binding.songTrackBg.isActivated = isHighlighted binding.songTrackBg.isActivated = isHighlighted
} }

View file

@ -29,7 +29,6 @@ import android.view.ViewGroup
import android.view.WindowInsets import android.view.WindowInsets
import android.widget.FrameLayout import android.widget.FrameLayout
import androidx.annotation.AttrRes import androidx.annotation.AttrRes
import androidx.core.math.MathUtils
import androidx.core.view.isInvisible import androidx.core.view.isInvisible
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
@ -38,6 +37,7 @@ import kotlin.math.abs
import org.oxycblt.auxio.R import org.oxycblt.auxio.R
import org.oxycblt.auxio.ui.EdgeRecyclerView import org.oxycblt.auxio.ui.EdgeRecyclerView
import org.oxycblt.auxio.util.canScroll import org.oxycblt.auxio.util.canScroll
import org.oxycblt.auxio.util.clamp
import org.oxycblt.auxio.util.getDimenOffsetSafe import org.oxycblt.auxio.util.getDimenOffsetSafe
import org.oxycblt.auxio.util.getDimenSizeSafe import org.oxycblt.auxio.util.getDimenSizeSafe
import org.oxycblt.auxio.util.getDrawableSafe import org.oxycblt.auxio.util.getDrawableSafe
@ -266,8 +266,7 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr
val thumbAnchorY = thumbView.paddingTop val thumbAnchorY = thumbView.paddingTop
val popupTop = val popupTop =
MathUtils.clamp( (thumbTop + thumbAnchorY - popupAnchorY).clamp(
thumbTop + thumbAnchorY - popupAnchorY,
thumbPadding.top + popupLayoutParams.topMargin, thumbPadding.top + popupLayoutParams.topMargin,
height - thumbPadding.bottom - popupLayoutParams.bottomMargin - popupHeight) height - thumbPadding.bottom - popupLayoutParams.bottomMargin - popupHeight)
@ -365,7 +364,7 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr
} }
private fun scrollToThumbOffset(thumbOffset: Int) { private fun scrollToThumbOffset(thumbOffset: Int) {
val clampedThumbOffset = MathUtils.clamp(thumbOffset, 0, thumbOffsetRange) val clampedThumbOffset = thumbOffset.clamp(0, thumbOffsetRange)
val scrollOffset = val scrollOffset =
(scrollOffsetRange.toLong() * clampedThumbOffset / thumbOffsetRange).toInt() - (scrollOffsetRange.toLong() * clampedThumbOffset / thumbOffsetRange).toInt() -

View file

@ -19,6 +19,8 @@ package org.oxycblt.auxio.util
import android.content.Context import android.content.Context
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.database.Cursor
import android.database.sqlite.SQLiteDatabase
import android.graphics.Insets import android.graphics.Insets
import android.graphics.Rect import android.graphics.Rect
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
@ -28,6 +30,7 @@ import android.view.WindowInsets
import android.widget.TextView import android.widget.TextView
import androidx.annotation.ColorRes import androidx.annotation.ColorRes
import androidx.core.graphics.drawable.DrawableCompat import androidx.core.graphics.drawable.DrawableCompat
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.viewbinding.ViewBinding import androidx.viewbinding.ViewBinding
@ -137,6 +140,16 @@ fun RecyclerView.canScroll(): Boolean = computeVerticalScrollRange() > height
val @receiver:ColorRes Int.stateList val @receiver:ColorRes Int.stateList
get() = ColorStateList.valueOf(this) get() = ColorStateList.valueOf(this)
/** Require the fragment is attached to an activity. */
fun Fragment.requireAttached() = check(!isDetached) { "Fragment is detached from activity" }
/**
* Shortcut for querying all items in a database and running [block] with the cursor returned. Will
* not run if the cursor is null.
*/
fun <R> SQLiteDatabase.queryAll(tableName: String, block: (Cursor) -> R) =
query(tableName, null, null, null, null, null, null)?.use(block)
/** /**
* Resolve system bar insets in a version-aware manner. This can be used to apply padding to a view * Resolve system bar insets in a version-aware manner. This can be used to apply padding to a view
* that properly follows all the frustrating changes that were made between 8-11. * that properly follows all the frustrating changes that were made between 8-11.

View file

@ -17,20 +17,10 @@
package org.oxycblt.auxio.util package org.oxycblt.auxio.util
import android.database.Cursor
import android.database.sqlite.SQLiteDatabase
import android.os.Looper import android.os.Looper
import androidx.core.math.MathUtils import androidx.core.math.MathUtils
import androidx.fragment.app.Fragment
import org.oxycblt.auxio.BuildConfig import org.oxycblt.auxio.BuildConfig
/**
* Shortcut for querying all items in a database and running [block] with the cursor returned. Will
* not run if the cursor is null.
*/
fun <R> SQLiteDatabase.queryAll(tableName: String, block: (Cursor) -> R) =
query(tableName, null, null, null, null, null, null)?.use(block)
/** Assert that we are on a background thread. */ /** Assert that we are on a background thread. */
fun assertBackgroundThread() { fun assertBackgroundThread() {
check(Looper.myLooper() != Looper.getMainLooper()) { check(Looper.myLooper() != Looper.getMainLooper()) {
@ -50,11 +40,4 @@ fun <T> unlikelyToBeNull(value: T?): T {
} }
} }
/** Require the fragment is attached to an activity. */
fun Fragment.requireAttached() = check(!isDetached) { "Fragment is detached from activity" }
fun Int.clamp(min: Int, max: Int): Int = MathUtils.clamp(this, min, max) fun Int.clamp(min: Int, max: Int): Int = MathUtils.clamp(this, min, max)
fun Long.clamp(min: Long, max: Long): Long = MathUtils.clamp(this, min, max)
fun Float.clamp(min: Float, max: Float): Float = MathUtils.clamp(this, min, max)

View file

@ -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:alpha="0.64" android:color="?attr/colorPrimaryContainer" <item android:color="?attr/colorPrimaryContainer"
android:state_activated="true" /> android:state_activated="true" />
<item android:alpha="0.32" android:color="?attr/colorSurfaceVariant" /> <item android:color="?attr/colorOnSurfaceInverse" />
</selector> </selector>

View file

@ -2,5 +2,5 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnPrimaryContainer" <item android:color="?attr/colorOnPrimaryContainer"
android:state_activated="true" /> android:state_activated="true" />
<item android:color="?attr/colorOnSurfaceVariant" /> <item android:color="?attr/colorSurfaceInverse" />
</selector> </selector>

View file

@ -2,7 +2,7 @@
<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:tint="@color/sel_on_cover_bg"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -2,7 +2,7 @@
<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:tint="@color/sel_on_cover_bg"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -2,7 +2,7 @@
<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:tint="@color/sel_on_cover_bg"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -2,7 +2,7 @@
<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:tint="@color/sel_on_cover_bg"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path <path

View file

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/sel_track_bg" />
</shape>

View file

@ -6,7 +6,7 @@
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.StyledImageView
android:id="@+id/detail_cover" android:id="@+id/detail_cover"
style="@style/Widget.Auxio.Image.Huge" style="@style/Widget.Auxio.Image.Huge"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View file

@ -2,7 +2,6 @@
<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:id="@+id/playback_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@ -15,7 +14,7 @@
app:title="@string/lbl_playback" app:title="@string/lbl_playback"
tools:subtitle="@string/lbl_all_songs" /> tools:subtitle="@string/lbl_all_songs" />
<org.oxycblt.auxio.coil.RoundableImageView <org.oxycblt.auxio.coil.StyledImageView
android:id="@+id/playback_cover" android:id="@+id/playback_cover"
style="@style/Widget.Auxio.Image.Full" style="@style/Widget.Auxio.Image.Full"
android:layout_marginStart="@dimen/spacing_medium" android:layout_marginStart="@dimen/spacing_medium"
@ -95,7 +94,6 @@
app:thumbRadius="@dimen/slider_thumb_radius" /> app:thumbRadius="@dimen/slider_thumb_radius" />
<TextView <TextView
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"
@ -107,7 +105,6 @@
tools:text="11:38" /> tools:text="11:38" />
<TextView <TextView
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"

View file

@ -6,7 +6,7 @@
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.StyledImageView
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"

View file

@ -2,7 +2,6 @@
<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:id="@+id/playback_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@ -15,7 +14,7 @@
app:title="@string/lbl_playback" app:title="@string/lbl_playback"
tools:subtitle="@string/lbl_all_songs" /> tools:subtitle="@string/lbl_all_songs" />
<org.oxycblt.auxio.coil.RoundableImageView <org.oxycblt.auxio.coil.StyledImageView
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"
@ -93,7 +92,6 @@
app:thumbRadius="@dimen/slider_thumb_radius" /> app:thumbRadius="@dimen/slider_thumb_radius" />
<TextView <TextView
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"
@ -105,7 +103,6 @@
tools:text="11:38" /> tools:text="11:38" />
<TextView <TextView
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"

View file

@ -3,7 +3,6 @@
<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:id="@+id/playback_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@ -16,7 +15,7 @@
app:title="@string/lbl_playback" app:title="@string/lbl_playback"
tools:subtitle="@string/lbl_all_songs" /> tools:subtitle="@string/lbl_all_songs" />
<org.oxycblt.auxio.coil.RoundableImageView <org.oxycblt.auxio.coil.StyledImageView
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"
@ -82,7 +81,6 @@
app:thumbRadius="@dimen/slider_thumb_radius" /> app:thumbRadius="@dimen/slider_thumb_radius" />
<TextView <TextView
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"
@ -94,7 +92,6 @@
tools:text="11:38" /> tools:text="11:38" />
<TextView <TextView
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"

View file

@ -7,7 +7,7 @@
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.StyledImageView
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"

View file

@ -6,7 +6,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"> tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<org.oxycblt.auxio.coil.RoundableImageView <org.oxycblt.auxio.coil.StyledImageView
android:id="@+id/playback_cover" android:id="@+id/playback_cover"
style="@style/Widget.Auxio.Image.Medium" style="@style/Widget.Auxio.Image.Medium"
android:layout_margin="@dimen/spacing_small" android:layout_margin="@dimen/spacing_small"

View file

@ -6,7 +6,7 @@
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.StyledImageView
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"

View file

@ -3,7 +3,6 @@
<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:id="@+id/playback_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@ -16,7 +15,7 @@
app:title="@string/lbl_playback" app:title="@string/lbl_playback"
tools:subtitle="@string/lbl_all_songs" /> tools:subtitle="@string/lbl_all_songs" />
<org.oxycblt.auxio.coil.RoundableImageView <org.oxycblt.auxio.coil.StyledImageView
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"
@ -95,7 +94,6 @@
app:thumbRadius="@dimen/slider_thumb_radius" /> app:thumbRadius="@dimen/slider_thumb_radius" />
<TextView <TextView
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"
@ -107,7 +105,6 @@
tools:text="11:38" /> tools:text="11:38" />
<TextView <TextView
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"

View file

@ -6,7 +6,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"> tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<org.oxycblt.auxio.coil.RoundableImageView <org.oxycblt.auxio.coil.StyledImageView
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"

View file

@ -2,7 +2,6 @@
<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" <androidx.recyclerview.widget.RecyclerView 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/accent_recycler"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:overScrollMode="never" android:overScrollMode="never"

View file

@ -9,7 +9,6 @@
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/excluded_recycler"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_gravity="center" android:layout_gravity="center"
@ -20,7 +19,6 @@
tools:listitem="@layout/item_excluded_dir" /> tools:listitem="@layout/item_excluded_dir" />
<TextView <TextView
android:id="@+id/excluded_empty"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="@dimen/spacing_medium" android:padding="@dimen/spacing_medium"

View file

@ -2,7 +2,6 @@
<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" <androidx.recyclerview.widget.RecyclerView 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/tab_recycler"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:overScrollMode="never" android:overScrollMode="never"

View file

@ -8,19 +8,16 @@
tools:context=".settings.AboutFragment"> tools:context=".settings.AboutFragment">
<org.oxycblt.auxio.ui.EdgeAppBarLayout <org.oxycblt.auxio.ui.EdgeAppBarLayout
android:id="@+id/about_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/about_toolbar"
style="@style/Widget.Auxio.Toolbar.Icon" style="@style/Widget.Auxio.Toolbar.Icon"
app:title="@string/lbl_about" /> app:title="@string/lbl_about" />
</org.oxycblt.auxio.ui.EdgeAppBarLayout> </org.oxycblt.auxio.ui.EdgeAppBarLayout>
<androidx.core.widget.NestedScrollView <androidx.core.widget.NestedScrollView
android:id="@+id/about_contents"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:clipToPadding="false" android:clipToPadding="false"
@ -162,7 +159,6 @@
tools:text="Songs Loaded: 1616" /> tools:text="Songs Loaded: 1616" />
<TextView <TextView
android:id="@+id/about_author"
style="@style/Widget.Auxio.TextView.Icon" style="@style/Widget.Auxio.TextView.Icon"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View file

@ -2,7 +2,6 @@
<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:id="@+id/bar_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@ -11,7 +10,6 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<org.oxycblt.auxio.detail.DetailAppBarLayout <org.oxycblt.auxio.detail.DetailAppBarLayout
android:id="@+id/detail_appbar"
style="@style/Widget.Auxio.AppBarLayout" style="@style/Widget.Auxio.AppBarLayout"
app:liftOnScroll="true" app:liftOnScroll="true"
app:liftOnScrollTargetViewId="@id/detail_recycler"> app:liftOnScrollTargetViewId="@id/detail_recycler">

View file

@ -2,23 +2,19 @@
<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: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"
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"
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:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@android:color/transparent" android:background="@android:color/transparent"
@ -38,14 +34,12 @@
tools:layout="@layout/fragment_home_list" /> tools:layout="@layout/fragment_home_list" />
<org.oxycblt.auxio.home.EdgeFabContainer <org.oxycblt.auxio.home.EdgeFabContainer
android:id="@+id/home_fab_container"
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" app:layout_anchor="@id/home_pager"
app:layout_anchorGravity="bottom|end"> app:layout_anchorGravity="bottom|end">
<com.google.android.material.floatingactionbutton.FloatingActionButton <com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/home_fab"
style="@style/Widget.Auxio.FloatingActionButton.Adaptive" 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"

View file

@ -3,7 +3,6 @@
<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"
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"

View file

@ -6,7 +6,6 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<org.oxycblt.auxio.ui.BottomSheetLayout <org.oxycblt.auxio.ui.BottomSheetLayout
android:id="@+id/bottom_sheet_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@ -33,7 +32,6 @@
</org.oxycblt.auxio.ui.BottomSheetLayout> </org.oxycblt.auxio.ui.BottomSheetLayout>
<FrameLayout <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" android:background="?attr/colorSurface"

View file

@ -6,7 +6,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"> tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<org.oxycblt.auxio.coil.RoundableImageView <org.oxycblt.auxio.coil.StyledImageView
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"

View file

@ -2,7 +2,6 @@
<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:id="@+id/playback_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@ -15,7 +14,7 @@
app:title="@string/lbl_playback" app:title="@string/lbl_playback"
tools:subtitle="@string/lbl_all_songs" /> tools:subtitle="@string/lbl_all_songs" />
<org.oxycblt.auxio.coil.RoundableImageView <org.oxycblt.auxio.coil.StyledImageView
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"
@ -79,7 +78,6 @@
app:thumbRadius="@dimen/slider_thumb_radius" /> app:thumbRadius="@dimen/slider_thumb_radius" />
<TextView <TextView
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"
@ -91,7 +89,6 @@
tools:text="11:38" /> tools:text="11:38" />
<TextView <TextView
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"

View file

@ -2,19 +2,16 @@
<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/queue_coordinator"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<org.oxycblt.auxio.ui.EdgeAppBarLayout <org.oxycblt.auxio.ui.EdgeAppBarLayout
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"
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"

View file

@ -6,18 +6,15 @@
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"
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"
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: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" app:endIconContentDescription="@string/desc_clear_search"
@ -28,7 +25,6 @@
app:hintEnabled="false"> app:hintEnabled="false">
<com.google.android.material.textfield.TextInputEditText <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"
android:background="@android:color/transparent" android:background="@android:color/transparent"

View file

@ -2,20 +2,17 @@
<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:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<org.oxycblt.auxio.ui.EdgeAppBarLayout <org.oxycblt.auxio.ui.EdgeAppBarLayout
android:id="@+id/settings_appbar"
style="@style/Widget.Auxio.AppBarLayout" style="@style/Widget.Auxio.AppBarLayout"
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
app:liftOnScroll="true"> app:liftOnScroll="true">
<com.google.android.material.appbar.MaterialToolbar <com.google.android.material.appbar.MaterialToolbar
android:id="@+id/settings_toolbar"
style="@style/Widget.Auxio.Toolbar.Icon" style="@style/Widget.Auxio.Toolbar.Icon"
app:title="@string/set_title" /> app:title="@string/set_title" />

View file

@ -8,7 +8,6 @@
android:theme="@style/ThemeOverlay.Accent"> android:theme="@style/ThemeOverlay.Accent">
<ImageButton <ImageButton
android:id="@+id/accent"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"

View file

@ -10,29 +10,14 @@
to be alike to other songs. So, add a pastel-ish background to each track number to be alike to other songs. So, add a pastel-ish background to each track number
view. The way we do this is odd, but it's designed this way--> view. The way we do this is odd, but it's designed this way-->
<org.oxycblt.auxio.coil.RoundableImageView <org.oxycblt.auxio.coil.StyledImageView
android:id="@+id/song_track_bg"
style="@style/Widget.Auxio.Image.Small" style="@style/Widget.Auxio.Image.Small"
android:src="@drawable/ui_track_bg"
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"/>
<ImageView
android:id="@+id/song_track_placeholder"
style="@style/Widget.Auxio.Image.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/def_track"
android:src="@drawable/ic_song" android:src="@drawable/ic_song"
android:visibility="gone" android:scaleType="matrix"
app:layout_constraintBottom_toBottomOf="@+id/song_track" app:layout_constraintBottom_toBottomOf="@+id/song_track"
app:layout_constraintEnd_toEndOf="@+id/song_track" app:layout_constraintEnd_toEndOf="@+id/song_track"
app:layout_constraintStart_toStartOf="@+id/song_track" app:layout_constraintStart_toStartOf="@+id/song_track"
app:layout_constraintTop_toTopOf="@+id/song_track" app:layout_constraintTop_toTopOf="@+id/song_track" />
app:tint="@color/sel_on_track_bg"
tools:text="1" />
<TextView <TextView
android:id="@+id/song_track" android:id="@+id/song_track"
@ -46,7 +31,7 @@
app:autoSizeStepGranularity="@dimen/text_size_track_number_step" app:autoSizeStepGranularity="@dimen/text_size_track_number_step"
android:textAlignment="center" android:textAlignment="center"
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge" android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
android:textColor="@color/sel_on_track_bg" android:textColor="@color/sel_on_cover_bg"
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"

View file

@ -5,7 +5,7 @@
xmlns:tools="http://schemas.android.com/tools" 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.StyledImageView
android:id="@+id/artist_image" android:id="@+id/artist_image"
style="@style/Widget.Auxio.Image.Medium" style="@style/Widget.Auxio.Image.Medium"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View file

@ -7,7 +7,7 @@
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.StyledImageView
android:id="@+id/detail_cover" android:id="@+id/detail_cover"
style="@style/Widget.Auxio.Image.MidHuge" style="@style/Widget.Auxio.Image.MidHuge"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View file

@ -11,7 +11,6 @@
android:padding="0dp"> android:padding="0dp">
<TextView <TextView
android:id="@+id/excluded_path"
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"

View file

@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools" 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.StyledImageView
android:id="@+id/parent_image" android:id="@+id/parent_image"
style="@style/Widget.Auxio.Image.Medium" style="@style/Widget.Auxio.Image.Medium"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View file

@ -6,7 +6,6 @@
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<View <View
android:id="@+id/background"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="?attr/colorPrimary" android:background="?attr/colorPrimary"
@ -22,12 +21,11 @@
app:tint="?attr/colorSurface" /> app:tint="?attr/colorSurface" />
<androidx.constraintlayout.widget.ConstraintLayout <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">
<org.oxycblt.auxio.coil.RoundableImageView <org.oxycblt.auxio.coil.StyledImageView
android:id="@+id/song_album_cover" android:id="@+id/song_album_cover"
style="@style/Widget.Auxio.Image.Small" style="@style/Widget.Auxio.Image.Small"
android:layout_margin="@dimen/spacing_medium" android:layout_margin="@dimen/spacing_medium"

View file

@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools" 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.StyledImageView
android:id="@+id/song_album_cover" android:id="@+id/song_album_cover"
style="@style/Widget.Auxio.Image.Small" style="@style/Widget.Auxio.Image.Small"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View file

@ -7,7 +7,6 @@
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:id="@+id/header_title"
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"
@ -17,7 +16,6 @@
tools:text="Songs" /> tools:text="Songs" />
<ImageButton <ImageButton
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"

View file

@ -1,50 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:layout_height="wrap_content"
tools:layout_width="match_parent"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<com.google.android.material.slider.Slider
android:id="@+id/seek_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/spacing_medium"
android:paddingStart="@dimen/spacing_small"
android:paddingEnd="@dimen/spacing_small"
android:valueFrom="0"
android:valueTo="1"
app:haloRadius="@dimen/slider_halo_radius"
app:labelBehavior="gone"
app:labelStyle="@style/TextAppearance.Auxio.BodySmall"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:thumbRadius="@dimen/slider_thumb_radius" />
<TextView
android:id="@+id/playback_position"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_medium"
android:layout_marginBottom="@dimen/spacing_small"
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
android:textColor="@color/sel_accented_secondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:text="11:38" />
<TextView
android:id="@+id/playback_duration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_medium"
android:layout_marginBottom="@dimen/spacing_small"
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
android:textColor="?android:attr/textColorSecondary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:text="16:16" />
</merge>

View file

@ -24,7 +24,7 @@
<color name="red_surface_variant">#534341</color> <color name="red_surface_variant">#534341</color>
<color name="red_on_surface_variant">#D8C2BF</color> <color name="red_on_surface_variant">#D8C2BF</color>
<color name="red_surface_inverse">#EDE0DE</color> <color name="red_surface_inverse">#EDE0DE</color>
<color name="red_on_surface_inverse">#211A19</color> <color name="red_on_surface_inverse">#362F2E</color>
<color name="pink_primary">#FFB2C0</color> <color name="pink_primary">#FFB2C0</color>
<color name="pink_on_primary">#670024</color> <color name="pink_on_primary">#670024</color>
@ -48,7 +48,7 @@
<color name="pink_surface_variant">#524345</color> <color name="pink_surface_variant">#524345</color>
<color name="pink_on_surface_variant">#D6C1C3</color> <color name="pink_on_surface_variant">#D6C1C3</color>
<color name="pink_surface_inverse">#ECE0E0</color> <color name="pink_surface_inverse">#ECE0E0</color>
<color name="pink_on_surface_inverse">#201A1B</color> <color name="pink_on_surface_inverse">#352F2F</color>
<color name="purple_primary">#FBAAFF</color> <color name="purple_primary">#FBAAFF</color>
<color name="purple_on_primary">#570068</color> <color name="purple_on_primary">#570068</color>
@ -72,7 +72,7 @@
<color name="purple_surface_variant">#4D444C</color> <color name="purple_surface_variant">#4D444C</color>
<color name="purple_on_surface_variant">#D0C3CC</color> <color name="purple_on_surface_variant">#D0C3CC</color>
<color name="purple_surface_inverse">#E9E0E5</color> <color name="purple_surface_inverse">#E9E0E5</color>
<color name="purple_on_surface_inverse">#1E1A1D</color> <color name="purple_on_surface_inverse">#332F32</color>
<color name="deep_purple_primary">#D4BAFF</color> <color name="deep_purple_primary">#D4BAFF</color>
<color name="deep_purple_on_primary">#3E008E</color> <color name="deep_purple_on_primary">#3E008E</color>
@ -96,7 +96,7 @@
<color name="deep_purple_surface_variant">#49454E</color> <color name="deep_purple_surface_variant">#49454E</color>
<color name="deep_purple_on_surface_variant">#CBC4CF</color> <color name="deep_purple_on_surface_variant">#CBC4CF</color>
<color name="deep_purple_surface_inverse">#E6E1E5</color> <color name="deep_purple_surface_inverse">#E6E1E5</color>
<color name="deep_purple_on_surface_inverse">#1D1B1F</color> <color name="deep_purple_on_surface_inverse">#323033</color>
<color name="indigo_primary">#B9C3FF</color> <color name="indigo_primary">#B9C3FF</color>
<color name="indigo_on_primary">#08218A</color> <color name="indigo_on_primary">#08218A</color>
@ -120,7 +120,7 @@
<color name="indigo_surface_variant">#46464F</color> <color name="indigo_surface_variant">#46464F</color>
<color name="indigo_on_surface_variant">#C6C5D0</color> <color name="indigo_on_surface_variant">#C6C5D0</color>
<color name="indigo_surface_inverse">#E4E1E6</color> <color name="indigo_surface_inverse">#E4E1E6</color>
<color name="indigo_on_surface_inverse">#1B1B1F</color> <color name="indigo_on_surface_inverse">#303034</color>
<color name="blue_primary">#9CCAFF</color> <color name="blue_primary">#9CCAFF</color>
<color name="blue_on_primary">#00325A</color> <color name="blue_on_primary">#00325A</color>
@ -144,7 +144,7 @@
<color name="blue_surface_variant">#42474E</color> <color name="blue_surface_variant">#42474E</color>
<color name="blue_on_surface_variant">#C3C7D0</color> <color name="blue_on_surface_variant">#C3C7D0</color>
<color name="blue_surface_inverse">#E2E2E6</color> <color name="blue_surface_inverse">#E2E2E6</color>
<color name="blue_on_surface_inverse">#1B1B1B</color> <color name="blue_on_surface_inverse">#2F3033</color>
<color name="deep_blue_primary">#62D3FF</color> <color name="deep_blue_primary">#62D3FF</color>
<color name="deep_blue_on_primary">#003546</color> <color name="deep_blue_on_primary">#003546</color>
@ -168,7 +168,7 @@
<color name="deep_blue_surface_variant">#40484C</color> <color name="deep_blue_surface_variant">#40484C</color>
<color name="deep_blue_on_surface_variant">#C0C8CD</color> <color name="deep_blue_on_surface_variant">#C0C8CD</color>
<color name="deep_blue_surface_inverse">#E1E2E4</color> <color name="deep_blue_surface_inverse">#E1E2E4</color>
<color name="deep_blue_on_surface_inverse">#191C1E</color> <color name="deep_blue_on_surface_inverse">#2F3132</color>
<color name="cyan_primary">#44D8F1</color> <color name="cyan_primary">#44D8F1</color>
<color name="cyan_on_primary">#00363F</color> <color name="cyan_on_primary">#00363F</color>
@ -192,7 +192,7 @@
<color name="cyan_surface_variant">#3F484A</color> <color name="cyan_surface_variant">#3F484A</color>
<color name="cyan_on_surface_variant">#BFC8CA</color> <color name="cyan_on_surface_variant">#BFC8CA</color>
<color name="cyan_surface_inverse">#E1E3E3</color> <color name="cyan_surface_inverse">#E1E3E3</color>
<color name="cyan_on_surface_inverse">#191C1D</color> <color name="cyan_on_surface_inverse">#2D3132</color>
<color name="teal_primary">#53DBC9</color> <color name="teal_primary">#53DBC9</color>
<color name="teal_on_primary">#003730</color> <color name="teal_on_primary">#003730</color>
@ -216,7 +216,7 @@
<color name="teal_surface_variant">#3F4947</color> <color name="teal_surface_variant">#3F4947</color>
<color name="teal_on_surface_variant">#BFC9C6</color> <color name="teal_on_surface_variant">#BFC9C6</color>
<color name="teal_surface_inverse">#E0E3E1</color> <color name="teal_surface_inverse">#E0E3E1</color>
<color name="teal_on_surface_inverse">#191C1B</color> <color name="teal_on_surface_inverse">#2E3130</color>
<color name="green_primary">#78DC77</color> <color name="green_primary">#78DC77</color>
<color name="green_on_primary">#003907</color> <color name="green_on_primary">#003907</color>
@ -240,7 +240,7 @@
<color name="green_surface_variant">#424840</color> <color name="green_surface_variant">#424840</color>
<color name="green_on_surface_variant">#C2C8BD</color> <color name="green_on_surface_variant">#C2C8BD</color>
<color name="green_surface_inverse">#E2E3DD</color> <color name="green_surface_inverse">#E2E3DD</color>
<color name="green_on_surface_inverse">#1A1C19</color> <color name="green_on_surface_inverse">#2F312D</color>
<color name="deep_green_primary">#9ED75C</color> <color name="deep_green_primary">#9ED75C</color>
<color name="deep_green_on_primary">#1C3700</color> <color name="deep_green_on_primary">#1C3700</color>
@ -264,7 +264,7 @@
<color name="deep_green_surface_variant">#44483D</color> <color name="deep_green_surface_variant">#44483D</color>
<color name="deep_green_on_surface_variant">#C4C8B9</color> <color name="deep_green_on_surface_variant">#C4C8B9</color>
<color name="deep_green_surface_inverse">#E3E3DB</color> <color name="deep_green_surface_inverse">#E3E3DB</color>
<color name="deep_green_on_surface_inverse">#1A1C17</color> <color name="deep_green_on_surface_inverse">#2F312C</color>
<color name="lime_primary">#C1D02C</color> <color name="lime_primary">#C1D02C</color>
<color name="lime_on_primary">#2E3400</color> <color name="lime_on_primary">#2E3400</color>
@ -288,7 +288,7 @@
<color name="lime_surface_variant">#47473B</color> <color name="lime_surface_variant">#47473B</color>
<color name="lime_on_surface_variant">#C8C7B7</color> <color name="lime_on_surface_variant">#C8C7B7</color>
<color name="lime_surface_inverse">#E5E2DA</color> <color name="lime_surface_inverse">#E5E2DA</color>
<color name="lime_on_surface_inverse">#1C1C17</color> <color name="lime_on_surface_inverse">#31312B</color>
<color name="yellow_primary">#FABD00</color> <color name="yellow_primary">#FABD00</color>
<color name="yellow_on_primary">#402D00</color> <color name="yellow_on_primary">#402D00</color>
@ -312,7 +312,7 @@
<color name="yellow_surface_variant">#4D4639</color> <color name="yellow_surface_variant">#4D4639</color>
<color name="yellow_on_surface_variant">#D0C5B4</color> <color name="yellow_on_surface_variant">#D0C5B4</color>
<color name="yellow_surface_inverse">#E9E1D8</color> <color name="yellow_surface_inverse">#E9E1D8</color>
<color name="yellow_on_surface_inverse">#1E1B16</color> <color name="yellow_on_surface_inverse">#3C2E16</color>
<color name="orange_primary">#FFB86D</color> <color name="orange_primary">#FFB86D</color>
<color name="orange_on_primary">#4B2800</color> <color name="orange_on_primary">#4B2800</color>
@ -336,7 +336,7 @@
<color name="orange_surface_variant">#51453A</color> <color name="orange_surface_variant">#51453A</color>
<color name="orange_on_surface_variant">#D5C3B5</color> <color name="orange_on_surface_variant">#D5C3B5</color>
<color name="orange_surface_inverse">#EBE0D9</color> <color name="orange_surface_inverse">#EBE0D9</color>
<color name="orange_on_surface_inverse">#1F1B17</color> <color name="orange_on_surface_inverse">#352F2B</color>
<color name="brown_primary">#E7BEB0</color> <color name="brown_primary">#E7BEB0</color>
<color name="brown_on_primary">#442A20</color> <color name="brown_on_primary">#442A20</color>
@ -360,7 +360,7 @@
<color name="brown_surface_variant">#52433E</color> <color name="brown_surface_variant">#52433E</color>
<color name="brown_on_surface_variant">#D8C2BB</color> <color name="brown_on_surface_variant">#D8C2BB</color>
<color name="brown_surface_inverse">#EDE0DC</color> <color name="brown_surface_inverse">#EDE0DC</color>
<color name="brown_on_surface_inverse">#201A18</color> <color name="brown_on_surface_inverse">#362F2D</color>
<color name="grey_primary">#EEEEEE</color> <color name="grey_primary">#EEEEEE</color>
<color name="grey_on_primary">#424242</color> <color name="grey_on_primary">#424242</color>
@ -384,7 +384,7 @@
<color name="grey_surface_variant">#484848</color> <color name="grey_surface_variant">#484848</color>
<color name="grey_on_surface_variant">#C8C8C8</color> <color name="grey_on_surface_variant">#C8C8C8</color>
<color name="grey_surface_inverse">#fafafa</color> <color name="grey_surface_inverse">#fafafa</color>
<color name="grey_on_surface_inverse">#191919</color> <color name="grey_on_surface_inverse">#2D3132</color>
<color name="widget_surface">@color/material_dynamic_secondary20</color> <color name="widget_surface">@color/material_dynamic_secondary20</color>
<color name="widget_surface_inverse">@color/material_dynamic_neutral90</color> <color name="widget_surface_inverse">@color/material_dynamic_neutral90</color>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<declare-styleable name="RoundableImageView"> <declare-styleable name="StyledImageView">
<attr name="cornerRadius" format="dimension" /> <attr name="cornerRadius" format="dimension" />
</declare-styleable> </declare-styleable>

View file

@ -21,7 +21,6 @@
<dimen name="size_corners_small">8dp</dimen> <dimen name="size_corners_small">8dp</dimen>
<dimen name="size_corners_large">16dp</dimen> <dimen name="size_corners_large">16dp</dimen>
<dimen name="size_track_number">32dp</dimen>
<dimen name="size_playback_icon">32dp</dimen> <dimen name="size_playback_icon">32dp</dimen>
<dimen name="text_size_ext_label_larger">16sp</dimen> <dimen name="text_size_ext_label_larger">16sp</dimen>

View file

@ -99,11 +99,6 @@
<item name="android:textColor">?android:attr/textColorSecondary</item> <item name="android:textColor">?android:attr/textColorSecondary</item>
</style> </style>
<style name="Widget.Auxio.TextView.Item.Tertiary" parent="Widget.Auxio.TextView.Item.Base">
<item name="android:textAppearance">@style/TextAppearance.Auxio.BodyMedium</item>
<item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
<style name="Widget.Auxio.TextView.Primary" parent="Widget.Auxio.TextView.Base"> <style name="Widget.Auxio.TextView.Primary" parent="Widget.Auxio.TextView.Base">
<item name="android:ellipsize">marquee</item> <item name="android:ellipsize">marquee</item>
<item name="android:singleLine">true</item> <item name="android:singleLine">true</item>