Improve accents
Add a new "Neutral" accent and improve the yellow accent so that its more visible.
This commit is contained in:
parent
c44003907a
commit
dbd2c022a0
11 changed files with 26 additions and 20 deletions
|
|
@ -21,7 +21,6 @@ import org.oxycblt.auxio.music.MusicStore
|
||||||
import org.oxycblt.auxio.music.Song
|
import org.oxycblt.auxio.music.Song
|
||||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||||
import org.oxycblt.auxio.ui.accent
|
import org.oxycblt.auxio.ui.accent
|
||||||
import org.oxycblt.auxio.ui.getInactiveAlpha
|
|
||||||
import org.oxycblt.auxio.ui.getTransparentAccent
|
import org.oxycblt.auxio.ui.getTransparentAccent
|
||||||
import org.oxycblt.auxio.ui.toColor
|
import org.oxycblt.auxio.ui.toColor
|
||||||
import kotlin.IllegalArgumentException
|
import kotlin.IllegalArgumentException
|
||||||
|
|
@ -48,9 +47,7 @@ class MainFragment : Fragment() {
|
||||||
|
|
||||||
val colorActive = accent.first.toColor(requireContext())
|
val colorActive = accent.first.toColor(requireContext())
|
||||||
val colorInactive = getTransparentAccent(
|
val colorInactive = getTransparentAccent(
|
||||||
requireContext(),
|
requireContext(), accent.first, 150
|
||||||
accent.first,
|
|
||||||
getInactiveAlpha(accent.first)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Set up the tints for the navigation icons + text
|
// Set up the tints for the navigation icons + text
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,9 @@ class QueueFragment : Fragment() {
|
||||||
findNavController().navigateUp()
|
findNavController().navigateUp()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Since QueueFragment doesn't fit system windows, inset padding needs to be
|
||||||
|
// artificially applied to the Toolbar so that it fits on the main window AND
|
||||||
|
// so that the elevation doesn't show on the top.
|
||||||
setOnApplyWindowInsetsListener { _, insets ->
|
setOnApplyWindowInsetsListener { _, insets ->
|
||||||
val top = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
val top = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
insets.getInsets(WindowInsets.Type.systemBars()).top
|
insets.getInsets(WindowInsets.Type.systemBars()).top
|
||||||
|
|
|
||||||
|
|
@ -285,31 +285,35 @@ class PlaybackStateManager private constructor() {
|
||||||
forceQueueUpdate()
|
forceQueueUpdate()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun removeQueueItem(index: Int) {
|
fun removeQueueItem(index: Int): Boolean {
|
||||||
Log.d(this::class.simpleName, "Removing item ${mQueue[index].name}.")
|
Log.d(this::class.simpleName, "Removing item ${mQueue[index].name}.")
|
||||||
|
|
||||||
if (index > mQueue.size || index < 0) {
|
if (index > mQueue.size || index < 0) {
|
||||||
Log.e(this::class.simpleName, "Index is out of bounds, did not remove queue item.")
|
Log.e(this::class.simpleName, "Index is out of bounds, did not remove queue item.")
|
||||||
|
|
||||||
return
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
mQueue.removeAt(index)
|
mQueue.removeAt(index)
|
||||||
|
|
||||||
forceQueueUpdate()
|
forceQueueUpdate()
|
||||||
|
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
fun moveQueueItems(from: Int, to: Int) {
|
fun moveQueueItems(from: Int, to: Int): Boolean {
|
||||||
try {
|
try {
|
||||||
val item = mQueue.removeAt(from)
|
val item = mQueue.removeAt(from)
|
||||||
mQueue.add(to, item)
|
mQueue.add(to, item)
|
||||||
} catch (exception: IndexOutOfBoundsException) {
|
} catch (exception: IndexOutOfBoundsException) {
|
||||||
Log.e(this::class.simpleName, "Indices were out of bounds, did not move queue item")
|
Log.e(this::class.simpleName, "Indices were out of bounds, did not move queue item")
|
||||||
|
|
||||||
return
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
forceQueueUpdate()
|
forceQueueUpdate()
|
||||||
|
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
fun addToUserQueue(song: Song) {
|
fun addToUserQueue(song: Song) {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import org.oxycblt.auxio.R
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert a string representing a theme entry name to an actual theme int that can be used.
|
* Convert a string representing a theme entry name to an actual theme int that can be used.
|
||||||
* This is only done because PreferenceFragment does not like int arrays.
|
* This is only done because PreferenceFragment does not like int arrays for some...reason.
|
||||||
*/
|
*/
|
||||||
fun String.toThemeInt(): Int {
|
fun String.toThemeInt(): Int {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,8 @@ val ACCENTS = arrayOf(
|
||||||
Pair(R.color.deep_orange, R.style.Theme_DeepOrange), // 15
|
Pair(R.color.deep_orange, R.style.Theme_DeepOrange), // 15
|
||||||
Pair(R.color.brown, R.style.Theme_Brown), // 16
|
Pair(R.color.brown, R.style.Theme_Brown), // 16
|
||||||
Pair(R.color.grey, R.style.Theme_Gray), // 17
|
Pair(R.color.grey, R.style.Theme_Gray), // 17
|
||||||
Pair(R.color.blue_grey, R.style.Theme_BlueGrey) // 18
|
Pair(R.color.blue_grey, R.style.Theme_BlueGrey), // 18
|
||||||
|
Pair(R.color.control_color, R.style.Theme_Neutral)
|
||||||
)
|
)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -55,7 +56,7 @@ private val ACCENT_NAMES = arrayOf(
|
||||||
R.string.color_label_yellow, R.string.color_label_amber,
|
R.string.color_label_yellow, R.string.color_label_amber,
|
||||||
R.string.color_label_orange, R.string.color_label_deep_orange,
|
R.string.color_label_orange, R.string.color_label_deep_orange,
|
||||||
R.string.color_label_brown, R.string.color_label_grey,
|
R.string.color_label_brown, R.string.color_label_grey,
|
||||||
R.string.color_label_blue_grey
|
R.string.color_label_blue_grey, R.string.color_label_neutral
|
||||||
)
|
)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -78,14 +79,6 @@ fun getTransparentAccent(context: Context, @ColorRes color: Int, alpha: Int): In
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the inactive alpha of an accent.
|
|
||||||
*/
|
|
||||||
@ColorInt
|
|
||||||
fun getInactiveAlpha(@ColorRes color: Int): Int {
|
|
||||||
return if (color == R.color.yellow) 100 else 150
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolve a color.
|
* Resolve a color.
|
||||||
* @param context [Context] required
|
* @param context [Context] required
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@
|
||||||
style="@style/ItemText.Secondary"
|
style="@style/ItemText.Secondary"
|
||||||
app:albumYear="@{album}"
|
app:albumYear="@{album}"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/album_cover"
|
app:layout_constraintStart_toEndOf="@+id/album_cover"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/album_name"
|
app:layout_constraintTop_toBottomOf="@+id/album_name"
|
||||||
tools:text="2020" />
|
tools:text="2020" />
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@
|
||||||
style="@style/ItemText.Secondary"
|
style="@style/ItemText.Secondary"
|
||||||
app:genreCounts="@{genre}"
|
app:genreCounts="@{genre}"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/genre_image"
|
app:layout_constraintStart_toEndOf="@+id/genre_image"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/genre_name"
|
app:layout_constraintTop_toBottomOf="@+id/genre_name"
|
||||||
tools:text="2 Artists, 4 Albums" />
|
tools:text="2 Artists, 4 Albums" />
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@
|
||||||
style='@style/ItemText.Secondary'
|
style='@style/ItemText.Secondary'
|
||||||
app:artistCounts="@{artist}"
|
app:artistCounts="@{artist}"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/artist_image"
|
app:layout_constraintStart_toEndOf="@+id/artist_image"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/artist_name"
|
app:layout_constraintTop_toBottomOf="@+id/artist_name"
|
||||||
tools:text="2 Albums, 20 Songs" />
|
tools:text="2 Albums, 20 Songs" />
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
<color name="green">#4caf50</color>
|
<color name="green">#4caf50</color>
|
||||||
<color name="light_green">#8bc34a</color>
|
<color name="light_green">#8bc34a</color>
|
||||||
<color name="lime">#cddc39</color>
|
<color name="lime">#cddc39</color>
|
||||||
<color name="yellow">#ffeb3b</color>
|
<color name="yellow">#F1CA00</color>
|
||||||
<color name="amber">#ffc107</color>
|
<color name="amber">#ffc107</color>
|
||||||
<color name="orange">#ff9800</color>
|
<color name="orange">#ff9800</color>
|
||||||
<color name="deep_orange">#ff5722</color>
|
<color name="deep_orange">#ff5722</color>
|
||||||
|
|
|
||||||
|
|
@ -119,6 +119,7 @@
|
||||||
<string name="color_label_brown">Brown</string>
|
<string name="color_label_brown">Brown</string>
|
||||||
<string name="color_label_grey">Grey</string>
|
<string name="color_label_grey">Grey</string>
|
||||||
<string name="color_label_blue_grey">Blue Grey</string>
|
<string name="color_label_blue_grey">Blue Grey</string>
|
||||||
|
<string name="color_label_neutral">Neutral</string>
|
||||||
|
|
||||||
<!-- Format Namespace | Value formatting/plurals -->
|
<!-- Format Namespace | Value formatting/plurals -->
|
||||||
<string name="format_info">%1$s / %2$s</string>
|
<string name="format_info">%1$s / %2$s</string>
|
||||||
|
|
|
||||||
|
|
@ -97,4 +97,9 @@
|
||||||
<item name="colorPrimary">@color/blue_grey</item>
|
<item name="colorPrimary">@color/blue_grey</item>
|
||||||
<item name="colorSecondary">@color/blue_grey</item>
|
<item name="colorSecondary">@color/blue_grey</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="Theme.Neutral" parent="Theme.Base">
|
||||||
|
<item name="colorPrimary">@color/control_color</item>
|
||||||
|
<item name="colorSecondary">@color/control_color</item>
|
||||||
|
</style>
|
||||||
</resources>
|
</resources>
|
||||||
Loading…
Reference in a new issue