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 5ce957f90..553fddd41 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt @@ -21,6 +21,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.MenuItem import androidx.appcompat.widget.Toolbar +import androidx.core.view.isVisible import androidx.core.view.iterator import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels @@ -56,8 +57,6 @@ import org.oxycblt.auxio.util.unlikelyToBeNull * The main "Launching Point" fragment of Auxio, allowing navigation to the detail views for each * respective item. * @author OxygenCobalt - * - * TODO: Make tabs invisible when there is only one */ class HomeFragment : ViewBindingFragment(), Toolbar.OnMenuItemClickListener { private val playbackModel: PlaybackViewModel by activityViewModels() @@ -75,6 +74,8 @@ class HomeFragment : ViewBindingFragment(), Toolbar.OnMenuI setOnMenuItemClickListener(this@HomeFragment) } + updateTabConfiguration() + binding.homePager.apply { adapter = HomePagerAdapter() @@ -224,10 +225,17 @@ class HomeFragment : ViewBindingFragment(), Toolbar.OnMenuI private fun handleRecreateTabs(recreate: Boolean) { if (recreate) { requireBinding().homePager.recreate() + updateTabConfiguration() homeModel.finishRecreateTabs() } } + private fun updateTabConfiguration() { + if (homeModel.tabs.size == 1) { + requireBinding().homeTabs.isVisible = false + } + } + private fun handleLoaderResponse(response: MusicStore.Response?) { val binding = requireBinding() when (response) { diff --git a/app/src/main/java/org/oxycblt/auxio/home/HomeViewModel.kt b/app/src/main/java/org/oxycblt/auxio/home/HomeViewModel.kt index adffe50dd..d2aa4745e 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/HomeViewModel.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/HomeViewModel.kt @@ -91,9 +91,7 @@ class HomeViewModel : ViewModel(), SettingsManager.Callback, MusicStore.Callback _shouldRecreateTabs.value = false } - /** - * Get the specific sort for the given [DisplayMode]. - */ + /** Get the specific sort for the given [DisplayMode]. */ fun getSortForDisplay(displayMode: DisplayMode): Sort { return when (displayMode) { DisplayMode.SHOW_SONGS -> settingsManager.libSongSort