Módulos
15
Stack UI
XML Views
Padrão
MVVM
Mín. SDK
24
A versão Android do AppMonisat segue MVVM com Navigation Component (single-activity, fragments por tela) e ViewModel + Fragment por feature. As telas novas usam o padrão *New (v1 + OkHttp + Coroutines); classes sem sufixo são legado. Cada módulo abaixo tem documentação dedicada com fluxos, classes e endpoints v1.
Estrutura de pacotes (com/br/appmonisat/)
com/br/appmonisat/
├── MainActivity.kt · single-activity, NavHost, enforceAppUpdate
├── generic/ · componentes/diálogos reutilizáveis (ex.: SelectionBottomSheetDialog)
├── helpers/ · AppUpdateHelper, ClientInfo, DriverSessionCache, ElasticsearchAndroidClient, HttpPagination…
├── interfaces/ · contratos/callbacks
├── messaging/ · Message.kt (FirebaseMessagingService — push FCM)
├── model/ · data classes / DTOs
├── service/ · BackgroundService (rastreador GPS + socket MONIAPP)
├── util/ · PlateUtils, CurrencyUtils e utilidades globais
└── ui/ · uma subpasta por módulo (Fragment + ViewModel + adapter)
├── login/ · home/ · autenticação e dashboard
├── trips/ · trip/ · grid/ · cadastro, edição e lista de viagens
├── map/ · MapFragment (OSMDroid)
├── manager/ · driver/ · gestão e viagem ativa do motorista
├── historic/ · histórico + Ver Situação / troca de reboque
├── checklist/ · sistemic/ · inspeção veicular e de IoT
├── disregard/ · desconsideração de alertas
├── notification/ · reports/ · push e relatórios
├── config/ · ConfigurationFragment (empresa, permissões, logout)
├── vehicles/ · lista de veículos (cache offline)
└── gallery/ · journey/ · screen/ · stubs / descontinuados (sem doc)
Telas por módulo
| Módulo | Fragment principal | Pasta | Função |
|---|---|---|---|
| Login | LoginFragmentNew | ui/login/ | Autenticação, biometria, OTP, troca de empresa |
| Home | HomeFragment | ui/home/ | Dashboard, atalhos, badges FCM |
| Viagens | TripCadFragment + TabHelpers | ui/trip/ · ui/trips/ | Cadastro e edição de viagens com abas |
| Grid | GridTripFragment | ui/grid/ | Lista filtrável de viagens em cards |
| Mapa | MapFragment (OSMDroid) | ui/map/ | Mapa com posições e rotogramas em tempo real |
| Manager | TripManagerFragment | ui/manager/ | Gestão de viagens, apólice e semáforo |
| Driver | DriverFragment | ui/driver/ | Viagem ativa, navegação por voz, cache offline |
| Histórico | HistoricFragment | ui/historic/ | Histórico por apólice, Ver Situação, troca de reboque |
| Checklist | ChecklistFragmentNew | ui/checklist/ | Inspeção veicular pré/pós, filtro server-side |
| Checklist Sistemico | FragmentSistemicList · FragmentSistemicSchedule · FragmentCadSistemic | ui/sistemic/ | Inspeção IoT, máquina de estados P/I/F/C, countdown |
| Desconsideração | DisregardFragment + DisregardCadFragment | ui/disregard/ | Registro de alertas desconsiderados |
| Notificações | NotificationFragment | ui/notification/ | Push FCM, cache, filtros UNREAD/READ/ALL |
| Veículos | GridFragment (vehicles) | ui/vehicles/ | Lista de veículos, busca por placa, cache offline |
| Configurações | ConfigurationFragment | ui/config/ | Empresa, permissões, logout, workers |
| Rastreador | BackgroundService | service/ | GPS foreground, socket TCP MONIAPP, cache LIFO |
Paridade com iOS
Todos os módulos Android espelham o backend v1 (
api.monisystem.com/v1). Para equivalência de classes entre plataformas, consulte Paridade Android/iOS.
Próximos passos
- Cada link da tabela acima leva à documentação detalhada de um módulo Android.
- A estrutura de cada página espelha o padrão iOS (badges, fluxo passo-a-passo, endpoints, tabelas de classes).
- Comece pela Arquitetura Android para entender o stack e o padrão
*Newde ViewModel + Fragment.