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.