-
public final class PermissionsViewModel extends ViewModel
Permission state for PermissionsActivity. Survives rotation and does not hold the Activity.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public classPermissionsViewModel.Companion
-
Field Summary
Fields Modifier and Type Field Description private final StateFlow<Boolean>shouldFinishprivate final StateFlow<Boolean>waitingprivate StringpermissionRequestType
-
Constructor Summary
Constructors Constructor Description PermissionsViewModel()
-
Method Summary
Modifier and Type Method Description final StateFlow<Boolean>getShouldFinish()final StateFlow<Boolean>getWaiting()final StringgetPermissionRequestType()final UnitsetPermissionRequestType(String permissionRequestType)final Booleaninitialize(Activity activity, String permissionType, String androidPermission)Returns false when init or the intent extras fail. final BooleanshouldRequestPermission()Check if we should request permission (prevents duplicate requests). final UnitresetWaitingState()Clears waiting so an interrupted activity can prompt again. final UnitrecordRationaleState(Boolean shouldShowRationale)Record the rationale state before the permission request. final UnitonRequestPermissionsResult(Array<String> permissions, IntArray grantResults, Boolean shouldShowRationaleAfter)shouldShowRationaleAfter is the reading after the user answered. -
-
Method Detail
-
getShouldFinish
final StateFlow<Boolean> getShouldFinish()
-
getWaiting
final StateFlow<Boolean> getWaiting()
-
getPermissionRequestType
final String getPermissionRequestType()
-
setPermissionRequestType
final Unit setPermissionRequestType(String permissionRequestType)
-
initialize
final Boolean initialize(Activity activity, String permissionType, String androidPermission)
Returns false when init or the intent extras fail. Does not retain activity.
-
shouldRequestPermission
final Boolean shouldRequestPermission()
Check if we should request permission (prevents duplicate requests). Activity should call this before requesting permission.
-
resetWaitingState
final Unit resetWaitingState()
Clears waiting so an interrupted activity can prompt again.
-
recordRationaleState
final Unit recordRationaleState(Boolean shouldShowRationale)
Record the rationale state before the permission request. Activity calls this with the result of shouldShowRequestPermissionRationale().
-
onRequestPermissionsResult
final Unit onRequestPermissionsResult(Array<String> permissions, IntArray grantResults, Boolean shouldShowRationaleAfter)
shouldShowRationaleAfter is the reading after the user answered.
-
-
-
-