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 @@ - - + - + + + + + + - + + + - + + + @@ -179,7 +221,6 @@ wrap_content true true - @style/Theme.MaterialComponents.DayNight @color/selection_color @font/inter_semibold false