Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion jetpacker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
</table>

## Overview
JetPacker provides users with powerful tools to manage their upcoming trips, build out rich itineraries, record voice notes, manage travel expenses, generate on-device "Trip Summaries and Tips", generate AI reviews, chat with hotel staff via automatic translation, and get real-time museum assistant guidance.
JetPacker provides users with powerful tools to manage their upcoming trips, build out rich itineraries, record voice notes, manage travel expenses, generate on-device "Trip Summaries and Tips", generate AI reviews, chat with hotel staff via automatic translation, get real-time museum assistant guidance, and contribute to Android's intelligence system with trip management functions through [AppFunctions](https://d.android.com/ai/appfunctions).

## Architecture
This project is built using modern Android architecture components:
Expand All @@ -25,6 +25,7 @@ This project is built using modern Android architecture components:
- **On-Device AI**: ML Kit GenAI (Prompt, Speech Recognition, Translation)
- **Cloud & Hybrid AI**: Firebase AI Logic (Gemini grounded with URL/Maps/Search, and hybrid models with on-device fallback)
- **App Security**: Firebase App Check (with Play Integrity and Debug Provider)
- **Assistant Integration**: Android [AppFunctions](https://d.android.com/ai/appfunctions) (`androidx.appfunctions`)

## Module Overview
JetPacker follows a clean, multi-module Android structure organized by responsibility and domain:
Expand All @@ -43,6 +44,7 @@ JetPacker follows a clean, multi-module Android structure organized by responsib
- **`:feature:home`**: Dashboard screen displaying the user's upcoming trips list.
- **`:feature:create_trip`**: Unified trip form module handling both new trip creation and existing trip editing (`EditTripScreen`).
- **`:feature:detail`**: Detailed view screens for specific itinerary events (Flights, Hotels, Restaurants, Museums, Tours).
- **`:feature:appfunctions`**: Android AppFunctions framework integration (`JetPackerAppFunctionService`) contributing structured functions to Android's intelligence system for trips, expenses, itineraries, and voice notes.
- **`:feature:trip`**: Top-level trip container shell (`TripScreen`) holding bottom navigation and orchestrating trip sub-tabs.
- **`:feature:trip:itinerary`**: Pure itinerary timeline screen displaying daily scheduled events.
- **`:feature:trip:itinerary:enrichment`**: On-device AI summaries and tips (`TripSummaryAndTipsCard`) and dynamic daily theme generators.
Expand Down Expand Up @@ -103,6 +105,14 @@ JetPacker also integrates online hybrid features using Firebase AI Logic (Gemini
- **ENABLE_REVIEW_GENERATION**: Topic-selected review generator (uses Gemini 2.5 flash-lite on-device with cloud fallback).
- **Hotel Support Chat**: Receives hotel receptionist assistance with real-time ML Kit + Gemini translation.

## AppFunctions Integration
JetPacker uses Android's [**AppFunctions**](https://d.android.com/ai/appfunctions) library (`androidx.appfunctions`) in `:feature:appfunctions` to contribute to Android's intelligence system with structured travel actions and data queries via `JetPackerAppFunctionService`:
- **Trip Management**: `searchTrip` (filter by ID, name, location, and dates) and `createTrip`.
- **Itinerary Events**: `getItinerary` and `addItineraryEvent` (activity, dining, accommodation, etc.).
- **Expense Tracking**: `getExpenses` and `addExpense` (amount, currency, category).
- **Voice Notes**: `getVoiceNotes` and `addVoiceNote` (recorded transcriptions linked to trips).
- **Day Themes**: `getDayThemes` and `setDayTheme` for daily trip customization.


## IDE Setup & Development

Expand Down
Loading