ui: remove edge-to-edge option
Remove the edge-to-edge option, as it turned out to be useless with #149.
This commit is contained in:
parent
84295dcf25
commit
1d66907862
28 changed files with 107 additions and 129 deletions
|
@ -4,15 +4,19 @@
|
|||
|
||||
#### What's New
|
||||
- Folders on external drives can now be excluded on Android Q+ [#134]
|
||||
- Added toggle for edge-to-edge mode [#149]
|
||||
- Playback bar now has a skip action
|
||||
|
||||
#### What's Improved
|
||||
- The toolbar in the home UI now collapses when scrolling
|
||||
- The toolbar layout is now consistent with Material Design 3
|
||||
- Genre parsing now handles multiple integer values and cover/remix indicators (May wipe playback state)
|
||||
- Playback bar now picks the larger inset in case that gesture inset is missing [#149]
|
||||
|
||||
#### Dev/Meta
|
||||
- New translations [Fjuro -> Czech]
|
||||
- Moved music loading to a foreground service
|
||||
- Phased out `ImageButton` for `MaterialButton`
|
||||
- Unified icon sizing
|
||||
|
||||
## v2.3.1
|
||||
|
||||
|
|
|
@ -32,8 +32,6 @@ import org.oxycblt.auxio.music.IndexerService
|
|||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||
import org.oxycblt.auxio.playback.system.PlaybackService
|
||||
import org.oxycblt.auxio.settings.SettingsManager
|
||||
import org.oxycblt.auxio.ui.accent.Accent
|
||||
import org.oxycblt.auxio.util.getColorSafe
|
||||
import org.oxycblt.auxio.util.getSystemBarInsetsCompat
|
||||
import org.oxycblt.auxio.util.isNight
|
||||
import org.oxycblt.auxio.util.logD
|
||||
|
@ -56,13 +54,11 @@ class MainActivity : AppCompatActivity() {
|
|||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
val settingsManager = SettingsManager.getInstance()
|
||||
|
||||
setupTheme(settingsManager.theme, settingsManager.accent, settingsManager.useBlackTheme)
|
||||
setupTheme()
|
||||
|
||||
val binding = ActivityMainBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
setupEdgeToEdge(binding.root, settingsManager.edgeToEdge)
|
||||
setupEdgeToEdge(binding.root)
|
||||
|
||||
logD("Activity created")
|
||||
}
|
||||
|
@ -111,41 +107,30 @@ class MainActivity : AppCompatActivity() {
|
|||
return null
|
||||
}
|
||||
|
||||
private fun setupTheme(theme: Int, accent: Accent, useBlackTheme: Boolean) {
|
||||
private fun setupTheme() {
|
||||
val settingsManager = SettingsManager.getInstance()
|
||||
|
||||
// Disable theme customization above Android 12, as it's far enough in as a version to
|
||||
// the point where most phones should have an automatic option for light/dark theming.
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
|
||||
AppCompatDelegate.setDefaultNightMode(theme)
|
||||
AppCompatDelegate.setDefaultNightMode(settingsManager.theme)
|
||||
} else {
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
|
||||
}
|
||||
|
||||
// The black theme has a completely separate set of styles since style attributes cannot
|
||||
// be modified at runtime.
|
||||
if (isNight && useBlackTheme) {
|
||||
logD("Applying black theme [accent $accent]")
|
||||
setTheme(accent.blackTheme)
|
||||
if (isNight && settingsManager.useBlackTheme) {
|
||||
logD("Applying black theme [accent ${settingsManager.accent}]")
|
||||
setTheme(settingsManager.accent.blackTheme)
|
||||
} else {
|
||||
logD("Applying normal theme [accent $accent]")
|
||||
setTheme(accent.theme)
|
||||
logD("Applying normal theme [accent ${settingsManager.accent}]")
|
||||
setTheme(settingsManager.accent.theme)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupEdgeToEdge(contentView: View, enabled: Boolean) {
|
||||
val fitsSystemWindows = !enabled
|
||||
WindowCompat.setDecorFitsSystemWindows(window, fitsSystemWindows)
|
||||
if (fitsSystemWindows) {
|
||||
// Auxio's theme is normally set up to anticipate edge to edge mode being
|
||||
// enabled. In the case that it is not, we have to update the values during
|
||||
// runtime.
|
||||
val controller = WindowCompat.getInsetsController(window, window.decorView)
|
||||
val black = getColorSafe(android.R.color.black)
|
||||
|
||||
window.statusBarColor = black
|
||||
controller.isAppearanceLightStatusBars = false
|
||||
window.navigationBarColor = black
|
||||
controller.isAppearanceLightNavigationBars = false
|
||||
}
|
||||
private fun setupEdgeToEdge(contentView: View) {
|
||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||
|
||||
contentView.setOnApplyWindowInsetsListener { view, insets ->
|
||||
val bars = insets.getSystemBarInsetsCompat(view)
|
||||
|
|
|
@ -141,13 +141,6 @@ class SettingsListFragment : PreferenceFragmentCompat() {
|
|||
true
|
||||
}
|
||||
}
|
||||
SettingsManager.KEY_EDGE_TO_EDGE -> {
|
||||
onPreferenceChangeListener =
|
||||
Preference.OnPreferenceChangeListener { _, _ ->
|
||||
requireActivity().recreate()
|
||||
true
|
||||
}
|
||||
}
|
||||
SettingsManager.KEY_LIB_TABS -> {
|
||||
onPreferenceClickListener =
|
||||
Preference.OnPreferenceClickListener {
|
||||
|
|
|
@ -62,10 +62,6 @@ class SettingsManager private constructor(context: Context) :
|
|||
}
|
||||
}
|
||||
|
||||
/** Whether edge-to-edge is enabled. */
|
||||
val edgeToEdge: Boolean
|
||||
get() = inner.getBoolean(KEY_EDGE_TO_EDGE, true)
|
||||
|
||||
/**
|
||||
* Whether to display the RepeatMode or the shuffle status on the notification. False if repeat,
|
||||
* true if shuffle.
|
||||
|
@ -308,7 +304,6 @@ class SettingsManager private constructor(context: Context) :
|
|||
const val KEY_THEME = "KEY_THEME2"
|
||||
const val KEY_BLACK_THEME = "KEY_BLACK_THEME"
|
||||
const val KEY_ACCENT = "auxio_accent2"
|
||||
const val KEY_EDGE_TO_EDGE = "auxio_edge"
|
||||
|
||||
const val KEY_LIB_TABS = "auxio_lib_tabs"
|
||||
const val KEY_SHOW_COVERS = "KEY_SHOW_COVERS"
|
||||
|
|
|
@ -50,7 +50,7 @@ import org.oxycblt.auxio.util.getDrawableSafe
|
|||
* of the view size, and corner radius application depending on user preference.
|
||||
* @author OxygenCobalt
|
||||
*
|
||||
* TODO: Add an activation indicator to this view too
|
||||
* TODO: Rework this layout into a total ViewGroup that enables more customization + an indicator
|
||||
*/
|
||||
class StyledImageView
|
||||
@JvmOverloads
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M4.2,5l-0.7,1.9L17.6,12L3,12v8h18v-8.86L4.2,5zM7,17L5,17v-2h2v2zM19,17L9,17v-2h10v2z" />
|
||||
|
|
|
@ -88,23 +88,23 @@
|
|||
|
||||
<org.oxycblt.auxio.ui.IndicatorMaterialButton
|
||||
android:id="@+id/playback_repeat"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:iconTint="@color/sel_accented"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_marginStart="@dimen/spacing_medium"
|
||||
android:contentDescription="@string/desc_change_repeat"
|
||||
app:icon="@drawable/ic_repeat"
|
||||
app:iconTint="@color/sel_accented"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_prev"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_prev" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_prev"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/desc_skip_prev"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_skip_prev"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||
|
@ -126,11 +126,11 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_next"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
android:contentDescription="@string/desc_skip_next"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||
app:layout_constraintEnd_toStartOf="@+id/playback_shuffle"
|
||||
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
||||
|
@ -138,13 +138,13 @@
|
|||
|
||||
<org.oxycblt.auxio.ui.IndicatorMaterialButton
|
||||
android:id="@+id/playback_shuffle"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_shuffle"
|
||||
app:iconTint="@color/sel_accented"
|
||||
android:layout_marginEnd="@dimen/spacing_medium"
|
||||
android:contentDescription="@string/desc_shuffle"
|
||||
app:icon="@drawable/ic_shuffle"
|
||||
app:iconTint="@color/sel_accented"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
||||
|
|
|
@ -86,9 +86,9 @@
|
|||
|
||||
<org.oxycblt.auxio.ui.IndicatorMaterialButton
|
||||
android:id="@+id/playback_repeat"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_marginEnd="@dimen/spacing_large"
|
||||
android:contentDescription="@string/desc_change_repeat"
|
||||
app:icon="@drawable/ic_repeat"
|
||||
|
@ -100,12 +100,12 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_prev"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/desc_skip_prev"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_skip_prev"
|
||||
android:layout_marginEnd="@dimen/spacing_large"
|
||||
android:contentDescription="@string/desc_skip_prev"
|
||||
app:icon="@drawable/ic_skip_prev"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||
|
@ -125,25 +125,25 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_next"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
android:layout_marginStart="@dimen/spacing_large"
|
||||
android:contentDescription="@string/desc_skip_next"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||
|
||||
<org.oxycblt.auxio.ui.IndicatorMaterialButton
|
||||
android:id="@+id/playback_shuffle"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_shuffle"
|
||||
app:iconTint="@color/sel_accented"
|
||||
android:layout_marginStart="@dimen/spacing_large"
|
||||
android:contentDescription="@string/desc_shuffle"
|
||||
app:icon="@drawable/ic_shuffle"
|
||||
app:iconTint="@color/sel_accented"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
||||
app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
|
||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
||||
|
|
|
@ -75,9 +75,9 @@
|
|||
|
||||
<org.oxycblt.auxio.ui.IndicatorMaterialButton
|
||||
android:id="@+id/playback_repeat"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_marginEnd="@dimen/spacing_mid_large"
|
||||
android:contentDescription="@string/desc_change_repeat"
|
||||
app:icon="@drawable/ic_repeat"
|
||||
|
@ -89,12 +89,12 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_prev"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/desc_skip_prev"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_skip_prev"
|
||||
android:layout_marginEnd="@dimen/spacing_mid_large"
|
||||
android:contentDescription="@string/desc_skip_prev"
|
||||
app:icon="@drawable/ic_skip_prev"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||
|
@ -114,25 +114,25 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_next"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
android:layout_marginStart="@dimen/spacing_mid_large"
|
||||
android:contentDescription="@string/desc_skip_next"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
||||
app:layout_constraintTop_toTopOf="@+id/playback_play_pause" />
|
||||
|
||||
<org.oxycblt.auxio.ui.IndicatorMaterialButton
|
||||
android:id="@+id/playback_shuffle"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_shuffle"
|
||||
app:iconTint="@color/sel_accented"
|
||||
android:layout_marginStart="@dimen/spacing_mid_large"
|
||||
android:contentDescription="@string/desc_shuffle"
|
||||
app:icon="@drawable/ic_shuffle"
|
||||
app:iconTint="@color/sel_accented"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
||||
app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
|
||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
||||
|
|
|
@ -18,11 +18,11 @@
|
|||
<TextView
|
||||
android:id="@+id/playback_song"
|
||||
style="@style/Widget.Auxio.TextView.Primary.Compact"
|
||||
android:textAppearance="@style/TextAppearance.Auxio.LabelLarger"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/spacing_small"
|
||||
android:layout_marginEnd="@dimen/spacing_small"
|
||||
android:textAppearance="@style/TextAppearance.Auxio.LabelLarger"
|
||||
app:layout_constraintBottom_toTopOf="@+id/playback_info"
|
||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||
|
@ -33,12 +33,12 @@
|
|||
<TextView
|
||||
android:id="@+id/playback_info"
|
||||
style="@style/Widget.Auxio.TextView.Secondary.Compact"
|
||||
android:textAppearance="@style/TextAppearance.Auxio.LabelLarge"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/spacing_small"
|
||||
android:layout_marginEnd="@dimen/spacing_small"
|
||||
android:ellipsize="end"
|
||||
android:textAppearance="@style/TextAppearance.Auxio.LabelLarge"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_cover"
|
||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||
app:layout_constraintStart_toEndOf="@+id/playback_cover"
|
||||
|
@ -58,9 +58,9 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_next"
|
||||
style="@style/Widget.Auxio.Button.Icon.Medium"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Medium"
|
||||
android:layout_marginEnd="@dimen/spacing_tiny"
|
||||
android:contentDescription="@string/desc_play_pause"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
|
|
|
@ -89,9 +89,9 @@
|
|||
|
||||
<org.oxycblt.auxio.ui.IndicatorMaterialButton
|
||||
android:id="@+id/playback_repeat"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_marginStart="@dimen/spacing_medium"
|
||||
android:contentDescription="@string/desc_change_repeat"
|
||||
app:icon="@drawable/ic_repeat"
|
||||
|
@ -103,10 +103,10 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_prev"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/desc_skip_prev"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_skip_prev"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||
|
@ -129,11 +129,11 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_next"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
android:contentDescription="@string/desc_skip_next"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||
app:layout_constraintEnd_toStartOf="@+id/playback_shuffle"
|
||||
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
||||
|
@ -141,13 +141,13 @@
|
|||
|
||||
<org.oxycblt.auxio.ui.IndicatorMaterialButton
|
||||
android:id="@+id/playback_shuffle"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_shuffle"
|
||||
app:iconTint="@color/sel_accented"
|
||||
android:layout_marginEnd="@dimen/spacing_medium"
|
||||
android:contentDescription="@string/desc_shuffle"
|
||||
app:icon="@drawable/ic_shuffle"
|
||||
app:iconTint="@color/sel_accented"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
||||
app:layout_constraintEnd_toEndOf="@+id/playback_seek_bar"
|
||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
||||
|
|
|
@ -12,11 +12,11 @@
|
|||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/home_toolbar"
|
||||
style="@style/Widget.Auxio.Toolbar.Actions"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Toolbar.Actions"
|
||||
app:menu="@menu/menu_home"
|
||||
app:layout_scrollFlags="scroll|enterAlways"
|
||||
app:menu="@menu/menu_home"
|
||||
app:title="@string/info_app_name" />
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
|
@ -49,8 +49,8 @@
|
|||
android:id="@+id/home_indexing_status"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="@dimen/spacing_medium"
|
||||
android:gravity="center"
|
||||
android:textAppearance="@style/TextAppearance.Auxio.BodyLarge"
|
||||
app:layout_constraintBottom_toTopOf="@+id/home_indexing_action"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
|
|
|
@ -56,9 +56,9 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_next"
|
||||
style="@style/Widget.Auxio.Button.Icon.Medium"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Medium"
|
||||
android:layout_marginEnd="@dimen/spacing_tiny"
|
||||
android:contentDescription="@string/desc_play_pause"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
|
|
|
@ -72,9 +72,9 @@
|
|||
|
||||
<org.oxycblt.auxio.ui.IndicatorMaterialButton
|
||||
android:id="@+id/playback_repeat"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_marginStart="@dimen/spacing_medium"
|
||||
android:contentDescription="@string/desc_change_repeat"
|
||||
app:icon="@drawable/ic_repeat"
|
||||
|
@ -85,10 +85,10 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_prev"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/desc_skip_prev"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_skip_prev"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||
app:layout_constraintEnd_toStartOf="@+id/playback_play_pause"
|
||||
|
@ -110,11 +110,11 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/playback_skip_next"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
android:contentDescription="@string/desc_skip_next"
|
||||
app:icon="@drawable/ic_skip_next"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_play_pause"
|
||||
app:layout_constraintEnd_toStartOf="@+id/playback_shuffle"
|
||||
app:layout_constraintStart_toEndOf="@+id/playback_play_pause"
|
||||
|
@ -122,13 +122,13 @@
|
|||
|
||||
<org.oxycblt.auxio.ui.IndicatorMaterialButton
|
||||
android:id="@+id/playback_shuffle"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Large"
|
||||
app:icon="@drawable/ic_shuffle"
|
||||
app:iconTint="@color/sel_accented"
|
||||
android:layout_marginEnd="@dimen/spacing_medium"
|
||||
android:contentDescription="@string/desc_shuffle"
|
||||
app:icon="@drawable/ic_shuffle"
|
||||
app:iconTint="@color/sel_accented"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:padding="@dimen/spacing_small"
|
||||
android:theme="@style/ThemeOverlay.Accent">
|
||||
|
||||
|
|
|
@ -26,10 +26,10 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/excluded_clear"
|
||||
style="@style/Widget.Auxio.Button.Icon.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/spacing_button_dialog"
|
||||
style="@style/Widget.Auxio.Button.Icon.Small"
|
||||
android:contentDescription="@string/desc_blacklist_delete"
|
||||
app:icon="@drawable/ic_delete"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
|
|
@ -63,11 +63,11 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/song_drag_handle"
|
||||
style="@style/Widget.Auxio.Button.Icon.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/Widget.Auxio.Button.Icon.Small"
|
||||
android:contentDescription="@string/desc_queue_handle"
|
||||
android:layout_marginEnd="@dimen/spacing_tiny"
|
||||
android:contentDescription="@string/desc_queue_handle"
|
||||
app:icon="@drawable/ic_handle"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/song_album_cover"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
style="@style/Widget.Auxio.Button.Icon.Small"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/lbl_sort"
|
||||
android:layout_marginEnd="@dimen/spacing_tiny"
|
||||
android:contentDescription="@string/lbl_sort"
|
||||
app:icon="@drawable/ic_sort"
|
||||
app:layout_constraintBottom_toTopOf="@id/header_divider"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/spacing_medium"
|
||||
android:layout_marginTop="@dimen/spacing_small"
|
||||
android:layout_marginBottom="@dimen/spacing_small"
|
||||
android:layout_marginEnd="@dimen/spacing_medium"
|
||||
android:layout_marginBottom="@dimen/spacing_small"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
android:paddingStart="@dimen/spacing_medium"
|
||||
|
@ -31,10 +31,10 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/tab_drag_handle"
|
||||
android:layout_marginEnd="@dimen/spacing_button_dialog"
|
||||
style="@style/Widget.Auxio.Button.Icon.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/spacing_button_dialog"
|
||||
android:contentDescription="@string/desc_tab_handle"
|
||||
app:icon="@drawable/ic_handle"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tab_icon"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/seek_bar_slider"
|
||||
|
@ -21,22 +21,22 @@
|
|||
android:id="@+id/seek_bar_position"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|start"
|
||||
android:layout_marginStart="@dimen/spacing_medium"
|
||||
android:layout_marginBottom="@dimen/spacing_tiny"
|
||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||
android:textColor="@color/sel_accented_secondary"
|
||||
android:layout_marginBottom="@dimen/spacing_tiny"
|
||||
android:layout_gravity="bottom|start"
|
||||
tools:text="11:38" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/seek_bar_duration"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_marginEnd="@dimen/spacing_medium"
|
||||
android:layout_marginBottom="@dimen/spacing_tiny"
|
||||
android:textAppearance="@style/TextAppearance.Auxio.BodyMedium"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:layout_gravity="bottom|end"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/playback_seek_bar"
|
||||
tools:text="16:16" />
|
||||
|
|
|
@ -1,24 +1,29 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="Widget.Auxio.Toolbar.Actions" parent="Widget.Auxio.Toolbar.Base">
|
||||
<item name="android:layout_marginEnd">@dimen/spacing_tiny_inv</item>
|
||||
</style>
|
||||
\
|
||||
|
||||
<style name="Widget.Auxio.Toolbar.Icon" parent="Widget.Auxio.Toolbar.Base">
|
||||
<item name="navigationIcon">@drawable/ic_back</item>
|
||||
<item name="android:layout_marginStart">@dimen/spacing_small_inv</item>
|
||||
</style>
|
||||
\
|
||||
|
||||
<style name="Widget.Auxio.Toolbar.Icon.Actions" parent="Widget.Auxio.Toolbar.Actions">
|
||||
<item name="navigationIcon">@drawable/ic_back</item>
|
||||
<item name="android:layout_marginStart">@dimen/spacing_small_inv</item>
|
||||
</style>
|
||||
\
|
||||
|
||||
<style name="Widget.Auxio.Toolbar.Icon.Down" parent="Widget.Auxio.Toolbar.Base">
|
||||
<item name="navigationIcon">@drawable/ic_down</item>
|
||||
<item name="android:layout_marginStart">@dimen/spacing_small_inv</item>
|
||||
</style>
|
||||
\
|
||||
|
||||
<style name="Widget.Auxio.Toolbar.Icon.Down.Actions" parent="Widget.Auxio.Toolbar.Actions">
|
||||
<item name="navigationIcon">@drawable/ic_down</item>
|
||||
<item name="android:layout_marginStart">@dimen/spacing_small_inv</item>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="Widget.Auxio.RecyclerView.WithAdaptiveFab" parent="">
|
||||
<item name="android:paddingBottom">@dimen/recycler_fab_space_large</item>
|
||||
</style>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="Theme.Widget" parent="@android:style/Theme.DeviceDefault.DayNight">
|
||||
<item name="colorSurface">@color/widget_surface</item>
|
||||
<item name="colorPrimary">?android:attr/colorAccent</item>
|
||||
|
|
|
@ -76,8 +76,6 @@
|
|||
<string name="set_accent">Color scheme</string>
|
||||
<string name="set_black_mode">Black theme</string>
|
||||
<string name="set_black_mode_desc">Use a pure-black dark theme</string>
|
||||
<string name="set_edge_to_edge">Edge-to-edge</string>
|
||||
<string name="set_edge_to_edge_desc">May not work on all devices</string>
|
||||
|
||||
<string name="set_display">Display</string>
|
||||
<string name="set_lib_tabs">Library tabs</string>
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
Hacks around the incorrectly-sized navigation icon in the Toolbar, changing it from
|
||||
56dp to 48dp.
|
||||
-->
|
||||
<style name="Widget.Auxio.Toolbar.Navigation" parent="@style/Widget.AppCompat.Toolbar.Button.Navigation">
|
||||
<style name="Widget.Auxio.Toolbar.Navigation" parent="Widget.AppCompat.Toolbar.Button.Navigation">
|
||||
<item name="android:minWidth">@dimen/size_btn_small</item>
|
||||
</style>
|
||||
|
||||
|
@ -90,7 +90,7 @@
|
|||
Hacks around the old overflow button that was deliberately downsized to 36dp
|
||||
(presumably for compat with older devices)
|
||||
-->
|
||||
<style name="Widget.Auxio.Button.Overflow" parent="@style/Widget.AppCompat.ActionButton.Overflow">
|
||||
<style name="Widget.Auxio.Button.Overflow" parent="Widget.AppCompat.ActionButton.Overflow">
|
||||
<item name="android:minWidth">@dimen/size_btn_small</item>
|
||||
<item name="android:minHeight">@dimen/size_btn_small</item>
|
||||
<item name="android:paddingStart">0dp</item>
|
||||
|
|
|
@ -21,18 +21,22 @@
|
|||
<item name="android:layout_marginEnd">4dp</item>
|
||||
</style>
|
||||
\
|
||||
|
||||
<style name="Widget.Auxio.Toolbar.Icon" parent="Widget.Auxio.Toolbar.Base">
|
||||
<item name="navigationIcon">@drawable/ic_back</item>
|
||||
</style>
|
||||
\
|
||||
|
||||
<style name="Widget.Auxio.Toolbar.Icon.Actions" parent="Widget.Auxio.Toolbar.Actions">
|
||||
<item name="navigationIcon">@drawable/ic_back</item>
|
||||
</style>
|
||||
\
|
||||
|
||||
<style name="Widget.Auxio.Toolbar.Icon.Down" parent="Widget.Auxio.Toolbar.Base">
|
||||
<item name="navigationIcon">@drawable/ic_down</item>
|
||||
</style>
|
||||
\
|
||||
|
||||
<style name="Widget.Auxio.Toolbar.Icon.Down.Actions" parent="Widget.Auxio.Toolbar.Actions">
|
||||
<item name="navigationIcon">@drawable/ic_down</item>
|
||||
</style>
|
||||
|
|
|
@ -27,14 +27,6 @@
|
|||
app:summary="@string/set_black_mode_desc"
|
||||
app:title="@string/set_black_mode" />
|
||||
|
||||
<org.oxycblt.auxio.settings.pref.M3SwitchPreference
|
||||
app:allowDividerBelow="false"
|
||||
app:defaultValue="true"
|
||||
app:iconSpaceReserved="false"
|
||||
app:key="auxio_edge"
|
||||
app:summary="@string/set_edge_to_edge_desc"
|
||||
app:title="@string/set_edge_to_edge" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
|
|
Loading…
Reference in a new issue