Skip to content

w201/sensors

Repository files navigation

При создании библиотеки использовались ряд допущений.

  1. Все сенсоры работают с одной view. В случае необходимости работать со множественными view архитетуру надо несколько дополнить.
  2. Других обработчиков событий, которые могут перехватить view не имеет. Так же, можно было бы отслеживать глобальные клики по экрану и сопоставлять их с областью нахождения кнопки, что сделает это независимым от view и его обработчиков.
  3. Данная библиотека работает в жизненном цикле активити и в реальности, скорее всего, она будет работать на уровне приложения и отслеживать активити из верха стека.
  4. Результат выдается индивидуально по каждому сенсору. Возможно в реальной задаче нужна будет упаковка данных в единый набор, тогда имплементацию выдачи результата из SensorWorker нужно будет сделать по запросу синхронно, а не как сейчас автоматически асинхронно.
  5. Т.к. в библиотеке неясен метод выдачи результата, я сделал вывод в logcat с тэгом w201
  6. Не уверен будет ли это решение работать с compose, скорее всего будет, но, наверное, не оптимально. Надо дополнительно исследовать.
  7. В зависимости от того, с какой частотой поток данных будет поступать от сенсоров возможно нужно будет вводить промежуточный буфер для данных чтобы избавиться от синхронизированных блоков и пересылать их в синхронизированном виде при наступлении события. Также, наверное, получать данные от сенсоров было бы неплохо в отдельном треде, а не в том, в котором вызывается onSensorChanged. Но опять же это зависит от количества сенсоров и их частоты.
  8. Не стоит рассматривать данное тестовое задание, как готовую архитектуру для production ready модуля.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages