Skip to content

Commit d36e707

Browse files
committed
Fix FragmentManager.edit
1 parent 2ff0c04 commit d36e707

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

extensionslib/src/main/java/com/omega_r/libs/extensions/fragment/FragmentManagerExtensions.kt

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,27 @@ package com.omega_r.libs.extensions.fragment
33
import androidx.fragment.app.FragmentManager
44
import androidx.fragment.app.FragmentTransaction
55

6-
inline fun FragmentManager.edit(block: FragmentTransaction.() -> Unit) {
6+
inline fun FragmentManager.edit(
7+
commitNow: Boolean = false,
8+
allowingStateLoss: Boolean = false,
9+
block: FragmentTransaction.() -> Unit
10+
) {
711
beginTransaction()
812
.apply(block)
9-
.commit()
13+
.apply {
14+
commitAllowingStateLoss()
15+
if (commitNow) {
16+
if (allowingStateLoss) {
17+
commitNowAllowingStateLoss()
18+
} else {
19+
commitNow()
20+
}
21+
} else {
22+
if (allowingStateLoss) {
23+
commitAllowingStateLoss()
24+
} else {
25+
commit()
26+
}
27+
}
28+
}
1029
}

0 commit comments

Comments
 (0)