Refactor styles heavily

Move a bunch of UI elements into reusable styles, along with removing literal dimen resources.
This commit is contained in:
OxygenCobalt 2020-12-02 19:00:20 -07:00
parent 63630aa42e
commit 51b2749c06
45 changed files with 212 additions and 434 deletions

View file

@ -49,6 +49,7 @@ dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
// Kotlin
//noinspection DifferentStdlibGradleVersion
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
// --- SUPPORT ---

View file

@ -26,7 +26,6 @@ import org.oxycblt.auxio.ui.toColor
class MainActivity : AppCompatActivity() {
private val settingsModel: SettingsViewModel by viewModels()
@Suppress("DEPRECATION")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@ -56,8 +55,6 @@ class MainActivity : AppCompatActivity() {
settingsModel.theme.observe(this) {
if (it != null) {
doThemeRecreate(it)
settingsModel.doneWithThemeUpdate()
}
}
@ -86,6 +83,7 @@ class MainActivity : AppCompatActivity() {
}
}
@Suppress("DEPRECATION")
private fun doEdgeToEdgeSetup(binding: ActivityMainBinding) {
window?.apply {
statusBarColor = Color.TRANSPARENT
@ -120,10 +118,7 @@ class MainActivity : AppCompatActivity() {
}
}
/**
*
*/
fun doThemeRecreate(newTheme: Int) {
private fun doThemeRecreate(newTheme: Int) {
AppCompatDelegate.setDefaultNightMode(newTheme)
}
}

View file

@ -1,3 +1,5 @@
@file:Suppress("unused")
package org.oxycblt.auxio.playback
import android.content.Context

View file

@ -1,15 +1,16 @@
package org.oxycblt.auxio.playback.queue
import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.WindowInsets
import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.ItemTouchHelper
import com.afollestad.materialdialogs.utils.MDUtil.updatePadding
import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.FragmentQueueBinding
import org.oxycblt.auxio.music.BaseModel
@ -49,9 +50,15 @@ class QueueFragment : Fragment() {
findNavController().navigateUp()
}
setOnApplyWindowInsetsListener { v, insets ->
setOnApplyWindowInsetsListener { _, insets ->
val top = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
insets.getInsets(WindowInsets.Type.systemBars()).top
} else {
insets.systemWindowInsetTop
}
(parent as View).updatePadding(
top = insets.systemWindowInsetTop
top = top
)
insets

View file

@ -1,3 +1,5 @@
@file:Suppress("MemberVisibilityCanBePrivate")
package org.oxycblt.auxio.recycler
import android.annotation.SuppressLint
@ -40,9 +42,9 @@ class NoLeakThumbView @JvmOverloads constructor(
FastScrollerView.ItemIndicatorSelectedCallback {
private var thumbColor = ColorStateList.valueOf(accent.first.toColor(context))
var iconColor = R.color.background.toColor(context)
private var iconColor = R.color.background.toColor(context)
var textAppearanceRes = R.style.TextAppearance_ThumbIndicator
var textColor = R.color.background.toColor(context)
private var textColor = R.color.background.toColor(context)
private val thumbView: ViewGroup
private val textView: TextView
@ -80,16 +82,14 @@ class NoLeakThumbView @JvmOverloads constructor(
// FastScrollerView's "onItemIndicatorTouched" [Which I would've used here] is internal,
// so instead I just use a setOnTouchListener to get the same-ish effect.
fastScrollerView.setOnTouchListener { v, event ->
fastScrollerView.setOnTouchListener { _, event ->
fastScrollerView.onTouchEvent(event)
fastScrollerView.performClick()
isVisible = true
if (event.actionMasked in intArrayOf(
MotionEvent.ACTION_UP,
MotionEvent.ACTION_CANCEL
)
if (event.actionMasked == MotionEvent.ACTION_UP ||
event.actionMasked == MotionEvent.ACTION_CANCEL
) {
isActivated = false
return@setOnTouchListener true

View file

@ -27,7 +27,7 @@ abstract class BaseViewHolder<T : BaseModel>(
/**
* Bind the viewholder with whatever [BaseModel] instance that has been specified.
* Will call [onBind] on the inheriting ViewHolder.
* @param data Data that the viewholder should be binded with
* @param data Data that the viewholder should be bound with
*/
fun bind(data: T) {
doOnClick?.let { onClick ->

View file

@ -1,3 +1,5 @@
@file:Suppress("unused")
package org.oxycblt.auxio.settings
import android.os.Bundle
@ -59,6 +61,8 @@ class SettingsListFragment : PreferenceFragmentCompat() {
else -> R.drawable.ic_auto
}
)
settingsModel.doneWithThemeUpdate()
}
}

View file

@ -84,6 +84,8 @@ class SongsFragment : Fragment(), SearchView.OnQueryTextListener {
var hasAddedNumber = false
var iters = 0
// TODO: Do selection instead of using iters
setupWithRecyclerView(
binding.songRecycler,
{ pos ->

View file

@ -2,5 +2,5 @@
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@integer/config_navAnimTime"
android:fromYDelta="0%"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:toYDelta="100%" />

View file

@ -2,5 +2,5 @@
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@integer/config_navAnimTime"
android:fromYDelta="100%"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:toYDelta="0%" />

View file

@ -7,5 +7,5 @@
android:tint="?attr/colorPrimary">
<path
android:fillColor="@android:color/white"
android:pathData="M20,2L8,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM18,7h-3v5.5c0,1.38 -1.12,2.5 -2.5,2.5S10,13.88 10,12.5s1.12,-2.5 2.5,-2.5c0.57,0 1.08,0.19 1.5,0.51L14,5h4v2zM4,6L2,6v14c0,1.1 0.9,2 2,2h14v-2L4,20L4,6z" />
android:pathData="M22,2L6,2v16h16L22,2zM18,7h-3v5.5c0,1.38 -1.12,2.5 -2.5,2.5S10,13.88 10,12.5s1.12,-2.5 2.5,-2.5c0.57,0 1.08,0.19 1.5,0.51L14,5h4v2zM4,6L2,6v16h16v-2L4,20L4,6z" />
</vector>

View file

@ -10,7 +10,7 @@ https://github.com/ashutoshgngwr/noice/
<aapt:attr name="android:animation">
<set>
<objectAnimator
android:duration="200"
android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="pathData"
android:valueFrom="M6,7.5L6,10.5L18,10.5L18,7.5Z"
@ -24,7 +24,7 @@ https://github.com/ashutoshgngwr/noice/
<aapt:attr name="android:animation">
<set>
<objectAnimator
android:duration="200"
android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="pathData"
android:valueFrom="M6,16.5L6,13.5L18,13.5L18,16.5Z"

View file

@ -10,7 +10,7 @@ https://github.com/ashutoshgngwr/noice/
<aapt:attr name="android:animation">
<set>
<objectAnimator
android:duration="200"
android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="pathData"
android:valueFrom="M8.25,6L8.25,12L18.75,12L18.75,12Z"
@ -24,7 +24,7 @@ https://github.com/ashutoshgngwr/noice/
<aapt:attr name="android:animation">
<set>
<objectAnimator
android:duration="200"
android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="pathData"
android:valueFrom="M8.25,18L8.25,12L18.75,12L18.75,12Z"

View file

@ -7,5 +7,5 @@
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M4,6L2,6v14c0,1.1 0.9,2 2,2h14v-2L4,20L4,6zM20,2L8,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM19,11h-4v4h-2v-4L9,11L9,9h4L13,5h2v4h4v2z" />
android:pathData="M4,6L2,6v16h16v-2L4,20L4,6zM22,2L6,2v16h16L22,2zM19,11h-4v4h-2v-4L9,11L9,9h4L13,5h2v4h4v2z" />
</vector>

View file

@ -4,8 +4,8 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorPrimary">
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M19.14,12.94c0.04,-0.3 0.06,-0.61 0.06,-0.94c0,-0.32 -0.02,-0.64 -0.07,-0.94l2.03,-1.58c0.18,-0.14 0.23,-0.41 0.12,-0.61l-1.92,-3.32c-0.12,-0.22 -0.37,-0.29 -0.59,-0.22l-2.39,0.96c-0.5,-0.38 -1.03,-0.7 -1.62,-0.94L14.4,2.81c-0.04,-0.24 -0.24,-0.41 -0.48,-0.41h-3.84c-0.24,0 -0.43,0.17 -0.47,0.41L9.25,5.35C8.66,5.59 8.12,5.92 7.63,6.29L5.24,5.33c-0.22,-0.08 -0.47,0 -0.59,0.22L2.74,8.87C2.62,9.08 2.66,9.34 2.86,9.48l2.03,1.58C4.84,11.36 4.8,11.69 4.8,12s0.02,0.64 0.07,0.94l-2.03,1.58c-0.18,0.14 -0.23,0.41 -0.12,0.61l1.92,3.32c0.12,0.22 0.37,0.29 0.59,0.22l2.39,-0.96c0.5,0.38 1.03,0.7 1.62,0.94l0.36,2.54c0.05,0.24 0.24,0.41 0.48,0.41h3.84c0.24,0 0.44,-0.17 0.47,-0.41l0.36,-2.54c0.59,-0.24 1.13,-0.56 1.62,-0.94l2.39,0.96c0.22,0.08 0.47,0 0.59,-0.22l1.92,-3.32c0.12,-0.22 0.07,-0.47 -0.12,-0.61L19.14,12.94zM12,15.6c-1.98,0 -3.6,-1.62 -3.6,-3.6s1.62,-3.6 3.6,-3.6s3.6,1.62 3.6,3.6S13.98,15.6 12,15.6z" />
android:pathData="M19.44,12.99l-0.01,0.02c0.04,-0.33 0.08,-0.67 0.08,-1.01 0,-0.34 -0.03,-0.66 -0.07,-0.99l0.01,0.02 2.44,-1.92 -2.43,-4.22 -2.87,1.16 0.01,0.01c-0.52,-0.4 -1.09,-0.74 -1.71,-1h0.01L14.44,2H9.57l-0.44,3.07h0.01c-0.62,0.26 -1.19,0.6 -1.71,1l0.01,-0.01 -2.88,-1.17 -2.44,4.22 2.44,1.92 0.01,-0.02c-0.04,0.33 -0.07,0.65 -0.07,0.99 0,0.34 0.03,0.68 0.08,1.01l-0.01,-0.02 -2.1,1.65 -0.33,0.26 2.43,4.2 2.88,-1.15 -0.02,-0.04c0.53,0.41 1.1,0.75 1.73,1.01h-0.03L9.58,22h4.85s0.03,-0.18 0.06,-0.42l0.38,-2.65h-0.01c0.62,-0.26 1.2,-0.6 1.73,-1.01l-0.02,0.04 2.88,1.15 2.43,-4.2s-0.14,-0.12 -0.33,-0.26l-2.11,-1.66zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z" />
</vector>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android">
<size
android:width="48dp"
android:height="48dp" />
<solid android:color="@android:color/white" />
</shape>

View file

@ -13,10 +13,4 @@ https://stackoverflow.com/a/61157571/14143986
android:color="@color/divider_color" />
</shape>
</item>
<item>
<ripple
android:color="@color/selection_color"
android:radius="@dimen/size_divider_ripple" />
</item>
</layer-list>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/selection_color"
android:radius="@dimen/size_divider_ripple" />
android:radius="@dimen/size_small_unb_ripple" />

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/selection_color"
android:radius="24dp" />
android:radius="@dimen/size_unb_ripple" />

View file

@ -26,14 +26,8 @@
<androidx.appcompat.widget.Toolbar
android:id="@+id/album_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="?android:attr/windowBackground"
android:elevation="@dimen/elevation_normal"
app:popupTheme="@style/AppThemeOverlay.Popup"
style="@style/Toolbar.Style.Icon"
app:menu="@menu/menu_album_actions"
app:titleTextAppearance="@style/TextAppearance.Toolbar.Header"
app:navigationIcon="@drawable/ic_back"
app:title="@string/label_library" />
<androidx.core.widget.NestedScrollView
@ -60,7 +54,7 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/album_name"
style="@style/DetailHeader"
style="@style/DetailTitleText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
@ -69,7 +63,7 @@
android:maxLines="1"
android:text="@{album.name}"
android:ellipsize="end"
app:autoSizeMaxTextSize="@dimen/text_size_header_max"
app:autoSizeMaxTextSize="@dimen/text_size_detail_header_max"
app:autoSizeMinTextSize="@dimen/text_size_min"
app:autoSizeStepGranularity="@dimen/text_size_increment"
app:autoSizeTextType="uniform"
@ -109,32 +103,17 @@
<TextView
android:id="@+id/album_song_header"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/HeaderText"
android:layout_marginTop="@dimen/margin_medium"
android:background="@drawable/ui_header_dividers"
android:fontFamily="@font/inter_semibold"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:paddingBottom="@dimen/padding_small"
android:text="@string/label_songs"
android:textColor="?android:attr/textColorPrimary"
android:textSize="19sp"
app:layout_constraintTop_toBottomOf="@+id/album_details"
app:layout_constraintStart_toStartOf="parent" />
<ImageButton
android:id="@+id/album_sort_button"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:background="@drawable/ui_header_dividers"
style="@style/HeaderAction"
android:contentDescription="@string/description_sort_button"
android:onClick="@{() -> detailModel.incrementAlbumSortMode()}"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:paddingEnd="@dimen/margin_medium"
android:paddingBottom="@dimen/padding_small"
app:layout_constraintBottom_toBottomOf="@+id/album_song_header"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/album_song_header"

View file

@ -26,14 +26,8 @@
<androidx.appcompat.widget.Toolbar
android:id="@+id/artist_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="?android:attr/windowBackground"
android:elevation="@dimen/elevation_normal"
app:popupTheme="@style/AppThemeOverlay.Popup"
style="@style/Toolbar.Style.Icon"
app:menu="@menu/menu_detail"
app:titleTextAppearance="@style/TextAppearance.Toolbar.Header"
app:navigationIcon="@drawable/ic_back"
app:title="@string/label_library" />
<androidx.core.widget.NestedScrollView
@ -59,14 +53,14 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/artist_name"
style="@style/DetailHeader"
style="@style/DetailTitleText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
android:layout_marginTop="@dimen/margin_medium"
android:layout_marginEnd="@dimen/margin_medium"
android:text="@{artist.name}"
app:autoSizeMaxTextSize="@dimen/text_size_header_max"
app:autoSizeMaxTextSize="@dimen/text_size_detail_header_max"
app:autoSizeMinTextSize="@dimen/text_size_min"
app:autoSizeStepGranularity="@dimen/text_size_increment"
app:autoSizeTextType="uniform"
@ -102,31 +96,17 @@
<TextView
android:id="@+id/artist_album_header"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/HeaderText"
android:layout_marginTop="@dimen/margin_medium"
android:background="@drawable/ui_header_dividers"
android:fontFamily="@font/inter_semibold"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:paddingBottom="@dimen/padding_small"
android:text="@string/label_albums"
android:textColor="?android:attr/textColorPrimary"
android:textSize="19sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/artist_counts" />
<ImageButton
android:id="@+id/artist_sort_button"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:background="@drawable/ui_header_dividers"
style="@style/HeaderAction"
android:contentDescription="@string/description_sort_button"
android:onClick="@{() -> detailModel.incrementArtistSortMode()}"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:paddingEnd="@dimen/margin_medium"
android:paddingBottom="@dimen/padding_small"
app:layout_constraintBottom_toBottomOf="@+id/artist_album_header"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/artist_album_header"

View file

@ -26,14 +26,8 @@
<androidx.appcompat.widget.Toolbar
android:id="@+id/genre_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="?android:attr/windowBackground"
android:elevation="@dimen/elevation_normal"
app:popupTheme="@style/AppThemeOverlay.Popup"
style="@style/Toolbar.Style.Icon"
app:menu="@menu/menu_detail"
app:titleTextAppearance="@style/TextAppearance.Toolbar.Header"
app:navigationIcon="@drawable/ic_back"
app:title="@string/label_library" />
<androidx.core.widget.NestedScrollView
@ -60,14 +54,14 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/genre_name"
style="@style/DetailHeader"
style="@style/DetailTitleText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_medium"
android:layout_marginEnd="@dimen/margin_medium"
android:layout_marginStart="@dimen/margin_medium"
android:text="@{genre.name}"
app:autoSizeMaxTextSize="@dimen/text_size_header_max"
app:autoSizeMaxTextSize="@dimen/text_size_detail_header_max"
app:autoSizeMinTextSize="@dimen/text_size_min"
app:autoSizeStepGranularity="@dimen/text_size_increment"
app:autoSizeTextType="uniform"
@ -103,31 +97,17 @@
<TextView
android:id="@+id/genre_artist_header"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/HeaderText"
android:layout_marginTop="@dimen/padding_medium"
android:background="@drawable/ui_header_dividers"
android:textColor="?android:attr/textColorPrimary"
android:fontFamily="@font/inter_semibold"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:paddingBottom="@dimen/padding_small"
android:text="@string/label_artists"
android:textSize="19sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/genre_song_count" />
<ImageButton
android:id="@+id/genre_sort_button"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:background="@drawable/ui_header_dividers"
style="@style/HeaderAction"
android:contentDescription="@string/description_sort_button"
android:onClick="@{() -> detailModel.incrementGenreSortMode()}"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:paddingEnd="@dimen/margin_medium"
android:paddingBottom="@dimen/padding_small"
app:layout_constraintBottom_toBottomOf="@+id/genre_artist_header"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/genre_artist_header"

View file

@ -12,14 +12,9 @@
<androidx.appcompat.widget.Toolbar
android:id="@+id/library_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="?android:attr/windowBackground"
android:elevation="@dimen/elevation_normal"
android:theme="@style/Toolbar.Style"
app:popupTheme="@style/AppThemeOverlay.Popup"
style="@style/Toolbar.Style"
android:theme="@style/Toolbar.Style.Search"
app:menu="@menu/menu_library"
app:titleTextAppearance="@style/TextAppearance.Toolbar.Header"
app:title="@string/label_library" />
<androidx.recyclerview.widget.RecyclerView

View file

@ -26,18 +26,13 @@
<androidx.appcompat.widget.Toolbar
android:id="@+id/playback_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="?android:attr/windowBackground"
android:theme="@style/Toolbar.Style"
android:clickable="true"
android:focusable="true"
style="@style/Toolbar.Style.Icon"
android:elevation="0dp"
app:navigationIcon="@drawable/ic_down"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:title="@string/label_playback"
app:menu="@menu/menu_playback"
app:titleTextAppearance="@style/TextAppearance.Toolbar.Header" />
app:menu="@menu/menu_playback" />
<ImageView
android:id="@+id/playback_cover"

View file

@ -13,28 +13,16 @@
<androidx.appcompat.widget.Toolbar
android:id="@+id/queue_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="?android:attr/windowBackground"
android:theme="@style/Toolbar.Style"
android:clickable="true"
android:focusable="true"
android:elevation="@dimen/elevation_normal"
app:popupTheme="@style/Widget.CustomPopup"
style="@style/Toolbar.Style.Icon"
app:navigationIcon="@drawable/ic_down"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:title="@string/label_queue"
app:titleTextAppearance="@style/TextAppearance.Toolbar.Header" />
app:title="@string/label_queue" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/queue_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintTop_toBottomOf="@+id/queue_header"
tools:layout_editor_absoluteX="0dp"
tools:listitem="@layout/item_basic_song" />
tools:listitem="@layout/item_queue_song" />
</LinearLayout>
</layout>

View file

@ -1,24 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:theme="@style/ThemeOverlay.Accented"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/song_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="?android:attr/windowBackground"
android:elevation="@dimen/elevation_normal"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:title="@string/setting_title"
app:titleTextAppearance="@style/TextAppearance.Toolbar.Header" />
style="@style/Toolbar.Style"
app:title="@string/setting_title" />
<androidx.fragment.app.FragmentContainerView
android:id="@+id/settings_list_fragment"

View file

@ -12,15 +12,11 @@
<androidx.appcompat.widget.Toolbar
android:id="@+id/song_toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="?android:attr/windowBackground"
android:elevation="@dimen/elevation_normal"
style="@style/Toolbar.Style"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:menu="@menu/menu_songs"
app:title="@string/label_all_songs"
app:titleTextAppearance="@style/TextAppearance.Toolbar.Header" />
app:title="@string/label_all_songs" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/song_recycler"

View file

@ -2,10 +2,6 @@
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View file

@ -18,33 +18,19 @@
<TextView
android:id="@+id/header_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/padding_medium"
android:fontFamily="@font/inter_semibold"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:paddingBottom="@dimen/padding_small"
style="@style/HeaderText"
android:text="@{header.name}"
tools:text="Songs"
android:textColor="?android:attr/textColorPrimary"
android:textSize="19sp"
app:layout_constraintStart_toStartOf="parent" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Songs" />
<ImageButton
android:id="@+id/header_button"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:contentDescription="@string/description_sort_button"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:background="@drawable/ui_small_unbounded_ripple"
android:paddingEnd="@dimen/margin_medium"
android:paddingBottom="@dimen/padding_small"
style="@style/HeaderAction"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/header_title"
tools:src="@drawable/ic_sort_numeric_down" />
tools:src="@drawable/ic_clear"
tools:ignore="ContentDescription" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View file

@ -11,13 +11,7 @@
type="org.oxycblt.auxio.music.Album" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ui_ripple"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/padding_medium">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemSurroundings">
<ImageView
android:id="@+id/album_cover"
@ -32,14 +26,8 @@
<TextView
android:id="@+id/album_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
style="@style/ItemText.Primary"
android:text="@{album.name}"
android:textAppearance="?android:attr/textAppearanceListItem"
android:textColor="?android:attr/textColorPrimary"
android:ellipsize="end"
android:maxLines="1"
app:layout_constraintBottom_toTopOf="@+id/album_info"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/album_cover"
@ -49,14 +37,10 @@
<TextView
android:id="@+id/album_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorSecondary"
android:maxLines="1"
style="@style/ItemText.Secondary"
app:albumInfo="@{album}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/album_cover"
app:layout_constraintTop_toBottomOf="@+id/album_name"
tools:text="Artist / 10 Songs" />

View file

@ -11,15 +11,9 @@
type="org.oxycblt.auxio.music.Song" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ui_ripple"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/padding_medium">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemSurroundings">
<androidx.appcompat.widget.AppCompatTextView
<TextView
android:id="@+id/song_track"
android:layout_width="@dimen/width_track_number"
android:layout_height="wrap_content"
@ -30,10 +24,10 @@
android:textSize="@dimen/text_size_track_max"
android:maxLines="1"
android:contentDescription="@{@string/description_track_number(song.track)}"
app:autoSizeMaxTextSize="@dimen/text_size_header_max"
android:gravity="center"
app:autoSizeMaxTextSize="@dimen/text_size_detail_header_max"
app:autoSizeMinTextSize="@dimen/text_size_min"
app:autoSizeStepGranularity="@dimen/text_size_increment"
android:gravity="center"
app:autoSizeTextType="uniform"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -42,15 +36,8 @@
<TextView
android:id="@+id/song_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
android:layout_marginEnd="@dimen/margin_medium"
android:ellipsize="end"
android:maxLines="1"
style="@style/ItemText.Primary"
android:text="@{song.name}"
android:textAppearance="?android:attr/textAppearanceListItem"
android:textColor="?android:attr/textColorPrimary"
app:layout_constraintBottom_toTopOf="@+id/song_duration"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/song_track"
@ -60,13 +47,7 @@
<TextView
android:id="@+id/song_duration"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
android:layout_marginEnd="@dimen/margin_medium"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
style="@style/ItemText.Secondary"
android:textColor="?android:attr/textColorSecondary"
android:text="@{song.formattedDuration}"
app:layout_constraintBottom_toBottomOf="parent"

View file

@ -11,13 +11,7 @@
type="org.oxycblt.auxio.music.Artist" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ui_ripple"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/padding_medium">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemSurroundings">
<ImageView
android:id="@+id/artist_image"
@ -32,14 +26,8 @@
<TextView
android:id="@+id/artist_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
style="@style/ItemText.Primary"
android:text="@{artist.name}"
android:layout_marginStart="@dimen/margin_medium"
android:textAppearance="?android:attr/textAppearanceListItem"
android:textColor="?android:attr/textColorPrimary"
app:layout_constraintBottom_toTopOf="@+id/artist_details"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/artist_image"
@ -49,13 +37,10 @@
<TextView
android:id="@+id/artist_details"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:layout_marginStart="@dimen/margin_medium"
android:textColor="?android:attr/textColorSecondary"
style="@style/ItemText.Secondary"
app:artistCounts="@{artist}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/artist_image"
app:layout_constraintTop_toBottomOf="@+id/artist_name"
tools:text="2 Albums, 20 Songs" />

View file

@ -11,13 +11,7 @@
type="org.oxycblt.auxio.music.Album" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ui_ripple"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/padding_medium">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemSurroundings">
<ImageView
android:id="@+id/album_cover"
@ -32,14 +26,8 @@
<TextView
android:id="@+id/album_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
style="@style/ItemText.Primary"
android:text="@{album.name}"
android:textAppearance="?android:attr/textAppearanceListItem"
android:textColor="?android:attr/textColorPrimary"
android:ellipsize="end"
android:maxLines="1"
app:layout_constraintBottom_toTopOf="@+id/album_year"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/album_cover"
@ -49,12 +37,7 @@
<TextView
android:id="@+id/album_year"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorSecondary"
android:maxLines="1"
style="@style/ItemText.Secondary"
app:albumYear="@{album}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/album_cover"

View file

@ -11,13 +11,7 @@
type="org.oxycblt.auxio.music.Song" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ui_ripple"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/padding_medium">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemSurroundings">
<ImageView
android:id="@+id/album_cover"
@ -33,15 +27,9 @@
<TextView
android:id="@+id/song_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
style="@style/ItemText.Primary"
android:layout_marginEnd="@dimen/margin_medium"
android:ellipsize="end"
android:maxLines="1"
android:text="@{song.name}"
android:textAppearance="?android:attr/textAppearanceListItem"
android:textColor="?android:attr/textColorPrimary"
app:layout_constraintBottom_toTopOf="@+id/song_info"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/album_cover"
@ -51,14 +39,8 @@
<TextView
android:id="@+id/song_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
style="@style/ItemText.Secondary"
android:layout_marginEnd="@dimen/margin_medium"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorSecondary"
android:text="@{@string/format_info(song.album.artist.name, song.album.name)}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -11,13 +11,7 @@
type="org.oxycblt.auxio.music.Genre" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ui_ripple"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/padding_medium">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemSurroundings">
<ImageView
android:id="@+id/genre_image"
@ -32,14 +26,8 @@
<TextView
android:id="@+id/genre_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
style="@style/ItemText.Primary"
android:text="@{genre.name}"
android:layout_marginStart="@dimen/margin_medium"
android:textAppearance="?android:attr/textAppearanceListItem"
android:textColor="?android:attr/textColorPrimary"
app:layout_constraintBottom_toTopOf="@+id/genre_count"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/genre_image"
@ -49,11 +37,7 @@
<TextView
android:id="@+id/genre_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:layout_marginStart="@dimen/margin_medium"
android:textColor="?android:attr/textColorSecondary"
style="@style/ItemText.Secondary"
app:genreCounts="@{genre}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/genre_image"

View file

@ -11,13 +11,7 @@
type="org.oxycblt.auxio.music.Artist" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ui_ripple"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/padding_medium">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemSurroundings">
<ImageView
android:id="@+id/artist_image"
@ -32,14 +26,8 @@
<TextView
android:id="@+id/artist_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
style="@style/ItemText.Primary"
android:text="@{artist.name}"
android:layout_marginStart="@dimen/margin_medium"
android:textAppearance="?android:attr/textAppearanceListItem"
android:textColor="?android:attr/textColorPrimary"
app:layout_constraintBottom_toTopOf="@+id/artist_counts"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/artist_image"
@ -49,11 +37,7 @@
<TextView
android:id="@+id/artist_counts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:layout_marginStart="@dimen/margin_medium"
android:textColor="?android:attr/textColorSecondary"
style='@style/ItemText.Secondary'
app:artistCounts="@{artist}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/artist_image"

View file

@ -11,17 +11,8 @@
</data>
<TextView
android:id="@+id/header_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="?android:attr/textColorPrimary"
android:fontFamily="@font/inter_semibold"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:paddingBottom="@dimen/padding_small"
android:textSize="19sp"
android:background="@drawable/ui_header_dividers"
android:id="@android:id/title"
style="@style/HeaderText"
android:text="@{header.name}"
tools:text="Songs" />
</layout>

View file

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@android:id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="?android:attr/textColorPrimary"
android:fontFamily="@font/inter_semibold"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:paddingBottom="@dimen/padding_small"
android:textSize="19sp"
android:background="@drawable/ui_header_dividers"
android:text="@{header.name}"
tools:text="UI"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" />

View file

@ -30,15 +30,9 @@
<TextView
android:id="@+id/song_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
style="@style/ItemText.Primary"
android:layout_marginEnd="@dimen/margin_medium"
android:ellipsize="end"
android:maxLines="1"
android:text="@{song.name}"
android:textAppearance="?android:attr/textAppearanceListItem"
android:textColor="?android:attr/textColorPrimary"
app:layout_constraintBottom_toTopOf="@+id/song_info"
app:layout_constraintEnd_toStartOf="@+id/song_drag_handle"
app:layout_constraintStart_toEndOf="@+id/album_cover"
@ -48,14 +42,9 @@
<TextView
android:id="@+id/song_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
style="@style/ItemText.Secondary"
android:layout_marginStart="@dimen/margin_medium"
android:layout_marginEnd="@dimen/margin_medium"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorSecondary"
android:text="@{@string/format_info(song.album.artist.name, song.album.name)}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/song_drag_handle"
@ -67,13 +56,13 @@
android:id="@+id/song_drag_handle"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:padding="@dimen/padding_tiny"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/padding_tiny"
android:src="@drawable/ic_handle"
app:layout_constraintBottom_toBottomOf="@+id/song_info"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintTop_toTopOf="@+id/song_name"
tools:ignore="ContentDescription" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -11,13 +11,7 @@
type="org.oxycblt.auxio.music.Song" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ui_ripple"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/padding_medium">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemSurroundings">
<ImageView
android:id="@+id/album_cover"
@ -28,20 +22,13 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription"
tools:src="@drawable/ic_song" />
<TextView
android:id="@+id/song_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
style="@style/ItemText.Primary"
android:layout_marginEnd="@dimen/margin_medium"
android:ellipsize="end"
android:maxLines="1"
android:text="@{song.name}"
android:textAppearance="?android:attr/textAppearanceListItem"
android:textColor="?android:attr/textColorPrimary"
app:layout_constraintBottom_toTopOf="@+id/song_info"
app:layout_constraintEnd_toStartOf="@+id/duration"
app:layout_constraintStart_toEndOf="@+id/album_cover"
@ -51,14 +38,8 @@
<TextView
android:id="@+id/song_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
style="@style/ItemText.Secondary"
android:layout_marginEnd="@dimen/margin_medium"
android:ellipsize="end"
android:maxLines="1"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorSecondary"
android:text="@{@string/format_info(song.album.artist.name, song.album.name)}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/duration"
@ -68,13 +49,11 @@
<TextView
android:id="@+id/duration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
style="@style/ItemText.Secondary"
android:text="@{song.formattedDuration}"
android:textAlignment="viewEnd"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorTertiary"
android:gravity="end"
android:ellipsize="none"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"

View file

@ -19,7 +19,8 @@
<!-- Size Namespace | Width & Heights for UI elements -->
<dimen name="size_error_icon">48dp</dimen>
<dimen name="size_divider_ripple">18dp</dimen>
<dimen name="size_small_unb_ripple">18dp</dimen>
<dimen name="size_unb_ripple">24dp</dimen>
<dimen name="size_cover_compact">44dp</dimen>
<dimen name="size_cover_normal">56dp</dimen>
<dimen name="size_cover_large">68dp</dimen>
@ -31,7 +32,9 @@
<dimen name="text_size_min">10sp</dimen>
<dimen name="text_size_increment">2sp</dimen>
<dimen name="text_size_track_max">20sp</dimen>
<dimen name="text_size_header_max">26sp</dimen>
<dimen name="text_size_detail_header_max">26sp</dimen>
<dimen name="text_size_thumb">18sp</dimen>
<dimen name="text_size_header">19sp</dimen>
<!-- Misc -->
<dimen name="elevation_normal">4dp</dimen>

View file

@ -4,27 +4,34 @@
<!-- Label Namespace | Static Labels -->
<string name="label_retry">Retry</string>
<string name="label_library">Library</string>
<string name="label_all_songs">All Songs</string>
<string name="label_playback">Now Playing</string>
<string name="label_grant">Grant</string>
<string name="label_library">Library</string>
<string name="label_genres">Genres</string>
<string name="label_artists">Artists</string>
<string name="label_albums">Albums</string>
<string name="label_songs">Songs</string>
<string name="label_search">Search</string>
<string name="label_sort_none">Default</string>
<string name="label_sort_alpha_down">A-Z</string>
<string name="label_sort_alpha_up">Z-A</string>
<string name="label_shuffle">Shuffle</string>
<string name="label_all_songs">All Songs</string>
<string name="label_songs">Songs</string>
<string name="label_playback">Now Playing</string>
<string name="label_play">Play</string>
<string name="label_shuffle">Shuffle</string>
<string name="label_play_artist">Play from artist</string>
<string name="label_play_album">Play from album</string>
<string name="label_go_artist">Go to artist</string>
<string name="label_queue">Queue</string>
<string name="label_queue_add">Add to queue</string>
<string name="label_queue_added">Added to queue</string>
<string name="label_next_user_queue">Next in Queue</string>
<string name="label_channel">Music Playback</string>
<string name="label_service_playback">The music playback service for Auxio.</string>

View file

@ -14,6 +14,7 @@
<item name="indicatorFastScrollerStyle">@style/FastScrollTheme</item>
<item name="colorControlHighlight">@color/selection_color</item>
<item name="colorControlActivated">?attr/colorPrimary</item>
<item name="cornerRadius">0dp</item>
<item name="md_background_color">@color/background</item>
<item name="md_corner_radius">0dp</item>
@ -21,12 +22,22 @@
<item name="md_font_title">@font/inter_black</item>
</style>
<style name="ThemeOverlay.Accented" parent="ThemeOverlay.AppCompat.DayNight">
<item name="android:windowBackground">@color/background</item>
<!-- Toolbar theme -->
<style name="Toolbar.Style" parent="ThemeOverlay.MaterialComponents.ActionBar">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">?android:attr/actionBarSize</item>
<item name="android:elevation">4dp</item>
<item name="popupTheme">@style/Widget.CustomPopup</item>
<item name="titleTextAppearance">@style/TextAppearance.Toolbar.Header</item>
</style>
<!-- Hack to fix the weird icon/underline with LibraryFragment's SearchView -->
<style name="Toolbar.Style" parent="ThemeOverlay.MaterialComponents.ActionBar">
<style name="Toolbar.Style.Icon" parent="Toolbar.Style">
<item name="navigationIcon">@drawable/ic_back</item>
</style>
<!-- Toolbar sub theme with a fix for an odd search style -->
<style name="Toolbar.Style.Search" parent="Toolbar.Style">
<item name="android:searchViewStyle">@style/Widget.AppCompat.SearchView</item>
</style>
@ -37,11 +48,11 @@
</style>
<!-- Title theme for Detail Fragments -->
<style name="DetailHeader">
<style name="DetailTitleText">
<item name="android:textAppearance">?android:attr/textAppearanceLarge</item>
<item name="android:textColor">?attr/colorPrimary</item>
<item name="android:fontFamily">@font/inter_black</item>
<item name="android:textSize">@dimen/text_size_header_max</item>
<item name="android:textSize">@dimen/text_size_detail_header_max</item>
</style>
<!-- Smaller Title theme that is used for headers -->
@ -49,15 +60,12 @@
<item name="android:fontFamily">@font/inter_semibold</item>
</style>
<!-- Custom popup theme -->
<style name="AppThemeOverlay.Popup" parent="ThemeOverlay.AppCompat.DayNight">
<item name="android:colorBackground">@color/background</item>
<item name="colorControlHighlight">@color/selection_color</item>
</style>
<!-- Custom popup menu theme -->
<style name="Widget.CustomPopup" parent="Widget.AppCompat.PopupMenu">
<item name="android:colorBackground">@color/background</item>
<item name="android:popupBackground">@color/background</item>
<item name="colorControlHighlight">@color/selection_color</item>
<item name="cornerRadius">0dp</item>
</style>
<!-- Custom Dialog Theme -->
@ -69,6 +77,7 @@
<item name="dialogCornerRadius">0dp</item>
</style>
<!-- Custom dialog title theme -->
<style name="TextAppearance.Dialog.Title" parent="@android:style/TextAppearance.Material.Title">
<item name="android:fontFamily">@font/inter_black</item>
</style>
@ -79,19 +88,68 @@
<item name="android:textAppearance">@style/TextAppearance.FastScroll</item>
</style>
<!-- Fast scroll text appearance -->
<style name="TextAppearance.FastScroll" parent="TextAppearance.AppCompat.Body2">
<item name="android:fontFamily">@font/inter_semibold</item>
</style>
<!-- Fast scroll thumb appearance -->
<style name="TextAppearance.ThumbIndicator" parent="TextAppearance.FastScroll">
<item name="android:textSize">18sp</item>
<item name="android:textSize">@dimen/text_size_thumb</item>
</style>
<!--
<style name="Theme.BottomSheetFix" parent="@style/Theme.Design.BottomSheetDialog">
<item name="android:windowIsFloating">false</item>
<item name="android:navigationBarColor">@color/background</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<!-- Style for the general item background -->
<style name="ItemSurroundings">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/ui_ripple</item>
<item name="android:padding">@dimen/padding_medium</item>
<item name="android:clickable">true</item>
<item name="android:focusable">true</item>
</style>
<!-- Base style for any item text -->
<style name="ItemText">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:ellipsize">end</item>
<item name="android:maxLines">1</item>
<item name="android:layout_marginStart">@dimen/margin_medium</item>
</style>
<!-- Style for primary item text -->
<style name="ItemText.Primary" parent="ItemText">
<item name="android:textAppearance">?android:attr/textAppearanceListItem</item>
<item name="android:textColor">?android:attr/textColorPrimary</item>
</style>
<!-- Style for secondary item text -->
<style name="ItemText.Secondary" parent="ItemText">
<item name="android:textAppearance">?android:attr/textAppearanceListItemSecondary</item>
<item name="android:textColor">?android:attr/textColorSecondary</item>
</style>
<!-- Style for header text -->
<style name="HeaderText">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">match_parent</item>
<item name="android:paddingStart">@dimen/margin_medium</item>
<item name="android:paddingTop">@dimen/padding_small</item>
<item name="android:paddingBottom">@dimen/padding_small</item>
<item name="android:paddingEnd">@dimen/padding_medium</item>
<item name="android:textSize">@dimen/text_size_header</item>
<item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:fontFamily">@font/inter_semibold</item>
<item name="android:background">@drawable/ui_header_dividers</item>
</style>
<style name="HeaderAction">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">0dp</item>
<item name="android:paddingStart">@dimen/margin_medium</item>
<item name="android:paddingTop">@dimen/padding_small</item>
<item name="android:paddingBottom">@dimen/padding_small</item>
<item name="android:paddingEnd">@dimen/padding_medium</item>
<item name="android:background">@drawable/ui_small_unbounded_ripple</item>
</style>
-->
</resources>

View file

@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory
android:title="@string/setting_ui"
android:layout="@layout/item_prefs_header">
android:layout="@layout/item_header">
<ListPreference
app:key="KEY_THEME"
android:title="@string/setting_theme"

View file

@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory
android:title="@string/setting_ui"
android:layout="@layout/item_prefs_header">
android:layout="@layout/item_header">
<ListPreference
app:key="KEY_THEME"
android:title="@string/setting_theme"