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:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Base">
android:theme="@style/Theme.Auxio.App">
<activity
android:name=".MainActivity"

View file

@ -33,47 +33,47 @@ import org.oxycblt.auxio.util.resolveStateList
* A list of all possible accents.
*/
val ACCENTS = arrayOf(
Accent(R.color.red, R.style.Theme_Red, R.style.Theme_Red_Black, R.string.clr_red),
Accent(R.color.pink, R.style.Theme_Pink, R.style.Theme_Pink_Black, R.string.clr_pink),
Accent(R.color.purple, R.style.Theme_Purple, R.style.Theme_Purple_Black, R.string.clr_purple),
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_Auxio_Pink, R.style.Theme_Auxio_Black_Pink, R.string.clr_pink),
Accent(R.color.purple, R.style.Theme_Auxio_Purple, R.style.Theme_Auxio_Black_Purple, R.string.clr_purple),
Accent(
R.color.deep_purple,
R.style.Theme_DeepPurple,
R.style.Theme_DeepPurple_Black,
R.style.Theme_Auxio_DeepPurple,
R.style.Theme_Auxio_Black_DeepPurple,
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.blue, R.style.Theme_Blue, R.style.Theme_Blue_Black, R.string.clr_blue),
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_Auxio_Blue, R.style.Theme_Auxio_Black_Blue, R.string.clr_blue),
Accent(
R.color.light_blue,
R.style.Theme_LightBlue,
R.style.Theme_LightBlue_Black,
R.style.Theme_Auxio_LightBlue,
R.style.Theme_Auxio_Black_LightBlue,
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.teal, R.style.Theme_Teal, R.style.Theme_Teal_Black, R.string.clr_teal),
Accent(R.color.green, R.style.Theme_Green, R.style.Theme_Green_Black, R.string.clr_green),
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_Auxio_Teal, R.style.Theme_Auxio_Black_Teal, R.string.clr_teal),
Accent(R.color.green, R.style.Theme_Auxio_Green, R.style.Theme_Auxio_Black_Green, R.string.clr_green),
Accent(
R.color.light_green,
R.style.Theme_LightGreen,
R.style.Theme_LightGreen_Black,
R.style.Theme_Auxio_LightGreen,
R.style.Theme_Auxio_Black_LightGreen,
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.yellow, R.style.Theme_Yellow, R.style.Theme_Yellow_Black, R.string.clr_yellow),
Accent(R.color.orange, R.style.Theme_Orange, R.style.Theme_Orange_Black, R.string.clr_orange),
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_Auxio_Yellow, R.style.Theme_Auxio_Black_Yellow, R.string.clr_yellow),
Accent(R.color.orange, R.style.Theme_Auxio_Orange, R.style.Theme_Auxio_Black_Orange, R.string.clr_orange),
Accent(
R.color.deep_orange,
R.style.Theme_DeepOrange,
R.style.Theme_DeepOrange_Black,
R.style.Theme_Auxio_DeepOrange,
R.style.Theme_Auxio_Black_DeepOrange,
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.grey, R.style.Theme_Grey, R.style.Theme_Grey_Black, R.string.clr_label_grey),
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_Auxio_Grey, R.style.Theme_Auxio_Black_Grey, R.string.clr_label_grey),
Accent(
R.color.blue_grey,
R.style.Theme_BlueGrey,
R.style.Theme_BlueGrey_Black,
R.style.Theme_Auxio_BlueGrey,
R.style.Theme_Auxio_Black_BlueGrey,
R.string.clr_blue_grey
),
)

View file

@ -20,7 +20,6 @@ package org.oxycblt.auxio.playback.system
import android.content.Context
import android.content.Intent
import android.os.Build
import android.os.SystemClock
import android.support.v4.media.MediaMetadataCompat
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.playback.state.LoopMode
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],

View file

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

View file

@ -28,7 +28,7 @@
<androidx.appcompat.widget.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_constraintTop_toTopOf="parent"
app:menu="@menu/menu_playback"
@ -36,7 +36,7 @@
<ImageView
android:id="@+id/playback_cover"
style="@style/Widget.ImageView.Full"
style="@style/Widget.Auxio.Image.Full"
android:layout_margin="@dimen/spacing_large"
android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}"
@ -63,7 +63,7 @@
<TextView
android:id="@+id/playback_song"
style="@style/Widget.TextView.Primary"
style="@style/Widget.Auxio.TextView.Primary"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song)}"
@ -74,7 +74,9 @@
<TextView
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_marginEnd="@dimen/spacing_mid_large"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album.artist)}"
@ -87,7 +89,9 @@
<TextView
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_marginEnd="@dimen/spacing_mid_large"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album)}"
@ -100,7 +104,7 @@
<SeekBar
android:id="@+id/playback_seek_bar"
style="@style/Widget.SeekBar.Full"
style="@style/Widget.Auxio.SeekBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_medium"
@ -134,7 +138,9 @@
<ImageButton
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:contentDescription="@string/desc_change_loop"
android:onClick="@{() -> playbackModel.incrementLoopStatus()}"
@ -146,7 +152,9 @@
<ImageButton
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:onClick="@{() -> playbackModel.skipPrev()}"
android:src="@drawable/ic_skip_prev"
@ -157,9 +165,15 @@
<ImageButton
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:onClick="@{() -> playbackModel.invertPlayingStatus()}"
android:src="@drawable/sel_playing_state"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/playback_song_duration"
app:layout_constraintStart_toStartOf="@+id/playback_duration_current"
@ -168,7 +182,9 @@
<ImageButton
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:onClick="@{() -> playbackModel.skipNext()}"
android:src="@drawable/ic_skip_next"
@ -179,15 +195,17 @@
<ImageButton
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:contentDescription="@string/desc_shuffle"
android:onClick="@{() -> playbackModel.invertShuffleStatus()}"
android:src="@drawable/ic_shuffle"
app:tint="@color/sel_accented"
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
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>
</layout>

View file

@ -12,17 +12,17 @@
<ImageView
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_height="@dimen/size_cover_huge_land"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_artist"
tools:ignore="ContentDescription" />
tools:ignore="ContentDescription"
tools:src="@drawable/ic_artist" />
<TextView
android:id="@+id/detail_name"
style="@style/Widget.TextView.Detail"
style="@style/Widget.Auxio.TextView.Detail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_medium"
@ -63,7 +63,9 @@
<com.google.android.material.button.MaterialButton
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_marginEnd="@dimen/spacing_small"
android:text="@string/lbl_play"
@ -74,7 +76,9 @@
<com.google.android.material.button.MaterialButton
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:text="@string/lbl_shuffle"

View file

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

View file

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

View file

