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