TP-29171 | Fixed(java.lang.IllegalStateException: Fragment already ad… (#7366)

* TP-29171 | Fixed(java.lang.IllegalStateException: Fragment already added)

* TP-29171 | More fixes
This commit is contained in:
Shubham Patwarika
2023-08-05 00:42:43 +05:30
committed by GitHub
parent 978b163a83
commit 31b68807b5
3 changed files with 13 additions and 5 deletions

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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)
)