@ -28,7 +28,7 @@
<androidx.appcompat.widget.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_constraintTop_toTopOf="parent"
app:menu="@menu/menu_playback"
@ -36,7 +36,7 @@
<ImageView
android:id="@+id/playback_cover"
style="@style/Widget.ImageView.Full"
style="@style/Widget.Auxio.Image.Full"
android:layout_margin="@dimen/spacing_mid_huge"
android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}"
@ -49,7 +49,9 @@
<TextView
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_marginEnd="@dimen/spacing_mid_huge"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song)}"
@ -62,7 +64,9 @@
<TextView
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_marginEnd="@dimen/spacing_mid_huge"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album.artist)}"
@ -74,7 +78,9 @@
<TextView
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_marginEnd="@dimen/spacing_mid_huge"
android:layout_marginBottom="@dimen/spacing_medium"
@ -87,7 +93,7 @@
<SeekBar
android:id="@+id/playback_seek_bar"
style="@style/Widget.SeekBar.Full"
style="@style/Widget.Auxio.SeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/spacing_mid_huge"
@ -122,7 +128,9 @@
<ImageButton
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:contentDescription="@string/desc_change_loop"
android:onClick="@{() -> playbackModel.incrementLoopStatus()}"
@ -134,7 +142,9 @@
<ImageButton
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:contentDescription="@string/desc_skip_prev"
android:onClick="@{() -> playbackModel.skipPrev()}"
@ -145,10 +155,16 @@
<ImageButton
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:onClick="@{() -> playbackModel.invertPlayingStatus()}"
android:contentDescription="@string/desc_play_pause"
android:onClick="@{() -> playbackModel.invertPlayingStatus()}"
android:src="@drawable/sel_playing_state"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/playback_song_duration"
app:layout_constraintStart_toStartOf="@+id/playback_duration_current"
@ -156,7 +172,9 @@
<ImageButton
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:contentDescription="@string/desc_skip_next"
android:onClick="@{() -> playbackModel.skipNext()}"
@ -167,15 +185,17 @@
<ImageButton
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:contentDescription="@string/desc_shuffle"
android:onClick="@{() -> playbackModel.invertShuffleStatus()}"
android:src="@drawable/ic_shuffle"
app:tint="@color/sel_accented"
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
app:layout_constraintStart_toEndOf="@+id/playback_skip_next"
app:layout_constraintTop_toTopOf="@+id/playback_skip_next" />
app:layout_constraintTop_toTopOf="@+id/playback_skip_next"
app:tint="@color/sel_accented" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

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

View file

@ -26,7 +26,7 @@
<ImageView
android:id="@+id/playback_cover"
style="@style/Widget.ImageView.Compact"
style="@style/Widget.Auxio.Image.Compact"
android:layout_margin="@dimen/spacing_small"
android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}"
@ -37,7 +37,9 @@
<TextView
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_marginEnd="@dimen/spacing_small"
android:text="@{song.name}"
@ -50,7 +52,9 @@
<TextView
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_marginEnd="@dimen/spacing_small"
android:text="@{@string/fmt_two(song.album.artist.name, song.album.name)}"
@ -62,7 +66,9 @@
<ImageButton
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:layout_margin="@dimen/spacing_small"
android:contentDescription="@string/desc_play_pause"
@ -73,7 +79,9 @@
<ProgressBar
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}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

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

View file

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

View file

@ -48,7 +48,7 @@
<com.google.android.material.button.MaterialButton
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_height="wrap_content"
android:paddingStart="@dimen/spacing_insane"

View file

@ -27,7 +27,7 @@
<androidx.appcompat.widget.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_constraintTop_toTopOf="parent"
app:menu="@menu/menu_playback"
@ -35,7 +35,7 @@
<ImageView
android:id="@+id/playback_cover"
style="@style/Widget.ImageView.Full"
style="@style/Widget.Auxio.Image.Full"
android:layout_margin="@dimen/spacing_mid_large"
android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}"
@ -48,7 +48,9 @@
<TextView
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_marginEnd="@dimen/spacing_mid_large"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song)}"
@ -61,7 +63,9 @@
<TextView
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_marginEnd="@dimen/spacing_mid_large"
android:onClick="@{() -> detailModel.navToItem(playbackModel.song.album.artist)}"
@ -73,7 +77,9 @@
<TextView
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_marginEnd="@dimen/spacing_mid_large"
android:layout_marginBottom="@dimen/spacing_medium"
@ -86,7 +92,7 @@
<SeekBar
android:id="@+id/playback_seek_bar"
style="@style/Widget.SeekBar.Full"
style="@style/Widget.Auxio.SeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/playback_duration_current"
@ -119,7 +125,9 @@
<ImageButton
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:contentDescription="@string/desc_change_loop"
android:onClick="@{() -> playbackModel.incrementLoopStatus()}"
@ -130,7 +138,9 @@
<ImageButton
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:onClick="@{() -> playbackModel.skipPrev()}"
android:src="@drawable/ic_skip_prev"
@ -141,9 +151,15 @@
<ImageButton
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:contentDescription="@string/desc_play_pause"
android:src="@drawable/sel_playing_state"
android:onClick="@{() -> playbackModel.invertPlayingStatus()}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/playback_song_duration"
@ -152,7 +168,9 @@
<ImageButton
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:onClick="@{() -> playbackModel.skipNext()}"
android:src="@drawable/ic_skip_next"
@ -163,15 +181,17 @@
<ImageButton
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:contentDescription="@string/desc_shuffle"
android:onClick="@{() -> playbackModel.invertShuffleStatus()}"
android:src="@drawable/ic_shuffle"
app:tint="@color/sel_accented"
app:layout_constraintBottom_toBottomOf="@+id/playback_skip_next"
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>
</layout>

