styles: refactor style methodology

Refactor the styling again to make all styles start with the Auxio
prefix. Also try to phase out the usage of layout_width and
layout_height in most places, since those can cause a lot of
frustration if they aren't used in the layout they are expected in.
This commit is contained in:
OxygenCobalt 2021-09-14 20:16:55 -06:00
parent d16c1099bf
commit 443c26fe98
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
47 changed files with 568 additions and 428 deletions

View file

@ -22,7 +22,7 @@
android:label="@string/info_app_name" android:label="@string/info_app_name"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.Base"> android:theme="@style/Theme.Auxio.App">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"

View file

@ -33,47 +33,47 @@ import org.oxycblt.auxio.util.resolveStateList
* A list of all possible accents. * A list of all possible accents.
*/ */
val ACCENTS = arrayOf( val ACCENTS = arrayOf(
Accent(R.color.red, R.style.Theme_Red, R.style.Theme_Red_Black, R.string.clr_red), Accent(R.color.red, R.style.Theme_Auxio_Red, R.style.Theme_Auxio_Black_Red, R.string.clr_red),
Accent(R.color.pink, R.style.Theme_Pink, R.style.Theme_Pink_Black, R.string.clr_pink), Accent(R.color.pink, R.style.Theme_Auxio_Pink, R.style.Theme_Auxio_Black_Pink, R.string.clr_pink),
Accent(R.color.purple, R.style.Theme_Purple, R.style.Theme_Purple_Black, R.string.clr_purple), Accent(R.color.purple, R.style.Theme_Auxio_Purple, R.style.Theme_Auxio_Black_Purple, R.string.clr_purple),
Accent( Accent(
R.color.deep_purple, R.color.deep_purple,
R.style.Theme_DeepPurple, R.style.Theme_Auxio_DeepPurple,
R.style.Theme_DeepPurple_Black, R.style.Theme_Auxio_Black_DeepPurple,
R.string.clr_deep_purple R.string.clr_deep_purple
), ),
Accent(R.color.indigo, R.style.Theme_Indigo, R.style.Theme_Indigo_Black, R.string.clr_indigo), Accent(R.color.indigo, R.style.Theme_Auxio_Indigo, R.style.Theme_Auxio_Black_Indigo, R.string.clr_indigo),
Accent(R.color.blue, R.style.Theme_Blue, R.style.Theme_Blue_Black, R.string.clr_blue), Accent(R.color.blue, R.style.Theme_Auxio_Blue, R.style.Theme_Auxio_Black_Blue, R.string.clr_blue),
Accent( Accent(
R.color.light_blue, R.color.light_blue,
R.style.Theme_LightBlue, R.style.Theme_Auxio_LightBlue,
R.style.Theme_LightBlue_Black, R.style.Theme_Auxio_Black_LightBlue,
R.string.clr_light_blue R.string.clr_light_blue
), ),
Accent(R.color.cyan, R.style.Theme_Cyan, R.style.Theme_Cyan_Black, R.string.clr_cyan), Accent(R.color.cyan, R.style.Theme_Auxio_Cyan, R.style.Theme_Auxio_Black_Cyan, R.string.clr_cyan),
Accent(R.color.teal, R.style.Theme_Teal, R.style.Theme_Teal_Black, R.string.clr_teal), Accent(R.color.teal, R.style.Theme_Auxio_Teal, R.style.Theme_Auxio_Black_Teal, R.string.clr_teal),
Accent(R.color.green, R.style.Theme_Green, R.style.Theme_Green_Black, R.string.clr_green), Accent(R.color.green, R.style.Theme_Auxio_Green, R.style.Theme_Auxio_Black_Green, R.string.clr_green),
Accent( Accent(
R.color.light_green, R.color.light_green,
R.style.Theme_LightGreen, R.style.Theme_Auxio_LightGreen,
R.style.Theme_LightGreen_Black, R.style.Theme_Auxio_Black_LightGreen,
R.string.clr_light_green R.string.clr_light_green
), ),
Accent(R.color.lime, R.style.Theme_Lime, R.style.Theme_Lime_Black, R.string.clr_lime), Accent(R.color.lime, R.style.Theme_Auxio_Lime, R.style.Theme_Auxio_Black_Lime, R.string.clr_lime),
Accent(R.color.yellow, R.style.Theme_Yellow, R.style.Theme_Yellow_Black, R.string.clr_yellow), Accent(R.color.yellow, R.style.Theme_Auxio_Yellow, R.style.Theme_Auxio_Black_Yellow, R.string.clr_yellow),
Accent(R.color.orange, R.style.Theme_Orange, R.style.Theme_Orange_Black, R.string.clr_orange), Accent(R.color.orange, R.style.Theme_Auxio_Orange, R.style.Theme_Auxio_Black_Orange, R.string.clr_orange),
Accent( Accent(
R.color.deep_orange, R.color.deep_orange,
R.style.Theme_DeepOrange, R.style.Theme_Auxio_DeepOrange,
R.style.Theme_DeepOrange_Black, R.style.Theme_Auxio_Black_DeepOrange,
R.string.clr_deep_orange R.string.clr_deep_orange
), ),
Accent(R.color.brown, R.style.Theme_Brown, R.style.Theme_Brown_Black, R.string.clr_label_brown), Accent(R.color.brown, R.style.Theme_Auxio_Brown, R.style.Theme_Auxio_Brown, R.string.clr_label_brown),
Accent(R.color.grey, R.style.Theme_Grey, R.style.Theme_Grey_Black, R.string.clr_label_grey), Accent(R.color.grey, R.style.Theme_Auxio_Grey, R.style.Theme_Auxio_Black_Grey, R.string.clr_label_grey),
Accent( Accent(
R.color.blue_grey, R.color.blue_grey,
R.style.Theme_BlueGrey, R.style.Theme_Auxio_BlueGrey,
R.style.Theme_BlueGrey_Black, R.style.Theme_Auxio_Black_BlueGrey,
R.string.clr_blue_grey R.string.clr_blue_grey
), ),
) )

View file

