October 31, 2019

Сравнение 2.7 и 2.8.1 (Частные случаи)

Итак, продолжим...

Приложение постепенно избавляется от костылей. Множество классов переписываются на использование стоковых андроидовских API, вместо кастомных велосипедов.

В основном это касается виджетов, Но и некоторые другие классы были изменены.

Список виджетов:

  • /smali/com/pk/taxoid/widget/Button.smali - кнопки
  • /smali/com/pk/taxoid/widget/FastPanel.smali - панель вверху списка заказов
  • /smali/com/pk/taxoid/widget/LimitedEditText.smali - поле ввода радиуса автозахвата
  • /smali/com/pk/taxoid/widget/TableFixHeaders.smali - табы

В основном изменения однотипны. Разработчик пытается использовать стоковые API по максимуму, минимизируя использование сторонних библиотек и своих костылей.

Типичные изменения

Проведены различные оптимизации smali. Множество классов отличаются только лишь отсутствием лишних регистров и прыжков. Скорее всего это результат обработки приложения утилитой R8, которая заменила собой обфускатор ProGuard.

Изменены такие классы как LocationTrackerService (сервис отслеживания локации), MessagingService (сервис, посылающий сообщения водителям - "У вас новое сообщение") и т.д.

Экран регистрации в приложении и экран прохождения TO реализован в одной активности - RegistrationActivirty, с двумя разными фрагментами (в зависимости от того, какая кнопка нажата)