View file

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

View file

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

View file

@ -22,7 +22,7 @@
<androidx.appcompat.widget.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:title="@string/set_title" />

View file

@ -17,7 +17,7 @@
<TextView
android:id="@+id/header_title"
style="@style/Widget.TextView.Header"
style="@style/Widget.Auxio.TextView.Header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@{header.name}"
@ -28,10 +28,15 @@
<ImageButton
android:id="@+id/header_button"
style="@style/Widget.Button.Unbounded.Small"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp"
android:layout_height="wrap_content"
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)}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Album" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView
android:id="@+id/album_cover"
style="@style/Widget.ImageView.Normal"
style="@style/Widget.Auxio.Image.Normal"
android:contentDescription="@{@string/desc_album_cover(album.name)}"
app:albumArt="@{album}"
app:layout_constraintBottom_toBottomOf="parent"
@ -25,7 +25,9 @@
<TextView
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}"
app:layout_constraintBottom_toTopOf="@+id/album_info"
app:layout_constraintEnd_toEndOf="parent"
@ -36,7 +38,9 @@
<TextView
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))}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

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

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Artist" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView
android:id="@+id/artist_image"
style="@style/Widget.ImageView.Normal"
style="@style/Widget.Auxio.Image.Normal"
android:contentDescription="@{@string/desc_artist_image(artist.name)}"
app:artistImage="@{artist}"
app:layout_constraintBottom_toBottomOf="parent"
@ -25,7 +25,9 @@
<TextView
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}"
app:layout_constraintBottom_toTopOf="@+id/artist_details"
app:layout_constraintEnd_toEndOf="parent"
@ -36,7 +38,9 @@
<TextView
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:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Album" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView
android:id="@+id/album_cover"
style="@style/Widget.ImageView.Normal"
style="@style/Widget.Auxio.Image.Normal"
android:contentDescription="@{@string/desc_album_cover(album.name)}"
app:albumArt="@{album}"
app:layout_constraintBottom_toBottomOf="parent"
@ -25,7 +25,9 @@
<TextView
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:text="@{album.name}"
app:layout_constraintBottom_toTopOf="@+id/album_year"
@ -37,7 +39,9 @@
<TextView
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}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

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

View file

@ -12,18 +12,18 @@
<ImageView
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_height="@dimen/size_cover_huge"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_artist"
tools:ignore="ContentDescription" />
tools:ignore="ContentDescription"
tools:src="@drawable/ic_artist" />
<TextView
android:id="@+id/detail_name"
style="@style/Widget.TextView.Detail"
style="@style/Widget.Auxio.TextView.Detail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_medium"
@ -56,7 +56,9 @@
<com.google.android.material.button.MaterialButton
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_marginEnd="@dimen/spacing_small"
android:text="@string/lbl_play"
@ -66,7 +68,9 @@
<com.google.android.material.button.MaterialButton
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:text="@string/lbl_shuffle"

View file

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

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Genre" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView
android:id="@+id/genre_image"
style="@style/Widget.ImageView.Normal"
style="@style/Widget.Auxio.Image.Normal"
android:contentDescription="@{@string/desc_genre_image(genre.name)}"
app:genreImage="@{genre}"
app:layout_constraintBottom_toBottomOf="parent"
@ -25,7 +25,9 @@
<TextView
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}"
app:layout_constraintBottom_toTopOf="@+id/genre_count"
app:layout_constraintEnd_toEndOf="parent"
@ -36,7 +38,9 @@
<TextView
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())}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

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

