Skip to content

Template Ticket - Host Android (Bridge v2) ​

Contexte ​

Migration du host Android vers le protocole Bridge v2 pour exposer des actions agnostiques et des capacites dynamiques.

Objectif ​

Implementer les actions suivantes:

  • GET_HOST_CAPABILITIES
  • CAN_LAUNCH_APP
  • OPEN_SYSTEM_SETTINGS
  • OPEN_MANUFACTURER_SETTINGS
  • LAUNCH_TV

References ​

  • docs/technique/bridge/host-capabilities/host-implementation-contract.md
  • docs/technique/bridge/host-capabilities/qa-checklist.md
  • docs/technique/bridge/exchanges.md

Definition of Done ​

  1. Les 5 actions repondent au format TV_API_RESPONSE standard.
  2. Les codes d'erreur canoniques sont respectes (UNSUPPORTED_ACTION, NOT_AVAILABLE_ON_DEVICE, etc.).
  3. GET_HOST_CAPABILITIES expose host + capabilities.actions/features/appLaunch.
  4. CAN_LAUNCH_APP retourne canLaunch + reasonCode en cas de refus.
  5. LAUNCH_TV retourne NOT_AVAILABLE_ON_DEVICE si pas de tuner.
  6. Tous les points A->G de la checklist QA passent sur device Android cible.

Tasks ​

  • [ ] Ajouter routeur action GET_HOST_CAPABILITIES.
  • [ ] Ajouter routeur action CAN_LAUNCH_APP (PackageManager + policy locale).
  • [ ] Ajouter routeur action OPEN_SYSTEM_SETTINGS.
  • [ ] Ajouter routeur action OPEN_MANUFACTURER_SETTINGS (target, vendor, section).
  • [ ] Mettre LAUNCH_TV en resolution host-side (vendor/model aware).
  • [ ] Mapper erreurs internes vers codes canoniques.
  • [ ] Ajouter logs structures par requestId.
  • [ ] Executer checklist QA et documenter les resultats.

Payload attendu (minimum) ​

json
{
	"bridgeVersion": "2.0.0",
	"host": {
		"platform": "android",
		"vendor": "tcl",
		"model": "X100"
	},
	"capabilities": {
		"actions": {
			"CAN_LAUNCH_APP": true,
			"LAUNCH_TV": true,
			"OPEN_SYSTEM_SETTINGS": true,
			"OPEN_MANUFACTURER_SETTINGS": true
		},
		"features": {
			"hasTvTuner": false,
			"hasSoftAp": true,
			"hasPurge": true
		},
		"appLaunch": {
			"canQueryPerApp": true
		}
	}
}

Notes implementation ​

  • OPEN_MANUFACTURER_SETTINGS pour Android pur peut retourner NOT_AVAILABLE_ON_DEVICE si pas de cible constructeur exploitable.
  • CAN_LAUNCH_APP ne doit pas lancer l'app, uniquement evaluer.
  • En cas d'indisponibilite transitoire (HOST_BUSY, TIMEOUT), repondre ok:false avec code explicite.

QA Evidence ​

  • Device(s) testes:
  • Build host:
  • Date:
  • Logs captures:
  • Resultats checklist: