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"]) implementation fileTree(dir: "libs", include: ["*.jar"])
// Kotlin // Kotlin
//noinspection DifferentStdlibGradleVersion
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
// --- SUPPORT --- // --- SUPPORT ---

View file

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

View file

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

View file

@ -1,15 +1,16 @@
package org.oxycblt.auxio.playback.queue package org.oxycblt.auxio.playback.queue
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.WindowInsets
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.ItemTouchHelper
import com.afollestad.materialdialogs.utils.MDUtil.updatePadding
import org.oxycblt.auxio.R import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.FragmentQueueBinding import org.oxycblt.auxio.databinding.FragmentQueueBinding
import org.oxycblt.auxio.music.BaseModel import org.oxycblt.auxio.music.BaseModel
@ -49,9 +50,15 @@ class QueueFragment : Fragment() {
findNavController().navigateUp() 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( (parent as View).updatePadding(
top = insets.systemWindowInsetTop top = top
) )
insets insets

View file

@ -1,3 +1,5 @@
@file:Suppress("MemberVisibilityCanBePrivate")
package org.oxycblt.auxio.recycler package org.oxycblt.auxio.recycler
import android.annotation.SuppressLint import android.annotation.SuppressLint
@ -40,9 +42,9 @@ class NoLeakThumbView @JvmOverloads constructor(
FastScrollerView.ItemIndicatorSelectedCallback { FastScrollerView.ItemIndicatorSelectedCallback {
private var thumbColor = ColorStateList.valueOf(accent.first.toColor(context)) 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 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 thumbView: ViewGroup
private val textView: TextView private val textView: TextView
@ -80,16 +82,14 @@ class NoLeakThumbView @JvmOverloads constructor(
// FastScrollerView's "onItemIndicatorTouched" [Which I would've used here] is internal, // FastScrollerView's "onItemIndicatorTouched" [Which I would've used here] is internal,
// so instead I just use a setOnTouchListener to get the same-ish effect. // so instead I just use a setOnTouchListener to get the same-ish effect.
fastScrollerView.setOnTouchListener { v, event -> fastScrollerView.setOnTouchListener { _, event ->
fastScrollerView.onTouchEvent(event) fastScrollerView.onTouchEvent(event)
fastScrollerView.performClick() fastScrollerView.performClick()
isVisible = true isVisible = true
if (event.actionMasked in intArrayOf( if (event.actionMasked == MotionEvent.ACTION_UP ||
MotionEvent.ACTION_UP, event.actionMasked == MotionEvent.ACTION_CANCEL
MotionEvent.ACTION_CANCEL
)
) { ) {
isActivated = false isActivated = false
return@setOnTouchListener true 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. * Bind the viewholder with whatever [BaseModel] instance that has been specified.
* Will call [onBind] on the inheriting ViewHolder. * 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) { fun bind(data: T) {
doOnClick?.let { onClick -> doOnClick?.let { onClick ->

View file

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

View file

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

View file

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

View file

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

View file

@ -7,5 +7,5 @@
android:tint="?attr/colorPrimary"> android:tint="?attr/colorPrimary">
<path <path
android:fillColor="@android:color/white" 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> </vector>

View file

@ -10,7 +10,7 @@ https://github.com/ashutoshgngwr/noice/
<aapt:attr name="android:animation"> <aapt:attr name="android:animation">
<set> <set>
<objectAnimator <objectAnimator
android:duration="200" android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:interpolator/fast_out_slow_in" android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="pathData" android:propertyName="pathData"
android:valueFrom="M6,7.5L6,10.5L18,10.5L18,7.5Z" 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"> <aapt:attr name="android:animation">
<set> <set>
<objectAnimator <objectAnimator
android:duration="200" android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:interpolator/fast_out_slow_in" android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="pathData" android:propertyName="pathData"
android:valueFrom="M6,16.5L6,13.5L18,13.5L18,16.5Z" 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"> <aapt:attr name="android:animation">
<set> <set>
<objectAnimator <objectAnimator
android:duration="200" android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:interpolator/fast_out_slow_in" android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="pathData" android:propertyName="pathData"
android:valueFrom="M8.25,6L8.25,12L18.75,12L18.75,12Z" 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"> <aapt:attr name="android:animation">
<set> <set>
<objectAnimator <objectAnimator
android:duration="200" android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:interpolator/fast_out_slow_in" android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="pathData" android:propertyName="pathData"
android:valueFrom="M8.25,18L8.25,12L18.75,12L18.75,12Z" android:valueFrom="M8.25,18L8.25,12L18.75,12L18.75,12Z"

View file

@ -7,5 +7,5 @@
android:tint="?attr/colorControlNormal"> android:tint="?attr/colorControlNormal">
<path <path
android:fillColor="@android:color/white" 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> </vector>

View file

@ -4,8 +4,8 @@
android:height="24dp" android:height="24dp"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24" android:viewportHeight="24"
android:tint="?attr/colorPrimary"> android:tint="?attr/colorControlNormal">
<path <path
android:fillColor="@android:color/white" 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> </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" /> android:color="@color/divider_color" />
</shape> </shape>
</item> </item>
<item>
<ripple
android:color="@color/selection_color"
android:radius="@dimen/size_divider_ripple" />
</item>
</layer-list> </layer-list>

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -13,28 +13,16 @@
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/queue_toolbar" android:id="@+id/queue_toolbar"
android:layout_width="match_parent" style="@style/Toolbar.Style.Icon"
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"
app:navigationIcon="@drawable/ic_down" app:navigationIcon="@drawable/ic_down"
app:layout_constraintStart_toStartOf="parent" app:title="@string/label_queue" />
app:layout_constraintTop_toTopOf="parent"
app:title="@string/label_queue"
app:titleTextAppearance="@style/TextAppearance.Toolbar.Header" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/queue_recycler" android:id="@+id/queue_recycler"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintTop_toBottomOf="@+id/queue_header" tools:listitem="@layout/item_queue_song" />
tools:layout_editor_absoluteX="0dp"
tools:listitem="@layout/item_basic_song" />
</LinearLayout> </LinearLayout>
</layout> </layout>

View file

@ -1,24 +1,16 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools" <layout xmlns:android="http://schemas.android.com/apk/res/android"
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">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:theme="@style/ThemeOverlay.Accented"
android:orientation="vertical"> android:orientation="vertical">
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/song_toolbar" android:id="@+id/song_toolbar"
android:layout_width="match_parent" style="@style/Toolbar.Style"
android:layout_height="?android:attr/actionBarSize" app:title="@string/setting_title" />
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" />
<androidx.fragment.app.FragmentContainerView <androidx.fragment.app.FragmentContainerView
android:id="@+id/settings_list_fragment" android:id="@+id/settings_list_fragment"

View file

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

View file

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

View file

@ -18,33 +18,19 @@
<TextView <TextView
android:id="@+id/header_title" android:id="@+id/header_title"
android:layout_width="match_parent" style="@style/HeaderText"
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"
android:text="@{header.name}" android:text="@{header.name}"
tools:text="Songs" app:layout_constraintStart_toStartOf="parent"
android:textColor="?android:attr/textColorPrimary" app:layout_constraintTop_toTopOf="parent"
android:textSize="19sp" tools:text="Songs" />
app:layout_constraintStart_toStartOf="parent" />
<ImageButton <ImageButton
android:id="@+id/header_button" android:id="@+id/header_button"
android:layout_width="wrap_content" style="@style/HeaderAction"
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"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/header_title" 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> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View file

@ -11,13 +11,7 @@
type="org.oxycblt.auxio.music.Album" /> type="org.oxycblt.auxio.music.Album" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemSurroundings">
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">
<ImageView <ImageView
android:id="@+id/album_cover" android:id="@+id/album_cover"
@ -32,14 +26,8 @@
<TextView <TextView
android:id="@+id/album_name" android:id="@+id/album_name"
android:layout_width="0dp" style="@style/ItemText.Primary"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
android:text="@{album.name}" 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_constraintBottom_toTopOf="@+id/album_info"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/album_cover" app:layout_constraintStart_toEndOf="@+id/album_cover"
@ -49,14 +37,10 @@
<TextView <TextView
android:id="@+id/album_info" android:id="@+id/album_info"
android:layout_width="wrap_content" style="@style/ItemText.Secondary"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorSecondary"
android:maxLines="1"
app:albumInfo="@{album}" app:albumInfo="@{album}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/album_cover" app:layout_constraintStart_toEndOf="@+id/album_cover"
app:layout_constraintTop_toBottomOf="@+id/album_name" app:layout_constraintTop_toBottomOf="@+id/album_name"
tools:text="Artist / 10 Songs" /> tools:text="Artist / 10 Songs" />

View file

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

View file

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

View file

@ -11,13 +11,7 @@
type="org.oxycblt.auxio.music.Album" /> type="org.oxycblt.auxio.music.Album" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemSurroundings">
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">
<ImageView <ImageView
android:id="@+id/album_cover" android:id="@+id/album_cover"
@ -32,14 +26,8 @@
<TextView <TextView
android:id="@+id/album_name" android:id="@+id/album_name"
android:layout_width="0dp" style="@style/ItemText.Primary"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
android:text="@{album.name}" 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_constraintBottom_toTopOf="@+id/album_year"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/album_cover" app:layout_constraintStart_toEndOf="@+id/album_cover"
@ -49,12 +37,7 @@
<TextView <TextView
android:id="@+id/album_year" android:id="@+id/album_year"
android:layout_width="wrap_content" style="@style/ItemText.Secondary"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_medium"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorSecondary"
android:maxLines="1"
app:albumYear="@{album}" app:albumYear="@{album}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/album_cover" app:layout_constraintStart_toEndOf="@+id/album_cover"

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -19,7 +19,8 @@
<!-- Size Namespace | Width & Heights for UI elements --> <!-- Size Namespace | Width & Heights for UI elements -->
<dimen name="size_error_icon">48dp</dimen> <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_compact">44dp</dimen>
<dimen name="size_cover_normal">56dp</dimen> <dimen name="size_cover_normal">56dp</dimen>
<dimen name="size_cover_large">68dp</dimen> <dimen name="size_cover_large">68dp</dimen>
@ -31,7 +32,9 @@
<dimen name="text_size_min">10sp</dimen> <dimen name="text_size_min">10sp</dimen>
<dimen name="text_size_increment">2sp</dimen> <dimen name="text_size_increment">2sp</dimen>
<dimen name="text_size_track_max">20sp</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 --> <!-- Misc -->
<dimen name="elevation_normal">4dp</dimen> <dimen name="elevation_normal">4dp</dimen>

View file

@ -4,27 +4,34 @@
<!-- Label Namespace | Static Labels --> <!-- Label Namespace | Static Labels -->
<string name="label_retry">Retry</string> <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_grant">Grant</string>
<string name="label_library">Library</string>
<string name="label_genres">Genres</string> <string name="label_genres">Genres</string>
<string name="label_artists">Artists</string> <string name="label_artists">Artists</string>
<string name="label_albums">Albums</string> <string name="label_albums">Albums</string>
<string name="label_songs">Songs</string>
<string name="label_search">Search</string> <string name="label_search">Search</string>
<string name="label_sort_none">Default</string> <string name="label_sort_none">Default</string>
<string name="label_sort_alpha_down">A-Z</string> <string name="label_sort_alpha_down">A-Z</string>
<string name="label_sort_alpha_up">Z-A</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_play">Play</string>
<string name="label_shuffle">Shuffle</string>
<string name="label_play_artist">Play from artist</string> <string name="label_play_artist">Play from artist</string>
<string name="label_play_album">Play from album</string> <string name="label_play_album">Play from album</string>
<string name="label_go_artist">Go to artist</string> <string name="label_go_artist">Go to artist</string>
<string name="label_queue">Queue</string> <string name="label_queue">Queue</string>
<string name="label_queue_add">Add to queue</string> <string name="label_queue_add">Add to queue</string>
<string name="label_queue_added">Added 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_next_user_queue">Next in Queue</string>
<string name="label_channel">Music Playback</string> <string name="label_channel">Music Playback</string>
<string name="label_service_playback">The music playback service for Auxio.</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="indicatorFastScrollerStyle">@style/FastScrollTheme</item>
<item name="colorControlHighlight">@color/selection_color</item> <item name="colorControlHighlight">@color/selection_color</item>
<item name="colorControlActivated">?attr/colorPrimary</item> <item name="colorControlActivated">?attr/colorPrimary</item>
<item name="cornerRadius">0dp</item>
<item name="md_background_color">@color/background</item> <item name="md_background_color">@color/background</item>
<item name="md_corner_radius">0dp</item> <item name="md_corner_radius">0dp</item>
@ -21,12 +22,22 @@
<item name="md_font_title">@font/inter_black</item> <item name="md_font_title">@font/inter_black</item>
</style> </style>
<style name="ThemeOverlay.Accented" parent="ThemeOverlay.AppCompat.DayNight"> <!-- Toolbar theme -->
<item name="android:windowBackground">@color/background</item> <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> </style>
<!-- Hack to fix the weird icon/underline with LibraryFragment's SearchView --> <style name="Toolbar.Style.Icon" parent="Toolbar.Style">
<style name="Toolbar.Style" parent="ThemeOverlay.MaterialComponents.ActionBar"> <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> <item name="android:searchViewStyle">@style/Widget.AppCompat.SearchView</item>
</style> </style>
@ -37,11 +48,11 @@
</style> </style>
<!-- Title theme for Detail Fragments --> <!-- Title theme for Detail Fragments -->
<style name="DetailHeader"> <style name="DetailTitleText">
<item name="android:textAppearance">?android:attr/textAppearanceLarge</item> <item name="android:textAppearance">?android:attr/textAppearanceLarge</item>
<item name="android:textColor">?attr/colorPrimary</item> <item name="android:textColor">?attr/colorPrimary</item>
<item name="android:fontFamily">@font/inter_black</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> </style>
<!-- Smaller Title theme that is used for headers --> <!-- Smaller Title theme that is used for headers -->
@ -49,15 +60,12 @@
<item name="android:fontFamily">@font/inter_semibold</item> <item name="android:fontFamily">@font/inter_semibold</item>
</style> </style>
<!-- Custom popup theme --> <!-- Custom popup menu theme -->
<style name="AppThemeOverlay.Popup" parent="ThemeOverlay.AppCompat.DayNight">
<item name="android:colorBackground">@color/background</item>
<item name="colorControlHighlight">@color/selection_color</item>
</style>
<style name="Widget.CustomPopup" parent="Widget.AppCompat.PopupMenu"> <style name="Widget.CustomPopup" parent="Widget.AppCompat.PopupMenu">
<item name="android:colorBackground">@color/background</item> <item name="android:colorBackground">@color/background</item>
<item name="android:popupBackground">@color/background</item> <item name="android:popupBackground">@color/background</item>
<item name="colorControlHighlight">@color/selection_color</item>
<item name="cornerRadius">0dp</item>
</style> </style>
<!-- Custom Dialog Theme --> <!-- Custom Dialog Theme -->
@ -69,6 +77,7 @@
<item name="dialogCornerRadius">0dp</item> <item name="dialogCornerRadius">0dp</item>
</style> </style>
<!-- Custom dialog title theme -->
<style name="TextAppearance.Dialog.Title" parent="@android:style/TextAppearance.Material.Title"> <style name="TextAppearance.Dialog.Title" parent="@android:style/TextAppearance.Material.Title">
<item name="android:fontFamily">@font/inter_black</item> <item name="android:fontFamily">@font/inter_black</item>
</style> </style>
@ -79,19 +88,68 @@
<item name="android:textAppearance">@style/TextAppearance.FastScroll</item> <item name="android:textAppearance">@style/TextAppearance.FastScroll</item>
</style> </style>
<!-- Fast scroll text appearance -->
<style name="TextAppearance.FastScroll" parent="TextAppearance.AppCompat.Body2"> <style name="TextAppearance.FastScroll" parent="TextAppearance.AppCompat.Body2">
<item name="android:fontFamily">@font/inter_semibold</item> <item name="android:fontFamily">@font/inter_semibold</item>
</style> </style>
<!-- Fast scroll thumb appearance -->
<style name="TextAppearance.ThumbIndicator" parent="TextAppearance.FastScroll"> <style name="TextAppearance.ThumbIndicator" parent="TextAppearance.FastScroll">
<item name="android:textSize">18sp</item> <item name="android:textSize">@dimen/text_size_thumb</item>
</style> </style>
<!-- <!-- Style for the general item background -->
<style name="Theme.BottomSheetFix" parent="@style/Theme.Design.BottomSheetDialog"> <style name="ItemSurroundings">
<item name="android:windowIsFloating">false</item> <item name="android:layout_width">match_parent</item>
<item name="android:navigationBarColor">@color/background</item> <item name="android:layout_height">wrap_content</item>
<item name="android:statusBarColor">@android:color/transparent</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> </style>
-->
</resources> </resources>

View file

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

View file

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