Project type: work
AI tags: work, ais, android, permissions, android-runtime, gps, ble, notifications
Description
В проекте AndroidAisMap необходимо реализовать полноценную систему запроса разрешений у пользователя. На основе контекста кода видно, что приложение использует GPS, BLE, доступ в интернет и уведомления. Сейчас есть класс PermissionsBinder и обработка разрешений в MainActivity (PERMISSION_REQUEST_CODE, NOTIFICATION_PERMISSION_REQUEST_CODE), но система требует унификации и расширения. Нужно обеспечить корректный запрос разрешений для всех компонентов: ACCESS_FINE_LOCATION, BLUETOOTH, INTERNET, POST_NOTIFICATIONS и других.
Приложение корректно запрашивает разрешения ACCESS_FINE_LOCATION перед использованием GPS
Приложение запрашивает разрешения для Bluetooth (BLUETOOTH, BLUETOOTH_ADMIN, BLUETOOTH_SCAN, BLUETOOTH_CONNECT) перед подключением к BLE устройствам
Разрешение POST_NOTIFICATIONS запрашивается перед отправкой уведомлений (Android 13+)
Приложение корректно обрабатывает отказ в разрешениях и информирует пользователя
Все запросы разрешений логируются и отслеживаются
На Android 6+ (API 23+) используется requestPermissions(), на старших версиях разрешения берутся из манифеста
Code notes
В MainActivity.java используются коды запросов: PERMISSION_REQUEST_CODE = 1001, NOTIFICATION_PERMISSION_REQUEST_CODE = 1003 - нужно убедиться, что метод onRequestPermissionsResult существует и обрабатывает оба случая
InterfacesSettingsActivity.java уже имеет логику для запроса BLE разрешений (REQ_PERMS_BLE), это хороший пример для расширения
AndroidNMEAListener.java содержит множество вызовов requestLocationUpdates(), которые требуют проверки разрешений перед выполнением
AisHubGattClient.java используется для BLE работы и содержит методы типа requestMtu(), requestConnectionPriority() - убедиться, что BLE разрешения проверяются перед этими операциями
PermissionsBinder упоминается в MainActivity (строка 46, 1032) - нужно проверить её реализацию
Questions
Какие конкретные разрешения кроме GPS, BLE и уведомлений требуются для работы приложения?
Нужна ли реализация повторного запроса разрешений если пользователь отказал в первый раз?
Какая минимальная версия Android поддерживается (нужна ли обработка для версий ниже Android 6)?
Существует ли уже класс PermissionsBinder или его нужно создать с нуля?
Linked Taiga story: #49
Suggested branch:
`feature/taiga-49-realizovat-zapros-razresheniy-dlya-android`
Project type: `work`
AI tags: work, ais, android, permissions, android-runtime, gps, ble, notifications
## Description
В проекте AndroidAisMap необходимо реализовать полноценную систему запроса разрешений у пользователя. На основе контекста кода видно, что приложение использует GPS, BLE, доступ в интернет и уведомления. Сейчас есть класс PermissionsBinder и обработка разрешений в MainActivity (PERMISSION_REQUEST_CODE, NOTIFICATION_PERMISSION_REQUEST_CODE), но система требует унификации и расширения. Нужно обеспечить корректный запрос разрешений для всех компонентов: ACCESS_FINE_LOCATION, BLUETOOTH, INTERNET, POST_NOTIFICATIONS и других.
Taiga: https://tasks.grigowashere.ru/project//us/49
## Acceptance criteria
- Приложение корректно запрашивает разрешения ACCESS_FINE_LOCATION перед использованием GPS
- Приложение запрашивает разрешения для Bluetooth (BLUETOOTH, BLUETOOTH_ADMIN, BLUETOOTH_SCAN, BLUETOOTH_CONNECT) перед подключением к BLE устройствам
- Разрешение POST_NOTIFICATIONS запрашивается перед отправкой уведомлений (Android 13+)
- Приложение корректно обрабатывает отказ в разрешениях и информирует пользователя
- Все запросы разрешений логируются и отслеживаются
- На Android 6+ (API 23+) используется requestPermissions(), на старших версиях разрешения берутся из манифеста
## Code notes
- В MainActivity.java используются коды запросов: PERMISSION_REQUEST_CODE = 1001, NOTIFICATION_PERMISSION_REQUEST_CODE = 1003 - нужно убедиться, что метод onRequestPermissionsResult существует и обрабатывает оба случая
- InterfacesSettingsActivity.java уже имеет логику для запроса BLE разрешений (REQ_PERMS_BLE), это хороший пример для расширения
- AndroidNMEAListener.java содержит множество вызовов requestLocationUpdates(), которые требуют проверки разрешений перед выполнением
- AisHubGattClient.java используется для BLE работы и содержит методы типа requestMtu(), requestConnectionPriority() - убедиться, что BLE разрешения проверяются перед этими операциями
- PermissionsBinder упоминается в MainActivity (строка 46, 1032) - нужно проверить её реализацию
## Questions
- Какие конкретные разрешения кроме GPS, BLE и уведомлений требуются для работы приложения?
- Нужна ли реализация повторного запроса разрешений если пользователь отказал в первый раз?
- Какая минимальная версия Android поддерживается (нужна ли обработка для версий ниже Android 6)?
- Существует ли уже класс PermissionsBinder или его нужно создать с нуля?
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Linked Taiga story: #49
Suggested branch:
feature/taiga-49-realizovat-zapros-razresheniy-dlya-androidProject type:
workAI tags: work, ais, android, permissions, android-runtime, gps, ble, notifications
Description
В проекте AndroidAisMap необходимо реализовать полноценную систему запроса разрешений у пользователя. На основе контекста кода видно, что приложение использует GPS, BLE, доступ в интернет и уведомления. Сейчас есть класс PermissionsBinder и обработка разрешений в MainActivity (PERMISSION_REQUEST_CODE, NOTIFICATION_PERMISSION_REQUEST_CODE), но система требует унификации и расширения. Нужно обеспечить корректный запрос разрешений для всех компонентов: ACCESS_FINE_LOCATION, BLUETOOTH, INTERNET, POST_NOTIFICATIONS и других.
Taiga: https://tasks.grigowashere.ru/project//us/49
Acceptance criteria
Code notes
Questions