diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java index 228c582f..898e52cf 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java @@ -17,6 +17,7 @@ import com.cappielloantonio.play.R; import com.cappielloantonio.play.databinding.FragmentHomeBinding; import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.fragment.pager.HomePager; +import com.cappielloantonio.play.util.Preferences; import com.google.android.gms.cast.framework.CastButtonFactory; import com.google.android.material.tabs.TabLayoutMediator; @@ -94,8 +95,12 @@ public class HomeFragment extends Fragment { HomePager pager = new HomePager(this); pager.addFragment(new HomeTabMusicFragment(), "Music", R.drawable.ic_home); - pager.addFragment(new HomeTabPodcastFragment(), "Podcast", R.drawable.ic_graphic_eq); - pager.addFragment(new HomeTabRadioFragment(), "Radio", R.drawable.ic_play_for_work); + + if (Preferences.isPodcastSectionVisible()) + pager.addFragment(new HomeTabPodcastFragment(), "Podcast", R.drawable.ic_graphic_eq); + + if (Preferences.isRadioSectionVisible()) + pager.addFragment(new HomeTabRadioFragment(), "Radio", R.drawable.ic_play_for_work); bind.homeViewPager.setAdapter(pager); bind.homeViewPager.setUserInputEnabled(false); @@ -106,5 +111,7 @@ public class HomeFragment extends Fragment { // tab.setIcon(pager.getPageIcon(position)); } ).attach(); + + bind.homeTabLayout.setVisibility(Preferences.isPodcastSectionVisible() || Preferences.isRadioSectionVisible() ? View.VISIBLE : View.GONE); } } diff --git a/app/src/main/java/com/cappielloantonio/play/util/Preferences.kt b/app/src/main/java/com/cappielloantonio/play/util/Preferences.kt index 03563704..ec203c0a 100644 --- a/app/src/main/java/com/cappielloantonio/play/util/Preferences.kt +++ b/app/src/main/java/com/cappielloantonio/play/util/Preferences.kt @@ -27,6 +27,8 @@ object Preferences { private const val QUEUE_SYNCING_COUNTDOWN = "queue_syncing_countdown" private const val ROUNDED_CORNER = "rounded_corner" private const val ROUNDED_CORNER_SIZE = "rounded_corner_size" + private const val PODCAST_SECTION_VISIBILITY = "podcast_section_visibility" + private const val RADIO_SECTION_VISIBILITY = "radio_section_visibility" @JvmStatic fun getServer(): String? { @@ -207,4 +209,14 @@ object Preferences { fun getRoundedCornerSize(): Int { return App.getInstance().preferences.getString(ROUNDED_CORNER_SIZE, "12")!!.toInt() } + + @JvmStatic + fun isPodcastSectionVisible(): Boolean { + return App.getInstance().preferences.getBoolean(PODCAST_SECTION_VISIBILITY, true) + } + + @JvmStatic + fun isRadioSectionVisible(): Boolean { + return App.getInstance().preferences.getBoolean(RADIO_SECTION_VISIBILITY, true) + } } \ 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 64f77236..c1271cff 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -174,6 +174,10 @@ Sync play queue for this user Sync timer If enabled, the user will have the ability to save their play queue and will have the ability to load state when opening the application. + Show podcast + If enabled, show the podcast section. + Show radio + If enabled, show the radio section. Rounded corners If enabled, sets a curvature angle for all rendered covers. The changes will take effect on restart. Corners size diff --git a/app/src/main/res/xml/global_preferences.xml b/app/src/main/res/xml/global_preferences.xml index 96f83ac3..c3ba4943 100644 --- a/app/src/main/res/xml/global_preferences.xml +++ b/app/src/main/res/xml/global_preferences.xml @@ -39,6 +39,18 @@ app:key="rounded_corner_size" app:title="@string/settings_rounded_corner_size" app:useSimpleSummaryProvider="true" /> + + + +