[Taiga #40] Сопряжение устройства к интернету и настройка локального тайлового сервера #4

Open
opened 2026-05-20 04:09:38 +00:00 by Grigo · 0 comments
Owner

Linked Taiga story: #40

Suggested branch:
feature/taiga-40-sopryazhenie-ustroystva-k-internetu-i-nastroyka-lokalnogo-ta

Project type: work
AI tags: work, ais, android, network, wifi, tiles, map, offline, settings

Description

Реализовать функциональность подключения устройства к интернету через приложение с поддержкой двух режимов: 1) выбор точки доступа (AP) устройства или шеринг настроек Wi-Fi с телефона в зависимости от наличия сети на телефоне; 2) выбор альтернативного локального тайлового сервера для режимов без интернета. В контексте проекта это требуется для MapLibre и других компонентов, которые работают с тайлами карт (см. MapLibreMapImpl.java, где уже реализована fallback логика для addSeamarksLayer).

Taiga: https://tasks.grigowashere.ru/project//us/40

Acceptance criteria

  • Приложение может автоматически определять наличие интернета на телефоне
  • При наличии интернета - приложение предлагает поделиться Wi-Fi настройками с устройством
  • При отсутствии интернета - приложение предлагает подключиться к AP самого устройства
  • В интерфейс настроек добавлена секция выбора тайлового сервера (интернет-сервер vs локальный)
  • MapLibre использует выбранный тайловый сервер вместо hardcoded URL
  • При переключении между сервис-провайдерами карта обновляет слой тайлов без перезагрузки
  • Логирование выбора сервера и статуса подключения для отладки

Code notes

  • MapLibreMapImpl.java, строки ~3030-3098: уже реализована fallback логика для addSeamarksLayer(), которую нужно обобщить и сделать конфигурируемой
  • SettingsManager.java: центральное место для хранения настроек, нужно добавить методы getTileServerUrl() и saveTileServerChoice()
  • activity_settings.xml: большой файл с множеством секций, нужно либо расширить, либо создать отдельный activity_network_settings.xml
  • AppCoordinator.java: главный координатор, через него должны проходить уведомления об изменении сервера
  • GPSLocationListener.java и комбинированный NMEA парсер - не требуют изменений, но могут использовать информацию о подключении для логирования
  • Нет явного класса для работы с Wi-Fi - вероятно, нужно создать WifiManager обертку или использовать встроенный Android WifiManager из context.getSystemService()
  • Разрешения: нужны CHANGE_NETWORK_STATE, ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE (проверить AndroidManifest.xml)

Questions

  • Какой способ предпочтителен для отправки Wi-Fi настроек на устройство - через BLE, HTTP API или другой канал?
  • Есть ли уже реализованный локальный тайловый сервер на устройстве или его нужно развернуть? Какой URL/IP:port?
  • Должно ли приложение автоматически переключаться на локальный сервер при потере интернета или только вручную через настройки?
  • Нужна ли история выбранных сервис-провайдеров или сохранение профилей подключения?
Linked Taiga story: #40 Suggested branch: `feature/taiga-40-sopryazhenie-ustroystva-k-internetu-i-nastroyka-lokalnogo-ta` Project type: `work` AI tags: work, ais, android, network, wifi, tiles, map, offline, settings ## Description Реализовать функциональность подключения устройства к интернету через приложение с поддержкой двух режимов: 1) выбор точки доступа (AP) устройства или шеринг настроек Wi-Fi с телефона в зависимости от наличия сети на телефоне; 2) выбор альтернативного локального тайлового сервера для режимов без интернета. В контексте проекта это требуется для MapLibre и других компонентов, которые работают с тайлами карт (см. MapLibreMapImpl.java, где уже реализована fallback логика для addSeamarksLayer). Taiga: https://tasks.grigowashere.ru/project//us/40 ## Acceptance criteria - Приложение может автоматически определять наличие интернета на телефоне - При наличии интернета - приложение предлагает поделиться Wi-Fi настройками с устройством - При отсутствии интернета - приложение предлагает подключиться к AP самого устройства - В интерфейс настроек добавлена секция выбора тайлового сервера (интернет-сервер vs локальный) - MapLibre использует выбранный тайловый сервер вместо hardcoded URL - При переключении между сервис-провайдерами карта обновляет слой тайлов без перезагрузки - Логирование выбора сервера и статуса подключения для отладки ## Code notes - MapLibreMapImpl.java, строки ~3030-3098: уже реализована fallback логика для addSeamarksLayer(), которую нужно обобщить и сделать конфигурируемой - SettingsManager.java: центральное место для хранения настроек, нужно добавить методы getTileServerUrl() и saveTileServerChoice() - activity_settings.xml: большой файл с множеством секций, нужно либо расширить, либо создать отдельный activity_network_settings.xml - AppCoordinator.java: главный координатор, через него должны проходить уведомления об изменении сервера - GPSLocationListener.java и комбинированный NMEA парсер - не требуют изменений, но могут использовать информацию о подключении для логирования - Нет явного класса для работы с Wi-Fi - вероятно, нужно создать WifiManager обертку или использовать встроенный Android WifiManager из context.getSystemService() - Разрешения: нужны CHANGE_NETWORK_STATE, ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE (проверить AndroidManifest.xml) ## Questions - Какой способ предпочтителен для отправки Wi-Fi настроек на устройство - через BLE, HTTP API или другой канал? - Есть ли уже реализованный локальный тайловый сервер на устройстве или его нужно развернуть? Какой URL/IP:port? - Должно ли приложение автоматически переключаться на локальный сервер при потере интернета или только вручную через настройки? - Нужна ли история выбранных сервис-провайдеров или сохранение профилей подключения?
Grigo added the workaisandroidnetworkwifitilesmapofflinesettings labels 2026-05-20 04:09:41 +00:00
Sign in to join this conversation.