Skip to content

Commit 9901c95

Browse files
authored
fix(ktx): allow only 1 observer to receive the event (#681)
* fix: allow only 1 observer to receive the event * fix: remove observer * fix: observe LD when permission is not granted
1 parent 0f90714 commit 9901c95

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

ktx/src/main/java/permissions/dispatcher/ktx/PermissionsRequesterImpl.kt

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,19 @@ internal class PermissionsRequesterImpl(
1010
private val onShowRationale: ShowRationaleFun?,
1111
private val onPermissionDenied: Fun?,
1212
private val requiresPermission: Fun,
13-
onNeverAskAgain: Fun?,
13+
private val onNeverAskAgain: Fun?,
1414
private val permissionRequestType: PermissionRequestType
1515
) : PermissionsRequester {
16-
init {
17-
val viewModel = ViewModelProvider(activity).get(PermissionRequestViewModel::class.java)
18-
viewModel.observe(
19-
activity,
20-
requiresPermission,
21-
onPermissionDenied,
22-
onNeverAskAgain
23-
)
24-
}
25-
2616
override fun launch() {
2717
if (permissionRequestType.checkPermissions(activity, permissions)) {
2818
requiresPermission()
2919
} else {
20+
ViewModelProvider(activity).get(PermissionRequestViewModel::class.java).observe(
21+
activity,
22+
requiresPermission,
23+
onPermissionDenied,
24+
onNeverAskAgain
25+
)
3026
val requestFun = {
3127
activity.supportFragmentManager
3228
.beginTransaction()

0 commit comments

Comments
 (0)