diff --git a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
index b75b13881..f1bfc33c5 100644
--- a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
@@ -31,7 +31,7 @@ import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.ui.MainNavigationAction
import org.oxycblt.auxio.ui.NavigationViewModel
-import org.oxycblt.auxio.ui.ViewBindingFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingFragment
import org.oxycblt.auxio.util.androidActivityViewModels
import org.oxycblt.auxio.util.collect
import org.oxycblt.auxio.util.collectImmediately
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt
index 29b172673..6cb98cdd2 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt
@@ -39,10 +39,10 @@ import org.oxycblt.auxio.music.MusicParent
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.state.PlaybackMode
import org.oxycblt.auxio.settings.Settings
-import org.oxycblt.auxio.ui.Header
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuFragment
import org.oxycblt.auxio.ui.Sort
+import org.oxycblt.auxio.ui.fragment.MenuFragment
+import org.oxycblt.auxio.ui.recycler.Header
+import org.oxycblt.auxio.ui.recycler.Item
import org.oxycblt.auxio.util.applySpans
import org.oxycblt.auxio.util.canScroll
import org.oxycblt.auxio.util.collect
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt
index dea0bf89c..9bf838b22 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt
@@ -37,10 +37,10 @@ import org.oxycblt.auxio.music.MusicParent
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.state.PlaybackMode
import org.oxycblt.auxio.settings.Settings
-import org.oxycblt.auxio.ui.Header
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuFragment
import org.oxycblt.auxio.ui.Sort
+import org.oxycblt.auxio.ui.fragment.MenuFragment
+import org.oxycblt.auxio.ui.recycler.Header
+import org.oxycblt.auxio.ui.recycler.Item
import org.oxycblt.auxio.util.applySpans
import org.oxycblt.auxio.util.collect
import org.oxycblt.auxio.util.collectImmediately
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/DetailAppBarLayout.kt b/app/src/main/java/org/oxycblt/auxio/detail/DetailAppBarLayout.kt
index 3394d33c1..988e857b7 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/DetailAppBarLayout.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/DetailAppBarLayout.kt
@@ -32,7 +32,7 @@ import com.google.android.material.appbar.AppBarLayout
import java.lang.Exception
import java.lang.reflect.Field
import org.oxycblt.auxio.R
-import org.oxycblt.auxio.ui.EdgeAppBarLayout
+import org.oxycblt.auxio.ui.coordinator.EdgeAppBarLayout
import org.oxycblt.auxio.util.lazyReflectedField
import org.oxycblt.auxio.util.logE
import org.oxycblt.auxio.util.logTraceOrThrow
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt b/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt
index 1f5dd9a52..ec034fb70 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt
@@ -37,9 +37,9 @@ import org.oxycblt.auxio.music.MimeType
import org.oxycblt.auxio.music.MusicStore
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.settings.Settings
-import org.oxycblt.auxio.ui.Header
-import org.oxycblt.auxio.ui.Item
import org.oxycblt.auxio.ui.Sort
+import org.oxycblt.auxio.ui.recycler.Header
+import org.oxycblt.auxio.ui.recycler.Item
import org.oxycblt.auxio.util.application
import org.oxycblt.auxio.util.logD
import org.oxycblt.auxio.util.logW
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt
index 8b2aac401..c25c2edf9 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt
@@ -38,10 +38,10 @@ import org.oxycblt.auxio.music.MusicParent
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.state.PlaybackMode
import org.oxycblt.auxio.settings.Settings
-import org.oxycblt.auxio.ui.Header
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuFragment
import org.oxycblt.auxio.ui.Sort
+import org.oxycblt.auxio.ui.fragment.MenuFragment
+import org.oxycblt.auxio.ui.recycler.Header
+import org.oxycblt.auxio.ui.recycler.Item
import org.oxycblt.auxio.util.applySpans
import org.oxycblt.auxio.util.collect
import org.oxycblt.auxio.util.collectImmediately
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt b/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt
index 03e2418ca..5609e5f49 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt
@@ -25,7 +25,7 @@ import androidx.core.view.isGone
import androidx.navigation.fragment.navArgs
import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.DialogSongDetailBinding
-import org.oxycblt.auxio.ui.ViewBindingDialogFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingDialogFragment
import org.oxycblt.auxio.util.androidActivityViewModels
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.formatDuration
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/recycler/AlbumDetailAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/recycler/AlbumDetailAdapter.kt
index 215fb631a..6cdea9c38 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/recycler/AlbumDetailAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/recycler/AlbumDetailAdapter.kt
@@ -27,10 +27,10 @@ import org.oxycblt.auxio.databinding.ItemDetailBinding
import org.oxycblt.auxio.databinding.ItemDiscHeaderBinding
import org.oxycblt.auxio.music.Album
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.ui.BindingViewHolder
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuItemListener
-import org.oxycblt.auxio.ui.SimpleItemCallback
+import org.oxycblt.auxio.ui.recycler.BindingViewHolder
+import org.oxycblt.auxio.ui.recycler.Item
+import org.oxycblt.auxio.ui.recycler.MenuItemListener
+import org.oxycblt.auxio.ui.recycler.SimpleItemCallback
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.formatDuration
import org.oxycblt.auxio.util.getPluralSafe
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/recycler/ArtistDetailAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/recycler/ArtistDetailAdapter.kt
index 7adb4b512..662822b17 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/recycler/ArtistDetailAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/recycler/ArtistDetailAdapter.kt
@@ -27,11 +27,11 @@ import org.oxycblt.auxio.databinding.ItemSongBinding
import org.oxycblt.auxio.music.Album
import org.oxycblt.auxio.music.Artist
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.ui.ArtistViewHolder
-import org.oxycblt.auxio.ui.BindingViewHolder
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuItemListener
-import org.oxycblt.auxio.ui.SimpleItemCallback
+import org.oxycblt.auxio.ui.recycler.ArtistViewHolder
+import org.oxycblt.auxio.ui.recycler.BindingViewHolder
+import org.oxycblt.auxio.ui.recycler.Item
+import org.oxycblt.auxio.ui.recycler.MenuItemListener
+import org.oxycblt.auxio.ui.recycler.SimpleItemCallback
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.getPluralSafe
import org.oxycblt.auxio.util.inflater
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/recycler/DetailAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/recycler/DetailAdapter.kt
index c3e1314ab..dc8011765 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/recycler/DetailAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/recycler/DetailAdapter.kt
@@ -25,14 +25,14 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
import org.oxycblt.auxio.IntegerTable
import org.oxycblt.auxio.databinding.ItemSortHeaderBinding
-import org.oxycblt.auxio.ui.AsyncBackingData
-import org.oxycblt.auxio.ui.BindingViewHolder
-import org.oxycblt.auxio.ui.Header
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuItemListener
-import org.oxycblt.auxio.ui.MultiAdapter
-import org.oxycblt.auxio.ui.NewHeaderViewHolder
-import org.oxycblt.auxio.ui.SimpleItemCallback
+import org.oxycblt.auxio.ui.recycler.AsyncBackingData
+import org.oxycblt.auxio.ui.recycler.BindingViewHolder
+import org.oxycblt.auxio.ui.recycler.Header
+import org.oxycblt.auxio.ui.recycler.Item
+import org.oxycblt.auxio.ui.recycler.MenuItemListener
+import org.oxycblt.auxio.ui.recycler.MultiAdapter
+import org.oxycblt.auxio.ui.recycler.NewHeaderViewHolder
+import org.oxycblt.auxio.ui.recycler.SimpleItemCallback
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.inflater
import org.oxycblt.auxio.util.logW
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/recycler/GenreDetailAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/recycler/GenreDetailAdapter.kt
index 90729f36c..e6e39e7bd 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/recycler/GenreDetailAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/recycler/GenreDetailAdapter.kt
@@ -25,11 +25,11 @@ import org.oxycblt.auxio.databinding.ItemDetailBinding
import org.oxycblt.auxio.databinding.ItemSongBinding
import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.ui.BindingViewHolder
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuItemListener
-import org.oxycblt.auxio.ui.SimpleItemCallback
-import org.oxycblt.auxio.ui.SongViewHolder
+import org.oxycblt.auxio.ui.recycler.BindingViewHolder
+import org.oxycblt.auxio.ui.recycler.Item
+import org.oxycblt.auxio.ui.recycler.MenuItemListener
+import org.oxycblt.auxio.ui.recycler.SimpleItemCallback
+import org.oxycblt.auxio.ui.recycler.SongViewHolder
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.formatDuration
import org.oxycblt.auxio.util.getPluralSafe
diff --git a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt
index 2c3631925..a7a6cf320 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt
@@ -55,7 +55,7 @@ import org.oxycblt.auxio.ui.DisplayMode
import org.oxycblt.auxio.ui.MainNavigationAction
import org.oxycblt.auxio.ui.NavigationViewModel
import org.oxycblt.auxio.ui.Sort
-import org.oxycblt.auxio.ui.ViewBindingFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingFragment
import org.oxycblt.auxio.util.androidActivityViewModels
import org.oxycblt.auxio.util.collect
import org.oxycblt.auxio.util.collectImmediately
diff --git a/app/src/main/java/org/oxycblt/auxio/home/fastscroll/FastScrollRecyclerView.kt b/app/src/main/java/org/oxycblt/auxio/home/fastscroll/FastScrollRecyclerView.kt
index ad0614cbd..bf4327446 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/fastscroll/FastScrollRecyclerView.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/fastscroll/FastScrollRecyclerView.kt
@@ -34,7 +34,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import kotlin.math.abs
import org.oxycblt.auxio.R
-import org.oxycblt.auxio.ui.EdgeRecyclerView
+import org.oxycblt.auxio.ui.recycler.EdgeRecyclerView
import org.oxycblt.auxio.util.canScroll
import org.oxycblt.auxio.util.clamp
import org.oxycblt.auxio.util.getDimenOffsetSafe
diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt
index 53cfa95be..d47a23744 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt
@@ -23,13 +23,13 @@ import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.FragmentHomeListBinding
import org.oxycblt.auxio.music.Album
import org.oxycblt.auxio.music.Music
-import org.oxycblt.auxio.ui.AlbumViewHolder
import org.oxycblt.auxio.ui.DisplayMode
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuItemListener
-import org.oxycblt.auxio.ui.MonoAdapter
import org.oxycblt.auxio.ui.Sort
-import org.oxycblt.auxio.ui.SyncBackingData
+import org.oxycblt.auxio.ui.recycler.AlbumViewHolder
+import org.oxycblt.auxio.ui.recycler.Item
+import org.oxycblt.auxio.ui.recycler.MenuItemListener
+import org.oxycblt.auxio.ui.recycler.MonoAdapter
+import org.oxycblt.auxio.ui.recycler.SyncBackingData
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.formatDuration
import org.oxycblt.auxio.util.logEOrThrow
diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt
index 4c761e26c..1c6190709 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt
@@ -23,13 +23,13 @@ import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.FragmentHomeListBinding
import org.oxycblt.auxio.music.Artist
import org.oxycblt.auxio.music.Music
-import org.oxycblt.auxio.ui.ArtistViewHolder
import org.oxycblt.auxio.ui.DisplayMode
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuItemListener
-import org.oxycblt.auxio.ui.MonoAdapter
import org.oxycblt.auxio.ui.Sort
-import org.oxycblt.auxio.ui.SyncBackingData
+import org.oxycblt.auxio.ui.recycler.ArtistViewHolder
+import org.oxycblt.auxio.ui.recycler.Item
+import org.oxycblt.auxio.ui.recycler.MenuItemListener
+import org.oxycblt.auxio.ui.recycler.MonoAdapter
+import org.oxycblt.auxio.ui.recycler.SyncBackingData
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.formatDuration
import org.oxycblt.auxio.util.logEOrThrow
diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt
index 1f35b0f08..d61ea89f0 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt
@@ -24,12 +24,12 @@ import org.oxycblt.auxio.databinding.FragmentHomeListBinding
import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Music
import org.oxycblt.auxio.ui.DisplayMode
-import org.oxycblt.auxio.ui.GenreViewHolder
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuItemListener
-import org.oxycblt.auxio.ui.MonoAdapter
import org.oxycblt.auxio.ui.Sort
-import org.oxycblt.auxio.ui.SyncBackingData
+import org.oxycblt.auxio.ui.recycler.GenreViewHolder
+import org.oxycblt.auxio.ui.recycler.Item
+import org.oxycblt.auxio.ui.recycler.MenuItemListener
+import org.oxycblt.auxio.ui.recycler.MonoAdapter
+import org.oxycblt.auxio.ui.recycler.SyncBackingData
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.formatDuration
import org.oxycblt.auxio.util.logEOrThrow
diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/HomeListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/HomeListFragment.kt
index a54fb4d12..35dceb2df 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/list/HomeListFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/list/HomeListFragment.kt
@@ -23,9 +23,9 @@ import androidx.fragment.app.Fragment
import org.oxycblt.auxio.databinding.FragmentHomeListBinding
import org.oxycblt.auxio.home.HomeViewModel
import org.oxycblt.auxio.home.fastscroll.FastScrollRecyclerView
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuFragment
-import org.oxycblt.auxio.ui.MenuItemListener
+import org.oxycblt.auxio.ui.fragment.MenuFragment
+import org.oxycblt.auxio.ui.recycler.Item
+import org.oxycblt.auxio.ui.recycler.MenuItemListener
import org.oxycblt.auxio.util.androidActivityViewModels
import org.oxycblt.auxio.util.applySpans
diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt
index 2b6b29633..f4ccddda4 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt
@@ -24,12 +24,12 @@ import org.oxycblt.auxio.databinding.FragmentHomeListBinding
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.settings.Settings
import org.oxycblt.auxio.ui.DisplayMode
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuItemListener
-import org.oxycblt.auxio.ui.MonoAdapter
-import org.oxycblt.auxio.ui.SongViewHolder
import org.oxycblt.auxio.ui.Sort
-import org.oxycblt.auxio.ui.SyncBackingData
+import org.oxycblt.auxio.ui.recycler.Item
+import org.oxycblt.auxio.ui.recycler.MenuItemListener
+import org.oxycblt.auxio.ui.recycler.MonoAdapter
+import org.oxycblt.auxio.ui.recycler.SongViewHolder
+import org.oxycblt.auxio.ui.recycler.SyncBackingData
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.formatDuration
diff --git a/app/src/main/java/org/oxycblt/auxio/home/tabs/TabAdapter.kt b/app/src/main/java/org/oxycblt/auxio/home/tabs/TabAdapter.kt
index 403f6bc00..40f5bd07c 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/tabs/TabAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/tabs/TabAdapter.kt
@@ -22,10 +22,10 @@ import android.content.Context
import android.view.MotionEvent
import androidx.recyclerview.widget.RecyclerView
import org.oxycblt.auxio.databinding.ItemTabBinding
-import org.oxycblt.auxio.ui.BackingData
-import org.oxycblt.auxio.ui.BindingViewHolder
import org.oxycblt.auxio.ui.DisplayMode
-import org.oxycblt.auxio.ui.MonoAdapter
+import org.oxycblt.auxio.ui.recycler.BackingData
+import org.oxycblt.auxio.ui.recycler.BindingViewHolder
+import org.oxycblt.auxio.ui.recycler.MonoAdapter
import org.oxycblt.auxio.util.inflater
class TabAdapter(listener: Listener) :
diff --git a/app/src/main/java/org/oxycblt/auxio/home/tabs/TabCustomizeDialog.kt b/app/src/main/java/org/oxycblt/auxio/home/tabs/TabCustomizeDialog.kt
index 056af8321..588342d1a 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/tabs/TabCustomizeDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/tabs/TabCustomizeDialog.kt
@@ -27,7 +27,7 @@ import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.DialogTabsBinding
import org.oxycblt.auxio.settings.Settings
import org.oxycblt.auxio.ui.DisplayMode
-import org.oxycblt.auxio.ui.ViewBindingDialogFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingDialogFragment
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.logD
diff --git a/app/src/main/java/org/oxycblt/auxio/image/ImageGroup.kt b/app/src/main/java/org/oxycblt/auxio/image/ui/ImageGroup.kt
similarity index 99%
rename from app/src/main/java/org/oxycblt/auxio/image/ImageGroup.kt
rename to app/src/main/java/org/oxycblt/auxio/image/ui/ImageGroup.kt
index 7432903f9..287fa2562 100644
--- a/app/src/main/java/org/oxycblt/auxio/image/ImageGroup.kt
+++ b/app/src/main/java/org/oxycblt/auxio/image/ui/ImageGroup.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.image
+package org.oxycblt.auxio.image.ui
import android.annotation.SuppressLint
import android.content.Context
diff --git a/app/src/main/java/org/oxycblt/auxio/image/StyledDrawable.kt b/app/src/main/java/org/oxycblt/auxio/image/ui/StyledDrawable.kt
similarity index 98%
rename from app/src/main/java/org/oxycblt/auxio/image/StyledDrawable.kt
rename to app/src/main/java/org/oxycblt/auxio/image/ui/StyledDrawable.kt
index 96ea2e0df..c97d4db04 100644
--- a/app/src/main/java/org/oxycblt/auxio/image/StyledDrawable.kt
+++ b/app/src/main/java/org/oxycblt/auxio/image/ui/StyledDrawable.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.image
+package org.oxycblt.auxio.image.ui
import android.content.Context
import android.graphics.Canvas
diff --git a/app/src/main/java/org/oxycblt/auxio/image/StyledImageView.kt b/app/src/main/java/org/oxycblt/auxio/image/ui/StyledImageView.kt
similarity index 98%
rename from app/src/main/java/org/oxycblt/auxio/image/StyledImageView.kt
rename to app/src/main/java/org/oxycblt/auxio/image/ui/StyledImageView.kt
index 70dc392ed..c5aaaf0da 100644
--- a/app/src/main/java/org/oxycblt/auxio/image/StyledImageView.kt
+++ b/app/src/main/java/org/oxycblt/auxio/image/ui/StyledImageView.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.image
+package org.oxycblt.auxio.image.ui
import android.content.Context
import android.graphics.drawable.Drawable
@@ -29,6 +29,7 @@ import coil.dispose
import coil.load
import com.google.android.material.shape.MaterialShapeDrawable
import org.oxycblt.auxio.R
+import org.oxycblt.auxio.image.SquareFrameTransform
import org.oxycblt.auxio.music.Album
import org.oxycblt.auxio.music.Artist
import org.oxycblt.auxio.music.Genre
diff --git a/app/src/main/java/org/oxycblt/auxio/music/Music.kt b/app/src/main/java/org/oxycblt/auxio/music/Music.kt
index 3038f2263..2c4d47b46 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/Music.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/Music.kt
@@ -23,7 +23,7 @@ import android.content.Context
import android.net.Uri
import android.provider.MediaStore
import org.oxycblt.auxio.R
-import org.oxycblt.auxio.ui.Item
+import org.oxycblt.auxio.ui.recycler.Item
import org.oxycblt.auxio.util.unlikelyToBeNull
// --- MUSIC MODELS ---
diff --git a/app/src/main/java/org/oxycblt/auxio/music/dirs/MusicDirAdapter.kt b/app/src/main/java/org/oxycblt/auxio/music/dirs/MusicDirAdapter.kt
index 3b96c77f9..968a59dd3 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/dirs/MusicDirAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/dirs/MusicDirAdapter.kt
@@ -20,9 +20,9 @@ package org.oxycblt.auxio.music.dirs
import android.content.Context
import org.oxycblt.auxio.databinding.ItemMusicDirBinding
import org.oxycblt.auxio.music.Directory
-import org.oxycblt.auxio.ui.BackingData
-import org.oxycblt.auxio.ui.BindingViewHolder
-import org.oxycblt.auxio.ui.MonoAdapter
+import org.oxycblt.auxio.ui.recycler.BackingData
+import org.oxycblt.auxio.ui.recycler.BindingViewHolder
+import org.oxycblt.auxio.ui.recycler.MonoAdapter
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.inflater
import org.oxycblt.auxio.util.textSafe
diff --git a/app/src/main/java/org/oxycblt/auxio/music/dirs/MusicDirsDialog.kt b/app/src/main/java/org/oxycblt/auxio/music/dirs/MusicDirsDialog.kt
index e01c7d67b..e0156ac1a 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/dirs/MusicDirsDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/dirs/MusicDirsDialog.kt
@@ -31,7 +31,7 @@ import org.oxycblt.auxio.databinding.DialogMusicDirsBinding
import org.oxycblt.auxio.music.Directory
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.settings.Settings
-import org.oxycblt.auxio.ui.ViewBindingDialogFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingDialogFragment
import org.oxycblt.auxio.util.androidActivityViewModels
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.getSystemServiceSafe
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarFragment.kt
index 5b9eb03da..4f04dfca0 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarFragment.kt
@@ -27,7 +27,7 @@ import org.oxycblt.auxio.databinding.FragmentPlaybackBarBinding
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.ui.MainNavigationAction
import org.oxycblt.auxio.ui.NavigationViewModel
-import org.oxycblt.auxio.ui.ViewBindingFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingFragment
import org.oxycblt.auxio.util.androidActivityViewModels
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.getColorStateListSafe
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt
index 71083a657..21ff48985 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt
@@ -32,7 +32,7 @@ import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.state.RepeatMode
import org.oxycblt.auxio.ui.MainNavigationAction
import org.oxycblt.auxio.ui.NavigationViewModel
-import org.oxycblt.auxio.ui.ViewBindingFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingFragment
import org.oxycblt.auxio.util.androidActivityViewModels
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.getDrawableSafe
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt
index bd0705dc0..1937e6b73 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt
@@ -28,10 +28,10 @@ import com.google.android.material.shape.MaterialShapeDrawable
import org.oxycblt.auxio.IntegerTable
import org.oxycblt.auxio.databinding.ItemQueueSongBinding
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.ui.BindingViewHolder
-import org.oxycblt.auxio.ui.MonoAdapter
-import org.oxycblt.auxio.ui.SongViewHolder
-import org.oxycblt.auxio.ui.SyncBackingData
+import org.oxycblt.auxio.ui.recycler.BindingViewHolder
+import org.oxycblt.auxio.ui.recycler.MonoAdapter
+import org.oxycblt.auxio.ui.recycler.SongViewHolder
+import org.oxycblt.auxio.ui.recycler.SyncBackingData
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.disableDropShadowCompat
import org.oxycblt.auxio.util.inflater
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt
index 9bc72027a..9cd22e6a0 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt
@@ -26,7 +26,7 @@ import androidx.recyclerview.widget.RecyclerView
import org.oxycblt.auxio.databinding.FragmentQueueBinding
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
-import org.oxycblt.auxio.ui.ViewBindingFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingFragment
import org.oxycblt.auxio.util.androidActivityViewModels
import org.oxycblt.auxio.util.collectImmediately
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/replaygain/PreAmpCustomizeDialog.kt b/app/src/main/java/org/oxycblt/auxio/playback/replaygain/PreAmpCustomizeDialog.kt
index 07e56a44a..9562eccb0 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/replaygain/PreAmpCustomizeDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/replaygain/PreAmpCustomizeDialog.kt
@@ -26,7 +26,7 @@ import org.oxycblt.auxio.BuildConfig
import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.DialogPreAmpBinding
import org.oxycblt.auxio.settings.Settings
-import org.oxycblt.auxio.ui.ViewBindingDialogFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingDialogFragment
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.textSafe
diff --git a/app/src/main/java/org/oxycblt/auxio/search/SearchAdapter.kt b/app/src/main/java/org/oxycblt/auxio/search/SearchAdapter.kt
index ae4398782..31a476df8 100644
--- a/app/src/main/java/org/oxycblt/auxio/search/SearchAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/search/SearchAdapter.kt
@@ -22,17 +22,17 @@ import org.oxycblt.auxio.music.Album
import org.oxycblt.auxio.music.Artist
import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.ui.AlbumViewHolder
-import org.oxycblt.auxio.ui.ArtistViewHolder
-import org.oxycblt.auxio.ui.AsyncBackingData
-import org.oxycblt.auxio.ui.GenreViewHolder
-import org.oxycblt.auxio.ui.Header
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuItemListener
-import org.oxycblt.auxio.ui.MultiAdapter
-import org.oxycblt.auxio.ui.NewHeaderViewHolder
-import org.oxycblt.auxio.ui.SimpleItemCallback
-import org.oxycblt.auxio.ui.SongViewHolder
+import org.oxycblt.auxio.ui.recycler.AlbumViewHolder
+import org.oxycblt.auxio.ui.recycler.ArtistViewHolder
+import org.oxycblt.auxio.ui.recycler.AsyncBackingData
+import org.oxycblt.auxio.ui.recycler.GenreViewHolder
+import org.oxycblt.auxio.ui.recycler.Header
+import org.oxycblt.auxio.ui.recycler.Item
+import org.oxycblt.auxio.ui.recycler.MenuItemListener
+import org.oxycblt.auxio.ui.recycler.MultiAdapter
+import org.oxycblt.auxio.ui.recycler.NewHeaderViewHolder
+import org.oxycblt.auxio.ui.recycler.SimpleItemCallback
+import org.oxycblt.auxio.ui.recycler.SongViewHolder
class SearchAdapter(listener: MenuItemListener) : MultiAdapter(listener) {
override val data = AsyncBackingData(this, DIFFER)
diff --git a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt
index fb1e2e1e3..6aa45c04c 100644
--- a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt
@@ -37,10 +37,10 @@ import org.oxycblt.auxio.music.Music
import org.oxycblt.auxio.music.MusicParent
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.settings.Settings
-import org.oxycblt.auxio.ui.Header
-import org.oxycblt.auxio.ui.Item
-import org.oxycblt.auxio.ui.MenuFragment
-import org.oxycblt.auxio.ui.MenuItemListener
+import org.oxycblt.auxio.ui.fragment.MenuFragment
+import org.oxycblt.auxio.ui.recycler.Header
+import org.oxycblt.auxio.ui.recycler.Item
+import org.oxycblt.auxio.ui.recycler.MenuItemListener
import org.oxycblt.auxio.util.androidViewModels
import org.oxycblt.auxio.util.applySpans
import org.oxycblt.auxio.util.collect
diff --git a/app/src/main/java/org/oxycblt/auxio/search/SearchViewModel.kt b/app/src/main/java/org/oxycblt/auxio/search/SearchViewModel.kt
index 1e3d83d89..8a6c1cf4f 100644
--- a/app/src/main/java/org/oxycblt/auxio/search/SearchViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/search/SearchViewModel.kt
@@ -32,9 +32,9 @@ import org.oxycblt.auxio.music.Music
import org.oxycblt.auxio.music.MusicStore
import org.oxycblt.auxio.settings.Settings
import org.oxycblt.auxio.ui.DisplayMode
-import org.oxycblt.auxio.ui.Header
-import org.oxycblt.auxio.ui.Item
import org.oxycblt.auxio.ui.Sort
+import org.oxycblt.auxio.ui.recycler.Header
+import org.oxycblt.auxio.ui.recycler.Item
import org.oxycblt.auxio.util.application
import org.oxycblt.auxio.util.logD
diff --git a/app/src/main/java/org/oxycblt/auxio/settings/AboutFragment.kt b/app/src/main/java/org/oxycblt/auxio/settings/AboutFragment.kt
index 06e3e6e6f..ca2fd8c9e 100644
--- a/app/src/main/java/org/oxycblt/auxio/settings/AboutFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/settings/AboutFragment.kt
@@ -35,7 +35,7 @@ import org.oxycblt.auxio.music.Album
import org.oxycblt.auxio.music.Artist
import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Song
-import org.oxycblt.auxio.ui.ViewBindingFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingFragment
import org.oxycblt.auxio.util.androidActivityViewModels
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.formatDuration
diff --git a/app/src/main/java/org/oxycblt/auxio/settings/SettingsFragment.kt b/app/src/main/java/org/oxycblt/auxio/settings/SettingsFragment.kt
index 1911ab786..95dd6dc86 100644
--- a/app/src/main/java/org/oxycblt/auxio/settings/SettingsFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/settings/SettingsFragment.kt
@@ -22,7 +22,7 @@ import android.view.LayoutInflater
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import org.oxycblt.auxio.databinding.FragmentSettingsBinding
-import org.oxycblt.auxio.ui.ViewBindingFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingFragment
/**
* A container [Fragment] for the settings menu.
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/accent/AccentAdapter.kt b/app/src/main/java/org/oxycblt/auxio/ui/accent/AccentAdapter.kt
index a02b819b0..671dd4b07 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/accent/AccentAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/accent/AccentAdapter.kt
@@ -21,9 +21,9 @@ import android.content.Context
import androidx.appcompat.widget.TooltipCompat
import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.ItemAccentBinding
-import org.oxycblt.auxio.ui.BackingData
-import org.oxycblt.auxio.ui.BindingViewHolder
-import org.oxycblt.auxio.ui.MonoAdapter
+import org.oxycblt.auxio.ui.recycler.BackingData
+import org.oxycblt.auxio.ui.recycler.BindingViewHolder
+import org.oxycblt.auxio.ui.recycler.MonoAdapter
import org.oxycblt.auxio.util.getAttrColorSafe
import org.oxycblt.auxio.util.getColorSafe
import org.oxycblt.auxio.util.inflater
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/accent/AccentCustomizeDialog.kt b/app/src/main/java/org/oxycblt/auxio/ui/accent/AccentCustomizeDialog.kt
index d90dbb072..618e21a46 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/accent/AccentCustomizeDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/accent/AccentCustomizeDialog.kt
@@ -24,7 +24,7 @@ import org.oxycblt.auxio.BuildConfig
import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.DialogAccentBinding
import org.oxycblt.auxio.settings.Settings
-import org.oxycblt.auxio.ui.ViewBindingDialogFragment
+import org.oxycblt.auxio.ui.fragment.ViewBindingDialogFragment
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.logD
import org.oxycblt.auxio.util.unlikelyToBeNull
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/EdgeAppBarLayout.kt b/app/src/main/java/org/oxycblt/auxio/ui/coordinator/EdgeAppBarLayout.kt
similarity index 98%
rename from app/src/main/java/org/oxycblt/auxio/ui/EdgeAppBarLayout.kt
rename to app/src/main/java/org/oxycblt/auxio/ui/coordinator/EdgeAppBarLayout.kt
index 30b2a73bd..566c432cd 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/EdgeAppBarLayout.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/coordinator/EdgeAppBarLayout.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.ui
+package org.oxycblt.auxio.ui.coordinator
import android.content.Context
import android.util.AttributeSet
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/EdgeCoordinatorLayout.kt b/app/src/main/java/org/oxycblt/auxio/ui/coordinator/EdgeCoordinatorLayout.kt
similarity index 97%
rename from app/src/main/java/org/oxycblt/auxio/ui/EdgeCoordinatorLayout.kt
rename to app/src/main/java/org/oxycblt/auxio/ui/coordinator/EdgeCoordinatorLayout.kt
index 87b8996ff..7e7e64677 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/EdgeCoordinatorLayout.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/coordinator/EdgeCoordinatorLayout.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.ui
+package org.oxycblt.auxio.ui.coordinator
import android.content.Context
import android.util.AttributeSet
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/MenuFragment.kt b/app/src/main/java/org/oxycblt/auxio/ui/fragment/MenuFragment.kt
similarity index 98%
rename from app/src/main/java/org/oxycblt/auxio/ui/MenuFragment.kt
rename to app/src/main/java/org/oxycblt/auxio/ui/fragment/MenuFragment.kt
index ae6eb0241..e3b0ba6c3 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/MenuFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/fragment/MenuFragment.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.ui
+package org.oxycblt.auxio.ui.fragment
import android.view.View
import androidx.annotation.MenuRes
@@ -29,6 +29,8 @@ import org.oxycblt.auxio.music.Artist
import org.oxycblt.auxio.music.Genre
import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
+import org.oxycblt.auxio.ui.MainNavigationAction
+import org.oxycblt.auxio.ui.NavigationViewModel
import org.oxycblt.auxio.util.androidActivityViewModels
import org.oxycblt.auxio.util.logD
import org.oxycblt.auxio.util.logEOrThrow
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/ViewBindingDialogFragment.kt b/app/src/main/java/org/oxycblt/auxio/ui/fragment/ViewBindingDialogFragment.kt
similarity index 99%
rename from app/src/main/java/org/oxycblt/auxio/ui/ViewBindingDialogFragment.kt
rename to app/src/main/java/org/oxycblt/auxio/ui/fragment/ViewBindingDialogFragment.kt
index 56127efae..424296c20 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/ViewBindingDialogFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/fragment/ViewBindingDialogFragment.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.ui
+package org.oxycblt.auxio.ui.fragment
import android.os.Bundle
import android.view.LayoutInflater
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/ViewBindingFragment.kt b/app/src/main/java/org/oxycblt/auxio/ui/fragment/ViewBindingFragment.kt
similarity index 99%
rename from app/src/main/java/org/oxycblt/auxio/ui/ViewBindingFragment.kt
rename to app/src/main/java/org/oxycblt/auxio/ui/fragment/ViewBindingFragment.kt
index bef0c47fc..5f7a009a6 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/ViewBindingFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/fragment/ViewBindingFragment.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.ui
+package org.oxycblt.auxio.ui.fragment
import android.os.Bundle
import android.view.LayoutInflater
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/DialogRecyclerView.kt b/app/src/main/java/org/oxycblt/auxio/ui/recycler/DialogRecyclerView.kt
similarity index 98%
rename from app/src/main/java/org/oxycblt/auxio/ui/DialogRecyclerView.kt
rename to app/src/main/java/org/oxycblt/auxio/ui/recycler/DialogRecyclerView.kt
index 931bab75e..fbc0cb834 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/DialogRecyclerView.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/recycler/DialogRecyclerView.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.ui
+package org.oxycblt.auxio.ui.recycler
import android.content.Context
import android.util.AttributeSet
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/EdgeRecyclerView.kt b/app/src/main/java/org/oxycblt/auxio/ui/recycler/EdgeRecyclerView.kt
similarity index 98%
rename from app/src/main/java/org/oxycblt/auxio/ui/EdgeRecyclerView.kt
rename to app/src/main/java/org/oxycblt/auxio/ui/recycler/EdgeRecyclerView.kt
index 296ffaefb..17f666034 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/EdgeRecyclerView.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/recycler/EdgeRecyclerView.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.ui
+package org.oxycblt.auxio.ui.recycler
import android.content.Context
import android.graphics.Rect
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/RecyclerFramework.kt b/app/src/main/java/org/oxycblt/auxio/ui/recycler/RecyclerFramework.kt
similarity index 99%
rename from app/src/main/java/org/oxycblt/auxio/ui/RecyclerFramework.kt
rename to app/src/main/java/org/oxycblt/auxio/ui/recycler/RecyclerFramework.kt
index 9c3d74571..11d11d90a 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/RecyclerFramework.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/recycler/RecyclerFramework.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.ui
+package org.oxycblt.auxio.ui.recycler
import android.content.Context
import android.view.View
diff --git a/app/src/main/java/org/oxycblt/auxio/ui/ViewHolders.kt b/app/src/main/java/org/oxycblt/auxio/ui/recycler/ViewHolders.kt
similarity index 99%
rename from app/src/main/java/org/oxycblt/auxio/ui/ViewHolders.kt
rename to app/src/main/java/org/oxycblt/auxio/ui/recycler/ViewHolders.kt
index 45fdbd121..55b151fc1 100644
--- a/app/src/main/java/org/oxycblt/auxio/ui/ViewHolders.kt
+++ b/app/src/main/java/org/oxycblt/auxio/ui/recycler/ViewHolders.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package org.oxycblt.auxio.ui
+package org.oxycblt.auxio.ui.recycler
import android.content.Context
import org.oxycblt.auxio.IntegerTable
diff --git a/app/src/main/res/layout-h600dp/item_detail.xml b/app/src/main/res/layout-h600dp/item_detail.xml
index 3e942fbfd..fe07c5b27 100644
--- a/app/src/main/res/layout-h600dp/item_detail.xml
+++ b/app/src/main/res/layout-h600dp/item_detail.xml
@@ -6,7 +6,7 @@
android:layout_height="match_parent"
android:padding="@dimen/spacing_medium">
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -17,7 +17,7 @@
style="@style/Widget.Auxio.Toolbar.Icon"
app:title="@string/lbl_about" />
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_detail.xml b/app/src/main/res/layout/fragment_detail.xml
index 908607dae..82b0d6181 100644
--- a/app/src/main/res/layout/fragment_detail.xml
+++ b/app/src/main/res/layout/fragment_detail.xml
@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
@@ -21,7 +21,7 @@
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index ed43d873f..d8ea21610 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -1,12 +1,12 @@
-
-
@@ -27,7 +27,7 @@
app:tabGravity="start"
app:tabMode="scrollable" />
-
+
-
+
diff --git a/app/src/main/res/layout/fragment_playback_bar.xml b/app/src/main/res/layout/fragment_playback_bar.xml
index 8594fb160..3b046db66 100644
--- a/app/src/main/res/layout/fragment_playback_bar.xml
+++ b/app/src/main/res/layout/fragment_playback_bar.xml
@@ -6,7 +6,7 @@
android:layout_height="wrap_content"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
-
-
-
-
@@ -19,9 +19,9 @@
app:navigationIcon="@drawable/ic_down"
app:title="@string/lbl_queue" />
-
+
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml
index 85841078d..3dc9ad39f 100644
--- a/app/src/main/res/layout/fragment_search.xml
+++ b/app/src/main/res/layout/fragment_search.xml
@@ -1,11 +1,11 @@
-
-
@@ -40,9 +40,9 @@
-
+
-
-
+
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index a3d5edbd1..3ee3f8af6 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -1,12 +1,12 @@
-
-
-
+
-
+
diff --git a/app/src/main/res/layout/item_album_song.xml b/app/src/main/res/layout/item_album_song.xml
index 60c2d9345..d8a993ea6 100644
--- a/app/src/main/res/layout/item_album_song.xml
+++ b/app/src/main/res/layout/item_album_song.xml
@@ -11,7 +11,7 @@
view. The way we do this is odd, but it's designed this way.
-->
-
-
+
-
-
-
-
-