=============== xMova Launcher =============== O Launcher é uma aplicação que permite aos usuários não fazerem uso de aplicativos de terceiros. Para isso, foi desenvolvimento em um modelo conhecido por kiosk-mode. Esta documentação descreve brevemente, a estrutura de funcionamento do Launcher, descrevendo de forma superficial os pacotes e a composição da aplicação. ---------------- Properties file ---------------- Contém as URLs de gerenciamento do Launcher, onde temos: * url_launcher: Endereço onde o Launcher irá verificar a existência de novas atualizações do produto, dado o número de versão que receber etc.; * url_simova_apps: Endereço para download de aplicativos do Simova Apps, ou seja, irá buscar pelo fluxo passado como parâmetro; * url_support_log: Endereço de envio do Log, pois o Launcher também envia, semelhante ao Simova Apps; ---------------- Estrutura ---------------- * AppPackageAdapter: Contém o holder da listagem de aplicativos; * ListBaseAdapter: Classe abstrata que contém a estrutura básica de um adaptador para listas na aplicação; * AppModel: Descreve cada ícone ou aplicativo do Sistema, podendo ser um elemento de caller (ligação), marcador (selecionar para liberar) ou apenas listagem; * WSError: Throwable da aplicação para lançamento de erros; * LockPickManager: Classe principal, cujo objetivo é gerenciar se a aplicação é permita ou não; * AppsLoader: Efetua o loader dos aplicativos permitidos utilizando com base o AppModel para listá-los; * CollapseStatusBar: Classe que faz uso de reflection para não permitir o swipe da status bar, ou seja, bloquear o ato de puxar de cima para baixo do sistema operacional; * InstallSimovaAppsCore: Instalador que irá ler o conteúdo do properties file e usar suas URLs para efetuar o download de um aplicativo Simova Apps; * KillApplication: Classe que irá tentar efetuar o fechando de um aplicativo; * UpdateApplicationCore: Classe que efetuará a leitura do arquivo de properties e irá verificar novas atualizações do Launcher; * BaseActivity: Activity básica que contém os métodos padrões para tratar activities, como popular a toolbar etc.; * LauncherSimovaApplication: Application Manager, ou seja, a classe pai do aplicativo, usado para agendamento de atualizações e armazenamento primário de informações de status, home da aplicação etc.; * SharedPreferenceManager: gerencia as preferências do aplicativo, ou seja, salva nas preferências padrões do Android algum conteúdo básico; * VersionPreferences: Trata o conteúdo do arquivo de properties como preferência pelo Simova Apps; * CommunicationReceiver: Efetua a comunicação com outras aplicações, em suma, com o Simova Apps, tratando a resposta, ou seja, é um receptor; * OnBootReceiver: indica que o usuário fez o boot da aplicação; * PasswordBroadcastReceiver: Trata as senhas relativas do usuário e se é uma senha válida ou não; * ReturnCurrentApplicationReceiver: Retorna a aplicação principal; * AlarmVersionDayService: Serviço de alarme das atualizações do aplicativo; * CurrentApplicationService: Inicia o LockPick para verificar a aplicação corrente de tempo fixo para bloquear ou permitir; * InstallSimovaAppsTask: Responsável por iniciar o processo de instalação de um aplicativo do Simova Apps; * UpdateApplicationTask: Idem ao instalador, mas update. * pacote activities: Contém as telas que representam o Launcher, ou seja, tela principal, inserção de senha, listagem/bloqueio de celulares etc.