Site icon AppTractor

Warden: простая работа с разрешениями в Android

Обработка разрешений в Android может быть сложной. Требуется много кода для создания запроса, получения результата, а затем его обработки в месте, где необходимо учесть всю фактическую логику принятого пользователем решения. Warden устраняет весь этот шаблонный код и позволяет запрашивать разрешения и получать результат от любой корутины в вашей кодовой базе (например, в ваших ViewModel).

Пример:

coroutineScope.launch {
    val result = Warden.with(anyContext).requestPermission(Manifest.permission.CALL_PHONE)
    when (result) {
        is PermissionState.Denied -> dialNumber(phoneNumber)
        PermissionState.Granted -> startCall(phoneNumber)
    }
}

Warden на GitHub: https://github.com/alexstyl/warden
Платформа: Android
⭐️: 129

Exit mobile version