From 078a4ffcbd20707f8d98ea1899e69a490604a2b4 Mon Sep 17 00:00:00 2001 From: Ben Weiss Date: Fri, 24 Jul 2026 08:43:16 +0000 Subject: [PATCH] Add AppFunctions info to README --- jetpacker/README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/jetpacker/README.md b/jetpacker/README.md index 22789057..802591b8 100644 --- a/jetpacker/README.md +++ b/jetpacker/README.md @@ -14,7 +14,7 @@ ## 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: @@ -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: @@ -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. @@ -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