P1 — implement Android Assistant role and voice-interaction service surface #196

Closed
opened 2026-08-24 06:24:50 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-08-24 06:24:50 +00:00 (Migrated from github.com)

Parent: #194
Depends on: #171, #173, #195
Integrates with: #132, #152, #159, #174, #175

Goal

Make Zara eligible for the user-selected Android Assistant role through the public Android voice-interaction contracts while sharing the authenticated Android runtime/configuration.

Required implementation

  • RoleManager.ROLE_ASSISTANT eligibility and explicit role status model.
  • VoiceInteractionService and VoiceInteractionSessionService with correct manifest/service metadata.
  • Lightweight assistant process that can be invoked while the ordinary application UI is closed.
  • User-driven default-assistant request/onboarding; never claim or attempt silent role changes.
  • Samsung Digital-assistant and supported Side-button setup guidance derived from #195.
  • Explicit degraded state and actionable recovery when Zara lacks the role or required platform support.
  • One typed runtime state shared with the Compose UI; no assistant-only semantic/runtime stack.

Tests

Use TDD for manifest/metadata contracts, role held/not-held/unavailable flows, onboarding result handling, process recreation, UI-closed invocation, malformed/missing extras, cancellation and lifecycle cleanup. Add emulator/instrumentation coverage where deterministic and reserve Samsung-only claims for #206.

Acceptance

Zara appears as an eligible Assistant on supported Android configurations, launches its assistant session through public APIs, and reports role loss/degradation honestly without duplicating runtime ownership.

Parent: #194 Depends on: #171, #173, #195 Integrates with: #132, #152, #159, #174, #175 ## Goal Make Zara eligible for the user-selected Android Assistant role through the public Android voice-interaction contracts while sharing the authenticated Android runtime/configuration. ## Required implementation - RoleManager.ROLE_ASSISTANT eligibility and explicit role status model. - VoiceInteractionService and VoiceInteractionSessionService with correct manifest/service metadata. - Lightweight assistant process that can be invoked while the ordinary application UI is closed. - User-driven default-assistant request/onboarding; never claim or attempt silent role changes. - Samsung Digital-assistant and supported Side-button setup guidance derived from #195. - Explicit degraded state and actionable recovery when Zara lacks the role or required platform support. - One typed runtime state shared with the Compose UI; no assistant-only semantic/runtime stack. ## Tests Use TDD for manifest/metadata contracts, role held/not-held/unavailable flows, onboarding result handling, process recreation, UI-closed invocation, malformed/missing extras, cancellation and lifecycle cleanup. Add emulator/instrumentation coverage where deterministic and reserve Samsung-only claims for #206. ## Acceptance Zara appears as an eligible Assistant on supported Android configurations, launches its assistant session through public APIs, and reports role loss/degradation honestly without duplicating runtime ownership.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/zara#196
No description provided.