From 5a78d68f679b95f9c0b592925f840f3146248b94 Mon Sep 17 00:00:00 2001 From: aayush262 Date: Sun, 26 May 2024 21:43:25 +0530 Subject: [PATCH] feat: remove other tabs when opening page from notification --- .../notification/NotificationActivity.kt | 26 +++++++++---------- .../res/layout/fragment_notifications.xml | 26 ++++++++++--------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/profile/notification/NotificationActivity.kt b/app/src/main/java/ani/dantotsu/profile/notification/NotificationActivity.kt index e0f133eb..e2b1b8fc 100644 --- a/app/src/main/java/ani/dantotsu/profile/notification/NotificationActivity.kt +++ b/app/src/main/java/ani/dantotsu/profile/notification/NotificationActivity.kt @@ -3,6 +3,7 @@ package ani.dantotsu.profile.notification import android.os.Bundle import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.isVisible import androidx.core.view.updateLayoutParams import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager @@ -36,18 +37,17 @@ class NotificationActivity : AppCompatActivity() { binding.root.updateLayoutParams { bottomMargin = navBarHeight } - val mediaTab = navBar.createTab(R.drawable.ic_round_movie_filter_24, "Media") - val userTab = navBar.createTab(R.drawable.ic_round_person_24, "User") - val subscriptionTab = navBar.createTab(R.drawable.ic_round_notifications_active_24, "Subscriptions") - val commentTab = navBar.createTab(R.drawable.ic_round_comment_24, "Comments") - navBar.addTab(mediaTab) - navBar.addTab(userTab) - navBar.addTab(subscriptionTab) - navBar.addTab(commentTab) - binding.notificationBack.setOnClickListener { - onBackPressedDispatcher.onBackPressed() - } + val tabs = listOf( + Pair(R.drawable.ic_round_movie_filter_24, "Media"), + Pair(R.drawable.ic_round_person_24, "User"), + Pair(R.drawable.ic_round_notifications_active_24, "Subs"), + Pair(R.drawable.ic_round_comment_24, "Comments") + ) + tabs.forEach { (icon, title) -> navBar.addTab(navBar.createTab(icon, title)) } + + binding.notificationBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() } val getOne = intent.getIntExtra("activityId", -1) + if (getOne != -1) navBar.isVisible = false binding.notificationViewPager.adapter = ViewPagerAdapter(supportFragmentManager, lifecycle, getOne) binding.notificationViewPager.setOffscreenPageLimit(4) binding.notificationViewPager.setCurrentItem(selected, false) @@ -72,17 +72,17 @@ class NotificationActivity : AppCompatActivity() { }) } override fun onResume() { + super.onResume() if (this::navBar.isInitialized) { navBar.selectTabAt(selected) } - super.onResume() } private class ViewPagerAdapter( fragmentManager: FragmentManager, lifecycle: Lifecycle, val id: Int = -1 ) : FragmentStateAdapter(fragmentManager, lifecycle) { - override fun getItemCount(): Int = 4 + override fun getItemCount(): Int = if (id != -1) 1 else 4 override fun createFragment(position: Int): Fragment = when (position) { 0 -> NotificationFragment(if (id != -1) NotificationType.ONE else NotificationType.MEDIA, id) diff --git a/app/src/main/res/layout/fragment_notifications.xml b/app/src/main/res/layout/fragment_notifications.xml index 10fc1bef..b7c21cab 100644 --- a/app/src/main/res/layout/fragment_notifications.xml +++ b/app/src/main/res/layout/fragment_notifications.xml @@ -1,13 +1,12 @@ + android:gravity="center_horizontal" + android:orientation="vertical"> + + android:visibility="gone" /> + + + android:visibility="gone" /> \ No newline at end of file