diff --git a/app/src/main/java/org/oxycblt/auxio/MainActivity.kt b/app/src/main/java/org/oxycblt/auxio/MainActivity.kt index 6c3992607..6bc1b27f7 100644 --- a/app/src/main/java/org/oxycblt/auxio/MainActivity.kt +++ b/app/src/main/java/org/oxycblt/auxio/MainActivity.kt @@ -3,6 +3,7 @@ package org.oxycblt.auxio import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.app.AppCompatDelegate class MainActivity : AppCompatActivity() { @@ -10,7 +11,7 @@ class MainActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - // AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) Log.d(this::class.simpleName, "Activity Created.") } diff --git a/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt b/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt index 85f5d65f0..a6092085b 100644 --- a/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt @@ -11,7 +11,7 @@ import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProvider import org.oxycblt.auxio.R import org.oxycblt.auxio.databinding.FragmentLibraryBinding -import org.oxycblt.auxio.library.recycler.AlbumDataAdapter +import org.oxycblt.auxio.recycler.AlbumDataAdapter class LibraryFragment : Fragment() { diff --git a/app/src/main/java/org/oxycblt/auxio/library/recycler/AlbumViewHolder.kt b/app/src/main/java/org/oxycblt/auxio/library/recycler/AlbumViewHolder.kt deleted file mode 100644 index a6e44684f..000000000 --- a/app/src/main/java/org/oxycblt/auxio/library/recycler/AlbumViewHolder.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.oxycblt.auxio.library.recycler - -import androidx.recyclerview.widget.RecyclerView -import org.oxycblt.auxio.databinding.AlbumItemBinding -import org.oxycblt.auxio.music.models.Album - -class AlbumViewHolder( - private var binding: AlbumItemBinding -) : RecyclerView.ViewHolder(binding.root) { - - // Bind the view w/new data - fun bind(album: Album) { - binding.album = album - - // Set an album cover [If possible] - album.cover?.let { cover -> - binding.cover.setImageBitmap(cover) - } - binding.executePendingBindings() - } -} diff --git a/app/src/main/java/org/oxycblt/auxio/library/recycler/AlbumDataAdapter.kt b/app/src/main/java/org/oxycblt/auxio/recycler/AlbumDataAdapter.kt similarity index 64% rename from app/src/main/java/org/oxycblt/auxio/library/recycler/AlbumDataAdapter.kt rename to app/src/main/java/org/oxycblt/auxio/recycler/AlbumDataAdapter.kt index cd0fb4c59..c56923ac2 100644 --- a/app/src/main/java/org/oxycblt/auxio/library/recycler/AlbumDataAdapter.kt +++ b/app/src/main/java/org/oxycblt/auxio/recycler/AlbumDataAdapter.kt @@ -1,9 +1,10 @@ -package org.oxycblt.auxio.library.recycler +package org.oxycblt.auxio.recycler import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter +import androidx.recyclerview.widget.RecyclerView import org.oxycblt.auxio.databinding.AlbumItemBinding import org.oxycblt.auxio.music.models.Album @@ -37,3 +38,23 @@ class AlbumDataAdapter : ListAdapter(DiffCallback) { } } } + +class AlbumViewHolder( + private var binding: AlbumItemBinding +) : RecyclerView.ViewHolder(binding.root) { + + // Bind the view w/new data + fun bind(album: Album) { + binding.album = album + + if (album.cover == null) { + // If there is no cover, clear the ImageView so that the previous + // View's cover doesnt stick around. + binding.cover.setImageResource(android.R.color.transparent) + } else { + binding.cover.setImageBitmap(album.cover) + } + + binding.executePendingBindings() + } +} diff --git a/app/src/main/java/org/oxycblt/auxio/recycler/RecyclerUtils.kt b/app/src/main/java/org/oxycblt/auxio/recycler/RecyclerUtils.kt new file mode 100644 index 000000000..28dadcc59 --- /dev/null +++ b/app/src/main/java/org/oxycblt/auxio/recycler/RecyclerUtils.kt @@ -0,0 +1,15 @@ +package org.oxycblt.auxio.recycler + +import android.widget.TextView +import androidx.databinding.BindingAdapter +import org.oxycblt.auxio.R +import org.oxycblt.auxio.music.models.Album + +@BindingAdapter("songCount") +fun TextView.numSongsToText(album: Album) { + text = if (album.numSongs < 2) { + context.getString(R.string.label_single_song) + } else { + context.getString(R.string.format_multi_song_count, album.numSongs.toString()) + } +} diff --git a/app/src/main/res/font/inter.ttf b/app/src/main/res/font/inter.ttf new file mode 100644 index 000000000..96fd6a12d Binary files /dev/null and b/app/src/main/res/font/inter.ttf differ diff --git a/app/src/main/res/font/inter_black.ttf b/app/src/main/res/font/inter_black.ttf new file mode 100644 index 000000000..565375773 Binary files /dev/null and b/app/src/main/res/font/inter_black.ttf differ diff --git a/app/src/main/res/font/inter_semibold.ttf b/app/src/main/res/font/inter_semibold.ttf new file mode 100644 index 000000000..ddb279290 Binary files /dev/null and b/app/src/main/res/font/inter_semibold.ttf differ diff --git a/app/src/main/res/font/source_sans_pro.ttf b/app/src/main/res/font/source_sans_pro.ttf deleted file mode 100644 index 91e9ea575..000000000 Binary files a/app/src/main/res/font/source_sans_pro.ttf and /dev/null differ diff --git a/app/src/main/res/font/source_sans_pro_black.ttf b/app/src/main/res/font/source_sans_pro_black.ttf deleted file mode 100644 index cb89a2d17..000000000 Binary files a/app/src/main/res/font/source_sans_pro_black.ttf and /dev/null differ diff --git a/app/src/main/res/layout/album_item.xml b/app/src/main/res/layout/album_item.xml index 93bf4870c..26952a1c6 100644 --- a/app/src/main/res/layout/album_item.xml +++ b/app/src/main/res/layout/album_item.xml @@ -13,35 +13,49 @@ + android:padding="@dimen/padding_small"> + tools:src="@tools:sample/backgrounds/scenic" + tools:srcCompat="@tools:sample/backgrounds/scenic" /> + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_loading.xml b/app/src/main/res/layout/fragment_loading.xml index ca32128eb..eac8f9417 100644 --- a/app/src/main/res/layout/fragment_loading.xml +++ b/app/src/main/res/layout/fragment_loading.xml @@ -20,7 +20,7 @@ android:layout_height="wrap_content" android:indeterminateTint="?android:attr/colorAccent" android:indeterminateTintMode="src_in" - android:paddingBottom="@dimen/padding_small" + android:paddingBottom="@dimen/padding_tiny" app:layout_constraintBottom_toTopOf="@+id/error_text" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" @@ -32,7 +32,7 @@ android:id="@+id/error_text" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:fontFamily="@font/source_sans_pro" + android:fontFamily="@font/inter" app:layout_constraintBottom_toTopOf="@+id/reset_button" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" @@ -45,10 +45,10 @@ style="@style/Widget.AppCompat.Button.Borderless.Colored" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:fontFamily="@font/source_sans_pro" android:onClick="@{() -> loadingModel.retry()}" android:text="@string/label_retry" android:visibility="gone" + android:fontFamily="@font/inter_semibold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 395fe1098..1143db7bb 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -1,11 +1,11 @@ - 4dp - 8dp + 4dp + 8dp - 8dp + 8dp - 64dp + 44dp - 6dp + 4dp \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 87cbe14b7..15eecc034 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -6,8 +6,13 @@ Music loading failed. Retry + 1 Song + + %s Songs Library Cover art for + + 10 Songs \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index caad868be..7e8f307ce 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -7,7 +7,7 @@ \ No newline at end of file