tbruyelle / RxPermissions

Android runtime permissions powered by RxJava2
Apache License 2.0
10.48k stars 1.31k forks source link

FragmentTransition Bug #357

Open axel8888 opened 2 years ago

axel8888 commented 2 years ago

Fatal Exception: java.lang.IllegalStateException FragmentManager is already executing transactions androidx.fragment.app.FragmentManager.ensureExecReady (FragmentManager.java:1931)

androidx.fragment.app.BackStackRecord.commitNow (BackStackRecord.java:305) com.tbruyelle.rxpermissions3.RxPermissions.getRxPermissionsFragment (RxPermissions.java:78) com.tbruyelle.rxpermissions3.RxPermissions.access$000 (RxPermissions.java:37) com.tbruyelle.rxpermissions3.RxPermissions$1.get (RxPermissions.java:62) com.tbruyelle.rxpermissions3.RxPermissions$1.get (RxPermissions.java:55) com.tbruyelle.rxpermissions3.RxPermissions.pending (RxPermissions.java:212) com.tbruyelle.rxpermissions3.RxPermissions.request (RxPermissions.java:201) com.tbruyelle.rxpermissions3.RxPermissions.access$100 (RxPermissions.java:37) com.tbruyelle.rxpermissions3.RxPermissions$4.apply (RxPermissions.java:156) io.reactivex.rxjava3.core.Observable.compose (Observable.java:6759) com.tbruyelle.rxpermissions3.RxPermissions.requestEachCombined (RxPermissions.java:194)

Activity contains a viewpager with 3 fragment. During initialiazion, we call RxPermissions.request, FragmentManager may conflict transactions.

Old version(e.g. 0.9.5) call commitAllowingStateLoss in getRxPermissionFragment method will not produce this crash.