Почему приложение ведёт себя именно так и чем платят настройки
На баннере и в виджете есть отсчёт: сколько осталось до следующего показания. Он основан на такте — том, как часто ваш источник приносит числа.
Поэтому мы такт не выдумываем и не берём из описания прибора, а измеряем: смотрим, с каким шагом показания приходили в последний час, и берём типичное значение.
Это надёжнее заявленного. Прибор может обещать минуту, а на деле телефон засыпает, связь пропадает, посредник задерживает — и настоящий такт другой.
Пока идёт текущий такт, счётчик отсчитывает время до ожидаемого показания. Это ожидание, а не расписание: показание может прийти чуть раньше или чуть позже, и ничего страшного в этом нет.
Но если счётчик дошёл до нуля, а показание не пришло, он не замирает на нуле и не начинает отсчёт заново. Он переворачивается и показывает, насколько мы опаздываем.
Это принципиально. Счётчик, который бодро отсчитывает следующую минуту, когда данных нет уже десять, врёт — а по нашим числам вы принимаете решения. То же правило, по которому рядом с любым показанием всегда стоит его возраст.
На минутном сенсоре перерывы в две-три минуты случаются десятки раз в сутки: телефон отвлёкся, прибор задержал кадр, связь моргнула. Это дыхание канала, а не поломка, и тревожить вас по такому поводу не нужно.
Настоящие перерывы выглядят иначе: они начинаются от пяти минут и случаются примерно раз в сутки. Именно на них и настроена тревога о пропаже данных.
Счётчика не будет. Пока источник не заговорил и мерить нечего, честнее не показывать ничего, чем нарисовать правдоподобную минуту.