From 31b68807b53775a1a8d0245a2b609de0a6ee9b05 Mon Sep 17 00:00:00 2001 From: Shubham Patwarika Date: Sat, 5 Aug 2023 00:42:43 +0530 Subject: [PATCH] =?UTF-8?q?TP-29171=20|=20Fixed(java.lang.IllegalStateExce?= =?UTF-8?q?ption:=20Fragment=20already=20ad=E2=80=A6=20(#7366)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * TP-29171 | Fixed(java.lang.IllegalStateException: Fragment already added) * TP-29171 | More fixes --- .../adapters/RewardsMenuBottomSheetAdapter.kt | 3 ++- .../rewards/ui/activity/RewardsDashboardActivity.kt | 12 +++++++++--- .../ui/bottomsheet/RewardsBottomsSheetView.kt | 3 ++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/navi-rr/src/main/java/com/navi/rr/rewards/adapters/RewardsMenuBottomSheetAdapter.kt b/navi-rr/src/main/java/com/navi/rr/rewards/adapters/RewardsMenuBottomSheetAdapter.kt index a1438710c9..45e9846e14 100644 --- a/navi-rr/src/main/java/com/navi/rr/rewards/adapters/RewardsMenuBottomSheetAdapter.kt +++ b/navi-rr/src/main/java/com/navi/rr/rewards/adapters/RewardsMenuBottomSheetAdapter.kt @@ -14,6 +14,7 @@ import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView import com.navi.base.model.ActionData import com.navi.design.utils.spannedText +import com.navi.naviwidgets.extensions.addOnMultipleClicksHandler import com.navi.rr.R import com.navi.rr.databinding.LayoutRewardsInfoBottomsheetSingleItemBinding import com.navi.rr.rewards.models.RewardMenu @@ -53,7 +54,7 @@ class RewardsMenuBottomSheetAdapter( binding.tvTitle.text = data.title?.text.spannedText( context = context, span = data.title?.span ) - binding.root.setOnClickListener { + binding.root.addOnMultipleClicksHandler { data.actionData?.let { actionData -> listener.onItemClick(actionData) } diff --git a/navi-rr/src/main/java/com/navi/rr/rewards/ui/activity/RewardsDashboardActivity.kt b/navi-rr/src/main/java/com/navi/rr/rewards/ui/activity/RewardsDashboardActivity.kt index 134b751c9e..4fb6d8c4d0 100644 --- a/navi-rr/src/main/java/com/navi/rr/rewards/ui/activity/RewardsDashboardActivity.kt +++ b/navi-rr/src/main/java/com/navi/rr/rewards/ui/activity/RewardsDashboardActivity.kt @@ -46,9 +46,15 @@ class RewardsDashboardActivity : BaseActivity(), FragmentInterchangeListener { ) val fragmentTransaction = supportFragmentManager.beginTransaction() if (!supportFragmentManager.isStateSaved && !supportFragmentManager.isDestroyed) { - fragmentTransaction.add( - R.id.fcvLayout, fragment, currentScreenTag - ) + if(fragment.isAdded) { + fragmentTransaction.show(fragment) + } else { + fragmentTransaction.add( + R.id.fcvLayout, + fragment, + currentScreenTag + ) + } if (intent.getStringExtra(ADD_TO_BACKSTACK) == TRUE) { fragmentTransaction.addToBackStack(currentScreenTag) } diff --git a/navi-rr/src/main/java/com/navi/rr/rewards/ui/bottomsheet/RewardsBottomsSheetView.kt b/navi-rr/src/main/java/com/navi/rr/rewards/ui/bottomsheet/RewardsBottomsSheetView.kt index 49172d5188..6a48c38a56 100644 --- a/navi-rr/src/main/java/com/navi/rr/rewards/ui/bottomsheet/RewardsBottomsSheetView.kt +++ b/navi-rr/src/main/java/com/navi/rr/rewards/ui/bottomsheet/RewardsBottomsSheetView.kt @@ -18,6 +18,7 @@ import com.navi.design.utils.CornerRadius import com.navi.design.utils.getNaviDrawableFromBackend import com.navi.design.utils.parseColorSafe import com.navi.design.utils.spannedText +import com.navi.naviwidgets.extensions.addOnMultipleClicksHandler import com.navi.naviwidgets.extensions.showWhenDataIsAvailable import com.navi.naviwidgets.models.response.RewardInfo import com.navi.rr.R @@ -79,7 +80,7 @@ constructor(parentContext: Context, attrs: AttributeSet? = null, defStyleAttr: I context, rewardInfo.ctaText?.span ) - tvAction.setOnClickListener { + tvAction.addOnMultipleClicksHandler{ actionButtonClickListener?.onCtaClick( NaviWidgetClickWithActionData(actionData = rewardInfo.actionData) )