Bypass external rw check in the proper location

This commit is contained in:
topjohnwu
2020-08-22 05:27:30 -07:00
parent 14a2f63b8b
commit fb04e32480
3 changed files with 16 additions and 15 deletions
@@ -82,16 +82,12 @@ abstract class BaseViewModel(
ViewActionEvent(action).publish()
}
fun withPermissions(vararg permissions: String, callback: (Boolean) -> Unit) {
PermissionEvent(permissions.toList(), callback).publish()
fun withPermission(permission: String, callback: (Boolean) -> Unit) {
PermissionEvent(permission, callback).publish()
}
fun withExternalRW(callback: () -> Unit) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
callback()
return
}
withPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGE) {
withPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) {
if (!it) {
SnackbarEvent(R.string.external_rw_permission_denied).publish()
} else {