Explore Android XR (AI-glasses) integration#120
Draft
code418 wants to merge 1 commit into
Draft
Conversation
Reserves the build harness for a future Android XR (Jetpack XR / AI- glasses) surface without shipping any behaviour. Adds an xr product flavour (minSdk 34, versionCode band +20000) alongside the existing phone and wear flavours, a manifest-only src/xr/ source set, and a docs/ feasibility note that proposes mirroring the Android Auto pattern (native Kotlin, direct Firestore reads, no Flutter engine). The xrImplementation dependency block is committed commented-out because the androidx.xr.* artefacts are still alpha and coordinates are not yet pinned by Google. No changes to lib/, functions/, security rules, pubspec, or the phone / wear source sets. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Exploratory scaffolding for a future Android XR / AI-glasses surface
(https://developer.android.com/develop/xr/jetpack-xr-sdk/ai-glasses/build).
No behaviour ships. This PR just reserves the build harness and
records a design so the next PR can drop in a real
Activitywithoutreshaping Gradle first.
xrproduct flavour alongside the existingphoneandwearflavours (
minSdk 34,versionCodeband+20000,versionNameSuffix "-xr").android/app/src/xr/AndroidManifest.xml— manifest-only sourceset, no activities, no services.
docs/smart_glasses_integration.md— feasibility note proposingthe Android Auto pattern as the closest template: native Kotlin +
Compose Glimmer, direct Firestore / Functions reads, no Flutter
engine on glasses (Jetpack XR is Kotlin/Compose only).
What's deliberately not in this PR
src/xr/. ThexrImplementationdependencyblock in
android/app/build.gradleis committed commented-outbecause the
androidx.xr.*artefacts are still alpha and Googlehasn't pinned coordinates yet.
lib/,functions/,firestore.rules,storage.rules,pubspec.yaml,firebase.json, thewearsourceset, or the
phonesource set.Why the Android Auto pattern
The repo already has two non-phone surfaces:
lib/main_wear.dart,wearflavour)src/phone/.../car/, scoped tophone)Jetpack XR's AI-glasses SDK is Kotlin + Compose Glimmer only, so Wear's
Flutter-entrypoint approach doesn't apply. Android Auto's
StatsRepository.kt+ClaimAction.ktare the proven template — bothwill be lifted almost verbatim in a follow-up PR.
Phased rollout (per the design doc)
panel).
startScoring).lib/fuzzy_compass.dartintoCompose Glimmer, sectors only — same no-pinpointing guarantee as
the phone).
Test plan
This PR adds no executable behaviour, so the verification is "we
haven't broken the phone or wear builds":
flutter analyzestill reports no issues (Dart is untouched, sothis should be a no-op).
flutter teststill reports 105 Dart tests passing.cd functions && npm teststill reports 268 TypeScript testspassing.
cd android && ./gradlew taskslistsassembleXrDebugalongsideassemblePhoneDebugandassembleWearDebug../gradlew :app:processXrDebugManifestmerges cleanly../gradlew :app:assemblePhoneDebug --dry-runsucceeds (noregression in the default-target build).
Opening as draft because this is future-looking exploration, not a
mergeable feature.
Generated by Claude Code