View file

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

View file

@ -18,10 +18,10 @@
<ImageView
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)}"
app:albumArt="@{song}"
android:layout_margin="@dimen/spacing_medium"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
@ -29,7 +29,9 @@
<TextView
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:text="@{song.name}"
app:layout_constraintBottom_toTopOf="@+id/song_info"
@ -41,7 +43,9 @@
<TextView
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:text="@{@string/fmt_two(song.album.artist.name, song.album.name)}"
app:layout_constraintBottom_toBottomOf="parent"
@ -53,13 +57,15 @@
<ImageView
android:id="@+id/song_drag_handle"
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:contentDescription="@string/desc_queue_handle"
android:focusable="true"
android:scaleType="center"
android:paddingStart="@dimen/spacing_medium"
android:paddingEnd="@dimen/spacing_medium"
android:src="@drawable/ic_handle"
app:layout_constraintBottom_toBottomOf="@+id/album_cover"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -11,11 +11,11 @@
type="org.oxycblt.auxio.music.Song" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout style="@style/ItemLayout">
<androidx.constraintlayout.widget.ConstraintLayout style="@style/Widget.Auxio.ItemLayout">
<ImageView
android:id="@+id/album_cover"
style="@style/Widget.ImageView.Compact"
style="@style/Widget.Auxio.Image.Compact"
android:contentDescription="@{@string/desc_album_cover(song.name)}"
app:albumArt="@{song}"
app:layout_constraintBottom_toBottomOf="parent"
@ -26,7 +26,9 @@
<TextView
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:text="@{song.name}"
app:layout_constraintBottom_toTopOf="@+id/song_info"
@ -38,7 +40,9 @@
<TextView
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:text="@{@string/fmt_two(song.album.artist.name, song.album.name)}"
app:layout_constraintBottom_toBottomOf="parent"

View file

@ -8,20 +8,27 @@
<ImageView
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:scaleType="centerCrop"
android:src="@drawable/ic_song" />
<LinearLayout style="@style/Widget.Component.AppWidget.Panel">
<LinearLayout style="@style/Widget.Auxio.AppWidget.Panel">
<TextView
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" />
<TextView
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" />
<LinearLayout
@ -32,31 +39,46 @@
<ImageButton
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:src="@drawable/ic_loop" />
<ImageButton
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:src="@drawable/ic_skip_prev" />
<ImageButton
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:src="@drawable/sel_playing_state" />
<ImageButton
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:src="@drawable/ic_skip_next" />
<ImageButton
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:src="@drawable/ic_shuffle" />

View file

@ -8,20 +8,27 @@
<ImageView
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:scaleType="centerCrop"
android:src="@drawable/ic_song" />
<LinearLayout style="@style/Widget.Component.AppWidget.Panel">
<LinearLayout style="@style/Widget.Auxio.AppWidget.Panel">
<TextView
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" />
<TextView
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" />
<LinearLayout
@ -31,19 +38,28 @@
<ImageButton
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:src="@drawable/ic_skip_prev" />
<ImageButton
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:src="@drawable/ic_play" />
<ImageButton
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:src="@drawable/ic_skip_next" />

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 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:navigationBarColor">@color/nav_bar</item>
<item name="android:windowLightStatusBar">false</item>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<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
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"?>
<resources>
<!-- 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:statusBarColor">@android:color/transparent</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"?>
<resources>
<!-- 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>
</style>

View file

