Доработка приложения для планшета (Android 12)

Исходные данные

Приложение работает на планшете с диагональю 10 дюймов под управлением Android 12. К планшету по Wi-Fi подключены два внешних устройства:

  • Банковский терминал для приема платежей (модель соответствует стандартам Vendor Vendor, реальное название скрыто).
  • Микроконтроллер ESP32, выполняющий вспомогательные функции (по сигналам от планшета).

Задача

Необходимо провести доработку Java-кода приложения для обеспечения надежной и бесперебойной работы в связке с терминалом и ESP32. Требуется учесть возможные сбои Wi-Fi, потерю пакетов и переподключения.

Основные требования

  • Стабильная отправка команд и получение ответов от банковского терминала по Wi-Fi.
  • Корректная обработка статусов оплаты (успех, ошибка, timeout) с выводом пользователю на экран планшета.
  • Асинхронный обмен данными с ESP32: прием показаний, отправка управляющих сигналов.
  • Логирование всех сетевых событий (подключение, отключение, ошибки) в файл для последующей диагностики.
  • Автоматическое восстановление соединения с терминалом и ESP32 при временной потере связи.

Технические детали

  • Язык реализации: Java (существующее приложение, Android SDK 31+).
  • Используемые библиотеки: разрешается добавить (retrofit, okhttp, socket-клиент) - согласовать с заказчиком.
  • Требование к планшету: Android 12, разрешение экрана 1920x1200, Wi-Fi 2.4/5 ГГц.
  • Необходимо сохранить существующий UI и бизнес-логику, доработки касаются только сетевого взаимодействия.

Формат сдачи

  • Исходный код с комментариями (для измененных или новых классов/методов).
  • Краткая инструкция по сборке и настройке (или обновленные разделы в существующей документации).
  • Тестирование на реальном планшете с реальными устройствами (терминал+ESP32).