diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt index 8a4d530c4..f0150796d 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt @@ -132,6 +132,9 @@ import java.util.regex.Matcher import java.util.regex.Pattern import javax.inject.Inject import javax.inject.Named +import fr.free.nrw.commons.navtab.NavTabLayout +import fr.free.nrw.commons.contributions.MainActivity +import fr.free.nrw.commons.navtab.NavTab class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.Callback { private var editable: Boolean = false @@ -246,6 +249,8 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C initialListTop = binding.mediaDetailScrollView.scrollY } + private lateinit var navTabLayout: NavTabLayout + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -418,6 +423,40 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C return view } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + // Hide MainActivity nav tabs when this fragment is open + (requireActivity() as MainActivity).hideTabs() + + // Initialize NavTabLayout + navTabLayout = binding.fragmentMainNavTabLayout + + navTabLayout.setOnNavigationItemSelectedListener { item -> + val navTab = NavTab.of(item.order) + when (navTab) { + NavTab.CONTRIBUTIONS -> { + (requireActivity() as MainActivity).setSelectedItemId(NavTab.CONTRIBUTIONS.code()) + true + } + NavTab.NEARBY -> { + (requireActivity() as MainActivity).setSelectedItemId(NavTab.NEARBY.code()) + true + } + NavTab.EXPLORE -> { + (requireActivity() as MainActivity).setSelectedItemId(NavTab.EXPLORE.code()) + true + } + NavTab.MORE -> { + (requireActivity() as MainActivity).setSelectedItemId(NavTab.MORE.code()) + true + } + else -> false + } + } + + } + fun launchZoomActivity(view: View) { val hasPermission: Boolean = hasPermission(requireActivity(), PERMISSIONS_STORAGE) if (hasPermission) { @@ -2263,4 +2302,4 @@ fun FileUsagesContainer( } } -} +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_media_detail.xml b/app/src/main/res/layout/fragment_media_detail.xml index 7ce90d19e..0843c894a 100644 --- a/app/src/main/res/layout/fragment_media_detail.xml +++ b/app/src/main/res/layout/fragment_media_detail.xml @@ -45,6 +45,7 @@ android:id="@+id/mediaDetailScrollView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginBottom="?attr/actionBarSize" android:background="@android:color/transparent" android:cacheColorHint="@android:color/transparent" android:fillViewport="true"> @@ -512,4 +513,15 @@ - + + + \ No newline at end of file