Update header text style
Update the style of the header text further to be cleaner and to fix issues where the name would not be properly centered on smaller fonts.
This commit is contained in:
parent
c5c16dfdce
commit
dcd5b3235c
6 changed files with 29 additions and 21 deletions
|
|
@ -47,12 +47,12 @@ sealed class Parent : BaseModel() {
|
||||||
* @property hash A versatile, unique(ish) hash used for databases
|
* @property hash A versatile, unique(ish) hash used for databases
|
||||||
*/
|
*/
|
||||||
data class Song(
|
data class Song(
|
||||||
override val id: Long = -1,
|
override val id: Long,
|
||||||
override val name: String,
|
override val name: String,
|
||||||
val fileName: String,
|
val fileName: String,
|
||||||
val albumId: Long = -1,
|
val albumId: Long,
|
||||||
val track: Int = -1,
|
val track: Int,
|
||||||
val duration: Long = 0
|
val duration: Long
|
||||||
) : BaseModel() {
|
) : BaseModel() {
|
||||||
private var mAlbum: Album? = null
|
private var mAlbum: Album? = null
|
||||||
private var mGenre: Genre? = null
|
private var mGenre: Genre? = null
|
||||||
|
|
@ -95,11 +95,11 @@ data class Song(
|
||||||
* @property totalDuration The combined duration of all of the album's child songs, formatted.
|
* @property totalDuration The combined duration of all of the album's child songs, formatted.
|
||||||
*/
|
*/
|
||||||
data class Album(
|
data class Album(
|
||||||
override val id: Long = -1,
|
override val id: Long,
|
||||||
override val name: String,
|
override val name: String,
|
||||||
val artistName: String,
|
val artistName: String,
|
||||||
val coverUri: Uri = Uri.EMPTY,
|
val coverUri: Uri,
|
||||||
val year: Int = 0
|
val year: Int
|
||||||
) : Parent() {
|
) : Parent() {
|
||||||
private var mArtist: Artist? = null
|
private var mArtist: Artist? = null
|
||||||
val artist: Artist get() = requireNotNull(mArtist)
|
val artist: Artist get() = requireNotNull(mArtist)
|
||||||
|
|
@ -138,7 +138,7 @@ data class Album(
|
||||||
* @property songs The list of all [Song]s in this artist
|
* @property songs The list of all [Song]s in this artist
|
||||||
*/
|
*/
|
||||||
data class Artist(
|
data class Artist(
|
||||||
override val id: Long = -1,
|
override val id: Long,
|
||||||
override val name: String,
|
override val name: String,
|
||||||
val albums: List<Album>
|
val albums: List<Album>
|
||||||
) : Parent() {
|
) : Parent() {
|
||||||
|
|
@ -167,7 +167,7 @@ data class Artist(
|
||||||
* @property resolvedName A name that has been resolved from its int-genre form to its named form.
|
* @property resolvedName A name that has been resolved from its int-genre form to its named form.
|
||||||
*/
|
*/
|
||||||
data class Genre(
|
data class Genre(
|
||||||
override val id: Long = -1,
|
override val id: Long,
|
||||||
override val name: String,
|
override val name: String,
|
||||||
) : Parent() {
|
) : Parent() {
|
||||||
private val mSongs = mutableListOf<Song>()
|
private val mSongs = mutableListOf<Song>()
|
||||||
|
|
@ -191,8 +191,8 @@ data class Genre(
|
||||||
* A data object used solely for the "Header" UI element. Inherits [BaseModel].
|
* A data object used solely for the "Header" UI element. Inherits [BaseModel].
|
||||||
*/
|
*/
|
||||||
data class Header(
|
data class Header(
|
||||||
override val id: Long = -1,
|
override val id: Long,
|
||||||
override val name: String = "",
|
override val name: String,
|
||||||
) : BaseModel()
|
) : BaseModel()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -201,8 +201,8 @@ data class Header(
|
||||||
* @property action The callback that will be called when the action button is clicked.
|
* @property action The callback that will be called when the action button is clicked.
|
||||||
*/
|
*/
|
||||||
data class ActionHeader(
|
data class ActionHeader(
|
||||||
override val id: Long = -1,
|
override val id: Long,
|
||||||
override val name: String = "",
|
override val name: String,
|
||||||
@DrawableRes val icon: Int,
|
@DrawableRes val icon: Int,
|
||||||
val action: () -> Unit,
|
val action: () -> Unit,
|
||||||
) : BaseModel()
|
) : BaseModel()
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.oxycblt.auxio.music
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.net.Uri
|
||||||
import android.provider.MediaStore
|
import android.provider.MediaStore
|
||||||
import android.provider.MediaStore.Audio.Albums
|
import android.provider.MediaStore.Audio.Albums
|
||||||
import android.provider.MediaStore.Audio.Genres
|
import android.provider.MediaStore.Audio.Genres
|
||||||
|
|
@ -188,8 +189,11 @@ class MusicLoader(private val context: Context) {
|
||||||
// Group up songs by their album ids and then link them with their albums
|
// Group up songs by their album ids and then link them with their albums
|
||||||
val songsByAlbum = songs.groupBy { it.albumId }
|
val songsByAlbum = songs.groupBy { it.albumId }
|
||||||
val unknownAlbum = Album(
|
val unknownAlbum = Album(
|
||||||
|
id = -1,
|
||||||
name = context.getString(R.string.placeholder_album),
|
name = context.getString(R.string.placeholder_album),
|
||||||
artistName = context.getString(R.string.placeholder_artist)
|
artistName = context.getString(R.string.placeholder_artist),
|
||||||
|
coverUri = Uri.EMPTY,
|
||||||
|
year = 0
|
||||||
)
|
)
|
||||||
|
|
||||||
songsByAlbum.forEach { entry ->
|
songsByAlbum.forEach { entry ->
|
||||||
|
|
@ -266,7 +270,10 @@ class MusicLoader(private val context: Context) {
|
||||||
val songsWithoutGenres = songs.filter { it.genre == null }
|
val songsWithoutGenres = songs.filter { it.genre == null }
|
||||||
|
|
||||||
if (songsWithoutGenres.isNotEmpty()) {
|
if (songsWithoutGenres.isNotEmpty()) {
|
||||||
val unknownGenre = Genre(name = context.getString(R.string.placeholder_genre))
|
val unknownGenre = Genre(
|
||||||
|
id = -2,
|
||||||
|
name = context.getString(R.string.placeholder_genre)
|
||||||
|
)
|
||||||
|
|
||||||
songsWithoutGenres.forEach { song ->
|
songsWithoutGenres.forEach { song ->
|
||||||
unknownGenre.linkSong(song)
|
unknownGenre.linkSong(song)
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -41,7 +41,7 @@
|
||||||
|
|
||||||
<!-- Text Size Namespace | Text Sizes -->
|
<!-- Text Size Namespace | Text Sizes -->
|
||||||
<dimen name="text_size_min">10sp</dimen>
|
<dimen name="text_size_min">10sp</dimen>
|
||||||
<dimen name="text_size_increment">2sp</dimen>
|
<dimen name="text_size_increment">1sp</dimen>
|
||||||
<dimen name="text_size_track_max">20sp</dimen>
|
<dimen name="text_size_track_max">20sp</dimen>
|
||||||
<dimen name="text_size_detail_header_max">26sp</dimen>
|
<dimen name="text_size_detail_header_max">26sp</dimen>
|
||||||
<dimen name="text_size_thumb">18sp</dimen>
|
<dimen name="text_size_thumb">18sp</dimen>
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@
|
||||||
|
|
||||||
<!-- Toolbar Title EntryNames -->
|
<!-- Toolbar Title EntryNames -->
|
||||||
<style name="TextAppearance.Toolbar.Header" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
|
<style name="TextAppearance.Toolbar.Header" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
|
||||||
<item name="android:fontFamily">@font/inter_exbold</item>
|
<item name="android:fontFamily">@font/inter_bold</item>
|
||||||
<item name="android:textSize">@dimen/text_size_toolbar_header</item>
|
<item name="android:textSize">@dimen/text_size_toolbar_header</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
@ -67,11 +67,12 @@
|
||||||
<style name="DetailTitleText">
|
<style name="DetailTitleText">
|
||||||
<item name="android:textAppearance">?android:attr/textAppearanceLarge</item>
|
<item name="android:textAppearance">?android:attr/textAppearanceLarge</item>
|
||||||
<item name="android:textColor">?attr/colorPrimary</item>
|
<item name="android:textColor">?attr/colorPrimary</item>
|
||||||
<item name="android:fontFamily">@font/inter_exbold</item>
|
<item name="android:fontFamily">@font/inter_bold</item>
|
||||||
<item name="android:textSize">@dimen/text_size_detail_header_max</item>
|
<item name="android:textSize">@dimen/text_size_detail_header_max</item>
|
||||||
<item name="android:maxLines">1</item>
|
<item name="android:maxLines">1</item>
|
||||||
<item name="android:ellipsize">end</item>
|
<item name="android:ellipsize">end</item>
|
||||||
<item name="android:textAlignment">viewStart</item>
|
<item name="android:textAlignment">viewStart</item>
|
||||||
|
<item name="android:gravity">center_vertical</item>
|
||||||
|
|
||||||
<item name="autoSizeMaxTextSize">@dimen/text_size_detail_header_max</item>
|
<item name="autoSizeMaxTextSize">@dimen/text_size_detail_header_max</item>
|
||||||
<item name="autoSizeMinTextSize">@dimen/text_size_min</item>
|
<item name="autoSizeMinTextSize">@dimen/text_size_min</item>
|
||||||
|
|
@ -118,7 +119,7 @@
|
||||||
|
|
||||||
<!-- Custom dialog title theme -->
|
<!-- Custom dialog title theme -->
|
||||||
<style name="Widget.TextView.Dialog.Title" parent="MaterialAlertDialog.MaterialComponents.Title.Text">
|
<style name="Widget.TextView.Dialog.Title" parent="MaterialAlertDialog.MaterialComponents.Title.Text">
|
||||||
<item name="android:fontFamily">@font/inter_exbold</item>
|
<item name="android:fontFamily">@font/inter_bold</item>
|
||||||
<item name="android:textSize">@dimen/text_size_toolbar_header</item>
|
<item name="android:textSize">@dimen/text_size_toolbar_header</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ Here are the music formats that Auxio supports, as per the [Supported ExoPlayer
|
||||||
|
|
||||||
✅ = Supported
|
✅ = Supported
|
||||||
|
|
||||||
❌ = Not supported
|
👎 = Not supported well
|
||||||
|
|
||||||
| Format | Supported | Comments |
|
| Format | Supported | Comments |
|
||||||
|--------|-----------|-----------
|
|--------|-----------|-----------
|
||||||
|
|
@ -17,4 +17,4 @@ Here are the music formats that Auxio supports, as per the [Supported ExoPlayer
|
||||||
| WAV | ✅ | |
|
| WAV | ✅ | |
|
||||||
| MPEG | ✅ | |
|
| MPEG | ✅ | |
|
||||||
| AAC | ✅ | |
|
| AAC | ✅ | |
|
||||||
| FLAC | ❌ | Auxio must be patched with the [FLAC Extension](https://github.com/google/ExoPlayer/tree/release-v2/extensions/flac). I do plan to roll this myself eventually, but it may take awhile |
|
| FLAC | 👎 | Supported on Android 8.1 or newer. Auxio must be patched with the [FLAC Extension](https://github.com/google/ExoPlayer/tree/release-v2/extensions/flac) on lower versions. |
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue