Skip to content

Part 5: Document storage with multimodal AppSearch and vision scanner - #196

Merged
JolandaVerhoef merged 1 commit into
feature/trip-assistantfrom
feature/document-storage
Oct 28, 2026
Merged

JolandaVerhoef merged 1 commit into
feature/trip-assistantfrom
feature/document-storage

Conversation

@JolandaVerhoef

Copy link
Copy Markdown
Collaborator

Summary

  • Implement multimodal document storage and indexing (:feature:assistant documents package)
  • Integrate on-device Embedding Gemma v2 with Jetpack AppSearch hybrid search
  • Add DocumentVisionScanner with on-device ML Kit OCR and document classification
  • Implement DocumentsScreen with Material 3 vault search, camera scanner, and file importer
  • Enhance PDF voucher graphics with vector canvas rendering and document preview sheet
  • Wire AppFunction document tools (searchTravelDocuments, getTravelDocumentDetails, saveTravelNoteDocument) with ACCESS_LEVEL_SELF
  • Register FileProvider for secure camera capture and document imports
  • Address PR com.google.ai.edge.aicore.UnknownException: AICore failed with error type 2-INFERENCE_ERROR and error code 8-NOT_AVAILABLE: Required LLM feature not found #24 review feedback:
    • Guard syncIndex content hash when vector is null until model is available
    • Query document by documentId or id in TravelDocumentDao
    • Single-newline header parsing in importEmailDocument
    • Selective seed document deletion on trip cleanup
    • Transit keyword detection for flight and train tickets
    • Offload document operations to IO dispatchers
  • Sanitized mock seed data & tests with Alex Chen profile.

Verification

  • Unit tests passed: :feature:assistant:testDebugUnitTest :data:itinerary:testDebugUnitTest.

- Implement TravelDocumentManager with local SQLite persistence and Jetpack AppSearch indexing
- Add DocumentVisionScanner with ML Kit Document Scanner and Text Recognition
- Add DocumentSemanticSearch with hybrid text and embedding similarity
- Implement DocumentsScreen and DocumentsViewModel for managing and searching travel documents
- Address review feedback: selective seed deletion, single-newline header parsing, transit keyword detection, and IO coroutine dispatching
@JolandaVerhoef
JolandaVerhoef force-pushed the feature/document-storage branch from 0eb7882 to 335c6d7 Compare October 27, 2026 18:22
@JolandaVerhoef
JolandaVerhoef merged commit b8dfa18 into feature/trip-assistant Oct 28, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant