From d488d115733bc84a55b7f71099b5678f5978325a Mon Sep 17 00:00:00 2001 From: aayush262 Date: Thu, 6 Jun 2024 21:03:43 +0530 Subject: [PATCH] fix(notifications): extra padding --- .../profile/activity/ActivityFragment.kt | 60 ++++++----------- .../notification/NotificationActivity.kt | 9 ++- .../notification/NotificationFragment.kt | 66 +++++++------------ 3 files changed, 46 insertions(+), 89 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/profile/activity/ActivityFragment.kt b/app/src/main/java/ani/dantotsu/profile/activity/ActivityFragment.kt index fa7826b7..b56f947d 100644 --- a/app/src/main/java/ani/dantotsu/profile/activity/ActivityFragment.kt +++ b/app/src/main/java/ani/dantotsu/profile/activity/ActivityFragment.kt @@ -43,30 +43,14 @@ class ActivityFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - type = arguments?.getSerializableCompat("type") as ActivityType - userId = arguments?.getInt("userId") - activityId = arguments?.getInt("activityId") + arguments?.let { + type = it.getSerializableCompat("type") as ActivityType + userId = it.getInt("userId") + activityId = it.getInt("activityId") + } binding.titleBar.visibility = if (type == ActivityType.OTHER_USER) View.VISIBLE else View.GONE binding.titleText.text = if (userId == Anilist.userid) getString(R.string.create_new_activity) else getString(R.string.write_a_message) - binding.titleImage.setOnClickListener { - if(userId == Anilist.userid) { - ContextCompat.startActivity( - requireContext(), - Intent(context, ActivityMarkdownCreator::class.java) - .putExtra("type", "activity"), - null - ) - } else{ - ContextCompat.startActivity( - requireContext(), - Intent(context, ActivityMarkdownCreator::class.java) - .putExtra("type", "message") - .putExtra("userId", userId), - - null - ) - } - } + binding.titleImage.setOnClickListener{handleTitleImageClick() } binding.listRecyclerView.adapter = adapter binding.listRecyclerView.layoutManager = LinearLayoutManager(context) binding.listProgressBar.isVisible = true @@ -104,7 +88,13 @@ class ActivityFragment : Fragment() { } }) } - + private fun handleTitleImageClick() { + val intent = Intent(context, ActivityMarkdownCreator::class.java).apply { + putExtra("type", if (userId == Anilist.userid) "activity" else "message") + putExtra("userId", userId) + } + ContextCompat.startActivity(requireContext(), intent, null) + } private suspend fun getList() { val list = when (type) { @@ -141,35 +131,23 @@ class ActivityFragment : Fragment() { } private fun onActivityClick(id: Int, type: String) { - when (type) { - "USER" -> { - ContextCompat.startActivity( - requireContext(), Intent(requireContext(), ProfileActivity::class.java) - .putExtra("userId", id), null - ) - } - - "MEDIA" -> { - ContextCompat.startActivity( - requireContext(), Intent(requireContext(), MediaDetailsActivity::class.java) - .putExtra("mediaId", id), null - ) - } + val intent = when (type) { + "USER" -> Intent(requireContext(), ProfileActivity::class.java).putExtra("userId", id) + "MEDIA" -> Intent(requireContext(), MediaDetailsActivity::class.java).putExtra("mediaId", id) + else -> return } + ContextCompat.startActivity(requireContext(), intent, null) } override fun onResume() { super.onResume() if (this::binding.isInitialized) { binding.root.requestLayout() - } } companion object { - enum class ActivityType { - GLOBAL, USER, OTHER_USER, ONE - } + enum class ActivityType { GLOBAL, USER, OTHER_USER, ONE } fun newInstance(type: ActivityType, userId: Int? = null, activityId: Int? = null): ActivityFragment { return ActivityFragment().apply { 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 e1e77cf3..75089031 100644 --- a/app/src/main/java/ani/dantotsu/profile/notification/NotificationActivity.kt +++ b/app/src/main/java/ani/dantotsu/profile/notification/NotificationActivity.kt @@ -20,7 +20,7 @@ import ani.dantotsu.profile.notification.NotificationFragment.Companion.Notifica import nl.joery.animatedbottombar.AnimatedBottomBar class NotificationActivity : AppCompatActivity() { - private lateinit var binding: ActivityNotificationBinding + lateinit var binding: ActivityNotificationBinding private var selected: Int = 0 lateinit var navBar: AnimatedBottomBar override fun onCreate(savedInstanceState: Bundle?) { @@ -38,8 +38,8 @@ class NotificationActivity : AppCompatActivity() { bottomMargin = navBarHeight } 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_movie_filter_24, "Media"), Pair(R.drawable.ic_round_notifications_active_24, "Subs"), Pair(R.drawable.ic_round_comment_24, "Comments") ) @@ -49,7 +49,6 @@ class NotificationActivity : AppCompatActivity() { 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) navBar.selectTabAt(selected) navBar.setOnTabSelectListener(object : AnimatedBottomBar.OnTabSelectListener { @@ -84,8 +83,8 @@ class NotificationActivity : AppCompatActivity() { override fun getItemCount(): Int = if (id != -1) 1 else 4 override fun createFragment(position: Int): Fragment = when (position) { - 0 -> NotificationFragment.newInstance(if (id != -1) NotificationType.ONE else NotificationType.MEDIA, id) - 1 -> NotificationFragment.newInstance(NotificationType.USER) + 0 -> NotificationFragment.newInstance(NotificationType.USER) + 1 -> NotificationFragment.newInstance(if (id != -1) NotificationType.ONE else NotificationType.MEDIA, id) 2 -> NotificationFragment.newInstance(NotificationType.SUBSCRIPTION) 3 -> NotificationFragment.newInstance(NotificationType.COMMENT) else -> NotificationFragment.newInstance(NotificationType.MEDIA) diff --git a/app/src/main/java/ani/dantotsu/profile/notification/NotificationFragment.kt b/app/src/main/java/ani/dantotsu/profile/notification/NotificationFragment.kt index 2e6f2d28..6360763d 100644 --- a/app/src/main/java/ani/dantotsu/profile/notification/NotificationFragment.kt +++ b/app/src/main/java/ani/dantotsu/profile/notification/NotificationFragment.kt @@ -46,8 +46,10 @@ class NotificationFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - type = arguments?.getSerializableCompat("type") as NotificationType - getID = arguments?.getInt("id") ?: -1 + arguments?.let { + getID = it.getInt("id") + type = it.getSerializableCompat("type") as NotificationType + } binding.notificationRecyclerView.adapter = adapter binding.notificationRecyclerView.layoutManager = LinearLayoutManager(context) binding.notificationProgressBar.isVisible = true @@ -158,47 +160,31 @@ class NotificationFragment : Fragment() { !binding.notificationRecyclerView.canScrollVertically(1) } - fun onClick( - id: Int, - optional: Int?, - type: NotificationClickType - ) { - when (type) { - NotificationClickType.USER -> { - ContextCompat.startActivity( - requireContext(), Intent(requireContext(), ProfileActivity::class.java) - .putExtra("userId", id), null - ) + fun onClick(id: Int, optional: Int?, type: NotificationClickType) { + val intent = when (type) { + NotificationClickType.USER -> Intent(requireContext(), ProfileActivity::class.java).apply { + putExtra("userId", id) } - NotificationClickType.MEDIA -> { - ContextCompat.startActivity( - requireContext(), Intent(requireContext(), MediaDetailsActivity::class.java) - .putExtra("mediaId", id), null - ) + NotificationClickType.MEDIA -> Intent(requireContext(), MediaDetailsActivity::class.java).apply { + putExtra("mediaId", id) } - NotificationClickType.ACTIVITY -> { - ContextCompat.startActivity( - requireContext(), Intent(requireContext(), FeedActivity::class.java) - .putExtra("activityId", id), null - ) + NotificationClickType.ACTIVITY -> Intent(requireContext(), FeedActivity::class.java).apply { + putExtra("activityId", id) } - NotificationClickType.COMMENT -> { - ContextCompat.startActivity( - requireContext(), Intent(requireContext(), MediaDetailsActivity::class.java) - .putExtra("FRAGMENT_TO_LOAD", "COMMENTS") - .putExtra("mediaId", id) - .putExtra("commentId", optional ?: -1), - null - ) - + NotificationClickType.COMMENT -> Intent(requireContext(), MediaDetailsActivity::class.java).apply { + putExtra("FRAGMENT_TO_LOAD", "COMMENTS") + putExtra("mediaId", id) + putExtra("commentId", optional ?: -1) } - NotificationClickType.UNDEFINED -> { - // Do nothing - } + NotificationClickType.UNDEFINED -> null + } + + intent?.let { + ContextCompat.startActivity(requireContext(), it, null) } } @@ -206,18 +192,12 @@ class NotificationFragment : Fragment() { super.onResume() if (this::binding.isInitialized) { binding.root.requestLayout() - binding.root.setBaseline((activity as NotificationActivity).navBar) } } companion object { - enum class NotificationClickType { - USER, MEDIA, ACTIVITY, COMMENT, UNDEFINED - } - - enum class NotificationType { - MEDIA, USER, SUBSCRIPTION, COMMENT, ONE - } + enum class NotificationClickType { USER, MEDIA, ACTIVITY, COMMENT, UNDEFINED } + enum class NotificationType { MEDIA, USER, SUBSCRIPTION, COMMENT, ONE } fun newInstance(type: NotificationType, id: Int = -1): NotificationFragment { return NotificationFragment().apply {