@ -3,31 +3,31 @@
<!-- ANDROID COMPONENT-SPECIFIC STYLES.-->
<!-- Dialog theme where all fixes are applied -->
<style name="Theme.CustomDialog" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">
<item name="android:checkedTextViewStyle">@style/Widget.CheckedTextView.Dialog</item>
<style name="Theme.Auxio.Dialog" parent="ThemeOverlay.MaterialComponents.MaterialAlertDialog">
<item name="android:checkedTextViewStyle">@style/Widget.Auxio.Dialog.CheckedTextView</item>
<item name="colorControlHighlight">@color/overlay_selection</item>
<item name="materialAlertDialogTitleTextStyle">@style/Widget.TextView.Dialog.Title</item>
<item name="buttonBarPositiveButtonStyle">@style/Widget.Button.Dialog</item>
<item name="buttonBarNegativeButtonStyle">@style/Widget.Button.Dialog</item>
<item name="buttonBarNeutralButtonStyle">@style/Widget.Button.Dialog.Neutral</item>
<item name="materialAlertDialogTitleTextStyle">@style/Widget.Auxio.Dialog.TextView</item>
<item name="buttonBarPositiveButtonStyle">@style/Widget.Auxio.Dialog.Button</item>
<item name="buttonBarNegativeButtonStyle">@style/Widget.Auxio.Dialog.Button</item>
<item name="buttonBarNeutralButtonStyle">@style/Widget.Auxio.Dialog.Button.Neutral</item>
</style>
<!-- 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:textColor">?android:attr/textColorPrimary</item>
<item name="android:textSize">@dimen/text_size_large</item>
</style>
<!-- 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:textSize">@dimen/text_size_medium</item>
<item name="android:background">@null</item>
</style>
<!-- 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_width">wrap_content</item>
<item name="android:fontFamily">@font/inter_semibold</item>
@ -37,7 +37,54 @@
</style>
<!-- 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>
</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>

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"?>
<resources>
<!-- 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 -->
<style name="Theme.Edge" parent="Theme.Master" />
<style name="Theme.Auxio.V27" parent="Theme.Auxio" />
<!-- Android 12 Splashscreen config -->
<style name="Theme.Splash" parent="Theme.Edge" />
<style name="Theme.Auxio.V31" parent="Theme.Auxio.V27" />
<!-- 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. -->
<item name="elevationOverlayColor">@android:color/transparent</item>
</style>
<!-- Base theme -->
<style name="Theme.Base" parent="Theme.Overlay">
<style name="Theme.Auxio.App" parent="Theme.Auxio.DayNight">
<!-- Colors -->
<item name="colorSurface">@color/surface</item>
<item name="colorAccent">@color/blue</item>
@ -43,11 +43,15 @@
<!-- Material stuff -->
<item name="textInputStyle">@null</item>
<item name="materialAlertDialogTheme">@style/Theme.CustomDialog</item>
<item name="materialAlertDialogTheme">@style/Theme.Auxio.Dialog</item>
</style>
<!-- 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>
</style>
@ -55,5 +59,5 @@
Theming widgets is technically possible below Android 12, but I *really* don't care enough
to bother with it.
-->
<style name="Theme.Widget" parent="@style/Theme.Blue" />
<style name="Theme.Widget" parent="@style/Theme.Auxio.Blue" />
</resources>

View file

