diff --git a/app/src/main/java/org/oxycblt/auxio/detail/adapters/AlbumDetailAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/adapters/AlbumDetailAdapter.kt
index 4072f6d57..5b5e3e2aa 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/adapters/AlbumDetailAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/adapters/AlbumDetailAdapter.kt
@@ -16,7 +16,6 @@ import org.oxycblt.auxio.recycler.DiffCallback
import org.oxycblt.auxio.recycler.viewholders.BaseViewHolder
import org.oxycblt.auxio.recycler.viewholders.Highlightable
import org.oxycblt.auxio.ui.Accent
-import org.oxycblt.auxio.ui.applyAccents
import org.oxycblt.auxio.ui.disable
import org.oxycblt.auxio.ui.inflater
import org.oxycblt.auxio.ui.setTextColorResource
@@ -116,9 +115,6 @@ class AlbumDetailAdapter(
binding.playbackModel = playbackModel
binding.lifecycleOwner = lifecycleOwner
- binding.albumShuffleButton.applyAccents(true)
- binding.albumPlayButton.applyAccents(false)
-
if (data.songs.size < 2) {
binding.albumSortButton.disable()
}
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/adapters/ArtistDetailAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/adapters/ArtistDetailAdapter.kt
index 449c57422..aa2f11fe0 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/adapters/ArtistDetailAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/adapters/ArtistDetailAdapter.kt
@@ -16,7 +16,6 @@ import org.oxycblt.auxio.recycler.DiffCallback
import org.oxycblt.auxio.recycler.viewholders.BaseViewHolder
import org.oxycblt.auxio.recycler.viewholders.Highlightable
import org.oxycblt.auxio.ui.Accent
-import org.oxycblt.auxio.ui.applyAccents
import org.oxycblt.auxio.ui.disable
import org.oxycblt.auxio.ui.inflater
import org.oxycblt.auxio.ui.setTextColorResource
@@ -115,9 +114,6 @@ class ArtistDetailAdapter(
binding.playbackModel = playbackModel
binding.lifecycleOwner = lifecycleOwner
- binding.artistShuffleButton.applyAccents(true)
- binding.artistPlayButton.applyAccents(false)
-
if (data.albums.size < 2) {
binding.artistSortButton.disable()
}
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/adapters/GenreDetailAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/adapters/GenreDetailAdapter.kt
index 9e667a6af..4a605e614 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/adapters/GenreDetailAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/adapters/GenreDetailAdapter.kt
@@ -16,7 +16,6 @@ import org.oxycblt.auxio.recycler.DiffCallback
import org.oxycblt.auxio.recycler.viewholders.BaseViewHolder
import org.oxycblt.auxio.recycler.viewholders.Highlightable
import org.oxycblt.auxio.ui.Accent
-import org.oxycblt.auxio.ui.applyAccents
import org.oxycblt.auxio.ui.disable
import org.oxycblt.auxio.ui.inflater
import org.oxycblt.auxio.ui.setTextColorResource
@@ -116,9 +115,6 @@ class GenreDetailAdapter(
binding.playbackModel = playbackModel
binding.lifecycleOwner = lifecycleOwner
- binding.genreShuffleButton.applyAccents(true)
- binding.genrePlayButton.applyAccents(false)
-
if (data.songs.size < 2) {
binding.genreSortButton.disable()
}
diff --git a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt
index cac358325..6d7e4a90d 100644
--- a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt
@@ -1,6 +1,5 @@
package org.oxycblt.auxio.search
-import android.content.res.ColorStateList
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@@ -23,12 +22,9 @@ import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Header
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
-import org.oxycblt.auxio.ui.Accent
import org.oxycblt.auxio.ui.fixAnimInfoLeak
import org.oxycblt.auxio.ui.getSpans
import org.oxycblt.auxio.ui.newMenu
-import org.oxycblt.auxio.ui.toColor
-import org.oxycblt.auxio.ui.toStateList
/**
* A [Fragment] that allows for the searching of the entire music library.
@@ -51,9 +47,6 @@ class SearchFragment : Fragment() {
newMenu(view, data)
}
- // Apply the accents manually. Not going through the mess of converting my app's
- // styling to Material given all the second-and-third-order effects it has.
- val accent = Accent.get().color.toColor(requireContext())
val toolbarParams = binding.searchToolbar.layoutParams as AppBarLayout.LayoutParams
val defaultParams = toolbarParams.scrollFlags
@@ -73,12 +66,6 @@ class SearchFragment : Fragment() {
}
}
- binding.searchTextLayout.apply {
- boxStrokeColor = accent
- hintTextColor = ColorStateList.valueOf(accent)
- setEndIconTintList(R.color.control_color.toStateList(context))
- }
-
binding.searchEditText.addTextChangedListener { text ->
// Run the search with the updated text as the query
searchModel.doSearch(text?.toString() ?: "", requireContext())
diff --git a/app/src/main/java/org/oxycblt/auxio/settings/ui/IntListPrefDialog.kt b/app/src/main/java/org/oxycblt/auxio/settings/ui/IntListPrefDialog.kt
index d3640443a..b103ff3f9 100644
--- a/app/src/main/java/org/oxycblt/auxio/settings/ui/IntListPrefDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/settings/ui/IntListPrefDialog.kt
@@ -1,6 +1,7 @@
package org.oxycblt.auxio.settings.ui
import androidx.appcompat.app.AlertDialog
+import org.oxycblt.auxio.R
class IntListPrefDialog(private val pref: IntListPreference) : LifecycleDialog() {
override fun onConfigDialog(builder: AlertDialog.Builder) {
diff --git a/app/src/main/java/org/oxycblt/auxio/settings/ui/LifecycleDialog.kt b/app/src/main/java/org/oxycblt/auxio/settings/ui/LifecycleDialog.kt
index d0a4ddc6f..2f722b013 100644
--- a/app/src/main/java/org/oxycblt/auxio/settings/ui/LifecycleDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/settings/ui/LifecycleDialog.kt
@@ -4,16 +4,17 @@ import android.app.Dialog
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AlertDialog
+import androidx.appcompat.app.AppCompatDialogFragment
import androidx.fragment.app.DialogFragment
-import org.oxycblt.auxio.R
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
/**
* A wrapper around [DialogFragment] that allows the usage of the standard Auxio lifecycle
* override [onCreateView] and [onDestroyView], but with a proper dialog being created.
*/
-abstract class LifecycleDialog : DialogFragment() {
+abstract class LifecycleDialog : AppCompatDialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
- val builder = AlertDialog.Builder(requireActivity(), R.style.Theme_CustomDialog)
+ val builder = MaterialAlertDialogBuilder(requireActivity(), theme)
onConfigDialog(builder)
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/InterfaceUtils.kt b/app/src/main/java/org/oxycblt/auxio/ui/InterfaceUtils.kt
index 1ab0a83b5..0d6aca79f 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/InterfaceUtils.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/InterfaceUtils.kt
@@ -23,7 +23,6 @@ import androidx.annotation.PluralsRes
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.RecyclerView
-import com.google.android.material.button.MaterialButton
import org.oxycblt.auxio.R
import org.oxycblt.auxio.logE
import kotlin.reflect.KClass
@@ -47,21 +46,6 @@ fun TextView.setTextColorResource(@ColorRes color: Int) {
setTextColor(color.toColor(context))
}
-/**
- * Apply accents to a [MaterialButton] manually.
- * Yes, I could change my theming to Material but that would have so many second-and-third order
- * effects that I *really* dont want to deal with it. This hack works.
- * @param highlighted Whether the MaterialButton has an "Unimportant" style or not.
- * Required because you cant determine a style of a view before API 29
- */
-fun MaterialButton.applyAccents(highlighted: Boolean) {
- if (highlighted) {
- backgroundTintList = Accent.get().getStateList(context)
- } else {
- setTextColorResource(Accent.get().color)
- }
-}
-
// --- CONVENIENCE ---
/**
diff --git a/app/src/main/res/drawable/ui_ripple.xml b/app/src/main/res/drawable/ui_ripple.xml
index 625197467..17e53dd31 100644
--- a/app/src/main/res/drawable/ui_ripple.xml
+++ b/app/src/main/res/drawable/ui_ripple.xml
@@ -1,9 +1,9 @@
+ android:color="?attr/colorControlHighlight">
-
-
+
diff --git a/app/src/main/res/layout-land/item_album_header.xml b/app/src/main/res/layout-land/item_album_header.xml
index 5fb1974c1..3b9d4decd 100644
--- a/app/src/main/res/layout-land/item_album_header.xml
+++ b/app/src/main/res/layout-land/item_album_header.xml
@@ -90,19 +90,18 @@
app:layout_constraintEnd_toStartOf="@+id/album_shuffle_button"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/album_cover"
- tools:textColor="@color/control_color" />
+ app:layout_constraintTop_toBottomOf="@+id/album_cover" />
+ app:layout_constraintTop_toTopOf="@+id/album_play_button" />
+ app:layout_constraintTop_toBottomOf="@+id/artist_image" />
+ app:layout_constraintTop_toTopOf="@+id/artist_play_button" />
+ app:layout_constraintTop_toBottomOf="@+id/genre_image" />
+ app:layout_constraintTop_toTopOf="@+id/genre_play_button" />
+ app:layout_constraintTop_toBottomOf="@+id/album_cover" />
+ app:layout_constraintTop_toTopOf="@+id/album_play_button" />
+ app:layout_constraintTop_toBottomOf="@+id/artist_image" />
+ app:layout_constraintTop_toTopOf="@+id/artist_play_button" />
+ app:layout_constraintTop_toBottomOf="@+id/genre_image" />
+ app:layout_constraintTop_toTopOf="@+id/genre_play_button" />
+ app:layout_constraintTop_toBottomOf="@+id/album_details" />
+ app:layout_constraintTop_toTopOf="@+id/album_play_button" />
+ app:layout_constraintTop_toBottomOf="@+id/artist_counts" />
+ app:layout_constraintTop_toTopOf="@+id/artist_play_button" />
+ app:layout_constraintTop_toBottomOf="@+id/genre_duration" />
+ app:layout_constraintTop_toTopOf="@+id/genre_play_button" />
wrap_content
- true
- true
- - @style/Theme.MaterialComponents
- @color/selection_color
- @font/inter_semibold
- false
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 110af2f0f..19c1ebd76 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,7 +1,7 @@
-
-
+
+
@@ -13,15 +13,28 @@
- none
- false
+
+ - @color/design_default_color_primary
+ - @color/design_default_color_primary
+
- @style/Widget.CustomPopup
- @color/control_color
- - @style/Theme.CustomDialog
- @color/selection_color
- ?attr/colorPrimary
- 0dp
- - @color/background
+
+
+ -
+ com.google.android.material.theme.MaterialComponentsViewInflater
+
+
+ - @style/Theme.CustomDialog
+ - @style/ThemeOverlay.MaterialComponents.Dialog.Alert
+
-
+
+
+
+
+
+
-
+
+
+
-
+
+
+
@@ -179,7 +221,6 @@
- wrap_content
- true
- true
- - @style/Theme.MaterialComponents.DayNight
- @color/selection_color
- @font/inter_semibold
- false