October 8, 2019

Сравнение v61 и v69 (часть II)

smali/com/pk/taxoid/libs/a/*** - добавлены архитектурные компоненты. Приложение потихоньку переписывается под современные реалии.

smali/com/pk/taxoid/libs/b/***

smali/com/pk/taxoid/libs/с/***

smali/com/pk/taxoid/libs/e/***

Классы сильно перетасованы. Что-то сказать сложно. Можно утверждать, что это какие-то улучшения работы с сервисом карт от Яндекса, и прочие внутренние изменения

smali/com/pk/taxoid/network/c/b.smali - в запросах к API стала хардкодиться версия приложения. Тупо отдельным параметром:

/smali/com/pk/taxoid/network/retrofit/ApiService.smali - Добавлены методы запросов на сервис регистрации (getCars/getCities/uploadPhoto и т.д)

smali/com/pk/taxoid/services/*** полностью отдан под реализацию логики регистрации в сервисе такси

Местоположение

Хочется остановится подробнее именно на этом изменении. В 2.7 появился отдельный сервис трекинга местоположения. Класс LocationTrackerService является foreground сервисом, который имеет постоянное уведомление в строке состояния. Циклично отсылает данные о твоём местоположении. Хочу отметить, что отправка данных начинается сразу после запуска, еще на главном экране.

Создание уведомления о работе сервиса

Запуск отслеживания идет в методе onStartCommand

Выделенная строка отвечает за передачу геоданных водителя

Вся основная логика работы с сервисом располагается внутри пакета location, который, в свою очередь, просто-напросто отсылает широту и долготу на сервер.

Эти классы отвечают за передачу локации