@ -20,7 +20,6 @@ package org.oxycblt.auxio.playback.system
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Build
import android.os.SystemClock import android.os.SystemClock
import android.support.v4.media.MediaMetadataCompat import android.support.v4.media.MediaMetadataCompat
import android.support.v4.media.session.MediaSessionCompat import android.support.v4.media.session.MediaSessionCompat
@ -30,8 +29,6 @@ import org.oxycblt.auxio.coil.loadBitmap
import org.oxycblt.auxio.music.Song import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.state.LoopMode import org.oxycblt.auxio.playback.state.LoopMode
import org.oxycblt.auxio.playback.state.PlaybackStateManager import org.oxycblt.auxio.playback.state.PlaybackStateManager
import org.oxycblt.auxio.settings.SettingsManager
import org.oxycblt.auxio.util.logD
/** /**
* Nightmarish class that coordinates communication between [MediaSessionCompat], [Player], * Nightmarish class that coordinates communication between [MediaSessionCompat], [Player],

View file

@ -42,7 +42,7 @@ class IntListPrefDialog : LifecycleDialog() {
val titleView = AppCompatTextView( val titleView = AppCompatTextView(
ContextThemeWrapper( ContextThemeWrapper(
requireContext(), requireContext(),
R.style.Widget_TextView_Dialog_Title R.style.Widget_Auxio_Dialog_TextView
) )
).apply { ).apply {
text = pref.title text = pref.title

View file

@ -34,7 +34,7 @@ enum class DisplayMode {
private const val CONST_SHOW_ARTISTS = 0xA109 private const val CONST_SHOW_ARTISTS = 0xA109
private const val CONST_SHOW_ALBUMS = 0xA10A private const val CONST_SHOW_ALBUMS = 0xA10A
private const val CONST_SHOW_SONGS = 0xA10B private const val CONST_SHOW_SONGS = 0xA10B
fun toFilterInt(value: DisplayMode?): Int { fun toFilterInt(value: DisplayMode?): Int {
return when (value) { return when (value) {
SHOW_SONGS -> CONST_SHOW_SONGS SHOW_SONGS -> CONST_SHOW_SONGS

View file

@ -28,7 +28,7 @@
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/playback_toolbar" android:id="@+id/playback_toolbar"
style="@style/Widget.Toolbar.Icon.Down" style="@style/Widget.Auxio.Toolbar.Icon.Down"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:menu="@menu/menu_playback" app:menu="@menu/menu_playback"
@ -36,7 +36,7 @@
<ImageView <ImageView
android:id="@+id/playback_cover" android:id="@+id/playback_cover"
style="@style/Widget.ImageView.Full" style="@style/Widget.Auxio.Image.Full"
android:layout_margin="@dimen/spacing_large" android:layout_margin="@dimen/spacing_large"
android:contentDescription="@{@string/desc_album_cover(song.name)}" android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}" app:albumArt="@{song}"
@ -63,7 +63,7 @@
<TextView <TextView
android:id="@+id/playback_song" android:id="@+id/playback_song"
style="@style/Widget.TextView.Primary" style="@style/Widget.Auxio.TextView.Primary"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song)}" android:onClick="@{() -> detailModel.navToItem(playbackModel.song)}"
@ -74,7 +74,9 @@
<TextView <TextView
android:id="@+id/playback_artist" android:id="@+id/playback_artist"
style="@style/Widget.TextView.Secondary" style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_mid_large" android:layout_marginStart="@dimen/spacing_mid_large"
android:layout_marginEnd="@dimen/spacing_mid_large" android:layout_marginEnd="@dimen/spacing_mid_large"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album.artist)}" android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album.artist)}"
@ -87,7 +89,9 @@
<TextView <TextView
android:id="@+id/playback_album" android:id="@+id/playback_album"
style="@style/Widget.TextView.Secondary" style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_mid_large" android:layout_marginStart="@dimen/spacing_mid_large"
android:layout_marginEnd="@dimen/spacing_mid_large" android:layout_marginEnd="@dimen/spacing_mid_large"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album)}" android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album)}"
@ -100,7 +104,7 @@
<SeekBar <SeekBar
android:id="@+id/playback_seek_bar" android:id="@+id/playback_seek_bar"
style="@style/Widget.SeekBar.Full" style="@style/Widget.Auxio.SeekBar"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_medium" android:layout_marginTop="@dimen/spacing_medium"
@ -134,7 +138,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_loop" android:id="@+id/playback_loop"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_small" android:layout_marginStart="@dimen/spacing_small"
android:contentDescription="@string/desc_change_loop" android:contentDescription="@string/desc_change_loop"
android:onClick="@{() -> playbackModel.incrementLoopStatus()}" android:onClick="@{() -> playbackModel.incrementLoopStatus()}"
@ -146,7 +152,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_skip_prev" android:id="@+id/playback_skip_prev"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_skip_prev" android:contentDescription="@string/desc_skip_prev"
android:onClick="@{() -> playbackModel.skipPrev()}" android:onClick="@{() -> playbackModel.skipPrev()}"
android:src="@drawable/ic_skip_prev" android:src="@drawable/ic_skip_prev"
@ -157,9 +165,15 @@
<ImageButton <ImageButton
android:id="@+id/playback_play_pause" android:id="@+id/playback_play_pause"
style="@style/Widget.Component.Playback.PlayPause" style="@style/Widget.Auxio.Button.Circular"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_medium"
android:layout_marginTop="@dimen/spacing_medium"
android:layout_marginEnd="@dimen/spacing_medium"
android:contentDescription="@string/desc_play_pause" android:contentDescription="@string/desc_play_pause"
android:onClick="@{() -> playbackModel.invertPlayingStatus()}" android:onClick="@{() -> playbackModel.invertPlayingStatus()}"
android:src="@drawable/sel_playing_state"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/playback_song_duration" app:layout_constraintEnd_toEndOf="@+id/playback_song_duration"
app:layout_constraintStart_toStartOf="@+id/playback_duration_current" app:layout_constraintStart_toStartOf="@+id/playback_duration_current"
@ -168,7 +182,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_skip_next" android:id="@+id/playback_skip_next"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_skip_next" android:contentDescription="@string/desc_skip_next"
android:onClick="@{() -> playbackModel.skipNext()}" android:onClick="@{() -> playbackModel.skipNext()}"
android:src="@drawable/ic_skip_next" android:src="@drawable/ic_skip_next"
@ -179,15 +195,17 @@
<ImageButton <ImageButton
android:id="@+id/playback_shuffle" android:id="@+id/playback_shuffle"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_small" android:layout_marginEnd="@dimen/spacing_small"
android:contentDescription="@string/desc_shuffle" android:contentDescription="@string/desc_shuffle"
android:onClick="@{() -> playbackModel.invertShuffleStatus()}" android:onClick="@{() -> playbackModel.invertShuffleStatus()}"
android:src="@drawable/ic_shuffle" android:src="@drawable/ic_shuffle"
app:tint="@color/sel_accented"
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next" app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
app:layout_constraintEnd_toEndOf="@+id/playback_song_duration" app:layout_constraintEnd_toEndOf="@+id/playback_song_duration"
app:layout_constraintTop_toTopOf="@+id/playback_skip_next" /> app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
app:tint="@color/sel_accented" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View file

@ -12,17 +12,17 @@
<ImageView <ImageView
android:id="@+id/detail_cover" android:id="@+id/detail_cover"
style="@style/Widget.ImageView.Full" style="@style/Widget.Auxio.Image.Full"
android:layout_width="@dimen/size_cover_huge_land" android:layout_width="@dimen/size_cover_huge_land"
android:layout_height="@dimen/size_cover_huge_land" android:layout_height="@dimen/size_cover_huge_land"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_artist" tools:ignore="ContentDescription"
tools:ignore="ContentDescription" /> tools:src="@drawable/ic_artist" />
<TextView <TextView
android:id="@+id/detail_name" android:id="@+id/detail_name"
style="@style/Widget.TextView.Detail" style="@style/Widget.Auxio.TextView.Detail"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_medium" android:layout_marginStart="@dimen/spacing_medium"
@ -63,7 +63,9 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/detail_play_button" android:id="@+id/detail_play_button"
style="@style/Widget.Button.Vibrant.Secondary" style="@style/Widget.Auxio.Button.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_small" android:layout_marginTop="@dimen/spacing_small"
android:layout_marginEnd="@dimen/spacing_small" android:layout_marginEnd="@dimen/spacing_small"
android:text="@string/lbl_play" android:text="@string/lbl_play"
@ -74,7 +76,9 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/detail_shuffle_button" android:id="@+id/detail_shuffle_button"
style="@style/Widget.Button.Vibrant.Primary" style="@style/Widget.Auxio.Button.Primary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_small" android:layout_marginStart="@dimen/spacing_small"
android:backgroundTint="?attr/colorAccent" android:backgroundTint="?attr/colorAccent"
android:text="@string/lbl_shuffle" android:text="@string/lbl_shuffle"

View file

@ -10,17 +10,17 @@
<ImageView <ImageView
android:id="@+id/detail_cover" android:id="@+id/detail_cover"
style="@style/Widget.Auxio.Image.Full"
android:layout_width="@dimen/size_cover_huge" android:layout_width="@dimen/size_cover_huge"
android:layout_height="@dimen/size_cover_huge" android:layout_height="@dimen/size_cover_huge"
style="@style/Widget.ImageView.Full"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_artist" tools:ignore="ContentDescription"
tools:ignore="ContentDescription" /> tools:src="@drawable/ic_artist" />
<TextView <TextView
android:id="@+id/detail_name" android:id="@+id/detail_name"
style="@style/Widget.TextView.Detail" style="@style/Widget.Auxio.TextView.Detail"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_medium" android:layout_marginStart="@dimen/spacing_medium"
@ -60,10 +60,12 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/detail_play_button" android:id="@+id/detail_play_button"
style="@style/Widget.Button.Vibrant.Secondary" style="@style/Widget.Auxio.Button.Secondary"
android:text="@string/lbl_play" android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_small" android:layout_marginTop="@dimen/spacing_small"
android:layout_marginEnd="@dimen/spacing_small" android:layout_marginEnd="@dimen/spacing_small"
android:text="@string/lbl_play"
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button" app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
app:layout_constraintHorizontal_bias="0.5" app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@ -71,10 +73,12 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/detail_shuffle_button" android:id="@+id/detail_shuffle_button"
style="@style/Widget.Button.Vibrant.Primary" style="@style/Widget.Auxio.Button.Primary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_small"
android:backgroundTint="?attr/colorAccent" android:backgroundTint="?attr/colorAccent"
android:text="@string/lbl_shuffle" android:text="@string/lbl_shuffle"
android:layout_marginStart="@dimen/spacing_small"
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button" app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/detail_play_button" app:layout_constraintStart_toEndOf="@+id/detail_play_button"

View file

@ -28,7 +28,7 @@
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/playback_toolbar" android:id="@+id/playback_toolbar"
style="@style/Widget.Toolbar.Icon.Down" style="@style/Widget.Auxio.Toolbar.Icon.Down"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:menu="@menu/menu_playback" app:menu="@menu/menu_playback"
@ -36,7 +36,7 @@
<ImageView <ImageView
android:id="@+id/playback_cover" android:id="@+id/playback_cover"
style="@style/Widget.ImageView.Full" style="@style/Widget.Auxio.Image.Full"
android:layout_marginStart="@dimen/spacing_large" android:layout_marginStart="@dimen/spacing_large"
android:layout_marginTop="@dimen/spacing_insane" android:layout_marginTop="@dimen/spacing_insane"
android:layout_marginBottom="@dimen/spacing_insane" android:layout_marginBottom="@dimen/spacing_insane"
@ -64,7 +64,7 @@
<TextView <TextView
android:id="@+id/playback_song" android:id="@+id/playback_song"
style="@style/Widget.TextView.Primary" style="@style/Widget.Auxio.TextView.Primary"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song)}" android:onClick="@{() -> detailModel.navToItem(playbackModel.song)}"
@ -75,7 +75,9 @@
<TextView <TextView
android:id="@+id/playback_artist" android:id="@+id/playback_artist"
style="@style/Widget.TextView.Secondary" style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_mid_large" android:layout_marginStart="@dimen/spacing_mid_large"
android:layout_marginEnd="@dimen/spacing_mid_large" android:layout_marginEnd="@dimen/spacing_mid_large"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album.artist)}" android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album.artist)}"
@ -88,7 +90,9 @@
<TextView <TextView
android:id="@+id/playback_album" android:id="@+id/playback_album"
style="@style/Widget.TextView.Secondary" style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_mid_large" android:layout_marginStart="@dimen/spacing_mid_large"
android:layout_marginEnd="@dimen/spacing_mid_large" android:layout_marginEnd="@dimen/spacing_mid_large"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album)}" android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album)}"
@ -101,7 +105,7 @@
<SeekBar <SeekBar
android:id="@+id/playback_seek_bar" android:id="@+id/playback_seek_bar"
style="@style/Widget.SeekBar.Full" style="@style/Widget.Auxio.SeekBar"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_medium" android:layout_marginTop="@dimen/spacing_medium"
@ -135,7 +139,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_loop" android:id="@+id/playback_loop"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_large" android:layout_marginEnd="@dimen/spacing_large"
android:contentDescription="@string/desc_change_loop" android:contentDescription="@string/desc_change_loop"
android:onClick="@{() -> playbackModel.incrementLoopStatus()}" android:onClick="@{() -> playbackModel.incrementLoopStatus()}"
@ -147,7 +153,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_skip_prev" android:id="@+id/playback_skip_prev"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_large" android:layout_marginEnd="@dimen/spacing_large"
android:contentDescription="@string/desc_skip_prev" android:contentDescription="@string/desc_skip_prev"
android:onClick="@{() -> playbackModel.skipPrev()}" android:onClick="@{() -> playbackModel.skipPrev()}"
@ -158,9 +166,15 @@
<ImageButton <ImageButton
android:id="@+id/playback_play_pause" android:id="@+id/playback_play_pause"
style="@style/Widget.Component.Playback.PlayPause" style="@style/Widget.Auxio.Button.Circular"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_medium"
android:layout_marginTop="@dimen/spacing_medium"
android:layout_marginEnd="@dimen/spacing_medium"
android:contentDescription="@string/desc_play_pause" android:contentDescription="@string/desc_play_pause"
android:onClick="@{() -> playbackModel.invertPlayingStatus()}" android:onClick="@{() -> playbackModel.invertPlayingStatus()}"
android:src="@drawable/sel_playing_state"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/playback_song_container_duration" app:layout_constraintEnd_toEndOf="@+id/playback_song_container_duration"
app:layout_constraintStart_toStartOf="@+id/playback_duration_current" app:layout_constraintStart_toStartOf="@+id/playback_duration_current"
@ -169,7 +183,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_skip_next" android:id="@+id/playback_skip_next"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_large" android:layout_marginStart="@dimen/spacing_large"
android:contentDescription="@string/desc_skip_next" android:contentDescription="@string/desc_skip_next"
android:onClick="@{() -> playbackModel.skipNext()}" android:onClick="@{() -> playbackModel.skipNext()}"
@ -180,15 +196,17 @@
<ImageButton <ImageButton
android:id="@+id/playback_shuffle" android:id="@+id/playback_shuffle"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_large" android:layout_marginStart="@dimen/spacing_large"
android:contentDescription="@string/desc_shuffle" android:contentDescription="@string/desc_shuffle"
android:onClick="@{() -> playbackModel.invertShuffleStatus()}" android:onClick="@{() -> playbackModel.invertShuffleStatus()}"
android:src="@drawable/ic_shuffle" android:src="@drawable/ic_shuffle"
app:tint="@color/sel_accented"
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next" app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
app:layout_constraintStart_toEndOf="@+id/playback_skip_next" app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
app:layout_constraintTop_toTopOf="@+id/playback_skip_next" /> app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
app:tint="@color/sel_accented" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View file

@ -28,7 +28,7 @@
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/playback_toolbar" android:id="@+id/playback_toolbar"
style="@style/Widget.Toolbar.Icon.Down" style="@style/Widget.Auxio.Toolbar.Icon.Down"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:menu="@menu/menu_playback" app:menu="@menu/menu_playback"
@ -36,7 +36,7 @@
<ImageView <ImageView
android:id="@+id/playback_cover" android:id="@+id/playback_cover"
style="@style/Widget.ImageView.Full" style="@style/Widget.Auxio.Image.Full"
android:layout_margin="@dimen/spacing_mid_huge" android:layout_margin="@dimen/spacing_mid_huge"
android:contentDescription="@{@string/desc_album_cover(song.name)}" android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}" app:albumArt="@{song}"
@ -49,7 +49,9 @@
<TextView <TextView
android:id="@+id/playback_song" android:id="@+id/playback_song"
style="@style/Widget.TextView.Primary" style="@style/Widget.Auxio.TextView.Primary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_mid_huge" android:layout_marginStart="@dimen/spacing_mid_huge"
android:layout_marginEnd="@dimen/spacing_mid_huge" android:layout_marginEnd="@dimen/spacing_mid_huge"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song)}" android:onClick="@{() -> detailModel.navToItem(playbackModel.song)}"
@ -62,7 +64,9 @@
<TextView <TextView
android:id="@+id/playback_artist" android:id="@+id/playback_artist"
style="@style/Widget.TextView.Secondary" style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_mid_huge" android:layout_marginStart="@dimen/spacing_mid_huge"
android:layout_marginEnd="@dimen/spacing_mid_huge" android:layout_marginEnd="@dimen/spacing_mid_huge"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album.artist)}" android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album.artist)}"
@ -74,7 +78,9 @@
<TextView <TextView
android:id="@+id/playback_album" android:id="@+id/playback_album"
style="@style/Widget.TextView.Secondary" style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_mid_huge" android:layout_marginStart="@dimen/spacing_mid_huge"
android:layout_marginEnd="@dimen/spacing_mid_huge" android:layout_marginEnd="@dimen/spacing_mid_huge"
android:layout_marginBottom="@dimen/spacing_medium" android:layout_marginBottom="@dimen/spacing_medium"
@ -87,7 +93,7 @@
<SeekBar <SeekBar
android:id="@+id/playback_seek_bar" android:id="@+id/playback_seek_bar"
style="@style/Widget.SeekBar.Full" style="@style/Widget.Auxio.SeekBar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="@dimen/spacing_mid_huge" android:paddingStart="@dimen/spacing_mid_huge"
@ -122,7 +128,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_loop" android:id="@+id/playback_loop"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_large" android:layout_marginEnd="@dimen/spacing_large"
android:contentDescription="@string/desc_change_loop" android:contentDescription="@string/desc_change_loop"
android:onClick="@{() -> playbackModel.incrementLoopStatus()}" android:onClick="@{() -> playbackModel.incrementLoopStatus()}"
@ -134,7 +142,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_skip_prev" android:id="@+id/playback_skip_prev"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_large" android:layout_marginEnd="@dimen/spacing_large"
android:contentDescription="@string/desc_skip_prev" android:contentDescription="@string/desc_skip_prev"
android:onClick="@{() -> playbackModel.skipPrev()}" android:onClick="@{() -> playbackModel.skipPrev()}"
@ -145,10 +155,16 @@
<ImageButton <ImageButton
android:id="@+id/playback_play_pause" android:id="@+id/playback_play_pause"
style="@style/Widget.Component.Playback.PlayPause" style="@style/Widget.Auxio.Button.Circular"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_medium"
android:layout_marginTop="@dimen/spacing_medium"
android:layout_marginEnd="@dimen/spacing_medium"
android:layout_marginBottom="@dimen/spacing_large" android:layout_marginBottom="@dimen/spacing_large"
android:onClick="@{() -> playbackModel.invertPlayingStatus()}"
android:contentDescription="@string/desc_play_pause" android:contentDescription="@string/desc_play_pause"
android:onClick="@{() -> playbackModel.invertPlayingStatus()}"
android:src="@drawable/sel_playing_state"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/playback_song_duration" app:layout_constraintEnd_toEndOf="@+id/playback_song_duration"
app:layout_constraintStart_toStartOf="@+id/playback_duration_current" app:layout_constraintStart_toStartOf="@+id/playback_duration_current"
@ -156,7 +172,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_skip_next" android:id="@+id/playback_skip_next"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_large" android:layout_marginStart="@dimen/spacing_large"
android:contentDescription="@string/desc_skip_next" android:contentDescription="@string/desc_skip_next"
android:onClick="@{() -> playbackModel.skipNext()}" android:onClick="@{() -> playbackModel.skipNext()}"
@ -167,15 +185,17 @@
<ImageButton <ImageButton
android:id="@+id/playback_shuffle" android:id="@+id/playback_shuffle"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_large" android:layout_marginStart="@dimen/spacing_large"
android:contentDescription="@string/desc_shuffle" android:contentDescription="@string/desc_shuffle"
android:onClick="@{() -> playbackModel.invertShuffleStatus()}" android:onClick="@{() -> playbackModel.invertShuffleStatus()}"
android:src="@drawable/ic_shuffle" android:src="@drawable/ic_shuffle"
app:tint="@color/sel_accented"
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next" app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
app:layout_constraintStart_toEndOf="@+id/playback_skip_next" app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
app:layout_constraintTop_toTopOf="@+id/playback_skip_next" /> app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
app:tint="@color/sel_accented" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -19,7 +19,7 @@
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/about_toolbar" android:id="@+id/about_toolbar"
style="@style/Widget.Toolbar.Icon.Down" style="@style/Widget.Auxio.Toolbar.Icon.Down"
app:title="@string/lbl_about" /> app:title="@string/lbl_about" />
</com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>
@ -29,7 +29,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:clipToPadding="false" android:clipToPadding="false"
android:theme="@style/Theme.Neutral"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"> app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
@ -48,7 +47,7 @@
<ImageView <ImageView
android:id="@+id/about_auxio_icon" android:id="@+id/about_auxio_icon"
style="@style/Widget.ImageView.Compact" style="@style/Widget.Auxio.Image.Compact"
android:layout_marginStart="@dimen/spacing_medium" android:layout_marginStart="@dimen/spacing_medium"
android:layout_marginTop="@dimen/spacing_medium" android:layout_marginTop="@dimen/spacing_medium"
android:contentDescription="@string/desc_auxio_icon" android:contentDescription="@string/desc_auxio_icon"
@ -88,7 +87,7 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/version_container" android:id="@+id/version_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="match_parent"
android:padding="@dimen/spacing_medium" android:padding="@dimen/spacing_medium"
app:layout_constraintTop_toBottomOf="@+id/about_desc" app:layout_constraintTop_toBottomOf="@+id/about_desc"
app:layout_constraintVertical_chainStyle="packed"> app:layout_constraintVertical_chainStyle="packed">
@ -129,7 +128,9 @@
<TextView <TextView
android:id="@+id/about_code" android:id="@+id/about_code"
style="@style/Widget.TextView.Icon.Clickable" style="@style/Widget.Auxio.TextView.Icon.Clickable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/lbl_code" android:text="@string/lbl_code"
app:drawableStartCompat="@drawable/ic_code" app:drawableStartCompat="@drawable/ic_code"
app:layout_constraintBottom_toTopOf="@+id/about_faq" app:layout_constraintBottom_toTopOf="@+id/about_faq"
@ -139,7 +140,9 @@
<TextView <TextView
android:id="@+id/about_licenses" android:id="@+id/about_licenses"
style="@style/Widget.TextView.Icon.Clickable" style="@style/Widget.Auxio.TextView.Icon.Clickable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/lbl_licenses" android:text="@string/lbl_licenses"
app:drawableStartCompat="@drawable/ic_license" app:drawableStartCompat="@drawable/ic_license"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@ -148,7 +151,9 @@
<TextView <TextView
android:id="@+id/about_faq" android:id="@+id/about_faq"
style="@style/Widget.TextView.Icon.Clickable" style="@style/Widget.Auxio.TextView.Icon.Clickable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/lbl_faq" android:text="@string/lbl_faq"
app:drawableStartCompat="@drawable/ic_faq" app:drawableStartCompat="@drawable/ic_faq"
app:layout_constraintBottom_toTopOf="@+id/about_licenses" app:layout_constraintBottom_toTopOf="@+id/about_licenses"
@ -158,7 +163,10 @@
<TextView <TextView
android:id="@+id/about_song_count" android:id="@+id/about_song_count"
style="@style/Widget.TextView.Icon" style="@style/Widget.Auxio.TextView.Icon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Theme.Auxio.Neutral"
app:drawableStartCompat="@drawable/ic_song" app:drawableStartCompat="@drawable/ic_song"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@ -167,7 +175,10 @@
<TextView <TextView
android:id="@+id/about_author" android:id="@+id/about_author"
style="@style/Widget.TextView.Icon" style="@style/Widget.Auxio.TextView.Icon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Theme.Auxio.Neutral"
android:text="@string/lbl_author" android:text="@string/lbl_author"
app:drawableStartCompat="@drawable/ic_artist" app:drawableStartCompat="@drawable/ic_artist"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View file

@ -26,7 +26,7 @@
<ImageView <ImageView
android:id="@+id/playback_cover" android:id="@+id/playback_cover"
style="@style/Widget.ImageView.Compact" style="@style/Widget.Auxio.Image.Compact"
android:layout_margin="@dimen/spacing_small" android:layout_margin="@dimen/spacing_small"
android:contentDescription="@{@string/desc_album_cover(song.name)}" android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}" app:albumArt="@{song}"
@ -37,7 +37,9 @@
<TextView <TextView
android:id="@+id/playback_song" android:id="@+id/playback_song"
style="@style/Widget.TextView.Compact.Primary" android:layout_height="wrap_content"
android:layout_width="0dp"
style="@style/Widget.Auxio.TextView.Primary.Compact"
android:layout_marginStart="@dimen/spacing_small" android:layout_marginStart="@dimen/spacing_small"
android:layout_marginEnd="@dimen/spacing_small" android:layout_marginEnd="@dimen/spacing_small"
android:text="@{song.name}" android:text="@{song.name}"
@ -50,7 +52,9 @@
<TextView <TextView
android:id="@+id/playback_info" android:id="@+id/playback_info"
style="@style/Widget.TextView.Compact.Secondary" android:layout_height="wrap_content"
android:layout_width="0dp"
style="@style/Widget.Auxio.TextView.Secondary.Compact"
android:layout_marginStart="@dimen/spacing_small" android:layout_marginStart="@dimen/spacing_small"
android:layout_marginEnd="@dimen/spacing_small" android:layout_marginEnd="@dimen/spacing_small"
android:text="@{@string/fmt_two(song.album.artist.name, song.album.name)}" android:text="@{@string/fmt_two(song.album.artist.name, song.album.name)}"
@ -62,7 +66,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_play_pause" android:id="@+id/playback_play_pause"
style="@style/Widget.Button.Unbounded" android:layout_height="wrap_content"
android:layout_width="wrap_content"
style="@style/Widget.Auxio.Button.Unbounded"
android:src="@drawable/sel_playing_state" android:src="@drawable/sel_playing_state"
android:layout_margin="@dimen/spacing_small" android:layout_margin="@dimen/spacing_small"
android:contentDescription="@string/desc_play_pause" android:contentDescription="@string/desc_play_pause"
@ -73,7 +79,9 @@
<ProgressBar <ProgressBar
android:id="@+id/playback_progress" android:id="@+id/playback_progress"
style="@style/Widget.ProgressBar.Compact" android:layout_width="match_parent"
android:layout_height="@dimen/size_stroke_large"
style="@style/Widget.Auxio.ProgressBar"
android:progress="@{playbackModel.positionAsProgress}" android:progress="@{playbackModel.positionAsProgress}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View file

@ -18,7 +18,7 @@
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/detail_toolbar" android:id="@+id/detail_toolbar"
style="@style/Widget.Toolbar.Icon" /> style="@style/Widget.Auxio.Toolbar.Icon" />
</org.oxycblt.auxio.ui.LiftAppBarLayout> </org.oxycblt.auxio.ui.LiftAppBarLayout>

View file

@ -23,7 +23,7 @@
<com.google.android.material.appbar.MaterialToolbar <com.google.android.material.appbar.MaterialToolbar
android:id="@+id/home_toolbar" android:id="@+id/home_toolbar"
style="@style/Widget.Toolbar" style="@style/Widget.Auxio.Toolbar"
app:layout_scrollFlags="scroll|enterAlways" app:layout_scrollFlags="scroll|enterAlways"
app:menu="@menu/menu_home" app:menu="@menu/menu_home"
app:title="@string/info_app_name" /> app:title="@string/info_app_name" />
@ -36,7 +36,7 @@
app:tabContentStart="@dimen/spacing_medium" app:tabContentStart="@dimen/spacing_medium"
app:tabIndicatorColor="?attr/colorAccent" app:tabIndicatorColor="?attr/colorAccent"
app:tabMode="scrollable" app:tabMode="scrollable"
app:tabTextAppearance="@style/TextAppearance.TabLayout.Label" app:tabTextAppearance="@style/TextAppearance.Auxio.TabLayout.Label"
app:tabTextColor="?android:attr/textColorPrimary" app:tabTextColor="?android:attr/textColorPrimary"
app:tabUnboundedRipple="true" /> app:tabUnboundedRipple="true" />

View file

@ -48,7 +48,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/loading_action_button" android:id="@+id/loading_action_button"
style="@style/Widget.Button.Vibrant.Primary" style="@style/Widget.Auxio.Button.Primary"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingStart="@dimen/spacing_insane" android:paddingStart="@dimen/spacing_insane"

View file

@ -27,7 +27,7 @@
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/playback_toolbar" android:id="@+id/playback_toolbar"
style="@style/Widget.Toolbar.Icon.Down" style="@style/Widget.Auxio.Toolbar.Icon.Down"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:menu="@menu/menu_playback" app:menu="@menu/menu_playback"
@ -35,7 +35,7 @@
<ImageView <ImageView
android:id="@+id/playback_cover" android:id="@+id/playback_cover"
style="@style/Widget.ImageView.Full" style="@style/Widget.Auxio.Image.Full"
android:layout_margin="@dimen/spacing_mid_large" android:layout_margin="@dimen/spacing_mid_large"
android:contentDescription="@{@string/desc_album_cover(song.name)}" android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}" app:albumArt="@{song}"
@ -48,7 +48,9 @@
<TextView <TextView
android:id="@+id/playback_song" android:id="@+id/playback_song"
style="@style/Widget.TextView.Primary" style="@style/Widget.Auxio.TextView.Primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_mid_large" android:layout_marginStart="@dimen/spacing_mid_large"
android:layout_marginEnd="@dimen/spacing_mid_large" android:layout_marginEnd="@dimen/spacing_mid_large"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song)}" android:onClick="@{() -> detailModel.navToItem(playbackModel.song)}"
@ -61,7 +63,9 @@
<TextView <TextView
android:id="@+id/playback_artist" android:id="@+id/playback_artist"
style="@style/Widget.TextView.Secondary" style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_mid_large" android:layout_marginStart="@dimen/spacing_mid_large"
android:layout_marginEnd="@dimen/spacing_mid_large" android:layout_marginEnd="@dimen/spacing_mid_large"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album.artist)}" android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album.artist)}"
@ -73,7 +77,9 @@
<TextView <TextView
android:id="@+id/playback_album" android:id="@+id/playback_album"
style="@style/Widget.TextView.Secondary" style="@style/Widget.Auxio.TextView.Secondary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_mid_large" android:layout_marginStart="@dimen/spacing_mid_large"
android:layout_marginEnd="@dimen/spacing_mid_large" android:layout_marginEnd="@dimen/spacing_mid_large"
android:layout_marginBottom="@dimen/spacing_medium" android:layout_marginBottom="@dimen/spacing_medium"
@ -86,7 +92,7 @@
<SeekBar <SeekBar
android:id="@+id/playback_seek_bar" android:id="@+id/playback_seek_bar"
style="@style/Widget.SeekBar.Full" style="@style/Widget.Auxio.SeekBar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/playback_duration_current" app:layout_constraintBottom_toTopOf="@+id/playback_duration_current"
@ -119,7 +125,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_loop" android:id="@+id/playback_loop"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_small" android:layout_marginStart="@dimen/spacing_small"
android:contentDescription="@string/desc_change_loop" android:contentDescription="@string/desc_change_loop"
android:onClick="@{() -> playbackModel.incrementLoopStatus()}" android:onClick="@{() -> playbackModel.incrementLoopStatus()}"
@ -130,7 +138,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_skip_prev" android:id="@+id/playback_skip_prev"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_skip_prev" android:contentDescription="@string/desc_skip_prev"
android:onClick="@{() -> playbackModel.skipPrev()}" android:onClick="@{() -> playbackModel.skipPrev()}"
android:src="@drawable/ic_skip_prev" android:src="@drawable/ic_skip_prev"
@ -141,9 +151,15 @@
<ImageButton <ImageButton
android:id="@+id/playback_play_pause" android:id="@+id/playback_play_pause"
style="@style/Widget.Component.Playback.PlayPause" style="@style/Widget.Auxio.Button.Circular"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_medium"
android:layout_marginEnd="@dimen/spacing_medium"
android:layout_marginStart="@dimen/spacing_medium"
android:layout_marginBottom="@dimen/spacing_medium" android:layout_marginBottom="@dimen/spacing_medium"
android:contentDescription="@string/desc_play_pause" android:contentDescription="@string/desc_play_pause"
android:src="@drawable/sel_playing_state"
android:onClick="@{() -> playbackModel.invertPlayingStatus()}" android:onClick="@{() -> playbackModel.invertPlayingStatus()}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/playback_song_duration" app:layout_constraintEnd_toEndOf="@+id/playback_song_duration"
@ -152,7 +168,9 @@
<ImageButton <ImageButton
android:id="@+id/playback_skip_next" android:id="@+id/playback_skip_next"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_skip_next" android:contentDescription="@string/desc_skip_next"
android:onClick="@{() -> playbackModel.skipNext()}" android:onClick="@{() -> playbackModel.skipNext()}"
android:src="@drawable/ic_skip_next" android:src="@drawable/ic_skip_next"
@ -163,15 +181,17 @@
<ImageButton <ImageButton
android:id="@+id/playback_shuffle" android:id="@+id/playback_shuffle"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_small" android:layout_marginEnd="@dimen/spacing_small"
android:contentDescription="@string/desc_shuffle" android:contentDescription="@string/desc_shuffle"
android:onClick="@{() -> playbackModel.invertShuffleStatus()}" android:onClick="@{() -> playbackModel.invertShuffleStatus()}"
android:src="@drawable/ic_shuffle" android:src="@drawable/ic_shuffle"
app:tint="@color/sel_accented"
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next" app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
app:layout_constraintEnd_toEndOf="@+id/playback_song_duration" app:layout_constraintEnd_toEndOf="@+id/playback_song_duration"
app:layout_constraintTop_toTopOf="@+id/playback_skip_next" /> app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
app:tint="@color/sel_accented" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View file

@ -22,7 +22,7 @@
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/queue_toolbar" android:id="@+id/queue_toolbar"
style="@style/Widget.Toolbar.Icon.Down" style="@style/Widget.Auxio.Toolbar.Icon.Down"
android:elevation="0dp" android:elevation="0dp"
app:navigationIcon="@drawable/ic_down" app:navigationIcon="@drawable/ic_down"
app:title="@string/lbl_queue" /> app:title="@string/lbl_queue" />

View file

@ -17,7 +17,7 @@
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/search_toolbar" android:id="@+id/search_toolbar"
style="@style/Widget.Toolbar.Icon" style="@style/Widget.Auxio.Toolbar.Icon"
app:layout_scrollFlags="scroll|enterAlways" app:layout_scrollFlags="scroll|enterAlways"
app:menu="@menu/menu_search" app:menu="@menu/menu_search"
app:title="@string/lbl_search" /> app:title="@string/lbl_search" />

View file

@ -22,7 +22,7 @@
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/settings_toolbar" android:id="@+id/settings_toolbar"
style="@style/Widget.Toolbar.Icon.Down" style="@style/Widget.Auxio.Toolbar.Icon.Down"
app:menu="@menu/menu_settings" app:menu="@menu/menu_settings"
app:title="@string/set_title" /> app:title="@string/set_title" />

View file

@ -17,7 +17,7 @@
<TextView <TextView
android:id="@+id/header_title" android:id="@+id/header_title"
style="@style/Widget.TextView.Header" style="@style/Widget.Auxio.TextView.Header"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{header.name}" android:text="@{header.name}"
@ -28,15 +28,20 @@
<ImageButton <ImageButton
android:id="@+id/header_button" android:id="@+id/header_button"
style="@style/Widget.Button.Unbounded.Small" style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:contentDescription="@{context.getString(header.desc)}" android:contentDescription="@{context.getString(header.desc)}"
android:minWidth="@dimen/size_btn_small"
android:minHeight="@dimen/size_btn_small"
android:paddingStart="@dimen/spacing_medium"
android:paddingEnd="@dimen/spacing_medium"
android:background="@drawable/ui_small_unbounded_ripple"
android:src="@{context.getDrawable(header.icon)}" android:src="@{context.getDrawable(header.icon)}"
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"
tools:src="@drawable/ic_sort"/> tools:src="@drawable/ic_sort" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Album" /> type="org.oxycblt.auxio.music.Album" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout"> <androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView <ImageView
android:id="@+id/album_cover" android:id="@+id/album_cover"
style="@style/Widget.ImageView.Normal" style="@style/Widget.Auxio.Image.Normal"
android:contentDescription="@{@string/desc_album_cover(album.name)}" android:contentDescription="@{@string/desc_album_cover(album.name)}"
app:albumArt="@{album}" app:albumArt="@{album}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -25,7 +25,9 @@
<TextView <TextView
android:id="@+id/album_name" android:id="@+id/album_name"
style="@style/Widget.TextView.Item.Primary" android:layout_width="0dp"
android:layout_height="wrap_content"
style="@style/Widget.Auxio.TextView.Item.Primary"
android:text="@{album.name}" android:text="@{album.name}"
app:layout_constraintBottom_toTopOf="@+id/album_info" app:layout_constraintBottom_toTopOf="@+id/album_info"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@ -36,7 +38,9 @@
<TextView <TextView
android:id="@+id/album_info" android:id="@+id/album_info"
style="@style/Widget.TextView.Item.Secondary" android:layout_width="0dp"
android:layout_height="wrap_content"
style="@style/Widget.Auxio.TextView.Item.Secondary"
android:text="@{@string/fmt_two(album.artist.name, @plurals/fmt_song_count(album.songs.size, album.songs.size))}" android:text="@{@string/fmt_two(album.artist.name, @plurals/fmt_song_count(album.songs.size, album.songs.size))}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View file

@ -11,16 +11,16 @@
type="org.oxycblt.auxio.music.Song" /> type="org.oxycblt.auxio.music.Song" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout"> <androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<TextView <TextView
android:id="@+id/song_track" android:id="@+id/song_track"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:minWidth="@dimen/size_track_number"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:contentDescription="@{@string/desc_track_number(song.track)}" android:contentDescription="@{@string/desc_track_number(song.track)}"
android:gravity="center" android:gravity="center"
android:maxLines="1" android:maxLines="1"
android:minWidth="@dimen/size_track_number"
android:text="@{String.valueOf(song.track)}" android:text="@{String.valueOf(song.track)}"
android:textAlignment="center" android:textAlignment="center"
android:textAppearance="?android:attr/textAppearanceListItem" android:textAppearance="?android:attr/textAppearanceListItem"
@ -33,7 +33,9 @@
<TextView <TextView
android:id="@+id/song_name" android:id="@+id/song_name"
style="@style/Widget.TextView.Item.Primary" style="@style/Widget.Auxio.TextView.Item.Primary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@{song.name}" android:text="@{song.name}"
android:textColor="@color/sel_accented_primary" android:textColor="@color/sel_accented_primary"
app:layout_constraintBottom_toTopOf="@+id/song_duration" app:layout_constraintBottom_toTopOf="@+id/song_duration"
@ -45,7 +47,9 @@
<TextView <TextView
android:id="@+id/song_duration" android:id="@+id/song_duration"
style="@style/Widget.TextView.Item.Secondary" style="@style/Widget.Auxio.TextView.Item.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@{song.formattedDuration}" android:text="@{song.formattedDuration}"
android:textColor="?android:attr/textColorSecondary" android:textColor="?android:attr/textColorSecondary"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Artist" /> type="org.oxycblt.auxio.music.Artist" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout"> <androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView <ImageView
android:id="@+id/artist_image" android:id="@+id/artist_image"
style="@style/Widget.ImageView.Normal" style="@style/Widget.Auxio.Image.Normal"
android:contentDescription="@{@string/desc_artist_image(artist.name)}" android:contentDescription="@{@string/desc_artist_image(artist.name)}"
app:artistImage="@{artist}" app:artistImage="@{artist}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -25,7 +25,9 @@
<TextView <TextView
android:id="@+id/artist_name" android:id="@+id/artist_name"
style="@style/Widget.TextView.Item.Primary" android:layout_width="0dp"
android:layout_height="wrap_content"
style="@style/Widget.Auxio.TextView.Item.Primary"
android:text="@{artist.name}" android:text="@{artist.name}"
app:layout_constraintBottom_toTopOf="@+id/artist_details" app:layout_constraintBottom_toTopOf="@+id/artist_details"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@ -36,7 +38,9 @@
<TextView <TextView
android:id="@+id/artist_details" android:id="@+id/artist_details"
style="@style/Widget.TextView.Item.Secondary" android:layout_width="0dp"
android:layout_height="wrap_content"
style="@style/Widget.Auxio.TextView.Item.Secondary"
app:artistCounts="@{artist}" app:artistCounts="@{artist}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Album" /> type="org.oxycblt.auxio.music.Album" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout"> <androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView <ImageView
android:id="@+id/album_cover" android:id="@+id/album_cover"
style="@style/Widget.ImageView.Normal" style="@style/Widget.Auxio.Image.Normal"
android:contentDescription="@{@string/desc_album_cover(album.name)}" android:contentDescription="@{@string/desc_album_cover(album.name)}"
app:albumArt="@{album}" app:albumArt="@{album}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -25,7 +25,9 @@
<TextView <TextView
android:id="@+id/album_name" android:id="@+id/album_name"
style="@style/Widget.TextView.Item.Primary" android:layout_width="0dp"
android:layout_height="wrap_content"
style="@style/Widget.Auxio.TextView.Item.Primary"
android:textColor="@color/sel_accented_primary" android:textColor="@color/sel_accented_primary"
android:text="@{album.name}" android:text="@{album.name}"
app:layout_constraintBottom_toTopOf="@+id/album_year" app:layout_constraintBottom_toTopOf="@+id/album_year"
@ -37,7 +39,9 @@
<TextView <TextView
android:id="@+id/album_year" android:id="@+id/album_year"
style="@style/Widget.TextView.Item.Secondary" android:layout_width="0dp"
android:layout_height="wrap_content"
style="@style/Widget.Auxio.TextView.Item.Secondary"
android:text="@{album.year != 0 ? String.valueOf(album.year) : @string/def_date}" android:text="@{album.year != 0 ? String.valueOf(album.year) : @string/def_date}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Song" /> type="org.oxycblt.auxio.music.Song" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout"> <androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView <ImageView
android:id="@+id/album_cover" android:id="@+id/album_cover"
style="@style/Widget.ImageView.Compact" style="@style/Widget.Auxio.Image.Compact"
android:contentDescription="@{@string/desc_album_cover(song.name)}" android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}" app:albumArt="@{song}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -25,10 +25,12 @@
<TextView <TextView
android:id="@+id/song_name" android:id="@+id/song_name"
style="@style/Widget.TextView.Item.Primary" style="@style/Widget.Auxio.TextView.Item.Primary"
android:textColor="@color/sel_accented_primary" android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_medium" android:layout_marginEnd="@dimen/spacing_medium"
android:text="@{song.name}" android:text="@{song.name}"
android:textColor="@color/sel_accented_primary"
app:layout_constraintBottom_toTopOf="@+id/song_info" app:layout_constraintBottom_toTopOf="@+id/song_info"
app:layout_constraintEnd_toStartOf="@+id/song_duration" app:layout_constraintEnd_toStartOf="@+id/song_duration"
app:layout_constraintStart_toEndOf="@+id/album_cover" app:layout_constraintStart_toEndOf="@+id/album_cover"
@ -38,7 +40,9 @@
<TextView <TextView
android:id="@+id/song_info" android:id="@+id/song_info"
style="@style/Widget.TextView.Item.Secondary" style="@style/Widget.Auxio.TextView.Item.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_medium" android:layout_marginEnd="@dimen/spacing_medium"
android:text="@{song.album.name}" android:text="@{song.album.name}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -49,7 +53,9 @@
<TextView <TextView
android:id="@+id/song_duration" android:id="@+id/song_duration"
style="@style/Widget.TextView.Item.Secondary" android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Auxio.TextView.Item.Secondary"
android:ellipsize="none" android:ellipsize="none"
android:gravity="end" android:gravity="end"
android:text="@{song.formattedDuration}" android:text="@{song.formattedDuration}"

View file

@ -12,18 +12,18 @@
<ImageView <ImageView
android:id="@+id/detail_cover" android:id="@+id/detail_cover"
style="@style/Widget.ImageView.Full" style="@style/Widget.Auxio.Image.Full"
android:layout_width="@dimen/size_cover_huge" android:layout_width="@dimen/size_cover_huge"
android:layout_height="@dimen/size_cover_huge" android:layout_height="@dimen/size_cover_huge"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_artist" tools:ignore="ContentDescription"
tools:ignore="ContentDescription" /> tools:src="@drawable/ic_artist" />
<TextView <TextView
android:id="@+id/detail_name" android:id="@+id/detail_name"
style="@style/Widget.TextView.Detail" style="@style/Widget.Auxio.TextView.Detail"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_medium" android:layout_marginTop="@dimen/spacing_medium"
@ -56,7 +56,9 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/detail_play_button" android:id="@+id/detail_play_button"
style="@style/Widget.Button.Vibrant.Secondary" style="@style/Widget.Auxio.Button.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_small" android:layout_marginTop="@dimen/spacing_small"
android:layout_marginEnd="@dimen/spacing_small" android:layout_marginEnd="@dimen/spacing_small"
android:text="@string/lbl_play" android:text="@string/lbl_play"
@ -66,7 +68,9 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/detail_shuffle_button" android:id="@+id/detail_shuffle_button"
style="@style/Widget.Button.Vibrant.Primary" style="@style/Widget.Auxio.Button.Primary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_small" android:layout_marginStart="@dimen/spacing_small"
android:backgroundTint="?attr/colorAccent" android:backgroundTint="?attr/colorAccent"
android:text="@string/lbl_shuffle" android:text="@string/lbl_shuffle"

View file

@ -4,17 +4,17 @@
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
style="@style/ItemLayout" style="@style/Widget.Auxio.ItemLayout"
android:padding="0dp"
android:clickable="false" android:clickable="false"
android:focusable="false"> android:focusable="false"
android:padding="0dp">
<TextView <TextView
android:id="@+id/excluded_path" android:id="@+id/excluded_path"
style="@style/Widget.TextView.Item.Primary" style="@style/Widget.Auxio.TextView.Item.Primary"
android:layout_marginStart="@dimen/spacing_medium" android:layout_margin="@dimen/spacing_medium"
android:layout_marginEnd="@dimen/spacing_medium"
android:maxLines="@null" android:maxLines="@null"
android:gravity="center"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/excluded_clear" app:layout_constraintEnd_toStartOf="@+id/excluded_clear"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@ -23,14 +23,16 @@
<ImageButton <ImageButton
android:id="@+id/excluded_clear" android:id="@+id/excluded_clear"
style="@style/Widget.Button.Unbounded" style="@style/Widget.Auxio.Button.Unbounded"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/spacing_small"
android:contentDescription="@string/desc_blacklist_delete" android:contentDescription="@string/desc_blacklist_delete"
android:src="@drawable/ic_clear" android:src="@drawable/ic_clear"
app:tint="?attr/colorControlNormal"
android:layout_margin="@dimen/spacing_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="parent" /> app:layout_constraintTop_toTopOf="parent"
app:tint="?attr/colorControlNormal" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Genre" /> type="org.oxycblt.auxio.music.Genre" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout"> <androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView <ImageView
android:id="@+id/genre_image" android:id="@+id/genre_image"
style="@style/Widget.ImageView.Normal" style="@style/Widget.Auxio.Image.Normal"
android:contentDescription="@{@string/desc_genre_image(genre.name)}" android:contentDescription="@{@string/desc_genre_image(genre.name)}"
app:genreImage="@{genre}" app:genreImage="@{genre}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -25,7 +25,9 @@
<TextView <TextView
android:id="@+id/genre_name" android:id="@+id/genre_name"
style="@style/Widget.TextView.Item.Primary" style="@style/Widget.Auxio.TextView.Item.Primary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@{genre.resolvedName}" android:text="@{genre.resolvedName}"
app:layout_constraintBottom_toTopOf="@+id/genre_count" app:layout_constraintBottom_toTopOf="@+id/genre_count"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@ -36,7 +38,9 @@
<TextView <TextView
android:id="@+id/genre_count" android:id="@+id/genre_count"
style="@style/Widget.TextView.Item.Secondary" style="@style/Widget.Auxio.TextView.Item.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@{@plurals/fmt_song_count(genre.songs.size(), genre.songs.size())}" android:text="@{@plurals/fmt_song_count(genre.songs.size(), genre.songs.size())}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Song" /> type="org.oxycblt.auxio.music.Song" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout"> <androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView <ImageView
android:id="@+id/album_cover" android:id="@+id/album_cover"
style="@style/Widget.ImageView.Compact" style="@style/Widget.Auxio.Image.Compact"
android:contentDescription="@{@string/desc_album_cover(song.name)}" android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}" app:albumArt="@{song}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -25,10 +25,12 @@
<TextView <TextView
android:id="@+id/song_name" android:id="@+id/song_name"
style="@style/Widget.TextView.Item.Primary" style="@style/Widget.Auxio.TextView.Item.Primary"
android:textColor="@color/sel_accented_primary" android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_medium" android:layout_marginEnd="@dimen/spacing_medium"
android:text="@{song.name}" android:text="@{song.name}"
android:textColor="@color/sel_accented_primary"
app:layout_constraintBottom_toTopOf="@+id/song_info" app:layout_constraintBottom_toTopOf="@+id/song_info"
app:layout_constraintEnd_toStartOf="@+id/song_duration" app:layout_constraintEnd_toStartOf="@+id/song_duration"
app:layout_constraintStart_toEndOf="@+id/album_cover" app:layout_constraintStart_toEndOf="@+id/album_cover"
@ -38,7 +40,9 @@
<TextView <TextView
android:id="@+id/song_info" android:id="@+id/song_info"
style="@style/Widget.TextView.Item.Secondary" style="@style/Widget.Auxio.TextView.Item.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_medium" android:layout_marginEnd="@dimen/spacing_medium"
android:text="@{@string/fmt_two(song.album.artist.name, song.album.name)}" android:text="@{@string/fmt_two(song.album.artist.name, song.album.name)}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -49,7 +53,9 @@
<TextView <TextView
android:id="@+id/song_duration" android:id="@+id/song_duration"
style="@style/Widget.TextView.Item.Secondary" android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Auxio.TextView.Item.Secondary"
android:ellipsize="none" android:ellipsize="none"
android:gravity="end" android:gravity="end"
android:text="@{song.formattedDuration}" android:text="@{song.formattedDuration}"

View file

@ -12,9 +12,9 @@
<TextView <TextView
android:id="@android:id/title" android:id="@android:id/title"
style="@style/Widget.TextView.Header" style="@style/Widget.Auxio.TextView.Header"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@{header.name}" android:text="@{header.name}"
tools:text="Songs" /> tools:text="Songs" />
</layout> </layout>

View file

@ -18,10 +18,10 @@
<ImageView <ImageView
android:id="@+id/album_cover" android:id="@+id/album_cover"
style="@style/Widget.ImageView.Compact" style="@style/Widget.Auxio.Image.Compact"
android:layout_margin="@dimen/spacing_medium"
android:contentDescription="@{@string/desc_album_cover(song.name)}" android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}" app:albumArt="@{song}"
android:layout_margin="@dimen/spacing_medium"
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"
@ -29,7 +29,9 @@
<TextView <TextView
android:id="@+id/song_name" android:id="@+id/song_name"
style="@style/Widget.TextView.Item.Primary" style="@style/Widget.Auxio.TextView.Item.Primary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_medium" android:layout_marginEnd="@dimen/spacing_medium"
android:text="@{song.name}" android:text="@{song.name}"
app:layout_constraintBottom_toTopOf="@+id/song_info" app:layout_constraintBottom_toTopOf="@+id/song_info"
@ -41,7 +43,9 @@
<TextView <TextView
android:id="@+id/song_info" android:id="@+id/song_info"
style="@style/Widget.TextView.Item.Secondary" style="@style/Widget.Auxio.TextView.Item.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_medium" android:layout_marginEnd="@dimen/spacing_medium"
android:text="@{@string/fmt_two(song.album.artist.name, song.album.name)}" android:text="@{@string/fmt_two(song.album.artist.name, song.album.name)}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -53,13 +57,15 @@
<ImageView <ImageView
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="@dimen/size_btn_small" android:layout_height="wrap_content"
android:minWidth="@dimen/size_btn_small"
android:minHeight="@dimen/size_btn_small"
android:paddingStart="@dimen/spacing_medium"
android:paddingEnd="@dimen/spacing_medium"
android:clickable="true" android:clickable="true"
android:contentDescription="@string/desc_queue_handle" android:contentDescription="@string/desc_queue_handle"
android:focusable="true" android:focusable="true"
android:scaleType="center" android:scaleType="center"
android:paddingStart="@dimen/spacing_medium"
android:paddingEnd="@dimen/spacing_medium"
android:src="@drawable/ic_handle" android:src="@drawable/ic_handle"
app:layout_constraintBottom_toBottomOf="@+id/album_cover" app:layout_constraintBottom_toBottomOf="@+id/album_cover"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Song" /> type="org.oxycblt.auxio.music.Song" />
</data> </data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout"> <androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView <ImageView
android:id="@+id/album_cover" android:id="@+id/album_cover"
style="@style/Widget.ImageView.Compact" style="@style/Widget.Auxio.Image.Compact"
android:contentDescription="@{@string/desc_album_cover(song.name)}" android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}" app:albumArt="@{song}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -26,7 +26,9 @@
<TextView <TextView
android:id="@+id/song_name" android:id="@+id/song_name"
style="@style/Widget.TextView.Item.Primary" style="@style/Widget.Auxio.TextView.Item.Primary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_medium" android:layout_marginEnd="@dimen/spacing_medium"
android:text="@{song.name}" android:text="@{song.name}"
app:layout_constraintBottom_toTopOf="@+id/song_info" app:layout_constraintBottom_toTopOf="@+id/song_info"
@ -38,7 +40,9 @@
<TextView <TextView
android:id="@+id/song_info" android:id="@+id/song_info"
style="@style/Widget.TextView.Item.Secondary" style="@style/Widget.Auxio.TextView.Item.Secondary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/spacing_medium" android:layout_marginEnd="@dimen/spacing_medium"
android:text="@{@string/fmt_two(song.album.artist.name, song.album.name)}" android:text="@{@string/fmt_two(song.album.artist.name, song.album.name)}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View file

@ -8,20 +8,27 @@
<ImageView <ImageView
android:id="@+id/widget_cover" android:id="@+id/widget_cover"
style="@style/Widget.Component.AppWidget.ImageView" android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:contentDescription="@string/desc_no_cover" android:contentDescription="@string/desc_no_cover"
android:scaleType="centerCrop"
android:src="@drawable/ic_song" /> android:src="@drawable/ic_song" />
<LinearLayout style="@style/Widget.Component.AppWidget.Panel"> <LinearLayout style="@style/Widget.Auxio.AppWidget.Panel">
<TextView <TextView
android:id="@+id/widget_song" android:id="@+id/widget_song"
style="@style/Widget.Component.AppWidget.TextView.Primary" style="@style/Widget.Auxio.TextView.Primary.AppWidget"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/def_widget_song" /> android:text="@string/def_widget_song" />
<TextView <TextView
android:id="@+id/widget_artist" android:id="@+id/widget_artist"
style="@style/Widget.Component.AppWidget.TextView.Secondary" style="@style/Widget.Auxio.TextView.Secondary.AppWidget"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/def_widget_artist" /> android:text="@string/def_widget_artist" />
<LinearLayout <LinearLayout
@ -32,31 +39,46 @@
<ImageButton <ImageButton
android:id="@+id/widget_loop" android:id="@+id/widget_loop"
style="@style/Widget.Component.AppWidget.Button" style="@style/Widget.Auxio.Button.AppWidget"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_change_loop" android:contentDescription="@string/desc_change_loop"
android:src="@drawable/ic_loop" /> android:src="@drawable/ic_loop" />
<ImageButton <ImageButton
android:id="@+id/widget_skip_prev" android:id="@+id/widget_skip_prev"
style="@style/Widget.Component.AppWidget.Button" android:layout_weight="1"
style="@style/Widget.Auxio.Button.AppWidget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_skip_prev" android:contentDescription="@string/desc_skip_prev"
android:src="@drawable/ic_skip_prev" /> android:src="@drawable/ic_skip_prev" />
<ImageButton <ImageButton
android:id="@+id/widget_play_pause" android:id="@+id/widget_play_pause"
style="@style/Widget.Component.AppWidget.Button" android:layout_weight="1"
style="@style/Widget.Auxio.Button.AppWidget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_play_pause" android:contentDescription="@string/desc_play_pause"
android:src="@drawable/sel_playing_state" /> android:src="@drawable/sel_playing_state" />
<ImageButton <ImageButton
android:id="@+id/widget_skip_next" android:id="@+id/widget_skip_next"
style="@style/Widget.Component.AppWidget.Button" android:layout_weight="1"
style="@style/Widget.Auxio.Button.AppWidget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_skip_next" android:contentDescription="@string/desc_skip_next"
android:src="@drawable/ic_skip_next" /> android:src="@drawable/ic_skip_next" />
<ImageButton <ImageButton
android:id="@+id/widget_shuffle" android:id="@+id/widget_shuffle"
style="@style/Widget.Component.AppWidget.Button" style="@style/Widget.Auxio.Button.AppWidget"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_shuffle" android:contentDescription="@string/desc_shuffle"
android:src="@drawable/ic_shuffle" /> android:src="@drawable/ic_shuffle" />

View file

@ -8,20 +8,27 @@
<ImageView <ImageView
android:id="@+id/widget_cover" android:id="@+id/widget_cover"
style="@style/Widget.Component.AppWidget.ImageView" android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:contentDescription="@string/desc_no_cover" android:contentDescription="@string/desc_no_cover"
android:scaleType="centerCrop"
android:src="@drawable/ic_song" /> android:src="@drawable/ic_song" />
<LinearLayout style="@style/Widget.Component.AppWidget.Panel"> <LinearLayout style="@style/Widget.Auxio.AppWidget.Panel">
<TextView <TextView
android:id="@+id/widget_song" android:id="@+id/widget_song"
style="@style/Widget.Component.AppWidget.TextView.Primary" style="@style/Widget.Auxio.TextView.Primary.AppWidget"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/def_widget_song" /> android:text="@string/def_widget_song" />
<TextView <TextView
android:id="@+id/widget_artist" android:id="@+id/widget_artist"
style="@style/Widget.Component.AppWidget.TextView.Secondary" style="@style/Widget.Auxio.TextView.Secondary.AppWidget"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/def_widget_artist" /> android:text="@string/def_widget_artist" />
<LinearLayout <LinearLayout
@ -31,19 +38,28 @@
<ImageButton <ImageButton
android:id="@+id/widget_skip_prev" android:id="@+id/widget_skip_prev"
style="@style/Widget.Component.AppWidget.Button" style="@style/Widget.Auxio.Button.AppWidget"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_skip_prev" android:contentDescription="@string/desc_skip_prev"
android:src="@drawable/ic_skip_prev" /> android:src="@drawable/ic_skip_prev" />
<ImageButton <ImageButton
android:id="@+id/widget_play_pause" android:id="@+id/widget_play_pause"
style="@style/Widget.Component.AppWidget.Button" style="@style/Widget.Auxio.Button.AppWidget"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_play_pause" android:contentDescription="@string/desc_play_pause"
android:src="@drawable/ic_play" /> android:src="@drawable/ic_play" />
<ImageButton <ImageButton
android:id="@+id/widget_skip_next" android:id="@+id/widget_skip_next"
style="@style/Widget.Component.AppWidget.Button" style="@style/Widget.Auxio.Button.AppWidget"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc_skip_next" android:contentDescription="@string/desc_skip_next"
android:src="@drawable/ic_skip_next" /> android:src="@drawable/ic_skip_next" />

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<!-- Template theme that handles edge-to-edge on other styles variants --> <!-- Template theme that handles edge-to-edge on other styles variants -->
<style name="Theme.Edge" parent="Theme.Master"> <style name="Theme.Auxio.V27" parent="Theme.Auxio">
<item name="android:statusBarColor">@android:color/transparent</item> <item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">@color/nav_bar</item> <item name="android:navigationBarColor">@color/nav_bar</item>
<item name="android:windowLightStatusBar">false</item> <item name="android:windowLightStatusBar">false</item>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<style name="Theme.Overlay" parent="Theme.Splash"> <style name="Theme.Auxio.DayNight" parent="Theme.Auxio.V31">
<!-- <!--
Use the accent color as the elevation overlay color on dark mode. It's just more visually Use the accent color as the elevation overlay color on dark mode. It's just more visually
appealing then a grey-ish color that sticks out like a sore thumb. Technically this is appealing then a grey-ish color that sticks out like a sore thumb. Technically this is

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<!-- Template theme that handles edge-to-edge on other styles variants --> <!-- Template theme that handles edge-to-edge on other styles variants -->
<style name="Theme.Edge" parent="Theme.Master"> <style name="Theme.Auxio.V27" parent="Theme.Auxio">
<item name="android:navigationBarColor">@color/nav_bar</item> <item name="android:navigationBarColor">@color/nav_bar</item>
<item name="android:statusBarColor">@android:color/transparent</item> <item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">true</item> <item name="android:windowLightStatusBar">true</item>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Widget.Auxio.Button.AppWidget.V31" parent="Widget.AppCompat.Button.Borderless">
<item name="android:background">@drawable/ui_unbounded_ripple</item>
</style>
</resources>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Widget.Component.AppWidget.Button" parent="Widget.Component.AppWidget.Button.Base">
<item name="android:background">@drawable/ui_unbounded_ripple</item>
</style>
<style name="Widget.Component.AppWidget.Panel" parent="Widget.Component.AppWidget.Panel.Base" />
</resources>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<!-- Android 12 Splashscreen config --> <!-- Android 12 Splashscreen config -->
<style name="Theme.Splash" parent="Theme.Edge"> <style name="Theme.Auxio.V31" parent="Theme.Auxio.V27">
<item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item> <item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
</style> </style>

View file

@ -3,31 +3,31 @@
<!-- ANDROID COMPONENT-SPECIFIC STYLES.--> <!-- ANDROID COMPONENT-SPECIFIC STYLES.-->
<!-- Dialog theme where all fixes are applied --> <!-- Dialog theme where all fixes are applied -->
<style name="Theme.CustomDialog" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog"> <style name="Theme.Auxio.Dialog" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">
<item name="android:checkedTextViewStyle">@style/Widget.CheckedTextView.Dialog</item> <item name="android:checkedTextViewStyle">@style/Widget.Auxio.Dialog.CheckedTextView</item>
<item name="colorControlHighlight">@color/overlay_selection</item> <item name="colorControlHighlight">@color/overlay_selection</item>
<item name="materialAlertDialogTitleTextStyle">@style/Widget.TextView.Dialog.Title</item> <item name="materialAlertDialogTitleTextStyle">@style/Widget.Auxio.Dialog.TextView</item>
<item name="buttonBarPositiveButtonStyle">@style/Widget.Button.Dialog</item> <item name="buttonBarPositiveButtonStyle">@style/Widget.Auxio.Dialog.Button</item>
<item name="buttonBarNegativeButtonStyle">@style/Widget.Button.Dialog</item> <item name="buttonBarNegativeButtonStyle">@style/Widget.Auxio.Dialog.Button</item>
<item name="buttonBarNeutralButtonStyle">@style/Widget.Button.Dialog.Neutral</item> <item name="buttonBarNeutralButtonStyle">@style/Widget.Auxio.Dialog.Button.Neutral</item>
</style> </style>
<!-- Custom dialog title theme --> <!-- Custom dialog title theme -->
<style name="Widget.TextView.Dialog.Title" parent="MaterialAlertDialog.MaterialComponents.Title.Text"> <style name="Widget.Auxio.Dialog.TextView" parent="MaterialAlertDialog.MaterialComponents.Title.Text">
<item name="android:fontFamily">@font/inter_bold</item> <item name="android:fontFamily">@font/inter_bold</item>
<item name="android:textColor">?android:attr/textColorPrimary</item> <item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:textSize">@dimen/text_size_large</item> <item name="android:textSize">@dimen/text_size_large</item>
</style> </style>
<!-- The style for the checked text view in the custom dialog --> <!-- The style for the checked text view in the custom dialog -->
<style name="Widget.CheckedTextView.Dialog" parent="Widget.MaterialComponents.CheckedTextView"> <style name="Widget.Auxio.Dialog.CheckedTextView" parent="Widget.MaterialComponents.CheckedTextView">
<item name="android:textColor">?android:attr/textColorPrimary</item> <item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:textSize">@dimen/text_size_medium</item> <item name="android:textSize">@dimen/text_size_medium</item>
<item name="android:background">@null</item> <item name="android:background">@null</item>
</style> </style>
<!-- Style for dialog buttons --> <!-- Style for dialog buttons -->
<style name="Widget.Button.Dialog" parent="Widget.MaterialComponents.Button.TextButton.Dialog"> <style name="Widget.Auxio.Dialog.Button" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item> <item name="android:layout_width">wrap_content</item>
<item name="android:fontFamily">@font/inter_semibold</item> <item name="android:fontFamily">@font/inter_semibold</item>
@ -37,7 +37,54 @@
</style> </style>
<!-- Custom button style that eliminates the weird margin that the neutral button has --> <!-- Custom button style that eliminates the weird margin that the neutral button has -->
<style name="Widget.Button.Dialog.Neutral" parent="Widget.Button.Dialog"> <style name="Widget.Auxio.Dialog.Button.Neutral" parent="Widget.Auxio.Dialog.Button">
<item name="android:layout_marginStart">0dp</item> <item name="android:layout_marginStart">0dp</item>
</style> </style>
<!-- Widget TextView that mimics the main Auxio Primary/Secondary TextViews. -->
<style name="Widget.Auxio.TextView.AppWidget" parent="Widget.Auxio.TextView.Base">
<item name="android:singleLine">true</item>
<item name="android:fontFamily">@font/inter</item>
<item name="android:ellipsize">end</item>
</style>
<!-- Widget TextView that mimics the main Auxio Primary TextView -->
<style name="Widget.Auxio.TextView.Primary.AppWidget" parent="Widget.Auxio.TextView.AppWidget">
<item name="android:textStyle">bold</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline6
</item>
</style>
<!-- Widget TextView that mimics the main Auxio Secondary TextView -->
<style name="Widget.Auxio.TextView.Secondary.AppWidget" parent="Widget.Auxio.TextView.AppWidget">
<item name="android:textColor">?android:attr/textColorSecondary</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle1
</item>
</style>
<!-- Hack to make sure that ripples work the best that they can on all Android Versions -->
<style name="Widget.Auxio.Button.AppWidget.V31" parent="Widget.AppCompat.Button.Borderless">
<!--
Can't use a normal unbounded ripple here since it causes a weird bug
where the ripples will have a fixed starting size. Default to the
uglier system ripple instead.
-->
<item name="android:background">?android:attr/selectableItemBackgroundBorderless</item>
</style>
<!-- Widget button that follows the weird widget restrictions -->
<style name="Widget.Auxio.Button.AppWidget" parent="Widget.Auxio.Button.AppWidget.V31">
<item name="android:minHeight">@dimen/size_btn_small</item>
<item name="android:scaleType">fitCenter</item>
<item name="android:padding">@dimen/spacing_small</item>
</style>
<!-- Widget panel -->
<style name="Widget.Auxio.AppWidget.Panel" parent="">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">match_parent</item>
<item name="android:padding">@dimen/spacing_medium</item>
<item name="android:orientation">vertical</item>
<item name="android:background">?attr/colorSurface</item>
</style>
</resources> </resources>

View file

@ -1,76 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- COMPONENT-SPECIFIC STYLES. NOT RE-USABLE. -->
<style name="Widget.Component.Playback.PlayPause" parent="">
<item name="android:layout_height">@dimen/size_btn_large</item>
<item name="android:layout_width">@dimen/size_btn_large</item>
<item name="android:background">@drawable/ui_circle_ripple</item>
<item name="android:elevation">@dimen/elevation_normal</item>
<item name="android:contentDescription">@string/desc_play_pause</item>
<item name="android:tint">?attr/colorSurface</item>
<item name="android:src">@drawable/sel_playing_state</item>
<item name="android:layout_marginStart">@dimen/spacing_large</item>
<item name="android:layout_marginTop">@dimen/spacing_medium</item>
<item name="android:layout_marginEnd">@dimen/spacing_large</item>
<item name="android:scaleType">fitCenter</item>
<item name="android:padding">@dimen/spacing_medium</item>
</style>
<style name="Widget.Component.AppWidget.TextView" parent="Widget.AppCompat.TextView">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:singleLine">true</item>
<item name="android:textAlignment">viewStart</item>
</style>
<style name="Widget.Component.AppWidget.TextView.Primary" parent="Widget.Component.AppWidget.TextView">
<item name="android:fontFamily">@font/inter</item>
<item name="android:textStyle">bold</item>
<item name="android:ellipsize">end</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline6
</item>
</style>
<style name="Widget.Component.AppWidget.TextView.Secondary" parent="Widget.Component.AppWidget.TextView">
<item name="android:ellipsize">end</item>
<item name="android:textColor">?android:attr/textColorSecondary</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle1
</item>
</style>
<style name="Widget.Component.AppWidget.ImageView" parent="">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">0dp</item>
<item name="android:layout_weight">1</item>
<item name="android:background">?attr/colorSurface</item>
<item name="android:scaleType">centerCrop</item>
</style>
<style name="Widget.Component.AppWidget.Button.Base" parent="Widget.AppCompat.Button.Borderless">
<item name="android:layout_height">@dimen/size_btn_small</item>
<item name="android:layout_width">0dp</item>
<item name="android:layout_weight">1</item>
<item name="android:scaleType">fitCenter</item>
<item name="android:padding">@dimen/spacing_small</item>
</style>
<style name="Widget.Component.AppWidget.Button" parent="Widget.Component.AppWidget.Button.Base">
<!--
Can't use a normal unbounded ripple here since it causes a weird bug
where the ripples will have a fixed starting size. Default to the
uglier system ripple instead.
-->
<item name="android:background">?android:attr/selectableItemBackgroundBorderless</item>
</style>
<style name="Widget.Component.AppWidget.Panel.Base" parent="">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">match_parent</item>
<item name="android:padding">@dimen/spacing_medium</item>
<item name="android:orientation">vertical</item>
<item name="android:background">?attr/colorSurface</item>
</style>
<style name="Widget.Component.AppWidget.Panel" parent="Widget.Component.AppWidget.Panel.Base" />
</resources>

View file

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<!-- Master parent theme based off of Theme.MaterialComponents.DayNight.NoActionBar.Bridge --> <!-- Master parent theme based off of Theme.MaterialComponents.DayNight.NoActionBar.Bridge -->
<style name="Theme.Master" parent="Theme.MaterialComponents.DayNight.NoActionBar" /> <style name="Theme.Auxio" parent="Theme.MaterialComponents.DayNight.NoActionBar" />
<!-- Template theme that handles edge-to-edge on other styles variants --> <!-- Template theme that handles edge-to-edge on other styles variants -->
<style name="Theme.Edge" parent="Theme.Master" /> <style name="Theme.Auxio.V27" parent="Theme.Auxio" />
<!-- Android 12 Splashscreen config --> <!-- Android 12 Splashscreen config -->
<style name="Theme.Splash" parent="Theme.Edge" /> <style name="Theme.Auxio.V31" parent="Theme.Auxio.V27" />
<!-- Dark-mode-specific stuff --> <!-- Dark-mode-specific stuff -->
<style name="Theme.Overlay" parent="Theme.Splash"> <style name="Theme.Auxio.DayNight" parent="Theme.Auxio.V31">
<!-- Light theme, don't use an elevation overlay. --> <!-- Light theme, don't use an elevation overlay. -->
<item name="elevationOverlayColor">@android:color/transparent</item> <item name="elevationOverlayColor">@android:color/transparent</item>
</style> </style>
<!-- Base theme --> <!-- Base theme -->
<style name="Theme.Base" parent="Theme.Overlay"> <style name="Theme.Auxio.App" parent="Theme.Auxio.DayNight">
<!-- Colors --> <!-- Colors -->
<item name="colorSurface">@color/surface</item> <item name="colorSurface">@color/surface</item>
<item name="colorAccent">@color/blue</item> <item name="colorAccent">@color/blue</item>
@ -43,11 +43,15 @@
<!-- Material stuff --> <!-- Material stuff -->
<item name="textInputStyle">@null</item> <item name="textInputStyle">@null</item>
<item name="materialAlertDialogTheme">@style/Theme.CustomDialog</item> <item name="materialAlertDialogTheme">@style/Theme.Auxio.Dialog</item>
</style> </style>
<!-- The basic black theme derived in all black accents. --> <!-- The basic black theme derived in all black accents. -->
<style name="Theme.Base.Black" parent="Theme.Base"> <style name="Theme.Auxio.App.Black" parent="Theme.Auxio.App">
<!--
Assume that Android's night mode will do the rest of the work
for us and set the background to pitch-black
-->
<item name="colorSurface">@android:color/black</item> <item name="colorSurface">@android:color/black</item>
</style> </style>
@ -55,5 +59,5 @@
Theming widgets is technically possible below Android 12, but I *really* don't care enough Theming widgets is technically possible below Android 12, but I *really* don't care enough
to bother with it. to bother with it.
--> -->
<style name="Theme.Widget" parent="@style/Theme.Blue" /> <style name="Theme.Widget" parent="@style/Theme.Auxio.Blue" />
</resources> </resources>

View file

@ -3,33 +3,38 @@
<!-- SHARED RE-USABLE UI STYLES --> <!-- SHARED RE-USABLE UI STYLES -->
<!-- VIEW STYLES --> <!-- VIEW STYLES -->
<style name="Widget.Toolbar" parent="ThemeOverlay.MaterialComponents.ActionBar">
<!-- Base toolbar style -->
<style name="Widget.Auxio.Toolbar" parent="ThemeOverlay.MaterialComponents.ActionBar">
<item name="android:layout_width">match_parent</item> <item name="android:layout_width">match_parent</item>
<item name="android:layout_height">?android:attr/actionBarSize</item> <item name="android:layout_height">?android:attr/actionBarSize</item>
<item name="titleTextAppearance">@style/TextAppearance.Toolbar.Header</item> <item name="titleTextAppearance">@style/TextAppearance.ToolbarTitle</item>
<item name="titleTextColor">?attr/colorAccent</item> <item name="titleTextColor">?attr/colorAccent</item>
<item name="contentInsetStartWithNavigation">0dp</item> <item name="contentInsetStartWithNavigation">0dp</item>
</style> </style>
<!-- Toolbar sub-style with a nav icon --> <!-- Toolbar sub-style with a nav icon -->
<style name="Widget.Toolbar.Icon" parent="Widget.Toolbar"> <style name="Widget.Auxio.Toolbar.Icon" parent="Widget.Auxio.Toolbar">
<item name="navigationIcon">@drawable/ic_back</item> <item name="navigationIcon">@drawable/ic_back</item>
</style> </style>
<!-- Toolbar sub-style with a downwards nav icon --> <!-- Toolbar sub-style with a downwards nav icon -->
<style name="Widget.Toolbar.Icon.Down" parent="Widget.Toolbar"> <style name="Widget.Auxio.Toolbar.Icon.Down" parent="Widget.Auxio.Toolbar">
<item name="navigationIcon">@drawable/ic_down</item> <item name="navigationIcon">@drawable/ic_down</item>
</style> </style>
<style name="Widget.ProgressBar.Compact" parent="@style/Widget.AppCompat.ProgressBar.Horizontal"> <style name="TextAppearance.ToolbarTitle" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:layout_width">match_parent</item> <item name="android:fontFamily">@font/inter_bold</item>
<item name="android:layout_height">@dimen/size_stroke_large</item> <item name="android:textSize">@dimen/text_size_large</item>
</style>
<style name="Widget.Auxio.ProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">
<item name="android:progressBackgroundTint">?attr/colorAccent</item> <item name="android:progressBackgroundTint">?attr/colorAccent</item>
<item name="android:progressTint">?attr/colorAccent</item> <item name="android:progressTint">?attr/colorAccent</item>
</style> </style>
<style name="Widget.SeekBar.Full" parent="@style/Widget.AppCompat.SeekBar"> <style name="Widget.Auxio.SeekBar" parent="Widget.AppCompat.SeekBar">
<item name="android:clickable">true</item> <item name="android:clickable">true</item>
<item name="android:focusable">true</item> <item name="android:focusable">true</item>
<item name="android:paddingStart">@dimen/spacing_mid_large</item> <item name="android:paddingStart">@dimen/spacing_mid_large</item>
@ -40,43 +45,36 @@
<item name="android:thumbOffset">@dimen/offset_thumb</item> <item name="android:thumbOffset">@dimen/offset_thumb</item>
<item name="android:thumbTint">?attr/colorAccent</item> <item name="android:thumbTint">?attr/colorAccent</item>
<item name="android:enabled">true</item> <item name="android:enabled">true</item>
<item name="android:theme">@style/ThemeOverlay.SeekbarSelectionHack</item> <item name="android:theme">@style/ThemeOverlay.SeekbarHalo</item>
</style> </style>
<style name="ThemeOverlay.SeekbarSelectionHack" parent=""> <style name="ThemeOverlay.SeekbarHalo" parent="">
<!-- TODO: Remove this dumb hack and use a slider --> <!-- TODO: Remove this dumb hack and use a slider -->
<item name="colorControlHighlight">@color/overlay_seekbar_halo</item> <item name="colorControlHighlight">@color/overlay_seekbar_halo</item>
</style> </style>
<style name="Widget.ImageView.Compact" parent=""> <style name="Widget.Auxio.Image.Compact" parent="">
<item name="android:layout_width">@dimen/size_cover_compact</item> <item name="android:layout_width">@dimen/size_cover_compact</item>
<item name="android:layout_height">@dimen/size_cover_compact</item> <item name="android:layout_height">@dimen/size_cover_compact</item>
</style> </style>
<style name="Widget.ImageView.Normal" parent=""> <style name="Widget.Auxio.Image.Normal" parent="">
<item name="android:layout_width">@dimen/size_cover_normal</item> <item name="android:layout_width">@dimen/size_cover_normal</item>
<item name="android:layout_height">@dimen/size_cover_normal</item> <item name="android:layout_height">@dimen/size_cover_normal</item>
</style> </style>
<style name="Widget.ImageView.Full" parent=""> <style name="Widget.Auxio.Image.Full" parent="">
<item name="android:layout_width">0dp</item> <item name="android:layout_width">0dp</item>
<item name="android:layout_height">0dp</item> <item name="android:layout_height">0dp</item>
<item name="android:elevation">@dimen/elevation_normal</item> <item name="android:elevation">@dimen/elevation_normal</item>
<item name="android:outlineProvider">bounds</item> <item name="android:outlineProvider">bounds</item>
</style> </style>
<style name="TextAppearance.TabLayout.Label" parent="@style/TextAppearance.Design.Tab"> <style name="TextAppearance.Auxio.TabLayout.Label" parent="@style/TextAppearance.Design.Tab">
<item name="android:fontFamily">@font/inter_semibold</item> <item name="android:fontFamily">@font/inter_semibold</item>
</style> </style>
<!-- VIEWGROUP STYLES --> <style name="Widget.Auxio.ItemLayout" parent="">
<style name="TextAppearance.Toolbar.Header" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:fontFamily">@font/inter_bold</item>
<item name="android:textSize">@dimen/text_size_large</item>
</style>
<style name="ItemLayout">
<item name="android:layout_width">match_parent</item> <item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/ui_ripple</item> <item name="android:background">@drawable/ui_ripple</item>
@ -87,65 +85,53 @@
<!-- TEXTVIEW STYLES --> <!-- TEXTVIEW STYLES -->
<style name="Widget.TextView.Item.Base" parent="Widget.AppCompat.TextView"> <style name="Widget.Auxio.TextView.Base" parent="Widget.AppCompat.TextView">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textAlignment">viewStart</item> <item name="android:textAlignment">viewStart</item>
</style>
<style name="Widget.Auxio.TextView.Item.Base" parent="Widget.Auxio.TextView.Base">
<item name="android:ellipsize">end</item> <item name="android:ellipsize">end</item>
<item name="android:maxLines">1</item> <item name="android:maxLines">1</item>
<item name="android:layout_marginStart">@dimen/spacing_medium</item> <item name="android:layout_marginStart">@dimen/spacing_medium</item>
</style> </style>
<style name="Widget.TextView.Item.Primary" parent="Widget.TextView.Item.Base"> <style name="Widget.Auxio.TextView.Item.Primary" parent="Widget.Auxio.TextView.Item.Base">
<item name="android:textAppearance">?android:attr/textAppearanceListItem</item> <item name="android:textAppearance">?android:attr/textAppearanceListItem</item>
<item name="android:textColor">?android:attr/textColorPrimary</item> <item name="android:textColor">?android:attr/textColorPrimary</item>
</style> </style>
<style name="Widget.TextView.Item.Secondary" parent="Widget.TextView.Item.Base"> <style name="Widget.Auxio.TextView.Item.Secondary" parent="Widget.Auxio.TextView.Item.Base">
<item name="android:textAppearance">?android:attr/textAppearanceListItemSecondary</item> <item name="android:textAppearance">?android:attr/textAppearanceListItemSecondary</item>
<item name="android:textColor">?android:attr/textColorSecondary</item> <item name="android:textColor">?android:attr/textColorSecondary</item>
</style> </style>
<style name="Widget.TextView.Emp.Base" parent="Widget.AppCompat.TextView"> <style name="Widget.Auxio.TextView.Primary" parent="Widget.Auxio.TextView.Base">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:singleLine">true</item>
<item name="android:textAlignment">viewStart</item>
</style>
<style name="Widget.TextView.Primary" parent="Widget.TextView.Emp.Base">
<item name="android:fontFamily">@font/inter_semibold</item> <item name="android:fontFamily">@font/inter_semibold</item>
<item name="android:ellipsize">marquee</item> <item name="android:ellipsize">marquee</item>
<item name="android:maxLines">1</item>
<item name="android:marqueeRepeatLimit">marquee_forever</item> <item name="android:marqueeRepeatLimit">marquee_forever</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline6 <item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline6
</item> </item>
</style> </style>
<style name="Widget.TextView.Secondary" parent="Widget.TextView.Emp.Base"> <style name="Widget.Auxio.TextView.Secondary" parent="Widget.Auxio.TextView.Base">
<item name="android:ellipsize">end</item> <item name="android:ellipsize">end</item>
<item name="android:textColor">?android:attr/textColorSecondary</item> <item name="android:textColor">?android:attr/textColorSecondary</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle1 <item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle1</item>
</item>
</style> </style>
<style name="Widget.TextView.Compact.Base" parent="Widget.AppCompat.TextView"> <style name="Widget.Auxio.TextView.Primary.Compact" parent="Widget.Auxio.TextView.Base">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:ellipsize">end</item>
<item name="android:singleLine">true</item>
<item name="android:textAlignment">viewStart</item>
</style>
<style name="Widget.TextView.Compact.Primary" parent="Widget.TextView.Compact.Base">
<item name="android:fontFamily">@font/inter_semibold</item> <item name="android:fontFamily">@font/inter_semibold</item>
<item name="android:maxLines">1</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Body2</item> <item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Body2</item>
</style> </style>
<style name="Widget.TextView.Compact.Secondary" parent="Widget.TextView.Compact.Base"> <style name="Widget.Auxio.TextView.Secondary.Compact" parent="Widget.Auxio.TextView.Base">
<item name="android:maxLines">1</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Caption</item> <item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Caption</item>
</style> </style>
<style name="Widget.TextView.Header" parent="@style/Widget.AppCompat.TextView"> <style name="Widget.Auxio.TextView.Header" parent="Widget.Auxio.TextView.Base">
<item name="android:paddingStart">@dimen/spacing_medium</item> <item name="android:paddingStart">@dimen/spacing_medium</item>
<item name="android:paddingTop">@dimen/spacing_small</item> <item name="android:paddingTop">@dimen/spacing_small</item>
<item name="android:paddingBottom">@dimen/spacing_small</item> <item name="android:paddingBottom">@dimen/spacing_small</item>
@ -156,28 +142,23 @@
<item name="android:textColor">?android:attr/textColorPrimary</item> <item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="android:fontFamily">@font/inter_semibold</item> <item name="android:fontFamily">@font/inter_semibold</item>
<item name="android:background">@drawable/ui_header_dividers</item> <item name="android:background">@drawable/ui_header_dividers</item>
<item name="android:textAlignment">viewStart</item>
</style> </style>
<style name="Widget.TextView.Detail" parent="@style/Widget.AppCompat.TextView"> <style name="Widget.Auxio.TextView.Detail" parent="Widget.Auxio.TextView.Base">
<item name="android:textAppearance">?android:attr/textAppearanceLarge</item> <item name="android:textAppearance">?android:attr/textAppearanceLarge</item>
<item name="android:textSize">@dimen/text_size_huge</item> <item name="android:textSize">@dimen/text_size_huge</item>
<item name="android:textAlignment">viewStart</item> <item name="android:textAlignment">viewStart</item>
<item name="android:gravity">center_vertical</item>
<item name="android:fontFamily">@font/inter_bold</item> <item name="android:fontFamily">@font/inter_bold</item>
<item name="android:textColor">?attr/colorAccent</item> <item name="android:textColor">?attr/colorAccent</item>
</style> </style>
<style name="Widget.TextView.Icon" parent="Widget.AppCompat.TextView"> <style name="Widget.Auxio.TextView.Icon" parent="Widget.Auxio.TextView.Base">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:drawablePadding">@dimen/spacing_medium</item> <item name="android:drawablePadding">@dimen/spacing_medium</item>
<item name="android:padding">@dimen/spacing_medium</item> <item name="android:padding">@dimen/spacing_medium</item>
<item name="android:textAlignment">viewStart</item>
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Subhead</item> <item name="android:textAppearance">@style/TextAppearance.AppCompat.Subhead</item>
</style> </style>
<style name="Widget.TextView.Icon.Clickable" parent="Widget.TextView.Icon"> <style name="Widget.Auxio.TextView.Icon.Clickable" parent="Widget.Auxio.TextView.Icon">
<item name="android:clickable">true</item> <item name="android:clickable">true</item>
<item name="android:focusable">true</item> <item name="android:focusable">true</item>
<item name="android:background">@drawable/ui_ripple</item> <item name="android:background">@drawable/ui_ripple</item>
@ -185,27 +166,15 @@
<!-- BUTTON STYLES --> <!-- BUTTON STYLES -->
<style name="Widget.Button.Unbounded" parent="Widget.AppCompat.Button.Borderless"> <style name="Widget.Auxio.Button.Unbounded" parent="Widget.AppCompat.Button.Borderless">
<item name="android:layout_width">@dimen/size_btn_small</item> <item name="android:minHeight">@dimen/size_btn_small</item>
<item name="android:layout_height">@dimen/size_btn_small</item> <item name="android:minWidth">@dimen/size_btn_small</item>
<item name="android:background">@drawable/ui_unbounded_ripple</item> <item name="android:background">@drawable/ui_unbounded_ripple</item>
<item name="android:scaleType">fitCenter</item> <item name="android:scaleType">fitCenter</item>
<item name="android:padding">@dimen/spacing_small</item> <item name="android:padding">@dimen/spacing_small</item>
</style> </style>
<style name="Widget.Button.Unbounded.Small" parent="Widget.AppCompat.Button.Borderless"> <style name="Widget.Auxio.Button.Primary" parent="@style/Widget.MaterialComponents.Button.TextButton">
<item name="android:minWidth">@dimen/size_btn_small</item>
<item name="android:minHeight">@dimen/size_btn_small</item>
<item name="android:paddingStart">@dimen/spacing_medium</item>
<item name="android:paddingTop">@dimen/spacing_small</item>
<item name="android:paddingBottom">@dimen/spacing_small</item>
<item name="android:paddingEnd">@dimen/spacing_medium</item>
<item name="android:background">@drawable/ui_small_unbounded_ripple</item>
</style>
<style name="Widget.Button.Vibrant.Primary" parent="@style/Widget.MaterialComponents.Button.TextButton">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:letterSpacing">0.01</item> <item name="android:letterSpacing">0.01</item>
<item name="android:textAllCaps">false</item> <item name="android:textAllCaps">false</item>
<item name="android:textSize">@dimen/text_size_small</item> <item name="android:textSize">@dimen/text_size_small</item>
@ -215,13 +184,22 @@
<item name="cornerRadius">0dp</item> <item name="cornerRadius">0dp</item>
</style> </style>
<style name="Widget.Button.Vibrant.Secondary" parent="@style/Widget.MaterialComponents.Button.OutlinedButton"> <style name="Widget.Auxio.Button.Secondary" parent="@style/Widget.MaterialComponents.Button.OutlinedButton">
<item name="android:layout_width">0dp</item> <item name="android:letterSpacing">0.01</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:letterSpacing">0.0125</item>
<item name="android:textAllCaps">false</item> <item name="android:textAllCaps">false</item>
<item name="android:textSize">@dimen/text_size_small</item> <item name="android:textSize">@dimen/text_size_small</item>
<item name="fontFamily">@font/inter_semibold</item> <item name="fontFamily">@font/inter_semibold</item>
<item name="cornerRadius">0dp</item> <item name="cornerRadius">0dp</item>
</style> </style>
<style name="Widget.Auxio.Button.Circular" parent="">
<item name="android:minHeight">@dimen/size_btn_large</item>
<item name="android:minWidth">@dimen/size_btn_large</item>
<item name="android:background">@drawable/ui_circle_ripple</item>
<item name="android:elevation">@dimen/elevation_normal</item>
<item name="android:contentDescription">@string/desc_play_pause</item>
<item name="android:tint">?attr/colorSurface</item>
<item name="android:scaleType">fitCenter</item>
<item name="android:padding">@dimen/spacing_medium</item>
</style>
</resources> </resources>

View file

@ -2,82 +2,80 @@
<resources> <resources>
<!-- <!--
All the base themes/accents. All the base themes/accents.
TODO: Material You Theme. Theres no API support [yet], but I can use the system colors to
get it working well enough.
--> -->
<style name="Theme.Red" parent="Theme.Base"> <style name="Theme.Auxio.Red" parent="Theme.Auxio.App">
<item name="colorAccent">@color/red</item> <item name="colorAccent">@color/red</item>
</style> </style>
<style name="Theme.Pink" parent="Theme.Base"> <style name="Theme.Auxio.Pink" parent="Theme.Auxio.App">
<item name="colorAccent">@color/pink</item> <item name="colorAccent">@color/pink</item>
</style> </style>
<style name="Theme.Purple" parent="Theme.Base"> <style name="Theme.Auxio.Purple" parent="Theme.Auxio.App">
<item name="colorAccent">@color/purple</item> <item name="colorAccent">@color/purple</item>
</style> </style>
<style name="Theme.DeepPurple" parent="Theme.Base"> <style name="Theme.Auxio.DeepPurple" parent="Theme.Auxio.App">
<item name="colorAccent">@color/deep_purple</item> <item name="colorAccent">@color/deep_purple</item>
</style> </style>
<style name="Theme.Indigo" parent="Theme.Base"> <style name="Theme.Auxio.Indigo" parent="Theme.Auxio.App">
<item name="colorAccent">@color/indigo</item> <item name="colorAccent">@color/indigo</item>
</style> </style>
<style name="Theme.Blue" parent="Theme.Base"> <style name="Theme.Auxio.Blue" parent="Theme.Auxio.App">
<item name="colorAccent">@color/blue</item> <item name="colorAccent">@color/blue</item>
</style> </style>
<style name="Theme.LightBlue" parent="Theme.Base"> <style name="Theme.Auxio.LightBlue" parent="Theme.Auxio.App">
<item name="colorAccent">@color/light_blue</item> <item name="colorAccent">@color/light_blue</item>
</style> </style>
<style name="Theme.Cyan" parent="Theme.Base"> <style name="Theme.Auxio.Cyan" parent="Theme.Auxio.App">
<item name="colorAccent">@color/cyan</item> <item name="colorAccent">@color/cyan</item>
</style> </style>
<style name="Theme.Teal" parent="Theme.Base"> <style name="Theme.Auxio.Teal" parent="Theme.Auxio.App">
<item name="colorAccent">@color/teal</item> <item name="colorAccent">@color/teal</item>
</style> </style>
<style name="Theme.Green" parent="Theme.Base"> <style name="Theme.Auxio.Green" parent="Theme.Auxio.App">
<item name="colorAccent">@color/green</item> <item name="colorAccent">@color/green</item>
</style> </style>
<style name="Theme.LightGreen" parent="Theme.Base"> <style name="Theme.Auxio.LightGreen" parent="Theme.Auxio.App">
<item name="colorAccent">@color/light_green</item> <item name="colorAccent">@color/light_green</item>
</style> </style>
<style name="Theme.Lime" parent="Theme.Base"> <style name="Theme.Auxio.Lime" parent="Theme.Auxio.App">
<item name="colorAccent">@color/lime</item> <item name="colorAccent">@color/lime</item>
</style> </style>
<style name="Theme.Yellow" parent="Theme.Base"> <style name="Theme.Auxio.Yellow" parent="Theme.Auxio.App">
<item name="colorAccent">@color/yellow</item> <item name="colorAccent">@color/yellow</item>
</style> </style>
<style name="Theme.Orange" parent="Theme.Base"> <style name="Theme.Auxio.Orange" parent="Theme.Auxio.App">
<item name="colorAccent">@color/orange</item> <item name="colorAccent">@color/orange</item>
</style> </style>
<style name="Theme.DeepOrange" parent="Theme.Base"> <style name="Theme.Auxio.DeepOrange" parent="Theme.Auxio.App">
<item name="colorAccent">@color/deep_orange</item> <item name="colorAccent">@color/deep_orange</item>
</style> </style>
<style name="Theme.Brown" parent="Theme.Base"> <style name="Theme.Auxio.Brown" parent="Theme.Auxio.App">
<item name="colorAccent">@color/brown</item> <item name="colorAccent">@color/brown</item>
</style> </style>
<style name="Theme.Grey" parent="Theme.Base"> <style name="Theme.Auxio.Grey" parent="Theme.Auxio.App">
<item name="colorAccent">@color/grey</item> <item name="colorAccent">@color/grey</item>
</style> </style>
<style name="Theme.BlueGrey" parent="Theme.Base"> <style name="Theme.Auxio.BlueGrey" parent="Theme.Auxio.App">
<item name="colorAccent">@color/blue_grey</item> <item name="colorAccent">@color/blue_grey</item>
</style> </style>
<style name="Theme.Neutral" parent="Theme.Base"> <style name="Theme.Auxio.Neutral" parent="Theme.Auxio.App">
<item name="colorAccent">@color/control</item> <item name="colorAccent">@color/control</item>
</style> </style>
</resources> </resources>

View file

@ -3,75 +3,75 @@
<!-- <!--
All the base themes/accents. All the base themes/accents.
--> -->
<style name="Theme.Red.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Red" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/red</item> <item name="colorAccent">@color/red</item>
</style> </style>
<style name="Theme.Pink.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Pink" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/pink</item> <item name="colorAccent">@color/pink</item>
</style> </style>
<style name="Theme.Purple.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Purple" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/purple</item> <item name="colorAccent">@color/purple</item>
</style> </style>
<style name="Theme.DeepPurple.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.DeepPurple" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/deep_purple</item> <item name="colorAccent">@color/deep_purple</item>
</style> </style>
<style name="Theme.Indigo.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Indigo" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/indigo</item> <item name="colorAccent">@color/indigo</item>
</style> </style>
<style name="Theme.Blue.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Blue" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/blue</item> <item name="colorAccent">@color/blue</item>
</style> </style>
<style name="Theme.LightBlue.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.LightBlue" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/light_blue</item> <item name="colorAccent">@color/light_blue</item>
</style> </style>
<style name="Theme.Cyan.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Cyan" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/cyan</item> <item name="colorAccent">@color/cyan</item>
</style> </style>
<style name="Theme.Teal.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Teal" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/teal</item> <item name="colorAccent">@color/teal</item>
</style> </style>
<style name="Theme.Green.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Green" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/green</item> <item name="colorAccent">@color/green</item>
</style> </style>
<style name="Theme.LightGreen.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.LightGreen" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/light_green</item> <item name="colorAccent">@color/light_green</item>
</style> </style>
<style name="Theme.Lime.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Lime" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/lime</item> <item name="colorAccent">@color/lime</item>
</style> </style>
<style name="Theme.Yellow.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Yellow" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/yellow</item> <item name="colorAccent">@color/yellow</item>
</style> </style>
<style name="Theme.Orange.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Orange" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/orange</item> <item name="colorAccent">@color/orange</item>
</style> </style>
<style name="Theme.DeepOrange.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.DeepOrange" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/deep_orange</item> <item name="colorAccent">@color/deep_orange</item>
</style> </style>
<style name="Theme.Brown.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Brown" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/brown</item> <item name="colorAccent">@color/brown</item>
</style> </style>
<style name="Theme.Grey.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.Grey" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/grey</item> <item name="colorAccent">@color/grey</item>
</style> </style>
<style name="Theme.BlueGrey.Black" parent="Theme.Base.Black"> <style name="Theme.Auxio.Black.BlueGrey" parent="Theme.Auxio.App.Black">
<item name="colorAccent">@color/blue_grey</item> <item name="colorAccent">@color/blue_grey</item>
</style> </style>
</resources> </resources>

View file

@ -47,15 +47,15 @@ To prevent any strange bugs, all integer representations must be unique. A table
0xA004 | HeaderViewHolder 0xA004 | HeaderViewHolder
0xA005 | ActionHeaderViewHolder 0xA005 | ActionHeaderViewHolder
0xA005 | AlbumDetailViewHolder 0xA006 | AlbumDetailViewHolder
0xA006 | AlbumSongViewHolder 0xA007 | AlbumSongViewHolder
0xA007 | ArtistDetailViewHolder 0xA008 | ArtistDetailViewHolder
0xA008 | ArtistAlbumViewHolder 0xA009 | ArtistAlbumViewHolder
0xA009 | ArtistSongViewHolder 0xA00A | ArtistSongViewHolder
0xA010 | GenreDetailViewHolder 0xA00B | GenreDetailViewHolder
0xA011 | GenreSongViewHolder 0xA00C | GenreSongViewHolder
0xA00A | QueueSongViewHolder 0xA00D | QueueSongViewHolder
0xA0A0 | Auxio notification code 0xA0A0 | Auxio notification code
0xA0C0 | Auxio request code 0xA0C0 | Auxio request code
@ -71,7 +71,7 @@ To prevent any strange bugs, all integer representations must be unique. A table
0xA105 | PlaybackMode.IN_ALBUM 0xA105 | PlaybackMode.IN_ALBUM
0xA106 | PlaybackMode.ALL_SONGS 0xA106 | PlaybackMode.ALL_SONGS
0xA107 | DisplayMode.SHOW_ALL 0xA107 | Null DisplayMode [Filter Nothing]
0xA108 | DisplayMode.SHOW_GENRES 0xA108 | DisplayMode.SHOW_GENRES
0xA109 | DisplayMode.SHOW_ARTISTS 0xA109 | DisplayMode.SHOW_ARTISTS
0xA10A | DisplayMode.SHOW_ALBUMS 0xA10A | DisplayMode.SHOW_ALBUMS