Автоматизация в приложении не должна ждать сеть, и на Android её можно собрать целиком на устройстве
Вы вешаете смену профиля звука на правило из Firebase, и в метро приложение молчит: пора срабатывать, а ответа сервера нет. То же в самолёте и на слабой связи.
Автор Muffle, приложения для беззвучного режима по времени и месту, вынес состояние на устройство: Room как единственный источник правды, WorkManager для периодических проверок, Geofencing API для геозон, AlarmManager для времени, а профили переключает ForegroundService через AudioManager.
Учтите: ForegroundService нужно объявить типом в манифесте и обосновать в Google Play Console, иначе релиз рискует не пройти ревью. И геозоны с будильниками после перезагрузки регистрируются заново, сверяться с сервером не с чем. Как автор делает переходы состояний атомарными, чтобы телефон не остался в беззвучном режиме навсегда.
#android
Post #4714
1.59K

- ❤🔥 1