Класс CheckOrderStatusService
Данный класс предназначен для проверки статуса заказа в фоновом режиме. В зависимости от статуса заказа, создается то или иное событие для карты.
Поля класса CheckOrderStatusService представлены в таблице 3.7.
Таблица 3.7 – Поля класса CheckOrderStatusService
Название
| Тип
| Описание
|
1
| 2
| 3
|
timer
| Timer
| Используется для цикличного выполнения задачи TimerTask
|
timerTask
| TimerTask
| Задает задачу для цикличного выполнения
|
worker
| Worker
| Ссылка на объект, который хранит информацию о операторе эвакуатора
|
|
|
|
Окончание таблицы 3.7
1
| 2
| 3
|
api_key
| String
| Ключ запросов на сервер
|
order_id
| int
| Номер заказа, чей статус проверяется
|
sharedPreferences
| SharedPreferences
| Используется для изменения настроек приложения
|
notificationManager
| NotificationManager
| Используется для отправки уведомлений в строку состояния
|
Методы класса CheckOrderStatusService представлены в таблице 3.8.
Таблица 3.8 – Методы класса CheckOrderStatusService
Название
| Входные параметры
| Возвращаемое значение
| Описание
|
onCreate
| Без параметров
| void
| Вызывается при создании сервиса и инициализирует все поля класса
|
onStartCommand
| Intent intent, int flags, int startId
| int
| Вызывается при запуске сервиса
|
Run
| Без параметров
| void
| Метод по проверке статуса заказа
|
Класс CreateOrderAsync
Данный класс отвечает за асинхронный запрос на создание заказа.
Поля класса CreateOrderAsync представлены в таблице 3.9
Таблица 3.9 – Поля класса CreateOrderAsync
Название
| Тип
| Описание
|
1
| 2
| 3
|
client
| Client
| Ссылка на объект, который хранит информацию о водителе
|
worker
| Worker
| Хранит информацию об операторе эвакуатора
|
|
|
|
Окончание таблицы 3.9
1
| 2
| 3
|
context
| Context
| Контекст активити
|
api_ley
| String
| Ключ для запросов на сервер
|
Методы класс представлены в таблице 3.10.
Таблица 3.10 – Методы класса CreateOrderAsync
Название
| Входные параметры
| Возвращаемое значение
| Описание
|
onPreExecute
| Без параметров
| void
| Выполняет настройку элемента интерфейса progressDialog
|
doInBackground
| Без параметров
| Response<OrderData>
| Выполняет запрос на сервер в отдельном потоке
|
onPostExecute
| Response<OrderData> resultResponse
| void
| Обрабатывает ответ от сервера
|
Класс GetCompaniesAsync
Данный класс отвечает за асинхронный запрос по получению списка компаний, предоставляющих услуги эвакуации автомобилей.
Поля класса GetCompaniesAsync представлены в таблице 3.11.
Таблица 3.11 – Поля класса GetCompaniesAsync
Название
| Тип
| Описание
|
context
| Context
| Контекст активити
|
api_key
| String
| Ключ для запроса на сервер
|
car_type
| int
| Тип автомобиля водителя
|
client
| Client
| Ссылка на объект, который хранит информацию о водителе
|
Методы класса GetCompaniesAsync представлены в таблице 3.12.
Таблица 3.12 – Методы класса GetCompaniesAsync
Название
| Входные параметры
| Возвращаемое значение
| Описание
|
onPreExecute
| Без параметров
| void
| Выполняет настройку элемента progressDialog
|
doInBackground
| Без параметров
| Response<List<Companies>>
| Выполняет запрос на сервер в отдельном потоке
|
onPostExecute
| Response<List<Companies>> resultResponse
| void
| Обрабатывает ответ от сервера
|
Классы приложения для оператора эвакуатора
Класс MainMapFragment
Данный класс отвечает за работу с отображаемой картой. Является наследником класса Fragment. Реализует всю логику работы с геолокацией и определение текущего местоположения, отрисовку объектов на карте и изменение положения камеры карты.
Поля класса MainMapFragment представлены в таблице 3.13.
Таблица 3.13 – Поля класса MainMapFragment
Название
| Тип
| Описание
|
1
| 2
| 3
|
map
| GoogleMap
| Ссылка на объект отображаемой карты
|
googleApiClient
| GoogleApiClient
| Объект настроr для взаимодействия с Play Services
|
locationRequest
| LocationRequest
| Объект настроек информации о местоположении
|
isLocated
| boolean
| Хранит статус местоположения
|
|
|
|
Окончание таблицы 3.13
1
| 2
| 3
|
find_me_BTN
| ImageButton
| Кнопка по определению текущего местоположения
|
fragmentTransaction
| FragmentTransaction
| Используется для выполнения транзакций фрагментов
|
sharedPreferences
| SharedPreferences
| Используется для изменения настроек приложения
|
zoom
| float
| Уровень зума камеры карты
|
broadcastReceiver
| BroadcastReceiver
| Обработчик событий для карты
|
order
| Order
| Хранит информацию о заказе
|
myLocation
| MyLocation
| Хранит информацию о местоположении оператора эвакуатора
|
polylines
| List<Polyline>
| Список линий для отрисовки маршрута
|
Методы класса MainMapFragment представлены в таблице 3.14.
Таблица 3.14 – Методы класса MainMapFragment
Название
| Входные параметры
| Возвращаемое значение
| Описание
|
1
| 2
| 3
| 4
|
onMapReady
| GoogleMap googleMap
| void
| Вызывается при полной загрузке карты
|
checkPermission
| Без параметров
| boolean
| Проверяет разрешения для работы с геолокацией
|
checkPlayServices
| Без параметров
| boolean
| Проверяет доступны ли Play Services на устройстве
|
createLocationRequest
| Без параметров
| void
| Задает настройки работы с данными о местоположении
|
startLocationUpdates
| Без параметров
| void
| Запускает сервис для работы геолокации
|
|
|
|
|
Окончание таблицы 3.14
1
| 2
| 3
| 4
|
stopLocationUpdates
| Без параметров
| void
| Останавливает сервис для работы геолокации
|
getMyLocation()
| Без параметров
| Location
| Возвращает текущее местоположение
|
moveCameraToMe
| boolean flag
| void
| Перемещает камеру к текущему местоположению на карте
|
DrawRoute
| boolean flag
| void
| Рисует маршрут заказа на карте
|
onLocationChanged
| Location location
| void
| Вызывается при изменении местоположения
|
onReceive
| Context context, Intent intent
| void
| Обрабатывает события для карты
|
Класс GetOrderServivce
Данный класс реализует сервис для получения заказа в фоновом режиме. Является наследником базового класса Service [9].
Поля класса GetOrderService представлены в таблице 3.15.
Таблица 3.15 – Поля класса GetOrderService
Название
| Тип
| Описание
|
1
| 2
| 3
|
timer
| Timer
| Используется для цикличного выполнения задачи TimerTask
|
timerTask
| TimerTask
| Задает задачу для цикличного выполнения
|
sharedPreferences
| SharedPreferences
| Используется для изменения настроек приложения
|
api_key
| String
| Ключ запросов на сервер
|
notificationManager
| NotificationManager
| Используется для отправки уведомлений в строку состояния
|
|
|
|
Окончание таблицы 3.15
1
| 2
| 3
|
order
| Order
| Объект, который хранит информацию о заказе
|
Методы класса GetOrderService представлены в таблице 3.16.
Таблица 3.16 – Методы класса GetOrderService
Название
| Входные параметры
| Возвращаемое значение
| Описание
|
onCreate
| Без параметров
| void
| Вызывается при создании сервиса и инициализирует все поля класса
|
onStartCommand
| Intent intent, int flags, int startId
| int
| Вызывается при запуске сервиса
|
Run
| Без параметров
| void
| Метод для получения заказа с сервера
|