diff --git a/app/src/main/java/org/oxycblt/auxio/MainActivity.kt b/app/src/main/java/org/oxycblt/auxio/MainActivity.kt index 6bc1b27f7..6c3992607 100644 --- a/app/src/main/java/org/oxycblt/auxio/MainActivity.kt +++ b/app/src/main/java/org/oxycblt/auxio/MainActivity.kt @@ -3,7 +3,6 @@ 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() { @@ -11,7 +10,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..78d0d892b 100644 --- a/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt @@ -12,6 +12,7 @@ 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.applyDivider class LibraryFragment : Fragment() { @@ -30,6 +31,7 @@ class LibraryFragment : Fragment() { val adapter = AlbumDataAdapter() binding.libraryRecycler.adapter = adapter + binding.libraryRecycler.applyDivider() libraryModel.albums.observe( viewLifecycleOwner, diff --git a/app/src/main/java/org/oxycblt/auxio/recycler/AlbumViewHolder.kt b/app/src/main/java/org/oxycblt/auxio/recycler/AlbumViewHolder.kt index c24d16d1b..124d5bcd1 100644 --- a/app/src/main/java/org/oxycblt/auxio/recycler/AlbumViewHolder.kt +++ b/app/src/main/java/org/oxycblt/auxio/recycler/AlbumViewHolder.kt @@ -15,7 +15,7 @@ class AlbumViewHolder( if (album.cover == null) { // If there is no cover, clear the ImageView so that the previous - // View's cover doesnt stick around. + // View's cover doesn't stick around. binding.cover.setImageResource(android.R.color.transparent) } else { binding.cover.setImageBitmap(album.cover) diff --git a/app/src/main/java/org/oxycblt/auxio/recycler/RecyclerUtils.kt b/app/src/main/java/org/oxycblt/auxio/recycler/RecyclerUtils.kt index 28dadcc59..1b012ab84 100644 --- a/app/src/main/java/org/oxycblt/auxio/recycler/RecyclerUtils.kt +++ b/app/src/main/java/org/oxycblt/auxio/recycler/RecyclerUtils.kt @@ -1,7 +1,13 @@ package org.oxycblt.auxio.recycler +import android.graphics.drawable.ColorDrawable import android.widget.TextView +import androidx.appcompat.app.AppCompatDelegate +import androidx.core.content.ContextCompat +import androidx.core.graphics.ColorUtils import androidx.databinding.BindingAdapter +import androidx.recyclerview.widget.DividerItemDecoration +import androidx.recyclerview.widget.RecyclerView import org.oxycblt.auxio.R import org.oxycblt.auxio.music.models.Album @@ -13,3 +19,31 @@ fun TextView.numSongsToText(album: Album) { context.getString(R.string.format_multi_song_count, album.numSongs.toString()) } } + +// Apply a custom vertical divider +fun RecyclerView.applyDivider() { + val div = DividerItemDecoration( + context, + DividerItemDecoration.VERTICAL + ) + + div.setDrawable( + ColorDrawable( + getDividerColor(this) + ) + ) + + addItemDecoration(div) +} + +private fun getDividerColor(recycler: RecyclerView): Int { + val isDark = AppCompatDelegate.getDefaultNightMode() == AppCompatDelegate.MODE_NIGHT_YES + + // Depending on the theme use a different opacity for the divider + val alpha = if (isDark) 45 else 85 + + return ColorUtils.setAlphaComponent( + ContextCompat.getColor(recycler.context, R.color.blue), + alpha + ) +} diff --git a/app/src/main/res/layout/album_item.xml b/app/src/main/res/layout/album_item.xml index d83bd4971..54a2ebab5 100644 --- a/app/src/main/res/layout/album_item.xml +++ b/app/src/main/res/layout/album_item.xml @@ -13,12 +13,12 @@ + android:padding="@dimen/padding_medium"> 4dp 8dp + 16dp 8dp + 16dp 64dp 42dp