@ -3,33 +3,38 @@
<!-- SHARED RE-USABLE UI 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_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="contentInsetStartWithNavigation">0dp</item>
</style>
<!-- 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>
</style>
<!-- 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>
</style>
<style name="Widget.ProgressBar.Compact" parent="@style/Widget.AppCompat.ProgressBar.Horizontal">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">@dimen/size_stroke_large</item>
<style name="TextAppearance.ToolbarTitle" 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="Widget.Auxio.ProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">
<item name="android:progressBackgroundTint">?attr/colorAccent</item>
<item name="android:progressTint">?attr/colorAccent</item>
</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:focusable">true</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:thumbTint">?attr/colorAccent</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 name="ThemeOverlay.SeekbarSelectionHack" parent="">
<style name="ThemeOverlay.SeekbarHalo" parent="">
<!-- TODO: Remove this dumb hack and use a slider -->
<item name="colorControlHighlight">@color/overlay_seekbar_halo</item>
</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_height">@dimen/size_cover_compact</item>
</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_height">@dimen/size_cover_normal</item>
</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_height">0dp</item>
<item name="android:elevation">@dimen/elevation_normal</item>
<item name="android:outlineProvider">bounds</item>
</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>
</style>
<!-- VIEWGROUP STYLES -->
<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">
<style name="Widget.Auxio.ItemLayout" parent="">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/ui_ripple</item>
@ -87,65 +85,53 @@
<!-- TEXTVIEW STYLES -->
<style name="Widget.TextView.Item.Base" parent="Widget.AppCompat.TextView">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<style name="Widget.Auxio.TextView.Base" parent="Widget.AppCompat.TextView">
<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:maxLines">1</item>
<item name="android:layout_marginStart">@dimen/spacing_medium</item>
</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:textColor">?android:attr/textColorPrimary</item>
</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:textColor">?android:attr/textColorSecondary</item>
</style>
<style name="Widget.TextView.Emp.Base" parent="Widget.AppCompat.TextView">
<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">
<style name="Widget.Auxio.TextView.Primary" parent="Widget.Auxio.TextView.Base">
<item name="android:fontFamily">@font/inter_semibold</item>
<item name="android:ellipsize">marquee</item>
<item name="android:maxLines">1</item>
<item name="android:marqueeRepeatLimit">marquee_forever</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline6
</item>
</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:textColor">?android:attr/textColorSecondary</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle1
</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Subtitle1</item>
</style>
<style name="Widget.TextView.Compact.Base" parent="Widget.AppCompat.TextView">
<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">
<style name="Widget.Auxio.TextView.Primary.Compact" parent="Widget.Auxio.TextView.Base">
<item name="android:fontFamily">@font/inter_semibold</item>
<item name="android:maxLines">1</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Body2</item>
</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>
</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:paddingTop">@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:fontFamily">@font/inter_semibold</item>
<item name="android:background">@drawable/ui_header_dividers</item>
<item name="android:textAlignment">viewStart</item>
</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:textSize">@dimen/text_size_huge</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:textColor">?attr/colorAccent</item>
</style>
<style name="Widget.TextView.Icon" parent="Widget.AppCompat.TextView">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<style name="Widget.Auxio.TextView.Icon" parent="Widget.Auxio.TextView.Base">
<item name="android:drawablePadding">@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>
</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:focusable">true</item>
<item name="android:background">@drawable/ui_ripple</item>
@ -185,27 +166,15 @@
<!-- BUTTON STYLES -->
<style name="Widget.Button.Unbounded" parent="Widget.AppCompat.Button.Borderless">
<item name="android:layout_width">@dimen/size_btn_small</item>
<item name="android:layout_height">@dimen/size_btn_small</item>
<style name="Widget.Auxio.Button.Unbounded" parent="Widget.AppCompat.Button.Borderless">
<item name="android:minHeight">@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:scaleType">fitCenter</item>
<item name="android:padding">@dimen/spacing_small</item>
</style>
<style name="Widget.Button.Unbounded.Small" parent="Widget.AppCompat.Button.Borderless">
<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>
<style name="Widget.Auxio.Button.Primary" parent="@style/Widget.MaterialComponents.Button.TextButton">
<item name="android:letterSpacing">0.01</item>
<item name="android:textAllCaps">false</item>
<item name="android:textSize">@dimen/text_size_small</item>
@ -215,13 +184,22 @@
<item name="cornerRadius">0dp</item>
</style>
<style name="Widget.Button.Vibrant.Secondary" parent="@style/Widget.MaterialComponents.Button.OutlinedButton">
<item name="android:layout_width">0dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:letterSpacing">0.0125</item>
<style name="Widget.Auxio.Button.Secondary" parent="@style/Widget.MaterialComponents.Button.OutlinedButton">
<item name="android:letterSpacing">0.01</item>
<item name="android:textAllCaps">false</item>
<item name="android:textSize">@dimen/text_size_small</item>
<item name="fontFamily">@font/inter_semibold</item>
<item name="cornerRadius">0dp</item>
</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>

View file

@ -2,82 +2,80 @@
<resources>
<!--
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>
</style>
<style name="Theme.Pink" parent="Theme.Base">
<style name="Theme.Auxio.Pink" parent="Theme.Auxio.App">
<item name="colorAccent">@color/pink</item>
</style>
<style name="Theme.Purple" parent="Theme.Base">
<style name="Theme.Auxio.Purple" parent="Theme.Auxio.App">
<item name="colorAccent">@color/purple</item>
</style>
<style name="Theme.DeepPurple" parent="Theme.Base">
<style name="Theme.Auxio.DeepPurple" parent="Theme.Auxio.App">
<item name="colorAccent">@color/deep_purple</item>
</style>
<style name="Theme.Indigo" parent="Theme.Base">
<style name="Theme.Auxio.Indigo" parent="Theme.Auxio.App">
<item name="colorAccent">@color/indigo</item>
</style>
<style name="Theme.Blue" parent="Theme.Base">
<style name="Theme.Auxio.Blue" parent="Theme.Auxio.App">
<item name="colorAccent">@color/blue</item>
</style>
<style name="Theme.LightBlue" parent="Theme.Base">
<style name="Theme.Auxio.LightBlue" parent="Theme.Auxio.App">
<item name="colorAccent">@color/light_blue</item>
</style>
<style name="Theme.Cyan" parent="Theme.Base">
<style name="Theme.Auxio.Cyan" parent="Theme.Auxio.App">
<item name="colorAccent">@color/cyan</item>
</style>
<style name="Theme.Teal" parent="Theme.Base">
<style name="Theme.Auxio.Teal" parent="Theme.Auxio.App">
<item name="colorAccent">@color/teal</item>
</style>
<style name="Theme.Green" parent="Theme.Base">
<style name="Theme.Auxio.Green" parent="Theme.Auxio.App">
<item name="colorAccent">@color/green</item>
</style>
<style name="Theme.LightGreen" parent="Theme.Base">
<style name="Theme.Auxio.LightGreen" parent="Theme.Auxio.App">
<item name="colorAccent">@color/light_green</item>
</style>
<style name="Theme.Lime" parent="Theme.Base">
<style name="Theme.Auxio.Lime" parent="Theme.Auxio.App">
<item name="colorAccent">@color/lime</item>
</style>
<style name="Theme.Yellow" parent="Theme.Base">
<style name="Theme.Auxio.Yellow" parent="Theme.Auxio.App">
<item name="colorAccent">@color/yellow</item>
</style>
<style name="Theme.Orange" parent="Theme.Base">
<style name="Theme.Auxio.Orange" parent="Theme.Auxio.App">
<item name="colorAccent">@color/orange</item>
</style>
<style name="Theme.DeepOrange" parent="Theme.Base">
<style name="Theme.Auxio.DeepOrange" parent="Theme.Auxio.App">
<item name="colorAccent">@color/deep_orange</item>
</style>
<style name="Theme.Brown" parent="Theme.Base">
<style name="Theme.Auxio.Brown" parent="Theme.Auxio.App">
<item name="colorAccent">@color/brown</item>
</style>
<style name="Theme.Grey" parent="Theme.Base">
<style name="Theme.Auxio.Grey" parent="Theme.Auxio.App">
<item name="colorAccent">@color/grey</item>
</style>
<style name="Theme.BlueGrey" parent="Theme.Base">
<style name="Theme.Auxio.BlueGrey" parent="Theme.Auxio.App">
<item name="colorAccent">@color/blue_grey</item>
</style>
<style name="Theme.Neutral" parent="Theme.Base">
<style name="Theme.Auxio.Neutral" parent="Theme.Auxio.App">
<item name="colorAccent">@color/control</item>
</style>
</resources>

View file

@ -3,75 +3,75 @@
<!--
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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</style>
</resources>

View file

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