PATCH LAUNCHER V10 - INSTALACAO E VALIDACAO
Data: 19/08/2026

DESTINO
-------
Este ZIP foi preparado para ser extraido DIRETAMENTE DENTRO da pasta
"launcher" existente. A raiz do ZIP ja contem api/, apk/, img/, includes/ etc.
Nao crie outra pasta launcher dentro da atual.

ANTES DE EXTRAIR
----------------
1. Faca backup completo da pasta launcher.
2. Confirme principalmente o backup de:
   - api/max.db
   - api/database.db
   - api/apps_individual/
   - .nexxa_key e .mp_oauth_key, se existirem
3. O patch nao inclui nem substitui bancos, logs, tokens ou chaves privadas.

INSTALACAO
----------
1. Extraia todo o conteudo deste ZIP dentro da pasta launcher.
2. Autorize a substituicao dos arquivos existentes.
3. Mantenha os quatro dominios apontando para o mesmo DocumentRoot e os mesmos
   bancos SQLite. Somente copiar o codigo para quatro servidores independentes
   nao replica ativacoes nem configuracoes.
4. Abra no navegador:
   https://SEU-DOMINIO/launcher/api/health.php
5. O retorno esperado e HTTP 200 com "status": "ok".

ROLLOUT SEGURO
--------------
O arquivo api/app_info.json inicia em rollout_mode "test". Use o painel
atualizar.php para ajustar os codigos de teste. Depois de validar uma TV Box,
use "Publicar Globalmente" para liberar aos aparelhos V8 e V9.

O modo de instalacao e MANUAL, que corresponde ao que o APK realmente faz.
No primeiro uso, Android 8 ou superior pode pedir autorizacao para instalar
aplicativos desta fonte.

COMPATIBILIDADE
---------------
- Pacote: com.laucher.com
- versionCode: 10
- versionName: 10
- minSdk: 21 (Android 5.0)
- targetSdk: 35
- ABIs: arm64-v8a, armeabi-v7a, x86 e x86_64
- Atualizacao sobre V8: compativel
- Atualizacao sobre V9 antigo: compativel, pois agora o codigo e 10
- Atualizacao direta sobre V3: NAO compativel; o V3 usa outro certificado
- Assinaturas: V1, V2 e V3, com o mesmo certificado TESTKEY de V8/V9

APK
---
Arquivo: apk/launcher_v10.apk
Tamanho: 35744062 bytes
SHA-256: a713fe4f09105daae765d2265ed673cdfbaaba857da8b531cf137b639e75d7f7

CORRECOES INCLUIDAS
-------------------
- versionCode elevado de 9 para 10;
- identificacao V10 sincronizada com o servidor;
- app_info.php nao falha se a ponte legada estiver ausente;
- failover de quatro dominios;
- health.php valida extensoes, tamanho e SHA-256 real do APK;
- download_launcher.php confere tamanho e hash antes de servir o APK;
- instalacao anunciada corretamente como manual;
- allowBackup desativado no APK;
- MainActivity e BootReceiver nao exportados;
- codigos de ativacao limitados ao formato de 6 caracteres;
- apps locais com APK inexistente deixam de ser enviados ao cliente;
- modo de anuncios manuais deixa de apontar para arquivo/banco inexistente.

LIMITACOES IMPORTANTES
----------------------
O projeto Android original nao estava no material recebido. Por isso este APK
e uma correcao binaria controlada, nao uma recompilacao do projeto-fonte.
A verificacao de SHA-256 ocorre no servidor antes do download; o cliente V10
ainda depende da verificacao de assinatura feita pelo instalador Android.

O certificado TESTKEY foi preservado para permitir atualizacao de V8/V9, mas
essa chave AOSP e publica. Para seguranca definitiva sera necessario fornecer
o projeto Android e fazer uma migracao planejada para uma chave privada.

TESTE MINIMO RECOMENDADO
-----------------------
1. V8 -> V10.
2. V9 antigo -> V10.
3. Reiniciar a TV Box e confirmar abertura da launcher.
4. Testar ativacao, lista de apps, icones e download.
5. Desligar o dominio principal e confirmar failover.
6. Confirmar que a V10 aparece no painel como versao 10.

ROLLBACK
--------
Se o health.php nao retornar OK ou o teste falhar, restaure o backup completo
da pasta launcher. Nao tente corrigir substituindo somente o banco SQLite.
