Навушники рано чи пізно виходять з ладу. Перш ніж це станеться, ylih відповідає на єдине питання, яке справді важливе про пару навушників: скільки годин ти в них провів?

Щоразу, коли навушники підключаються, ylih записує коли. Щоразу, коли вони відключаються, записує коли. Оце й уся ідея — і оскільки з'єднання це лише дві мітки часу, застосунку не потрібно працювати у фоні, щоб це робити.

ЩО ВІН ВІДСТЕЖУЄ

• Загальні години кожної фізичної пари. Коли пара виходить з ладу, спиши її — підсумок зупиняється, а наступна пара тієї самої моделі знову починає з нуля, як генерація 2. Старі цифри ніколи не змішуються з новими.
• Кожну сесію, збережену назавжди: коли підключено, коли відключено і чому це закінчилося.
• Час відтворення (за бажанням): скільки з того часу підключення насправді відтворювався звук, тож "навушники висіли на шиї" не рахується за прослуховування.
• Вартість за годину, якщо вказати, скільки заплачено. Це приємне число спостерігати, як воно спадає.

ДВА РЕЖИМИ ВІДСТЕЖЕННЯ

Лише bluetooth — типовий режим. Нічого із застосунку не працює, нічого не сидить у шторці сповіщень, і немає витрат акумулятора, бо android доставляє події підключення застосунку, навіть коли він закритий.

Детальне відстеження — необов'язкове. Додає дротові та usb-навушники й вимірює відтворення відносно часу підключення. Потребує одного тихого сповіщення з мінімальним пріоритетом, бо android повідомляє про підключення дротового роз'єму лише запущеному застосунку. Це єдина причина, чому те сповіщення існує.

Bluetooth відстежується у будь-якому разі.

ЦИФРИ, ЯКИМ МОЖНА ДОВІРЯТИ РОКАМИ ПІЗНІШЕ

Довгострокові підсумки нічого не варті, якщо збій чи перезавантаження тихо додають дванадцять годин. Тому:

• Сесія, залишена відкритою через перезавантаження чи збій, закривається за останнім відомим сигналом, ніколи не пізніше моменту, коли телефон увімкнувся. Час, поки телефон був вимкнений, ніколи не рахується.
• Якщо навушники все ще підключені після перезавантаження, починається нова сесія, замість того щоб розтягувати стару на весь цей проміжок.
• Поки сесія відкрита, вона отримує регулярні сигнали, тож шкода від пропущеного відключення обмежена.

ПРИВАТНІСТЬ ЗА КОНСТРУКЦІЄЮ

ylih не має дозволу на інтернет. Немає облікових записів, аналітики, реклами чи стеження. Усе живе в базі даних на твоєму телефоні — скопіювати її за межі пристрою може лише власне резервне копіювання Android, якщо воно ввімкнене.

Налаштування → Експортувати зберігає всю історію як читабельний json, а Імпортувати відновлює її, тож перехід на новий телефон ніколи не коштує тобі твоїх цифр.

ДОЗВОЛИ

• Пристрої поблизу (bluetooth): потрібен, щоб отримувати події підключення та читати назву гарнітури. Без нього bluetooth-відстеження взагалі не працюватиме.
• Сповіщення: лише для сповіщення детального відстеження.
• Запуск при старті: щоб закривати сесії, про які вимкнення так і не повідомило.

Відкритий код за ліцензією MIT.
