From 9c68ddd26bbcf03b158bb30690843b82adf25ace Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Fri, 13 Mar 2026 18:00:26 +0000 Subject: [PATCH 01/19] feat: add Translation sample --- .../ai/feature/text/TranslationViewModel.kt | 44 +++++++++++++++++++ .../ai/ui/navigation/FirebaseAISamples.kt | 10 +++++ 2 files changed, 54 insertions(+) create mode 100644 firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt new file mode 100644 index 000000000..6d7289c07 --- /dev/null +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt @@ -0,0 +1,44 @@ +package com.google.firebase.quickstart.ai.feature.text + +import com.google.firebase.Firebase +import com.google.firebase.ai.Chat +import com.google.firebase.ai.ai +import com.google.firebase.ai.type.Content +import com.google.firebase.ai.type.GenerativeBackend +import com.google.firebase.ai.type.content +import com.google.firebase.quickstart.ai.ui.UiChatMessage +import kotlinx.serialization.Serializable + +@Serializable +object TranslationRoute + +class TranslationViewModel : ChatViewModel() { + override val initialPrompt: String + get() = """ + Translate the following text to Spanish: + Hey, are you down to grab some pizza later? I'm starving! + """.trimIndent() + + private var chat: Chat + + init { + val generativeModel = Firebase.ai( + backend = GenerativeBackend.googleAI() + ).generativeModel( + modelName = "gemini-3.1-flash-lite-preview", + systemInstruction = content { + text("Only output the translated text") + } + ) + + chat = generativeModel.startChat() + } + + override suspend fun performSendMessage( + prompt: Content, + currentMessages: List + ) { + val response = chat.sendMessage(prompt) + validateAndDisplayResponse(response, currentMessages) + } +} \ No newline at end of file diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index be38f7b76..253b0c2e5 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -36,6 +36,8 @@ import com.google.firebase.quickstart.ai.feature.text.SvgRoute import com.google.firebase.quickstart.ai.feature.text.SvgViewModel import com.google.firebase.quickstart.ai.feature.text.ThinkingChatRoute import com.google.firebase.quickstart.ai.feature.text.ThinkingChatViewModel +import com.google.firebase.quickstart.ai.feature.text.TranslationRoute +import com.google.firebase.quickstart.ai.feature.text.TranslationViewModel import com.google.firebase.quickstart.ai.feature.text.TravelTipsRoute import com.google.firebase.quickstart.ai.feature.text.TravelTipsViewModel import com.google.firebase.quickstart.ai.feature.text.VideoHashtagGeneratorRoute @@ -46,6 +48,14 @@ import com.google.firebase.quickstart.ai.feature.text.WeatherChatRoute import com.google.firebase.quickstart.ai.feature.text.WeatherChatViewModel val FIREBASE_AI_SAMPLES = listOf( + Sample( + title = "Translate text", + description = "Use Gemini 3.1 Flash-Lite to translate text", + route = TranslationRoute, + screenType = ScreenType.CHAT, + viewModelClass = TranslationViewModel::class, + categories = listOf(Category.TEXT) + ), Sample( title = "Travel tips", description = "The user wants the model to help a new traveler" + From 1a49b7778a42d84ccc3dc470c444e4e217974e13 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Fri, 13 Mar 2026 18:03:39 +0000 Subject: [PATCH 02/19] Update Audio summarization to use Gemini 3.1 Flash-Lite --- .../quickstart/ai/feature/text/AudioSummarizationViewModel.kt | 2 +- .../firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioSummarizationViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioSummarizationViewModel.kt index 8ddb16c92..1c225656d 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioSummarizationViewModel.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioSummarizationViewModel.kt @@ -28,7 +28,7 @@ class AudioSummarizationViewModel : ChatViewModel() { val generativeModel = Firebase.ai( backend = GenerativeBackend.googleAI() ).generativeModel( - modelName = "gemini-2.5-flash" + modelName = "gemini-3.1-flash-lite-preview" ) chat = generativeModel.startChat( listOf( diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index 253b0c2e5..24a4640a0 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -75,7 +75,7 @@ val FIREBASE_AI_SAMPLES = listOf( ), Sample( title = "Audio Summarization", - description = "Summarize an audio file", + description = "Use Gemini 3.1 Flash Lite to summarize an audio file", route = AudioSummarizationRoute, screenType = ScreenType.CHAT, viewModelClass = AudioSummarizationViewModel::class, From 47d5b7ff331c557e00a13ba9028a74ab2a292b3a Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Fri, 13 Mar 2026 18:06:27 +0000 Subject: [PATCH 03/19] remove grounding from the document category --- .../firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index 24a4640a0..8bb2cb153 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -204,7 +204,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = GoogleSearchGroundingRoute, screenType = ScreenType.CHAT, viewModelClass = GoogleSearchGroundingViewModel::class, - categories = listOf(Category.TEXT, Category.DOCUMENT) + categories = listOf(Category.TEXT) ), Sample( title = "Server Prompt Template - Imagen", From 22198fe1ba13e9b5a3cd7ce1ed1fb0cd32eaac89 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Fri, 13 Mar 2026 18:13:27 +0000 Subject: [PATCH 04/19] val instead of var --- .../firebase/quickstart/ai/feature/text/TranslationViewModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt index 6d7289c07..bc10192e9 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt @@ -19,7 +19,7 @@ class TranslationViewModel : ChatViewModel() { Hey, are you down to grab some pizza later? I'm starving! """.trimIndent() - private var chat: Chat + private val chat: Chat init { val generativeModel = Firebase.ai( From d93fc7f20a0248a23a703f28bacd48bb07d722b6 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Fri, 13 Mar 2026 18:27:11 +0000 Subject: [PATCH 05/19] refactor: new categories :) --- .../ai/ui/navigation/FirebaseAISamples.kt | 63 +++++++------------ .../quickstart/ai/ui/navigation/Sample.kt | 15 ++--- 2 files changed, 31 insertions(+), 47 deletions(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index 8bb2cb153..73fc7949a 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -54,24 +54,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = TranslationRoute, screenType = ScreenType.CHAT, viewModelClass = TranslationViewModel::class, - categories = listOf(Category.TEXT) - ), - Sample( - title = "Travel tips", - description = "The user wants the model to help a new traveler" + - " with travel tips", - route = TravelTipsRoute, - screenType = ScreenType.CHAT, - viewModelClass = TravelTipsViewModel::class, - categories = listOf(Category.TEXT), - ), - Sample( - title = "Chatbot recommendations for courses", - description = "A chatbot suggests courses for a performing arts program.", - route = CourseRecommendationsRoute, - screenType = ScreenType.CHAT, - viewModelClass = CourseRecommendationsViewModel::class, - categories = listOf(Category.TEXT), + categories = listOf(Category.GEMINI3) ), Sample( title = "Audio Summarization", @@ -79,7 +62,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = AudioSummarizationRoute, screenType = ScreenType.CHAT, viewModelClass = AudioSummarizationViewModel::class, - categories = listOf(Category.AUDIO), + categories = listOf(Category.MULTIMODAL_UNDERSTANDING), ), Sample( title = "Translation from audio (Vertex AI)", @@ -87,7 +70,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = AudioTranslationRoute, screenType = ScreenType.CHAT, viewModelClass = AudioTranslationViewModel::class, - categories = listOf(Category.AUDIO) + categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), Sample( title = "Blog post creator (Vertex AI)", @@ -95,7 +78,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = ImageBlogCreatorRoute, screenType = ScreenType.CHAT, viewModelClass = ImageBlogCreatorViewModel::class, - categories = listOf(Category.IMAGE) + categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), Sample( title = "Imagen 4 - image generation", @@ -103,7 +86,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = ImagenGenerationRoute, screenType = ScreenType.IMAGEN, viewModelClass = ImagenGenerationViewModel::class, - categories = listOf(Category.IMAGE) + categories = listOf(Category.IMAGEN) ), Sample( title = "Imagen 3 - Inpainting (Vertex AI)", @@ -111,7 +94,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = ImagenInpaintingRoute, screenType = ScreenType.IMAGEN, viewModelClass = ImagenInpaintingViewModel::class, - categories = listOf(Category.IMAGE) + categories = listOf(Category.IMAGEN) ), Sample( title = "Imagen 3 - Outpainting (Vertex AI)", @@ -119,7 +102,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = ImagenOutpaintingRoute, screenType = ScreenType.IMAGEN, viewModelClass = ImagenOutpaintingViewModel::class, - categories = listOf(Category.IMAGE) + categories = listOf(Category.IMAGEN) ), Sample( title = "Imagen 3 - Subject Reference (Vertex AI)", @@ -127,7 +110,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = ImagenSubjectReferenceRoute, screenType = ScreenType.IMAGEN, viewModelClass = ImagenSubjectReferenceViewModel::class, - categories = listOf(Category.IMAGE) + categories = listOf(Category.IMAGEN) ), Sample( title = "Imagen 3 - Style Transfer (Vertex AI)", @@ -135,7 +118,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = ImagenStyleTransferRoute, screenType = ScreenType.IMAGEN, viewModelClass = ImagenStyleTransferViewModel::class, - categories = listOf(Category.IMAGE) + categories = listOf(Category.IMAGEN) ), Sample( title = "Gemini 2.5 Flash Image (aka nanobanana)", @@ -143,7 +126,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = ImageGenerationRoute, screenType = ScreenType.CHAT, viewModelClass = ImageGenerationViewModel::class, - categories = listOf(Category.IMAGE) + categories = listOf(Category.NANO_BANANA) ), Sample( title = "Document comparison (Vertex AI)", @@ -152,7 +135,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = DocumentComparisonRoute, screenType = ScreenType.CHAT, viewModelClass = DocumentComparisonViewModel::class, - categories = listOf(Category.DOCUMENT) + categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), Sample( title = "Hashtags for a video (Vertex AI)", @@ -160,7 +143,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = VideoHashtagGeneratorRoute, screenType = ScreenType.CHAT, viewModelClass = VideoHashtagGeneratorViewModel::class, - categories = listOf(Category.VIDEO) + categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), Sample( title = "Summarize video", @@ -168,25 +151,25 @@ val FIREBASE_AI_SAMPLES = listOf( route = VideoSummarizationRoute, screenType = ScreenType.CHAT, viewModelClass = VideoSummarizationViewModel::class, - categories = listOf(Category.VIDEO) + categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), Sample( - title = "ForecastTalk", + title = "Gemini Live (audio input)", description = "Use bidirectional streaming to get information about" + " weather conditions for a specific US city on a specific date", route = StreamRealtimeAudioRoute, screenType = ScreenType.BIDI, viewModelClass = StreamAudioViewModel::class, - categories = listOf(Category.LIVE_API, Category.AUDIO, Category.FUNCTION_CALLING) + categories = listOf(Category.LIVE_API, Category.TOOLS_FC) ), Sample( - title = "Gemini Live (Video input)", + title = "Gemini Live (video input)", description = "Use bidirectional streaming to chat with Gemini using your" + " phone's camera", route = StreamRealtimeVideoRoute, screenType = ScreenType.BIDI_VIDEO, viewModelClass = StreamVideoViewModel::class, - categories = listOf(Category.LIVE_API, Category.VIDEO, Category.FUNCTION_CALLING) + categories = listOf(Category.LIVE_API, Category.TOOLS_FC) ), Sample( title = "Weather Chat", @@ -195,7 +178,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = WeatherChatRoute, screenType = ScreenType.CHAT, viewModelClass = WeatherChatViewModel::class, - categories = listOf(Category.TEXT, Category.FUNCTION_CALLING) + categories = listOf(Category.TOOLS_FC) ), Sample( title = "Grounding with Google Search", @@ -204,7 +187,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = GoogleSearchGroundingRoute, screenType = ScreenType.CHAT, viewModelClass = GoogleSearchGroundingViewModel::class, - categories = listOf(Category.TEXT) + categories = listOf(Category.TOOLS_FC) ), Sample( title = "Server Prompt Template - Imagen", @@ -213,7 +196,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = ImagenTemplateRoute, screenType = ScreenType.IMAGEN, viewModelClass = ImagenTemplateViewModel::class, - categories = listOf(Category.IMAGE) + categories = listOf(Category.SERVER_PROMPTS) ), Sample( title = "Server Prompt Templates - Gemini", @@ -222,7 +205,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = ServerPromptTemplateRoute, screenType = ScreenType.SERVER_PROMPT, viewModelClass = ServerPromptTemplateViewModel::class, - categories = listOf(Category.TEXT), + categories = listOf(Category.SERVER_PROMPTS), ), Sample( title = "Thinking", @@ -230,7 +213,7 @@ val FIREBASE_AI_SAMPLES = listOf( route = ThinkingChatRoute, screenType = ScreenType.CHAT, viewModelClass = ThinkingChatViewModel::class, - categories = listOf(Category.TEXT) + categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), Sample( title = "SVG Generator", @@ -238,6 +221,6 @@ val FIREBASE_AI_SAMPLES = listOf( route = SvgRoute, screenType = ScreenType.SVG, viewModelClass = SvgViewModel::class, - categories = listOf(Category.IMAGE, Category.TEXT) + categories = listOf(Category.GEMINI3) ) ) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt index 76bb0c934..5c6f65cab 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt @@ -6,13 +6,14 @@ import kotlin.reflect.KClass enum class Category( val label: String ) { - TEXT("Text"), - IMAGE("Image"), - VIDEO("Video"), - AUDIO("Audio"), - DOCUMENT("Document"), - FUNCTION_CALLING("Function calling"), - LIVE_API("Live API Streaming") + GEMINI3("Gemini 3"), + NANO_BANANA("Nano Banana"), + MULTIMODAL_UNDERSTANDING("Multimodal understanding"), + TOOLS_FC("Tools and Function calling"), + LIVE_API("Live API streaming"), + HYBRID_AI("Hybrid inference"), + SERVER_PROMPTS("Server prompt templates"), + IMAGEN("Imagen") } enum class ScreenType { From 1e5d347040290eee506ab2c9b4e6240b53d03a1d Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Fri, 13 Mar 2026 18:39:01 +0000 Subject: [PATCH 06/19] feat: add more Nano Banana samples --- .../ai/feature/text/NanoBanana2ViewModel.kt | 48 +++++++++++++++++ .../ai/feature/text/NanoBananaProViewModel.kt | 51 +++++++++++++++++++ ...ionViewModel.kt => NanoBananaViewModel.kt} | 4 +- .../ai/ui/navigation/FirebaseAISamples.kt | 34 +++++++++---- 4 files changed, 126 insertions(+), 11 deletions(-) create mode 100644 firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt create mode 100644 firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt rename firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/{ImageGenerationViewModel.kt => NanoBananaViewModel.kt} (94%) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt new file mode 100644 index 000000000..a768a5ea6 --- /dev/null +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt @@ -0,0 +1,48 @@ +package com.google.firebase.quickstart.ai.feature.text + +import kotlinx.serialization.Serializable + +import com.google.firebase.Firebase +import com.google.firebase.ai.Chat +import com.google.firebase.ai.ai +import com.google.firebase.ai.type.Content +import com.google.firebase.ai.type.GenerativeBackend +import com.google.firebase.ai.type.ResponseModality +import com.google.firebase.ai.type.generationConfig +import com.google.firebase.quickstart.ai.ui.UiChatMessage + +@Serializable +object NanoBanana2Route + +class NanoBanana2ViewModel : ChatViewModel() { + + override val initialPrompt: String = """ + A photo of a glossy magazine cover, the minimal blue cover + has the large bold words Nano Banana. The text is in a serif + font and fills the view. No other text. In front of the text + there is a portrait of a person in a sleek and minimal dress. + She is playfully holding the number 2, which is the focal point. + Put the issue number and "Feb 2026" date in the corner along with + a barcode. The magazine is on a shelf against an orange plastered + wall, within a designer store. + """.trimIndent() + + private val chat: Chat + + init { + val generativeModel = Firebase.ai( + backend = GenerativeBackend.googleAI() + ).generativeModel( + modelName = "gemini-3.1-flash-image-preview", + generationConfig = generationConfig { + responseModalities = listOf(ResponseModality.TEXT, ResponseModality.IMAGE) + } + ) + chat = generativeModel.startChat() + } + + override suspend fun performSendMessage(prompt: Content, currentMessages: List) { + val response = chat.sendMessage(prompt) + validateAndDisplayResponse(response, currentMessages) + } +} diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt new file mode 100644 index 000000000..3fbe9aad6 --- /dev/null +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt @@ -0,0 +1,51 @@ +package com.google.firebase.quickstart.ai.feature.text + +import kotlinx.serialization.Serializable + +import com.google.firebase.Firebase +import com.google.firebase.ai.Chat +import com.google.firebase.ai.ai +import com.google.firebase.ai.type.Content +import com.google.firebase.ai.type.GenerativeBackend +import com.google.firebase.ai.type.ResponseModality +import com.google.firebase.ai.type.generationConfig +import com.google.firebase.quickstart.ai.ui.UiChatMessage + +@Serializable +object NanoBananaProRoute + +class NanoBananaProViewModel : ChatViewModel() { + + override val initialPrompt: String = """ + Present a clear, 45° top-down isometric miniature 3D cartoon + scene of London, featuring its most iconic landmarks and + architectural elements. Use soft, refined textures with + realistic PBR materials and gentle, lifelike lighting and shadows. + Integrate the current weather conditions directly into the city + environment to create an immersive atmospheric mood. Use a clean, + minimalistic composition with a soft, solid-colored background. + At the top-center, place the title "London" in large bold text, + a prominent weather icon beneath it, then the date (small text) + and temperature (medium text). All text must be centered with + consistent spacing, and may subtly overlap the tops of the buildings. + """.trimIndent() + + private val chat: Chat + + init { + val generativeModel = Firebase.ai( + backend = GenerativeBackend.googleAI() + ).generativeModel( + modelName = "gemini-3-pro-image-preview", + generationConfig = generationConfig { + responseModalities = listOf(ResponseModality.TEXT, ResponseModality.IMAGE) + } + ) + chat = generativeModel.startChat() + } + + override suspend fun performSendMessage(prompt: Content, currentMessages: List) { + val response = chat.sendMessage(prompt) + validateAndDisplayResponse(response, currentMessages) + } +} diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ImageGenerationViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt similarity index 94% rename from firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ImageGenerationViewModel.kt rename to firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt index 09c080215..b5b9ddf9a 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ImageGenerationViewModel.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt @@ -12,9 +12,9 @@ import com.google.firebase.ai.type.generationConfig import com.google.firebase.quickstart.ai.ui.UiChatMessage @Serializable -object ImageGenerationRoute +object NanoBananaRoute -class ImageGenerationViewModel : ChatViewModel() { +class NanoBananaViewModel : ChatViewModel() { override val initialPrompt: String = """ Hi, can you create a 3d rendered image of a pig diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index 73fc7949a..3b44409a0 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -20,16 +20,18 @@ import com.google.firebase.quickstart.ai.feature.text.AudioSummarizationRoute import com.google.firebase.quickstart.ai.feature.text.AudioSummarizationViewModel import com.google.firebase.quickstart.ai.feature.text.AudioTranslationRoute import com.google.firebase.quickstart.ai.feature.text.AudioTranslationViewModel -import com.google.firebase.quickstart.ai.feature.text.CourseRecommendationsRoute -import com.google.firebase.quickstart.ai.feature.text.CourseRecommendationsViewModel import com.google.firebase.quickstart.ai.feature.text.DocumentComparisonRoute import com.google.firebase.quickstart.ai.feature.text.DocumentComparisonViewModel import com.google.firebase.quickstart.ai.feature.text.GoogleSearchGroundingRoute import com.google.firebase.quickstart.ai.feature.text.GoogleSearchGroundingViewModel import com.google.firebase.quickstart.ai.feature.text.ImageBlogCreatorRoute import com.google.firebase.quickstart.ai.feature.text.ImageBlogCreatorViewModel -import com.google.firebase.quickstart.ai.feature.text.ImageGenerationRoute -import com.google.firebase.quickstart.ai.feature.text.ImageGenerationViewModel +import com.google.firebase.quickstart.ai.feature.text.NanoBanana2Route +import com.google.firebase.quickstart.ai.feature.text.NanoBanana2ViewModel +import com.google.firebase.quickstart.ai.feature.text.NanoBananaProRoute +import com.google.firebase.quickstart.ai.feature.text.NanoBananaProViewModel +import com.google.firebase.quickstart.ai.feature.text.NanoBananaRoute +import com.google.firebase.quickstart.ai.feature.text.NanoBananaViewModel import com.google.firebase.quickstart.ai.feature.text.ServerPromptTemplateRoute import com.google.firebase.quickstart.ai.feature.text.ServerPromptTemplateViewModel import com.google.firebase.quickstart.ai.feature.text.SvgRoute @@ -38,8 +40,6 @@ import com.google.firebase.quickstart.ai.feature.text.ThinkingChatRoute import com.google.firebase.quickstart.ai.feature.text.ThinkingChatViewModel import com.google.firebase.quickstart.ai.feature.text.TranslationRoute import com.google.firebase.quickstart.ai.feature.text.TranslationViewModel -import com.google.firebase.quickstart.ai.feature.text.TravelTipsRoute -import com.google.firebase.quickstart.ai.feature.text.TravelTipsViewModel import com.google.firebase.quickstart.ai.feature.text.VideoHashtagGeneratorRoute import com.google.firebase.quickstart.ai.feature.text.VideoHashtagGeneratorViewModel import com.google.firebase.quickstart.ai.feature.text.VideoSummarizationRoute @@ -121,11 +121,27 @@ val FIREBASE_AI_SAMPLES = listOf( categories = listOf(Category.IMAGEN) ), Sample( - title = "Gemini 2.5 Flash Image (aka nanobanana)", + title = "Gemini 3.1 Flash Image (Nano Banana 2)", + description = "Generate and/or edit images using Nano Banana 2", + route = NanoBanana2Route, + screenType = ScreenType.CHAT, + viewModelClass = NanoBanana2ViewModel::class, + categories = listOf(Category.NANO_BANANA) + ), + Sample( + title = "Gemini 3 Pro Image (Nano Banana Pro)", + description = "Generate and/or edit images using Nano Banana Pro", + route = NanoBananaProRoute, + screenType = ScreenType.CHAT, + viewModelClass = NanoBananaProViewModel::class, + categories = listOf(Category.NANO_BANANA) + ), + Sample( + title = "Gemini 2.5 Flash Image (Nano Banana)", description = "Generate and/or edit images using Gemini 2.5 Flash Image aka nanobanana", - route = ImageGenerationRoute, + route = NanoBananaRoute, screenType = ScreenType.CHAT, - viewModelClass = ImageGenerationViewModel::class, + viewModelClass = NanoBananaViewModel::class, categories = listOf(Category.NANO_BANANA) ), Sample( From 4366caf16f280b65a6c65694c89738676cf0a81c Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Fri, 13 Mar 2026 18:45:35 +0000 Subject: [PATCH 07/19] reorder a few samples --- .../ai/ui/navigation/FirebaseAISamples.kt | 52 +++++++++---------- .../quickstart/ai/ui/navigation/Sample.kt | 1 - 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index 3b44409a0..98a3bf256 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -138,7 +138,7 @@ val FIREBASE_AI_SAMPLES = listOf( ), Sample( title = "Gemini 2.5 Flash Image (Nano Banana)", - description = "Generate and/or edit images using Gemini 2.5 Flash Image aka nanobanana", + description = "Generate and/or edit images using Nano Banana", route = NanoBananaRoute, screenType = ScreenType.CHAT, viewModelClass = NanoBananaViewModel::class, @@ -169,6 +169,24 @@ val FIREBASE_AI_SAMPLES = listOf( viewModelClass = VideoSummarizationViewModel::class, categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), + Sample( + title = "Grounding with Google Search", + description = "Use Grounding with Google Search to get responses based on up-to-date information from the" + + " web.", + route = GoogleSearchGroundingRoute, + screenType = ScreenType.CHAT, + viewModelClass = GoogleSearchGroundingViewModel::class, + categories = listOf(Category.TOOLS_FC) + ), + Sample( + title = "Weather Chat", + description = "Use function calling to get the weather conditions" + + " for a specific US city on a specific date.", + route = WeatherChatRoute, + screenType = ScreenType.CHAT, + viewModelClass = WeatherChatViewModel::class, + categories = listOf(Category.TOOLS_FC) + ), Sample( title = "Gemini Live (audio input)", description = "Use bidirectional streaming to get information about" + @@ -188,22 +206,13 @@ val FIREBASE_AI_SAMPLES = listOf( categories = listOf(Category.LIVE_API, Category.TOOLS_FC) ), Sample( - title = "Weather Chat", - description = "Use function calling to get the weather conditions" + - " for a specific US city on a specific date.", - route = WeatherChatRoute, - screenType = ScreenType.CHAT, - viewModelClass = WeatherChatViewModel::class, - categories = listOf(Category.TOOLS_FC) - ), - Sample( - title = "Grounding with Google Search", - description = "Use Grounding with Google Search to get responses based on up-to-date information from the" + - " web.", - route = GoogleSearchGroundingRoute, - screenType = ScreenType.CHAT, - viewModelClass = GoogleSearchGroundingViewModel::class, - categories = listOf(Category.TOOLS_FC) + title = "Server Prompt Templates - Gemini", + description = "Generate an invoice using server prompt templates. Note that you need to setup the template" + + " in the Firebase console before running this demo.", + route = ServerPromptTemplateRoute, + screenType = ScreenType.SERVER_PROMPT, + viewModelClass = ServerPromptTemplateViewModel::class, + categories = listOf(Category.SERVER_PROMPTS), ), Sample( title = "Server Prompt Template - Imagen", @@ -214,15 +223,6 @@ val FIREBASE_AI_SAMPLES = listOf( viewModelClass = ImagenTemplateViewModel::class, categories = listOf(Category.SERVER_PROMPTS) ), - Sample( - title = "Server Prompt Templates - Gemini", - description = "Generate an invoice using server prompt templates. Note that you need to setup the template" + - " in the Firebase console before running this demo.", - route = ServerPromptTemplateRoute, - screenType = ScreenType.SERVER_PROMPT, - viewModelClass = ServerPromptTemplateViewModel::class, - categories = listOf(Category.SERVER_PROMPTS), - ), Sample( title = "Thinking", description = "Gemini 2.5 Flash with dynamic thinking", diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt index 5c6f65cab..3d1ec96e8 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt @@ -11,7 +11,6 @@ enum class Category( MULTIMODAL_UNDERSTANDING("Multimodal understanding"), TOOLS_FC("Tools and Function calling"), LIVE_API("Live API streaming"), - HYBRID_AI("Hybrid inference"), SERVER_PROMPTS("Server prompt templates"), IMAGEN("Imagen") } From 9054b2a59b13da4e98ab502f2d1cd45c3f735f8f Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Thu, 30 Apr 2026 02:07:49 +0100 Subject: [PATCH 08/19] reorder some samples --- .../ai/ui/navigation/FirebaseAISamples.kt | 62 +++++++++---------- .../ai/ui/navigation/MainMenuScreen.kt | 4 +- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index 9db64f01b..19bb7b45c 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -1,11 +1,11 @@ package com.google.firebase.quickstart.ai.ui.navigation -import com.google.firebase.quickstart.ai.feature.live.StreamAudioViewModel -import com.google.firebase.quickstart.ai.feature.live.StreamVideoViewModel import com.google.firebase.quickstart.ai.feature.hybrid.HybridInferenceRoute import com.google.firebase.quickstart.ai.feature.hybrid.HybridInferenceViewModel +import com.google.firebase.quickstart.ai.feature.live.StreamAudioViewModel import com.google.firebase.quickstart.ai.feature.live.StreamRealtimeAudioRoute import com.google.firebase.quickstart.ai.feature.live.StreamRealtimeVideoRoute +import com.google.firebase.quickstart.ai.feature.live.StreamVideoViewModel import com.google.firebase.quickstart.ai.feature.text.AudioSummarizationRoute import com.google.firebase.quickstart.ai.feature.text.AudioSummarizationViewModel import com.google.firebase.quickstart.ai.feature.text.AudioTranslationRoute @@ -46,6 +46,14 @@ val FIREBASE_AI_SAMPLES = listOf( viewModelClass = TranslationViewModel::class, categories = listOf(Category.GEMINI3) ), + Sample( + title = "SVG Generator", + description = "Use Gemini 3 Flash preview to create SVG illustrations", + route = SvgRoute, + screenType = ScreenType.SVG, + viewModelClass = SvgViewModel::class, + categories = listOf(Category.GEMINI3) + ), Sample( title = "Audio Summarization", description = "Use Gemini 3.1 Flash Lite to summarize an audio file", @@ -54,6 +62,22 @@ val FIREBASE_AI_SAMPLES = listOf( viewModelClass = AudioSummarizationViewModel::class, categories = listOf(Category.MULTIMODAL_UNDERSTANDING), ), + Sample( + title = "Summarize video", + description = "Summarize a video and extract important dialogue.", + route = VideoSummarizationRoute, + screenType = ScreenType.CHAT, + viewModelClass = VideoSummarizationViewModel::class, + categories = listOf(Category.MULTIMODAL_UNDERSTANDING) + ), + Sample( + title = "Thinking", + description = "Gemini 2.5 Flash with dynamic thinking", + route = ThinkingChatRoute, + screenType = ScreenType.CHAT, + viewModelClass = ThinkingChatViewModel::class, + categories = listOf(Category.MULTIMODAL_UNDERSTANDING) + ), Sample( title = "Translation from audio (Vertex AI)", description = "Translate an audio file stored in Cloud Storage", @@ -72,23 +96,23 @@ val FIREBASE_AI_SAMPLES = listOf( ), Sample( title = "Gemini 3.1 Flash Image (Nano Banana 2)", - description = "Generate and/or edit images using Nano Banana 2", + description = "Generate and/or edit images using Nano Banana 2 preview", route = NanoBanana2Route, screenType = ScreenType.CHAT, viewModelClass = NanoBanana2ViewModel::class, - categories = listOf(Category.NANO_BANANA) + categories = listOf(Category.NANO_BANANA, Category.GEMINI3) ), Sample( title = "Gemini 3 Pro Image (Nano Banana Pro)", - description = "Generate and/or edit images using Nano Banana Pro", + description = "Generate and/or edit images using Nano Banana Pro preview", route = NanoBananaProRoute, screenType = ScreenType.CHAT, viewModelClass = NanoBananaProViewModel::class, - categories = listOf(Category.NANO_BANANA) + categories = listOf(Category.NANO_BANANA, Category.GEMINI3) ), Sample( title = "Gemini 2.5 Flash Image (Nano Banana)", - description = "Generate and/or edit images using Nano Banana", + description = "Generate and/or edit images using Nano Banana (GA)", route = NanoBananaRoute, screenType = ScreenType.CHAT, viewModelClass = NanoBananaViewModel::class, @@ -111,14 +135,6 @@ val FIREBASE_AI_SAMPLES = listOf( viewModelClass = VideoHashtagGeneratorViewModel::class, categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), - Sample( - title = "Summarize video", - description = "Summarize a video and extract important dialogue.", - route = VideoSummarizationRoute, - screenType = ScreenType.CHAT, - viewModelClass = VideoSummarizationViewModel::class, - categories = listOf(Category.MULTIMODAL_UNDERSTANDING) - ), Sample( title = "Grounding with Google Search", description = "Use Grounding with Google Search to get responses based on up-to-date information from the" + @@ -164,22 +180,6 @@ val FIREBASE_AI_SAMPLES = listOf( viewModelClass = ServerPromptTemplateViewModel::class, categories = listOf(Category.SERVER_PROMPTS), ), - Sample( - title = "Thinking", - description = "Gemini 2.5 Flash with dynamic thinking", - route = ThinkingChatRoute, - screenType = ScreenType.CHAT, - viewModelClass = ThinkingChatViewModel::class, - categories = listOf(Category.MULTIMODAL_UNDERSTANDING) - ), - Sample( - title = "SVG Generator", - description = "Use Gemini 3 Flash preview to create SVG illustrations", - route = SvgRoute, - screenType = ScreenType.SVG, - viewModelClass = SvgViewModel::class, - categories = listOf(Category.GEMINI3) - ), Sample( title = "Hybrid Receipt Scanner", description = "Use hybrid inference to scan receipts and extract expense data on-device whenever possible.", diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt index 74a9f9689..003ec4849 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt @@ -35,7 +35,7 @@ fun MainMenuScreen( onSampleClicked: (Sample) -> Unit ) { MenuScreen( - filterTitle = "Filter by use case:", + filterTitle = "Filter:", filters = Category.entries.toList(), samples = FIREBASE_AI_SAMPLES, onSampleClicked = { @@ -57,7 +57,7 @@ fun MenuScreen( .padding(16.dp) ) { var selectedCategory by rememberSaveable { mutableStateOf(filters.first()) } - Text(text = filterTitle, style = MaterialTheme.typography.titleLarge) + Text(text = filterTitle, style = MaterialTheme.typography.titleMedium) LazyRow { items(filters) { capability -> FilterChip( From 5752f53bd5adb5fa1186688cad14cc65907da146 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Thu, 30 Apr 2026 02:32:41 +0100 Subject: [PATCH 09/19] adjust main menu UI padding --- .../quickstart/ai/ui/navigation/MainMenuScreen.kt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt index 003ec4849..5f138da5e 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt @@ -54,10 +54,14 @@ fun MenuScreen( Column( modifier = Modifier .fillMaxSize() - .padding(16.dp) + .padding(vertical = 16.dp) ) { var selectedCategory by rememberSaveable { mutableStateOf(filters.first()) } - Text(text = filterTitle, style = MaterialTheme.typography.titleMedium) + Text( + text = filterTitle, + style = MaterialTheme.typography.titleMedium, + modifier = Modifier.padding(horizontal = 16.dp) + ) LazyRow { items(filters) { capability -> FilterChip( @@ -77,21 +81,21 @@ fun MenuScreen( } else { null }, - modifier = Modifier.padding(end = 8.dp) + modifier = Modifier.padding(horizontal = 4.dp) ) } } Text( text = "Samples", style = MaterialTheme.typography.titleLarge, - modifier = Modifier.padding(top = 16.dp) + modifier = Modifier.padding(top = 16.dp, start = 16.dp, end = 16.dp) ) val filteredSamples = samples.filter { it.categories.contains(selectedCategory) } LazyVerticalGrid( columns = GridCells.Adaptive(MIN_CARD_SIZE), - modifier = Modifier + modifier = Modifier.padding(horizontal = 16.dp) ) { items(filteredSamples) { sample -> SampleItem(sample.title, sample.description, onItemClicked = { From e9a0c85217c3071cbdff46db8662ad0a505e4c92 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Thu, 30 Apr 2026 02:57:18 +0100 Subject: [PATCH 10/19] update README.md --- firebase-ai/README.md | 52 +++++++++++++++++++++--------------- firebase-ai/docs/result.png | Bin 0 -> 42159 bytes 2 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 firebase-ai/docs/result.png diff --git a/firebase-ai/README.md b/firebase-ai/README.md index 5ae40900b..b508e2cbf 100644 --- a/firebase-ai/README.md +++ b/firebase-ai/README.md @@ -5,6 +5,8 @@ generative AI models (like Gemini) to build AI-powered features and applications For more information about Firebase AI Logic, visit the [documentation](http://firebase.google.com/docs/ai-logic). +Screenshot + ## Setup & Configuration ### Prerequisites @@ -25,33 +27,41 @@ To try out this sample app, you need to use latest stable version of Android Stu You can find the implementation for each feature by clicking on the links below: -### Text / Chat -- [Travel tips](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TravelTipsViewModel.kt): The user wants the model to help a new traveler with travel tips -- [Chatbot recommendations for courses](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/CourseRecommendationsViewModel.kt): A chatbot suggests courses for a performing arts program. -- [Weather Chat](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/WeatherChatViewModel.kt): Use function calling to get the weather conditions for a specific US city on a specific date. -- [Grounding with Google Search](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/GoogleSearchGroundingViewModel.kt): Use Grounding with Google Search to get responses based on up-to-date information from the web. -- [Thinking](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ThinkingChatViewModel.kt): Gemini 2.5 Flash with dynamic thinking -- [Server Prompt Templates - Gemini](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ServerPromptTemplateViewModel.kt): Generate an invoice using server prompt templates. - -### Image analysis / generation -- [Gemini 2.5 Flash Image (aka nanobanana)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ImageGenerationViewModel.kt): Generate and/or edit images using Gemini 2.5 Flash Image aka nanobanana +### Gemini 3 +- [Translate text](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt): Use Gemini 3.1 Flash-Lite to translate text - [SVG Generator](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt): Use Gemini 3 Flash preview to create SVG illustrations -- [Blog post creator (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ImageBlogCreatorViewModel.kt): Create a blog post from an image file stored in Cloud Storage. +- [Gemini 3.1 Flash Image (Nano Banana 2)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2 preview +- [Gemini 3 Pro Image (Nano Banana Pro)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt): Generate and/or edit images using Nano Banana Pro preview -### Audio analysis -- [Audio Summarization](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioSummarizationViewModel.kt): Summarize an audio file -- [Translation from audio (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioTranslationViewModel.kt): Translate an audio file stored in Cloud Storage +### Nano Banana +- [Gemini 3.1 Flash Image (Nano Banana 2)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2 preview +- [Gemini 3 Pro Image (Nano Banana Pro)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt): Generate and/or edit images using Nano Banana Pro preview +- [Gemini 2.5 Flash Image (Nano Banana)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt): Generate and/or edit images using Nano Banana (GA) -### Video analysis -- [Hashtags for a video (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/VideoHashtagGeneratorViewModel.kt): Generate hashtags for a video ad stored in Cloud Storage +### Multimodal understanding +- [Audio Summarization](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioSummarizationViewModel.kt): Use Gemini 3.1 Flash Lite to summarize an audio file - [Summarize video](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/VideoSummarizationViewModel.kt): Summarize a video and extract important dialogue. +- [Thinking](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ThinkingChatViewModel.kt): Gemini 2.5 Flash with dynamic thinking +- [Translation from audio (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioTranslationViewModel.kt): Translate an audio file stored in Cloud Storage +- [Blog post creator (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ImageBlogCreatorViewModel.kt): Create a blog post from an image file stored in Cloud Storage. +- [Document comparison (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/DocumentComparisonViewModel.kt): Compare the contents of 2 documents. +- [Hashtags for a video (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/VideoHashtagGeneratorViewModel.kt): Generate hashtags for a video ad stored in Cloud Storage -### Live API (Real-time bidrectional streaming) -- [ForecastTalk](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamAudioViewModel.kt): Use bidirectional streaming to get information about weather conditions -- [Gemini Live (Video input)](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamVideoViewModel.kt): Use bidirectional streaming to chat with Gemini using your phone's camera +### Tools and Function calling +- [Grounding with Google Search](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/GoogleSearchGroundingViewModel.kt): Use Grounding with Google Search to get responses based on up-to-date information from the web. +- [Weather Chat](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/WeatherChatViewModel.kt): Use function calling to get the weather conditions for a specific US city on a specific date. +- [Gemini Live (audio input)](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamAudioViewModel.kt): Use bidirectional streaming to get information about weather conditions for a specific US city on a specific date +- [Gemini Live (video input)](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamVideoViewModel.kt): Use bidirectional streaming to chat with Gemini using your phone's camera + +### Live API streaming +- [Gemini Live (audio input)](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamAudioViewModel.kt): Use bidirectional streaming to get information about weather conditions for a specific US city on a specific date +- [Gemini Live (video input)](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamVideoViewModel.kt): Use bidirectional streaming to chat with Gemini using your phone's camera + +### Server prompt templates +- [Server Prompt Templates - Gemini](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ServerPromptTemplateViewModel.kt): Generate an invoice using server prompt templates. -### Document (PDFs) analysis -- [Document comparison (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/DocumentComparisonViewModel.kt): Compare the contents of 2 documents in Cloud Storage. +### Hybrid inference +- [Hybrid Receipt Scanner](app/src/main/java/com/google/firebase/quickstart/ai/feature/hybrid/HybridInferenceViewModel.kt): Use hybrid inference to scan receipts and extract expense data on-device whenever possible. ## All samples diff --git a/firebase-ai/docs/result.png b/firebase-ai/docs/result.png new file mode 100644 index 0000000000000000000000000000000000000000..43c03beecf2b49895fb42746d8c505fc0e07935f GIT binary patch literal 42159 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 literal 0 HcmV?d00001 From db9fb03c78cae54159600f4342bb747be2f25715 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Thu, 30 Apr 2026 03:03:39 +0100 Subject: [PATCH 11/19] Function --> function --- firebase-ai/README.md | 2 +- .../com/google/firebase/quickstart/ai/ui/navigation/Sample.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/firebase-ai/README.md b/firebase-ai/README.md index b508e2cbf..625ea6cf6 100644 --- a/firebase-ai/README.md +++ b/firebase-ai/README.md @@ -47,7 +47,7 @@ You can find the implementation for each feature by clicking on the links below: - [Document comparison (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/DocumentComparisonViewModel.kt): Compare the contents of 2 documents. - [Hashtags for a video (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/VideoHashtagGeneratorViewModel.kt): Generate hashtags for a video ad stored in Cloud Storage -### Tools and Function calling +### Tools and function calling - [Grounding with Google Search](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/GoogleSearchGroundingViewModel.kt): Use Grounding with Google Search to get responses based on up-to-date information from the web. - [Weather Chat](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/WeatherChatViewModel.kt): Use function calling to get the weather conditions for a specific US city on a specific date. - [Gemini Live (audio input)](app/src/main/java/com/google/firebase/quickstart/ai/feature/live/StreamAudioViewModel.kt): Use bidirectional streaming to get information about weather conditions for a specific US city on a specific date diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt index a1f395942..d800f0184 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/Sample.kt @@ -9,7 +9,7 @@ enum class Category( GEMINI3("Gemini 3"), NANO_BANANA("Nano Banana"), MULTIMODAL_UNDERSTANDING("Multimodal understanding"), - TOOLS_FC("Tools and Function calling"), + TOOLS_FC("Tools and function calling"), LIVE_API("Live API streaming"), SERVER_PROMPTS("Server prompt templates"), HYBRID("Hybrid inference") From b6cf3e8a1b99577e66f99584c5079ce125bb185d Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Thu, 30 Apr 2026 03:18:56 +0100 Subject: [PATCH 12/19] more padding adjustments --- firebase-ai/README.md | 2 +- .../firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt | 3 +-- .../firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/firebase-ai/README.md b/firebase-ai/README.md index 625ea6cf6..37e53fee4 100644 --- a/firebase-ai/README.md +++ b/firebase-ai/README.md @@ -44,7 +44,7 @@ You can find the implementation for each feature by clicking on the links below: - [Thinking](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ThinkingChatViewModel.kt): Gemini 2.5 Flash with dynamic thinking - [Translation from audio (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioTranslationViewModel.kt): Translate an audio file stored in Cloud Storage - [Blog post creator (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ImageBlogCreatorViewModel.kt): Create a blog post from an image file stored in Cloud Storage. -- [Document comparison (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/DocumentComparisonViewModel.kt): Compare the contents of 2 documents. +- [Document comparison (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/DocumentComparisonViewModel.kt): Compare the contents of 2 documents stored in Cloud Storage. - [Hashtags for a video (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/VideoHashtagGeneratorViewModel.kt): Generate hashtags for a video ad stored in Cloud Storage ### Tools and function calling diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index 19bb7b45c..1d836753a 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -120,8 +120,7 @@ val FIREBASE_AI_SAMPLES = listOf( ), Sample( title = "Document comparison (Vertex AI)", - description = "Compare the contents of 2 documents." + - " Only supported by the Vertex AI Gemini API because the documents are stored in Cloud Storage", + description = "Compare the contents of 2 documents stored in Cloud Storage", route = DocumentComparisonRoute, screenType = ScreenType.CHAT, viewModelClass = DocumentComparisonViewModel::class, diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt index 5f138da5e..f3af6e0ba 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt @@ -54,7 +54,7 @@ fun MenuScreen( Column( modifier = Modifier .fillMaxSize() - .padding(vertical = 16.dp) + .padding(top = 16.dp) ) { var selectedCategory by rememberSaveable { mutableStateOf(filters.first()) } Text( @@ -88,7 +88,7 @@ fun MenuScreen( Text( text = "Samples", style = MaterialTheme.typography.titleLarge, - modifier = Modifier.padding(top = 16.dp, start = 16.dp, end = 16.dp) + modifier = Modifier.padding(all = 16.dp) ) val filteredSamples = samples.filter { it.categories.contains(selectedCategory) From 254f9b744aa2e12aee569480f9457425aea4df7b Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Thu, 30 Apr 2026 03:25:30 +0100 Subject: [PATCH 13/19] remove text labels Keeps it Simple :) --- .../ai/ui/navigation/MainMenuScreen.kt | 12 +----------- firebase-ai/docs/result.png | Bin 42159 -> 39715 bytes 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt index f3af6e0ba..33e182cbc 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt @@ -57,11 +57,6 @@ fun MenuScreen( .padding(top = 16.dp) ) { var selectedCategory by rememberSaveable { mutableStateOf(filters.first()) } - Text( - text = filterTitle, - style = MaterialTheme.typography.titleMedium, - modifier = Modifier.padding(horizontal = 16.dp) - ) LazyRow { items(filters) { capability -> FilterChip( @@ -85,17 +80,12 @@ fun MenuScreen( ) } } - Text( - text = "Samples", - style = MaterialTheme.typography.titleLarge, - modifier = Modifier.padding(all = 16.dp) - ) val filteredSamples = samples.filter { it.categories.contains(selectedCategory) } LazyVerticalGrid( columns = GridCells.Adaptive(MIN_CARD_SIZE), - modifier = Modifier.padding(horizontal = 16.dp) + modifier = Modifier.padding(start = 16.dp, end = 16.dp, top = 16.dp) ) { items(filteredSamples) { sample -> SampleItem(sample.title, sample.description, onItemClicked = { diff --git a/firebase-ai/docs/result.png b/firebase-ai/docs/result.png index 43c03beecf2b49895fb42746d8c505fc0e07935f..3c32b870df680c0f41ddd8a29b631563fce4359f 100644 GIT binary patch literal 39715 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 From bb925d631ef2d66c662112e0a61736281bb71f86 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Thu, 30 Apr 2026 03:30:28 +0100 Subject: [PATCH 14/19] more padding adjustments --- .../firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt index 33e182cbc..1d08e3701 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt @@ -54,10 +54,11 @@ fun MenuScreen( Column( modifier = Modifier .fillMaxSize() - .padding(top = 16.dp) ) { var selectedCategory by rememberSaveable { mutableStateOf(filters.first()) } - LazyRow { + LazyRow( + modifier = Modifier.padding(vertical = 8.dp) + ) { items(filters) { capability -> FilterChip( onClick = { selectedCategory = capability }, @@ -85,7 +86,7 @@ fun MenuScreen( } LazyVerticalGrid( columns = GridCells.Adaptive(MIN_CARD_SIZE), - modifier = Modifier.padding(start = 16.dp, end = 16.dp, top = 16.dp) + modifier = Modifier.padding(horizontal = 16.dp) ) { items(filteredSamples) { sample -> SampleItem(sample.title, sample.description, onItemClicked = { From 857c64a66e9b97ba1f6e58350cf03a0f3e3375ab Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Tue, 19 May 2026 21:21:12 +0100 Subject: [PATCH 15/19] refactor(ai): use gemini-3.5-flash to generate SVGs --- .../firebase/quickstart/ai/feature/text/SvgViewModel.kt | 5 +++-- .../quickstart/ai/ui/navigation/FirebaseAISamples.kt | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt index bc6b4d7e2..0601d20c1 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt @@ -8,6 +8,7 @@ import com.google.firebase.Firebase import com.google.firebase.ai.GenerativeModel import com.google.firebase.ai.ai import com.google.firebase.ai.type.GenerativeBackend +import com.google.firebase.ai.type.ThinkingLevel import com.google.firebase.ai.type.content import com.google.firebase.ai.type.generationConfig import com.google.firebase.ai.type.thinkingConfig @@ -31,7 +32,7 @@ class SvgViewModel : ViewModel() { generativeModel = Firebase.ai( backend = GenerativeBackend.googleAI() ).generativeModel( - modelName = "gemini-3-flash-preview", + modelName = "gemini-3.5-flash", systemInstruction = content { text( """ @@ -45,7 +46,7 @@ class SvgViewModel : ViewModel() { }, generationConfig = generationConfig { thinkingConfig { - thinkingBudget = -1 + thinkingLevel = ThinkingLevel.HIGH } } ) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index 1d836753a..ef20eb9ff 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -48,7 +48,7 @@ val FIREBASE_AI_SAMPLES = listOf( ), Sample( title = "SVG Generator", - description = "Use Gemini 3 Flash preview to create SVG illustrations", + description = "Use Gemini 3.5 Flash to create SVG illustrations", route = SvgRoute, screenType = ScreenType.SVG, viewModelClass = SvgViewModel::class, From 46789677116e8a721a98b233f7aaff40945231af Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Tue, 19 May 2026 21:27:05 +0100 Subject: [PATCH 16/19] refactor(ai): remove gemini-2.5-flash example --- firebase-ai/README.md | 3 +- .../ai/feature/text/ThinkingChatViewModel.kt | 42 ------------------- .../ai/ui/navigation/FirebaseAISamples.kt | 10 ----- 3 files changed, 1 insertion(+), 54 deletions(-) delete mode 100644 firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ThinkingChatViewModel.kt diff --git a/firebase-ai/README.md b/firebase-ai/README.md index 37e53fee4..c6cd38bb9 100644 --- a/firebase-ai/README.md +++ b/firebase-ai/README.md @@ -29,7 +29,7 @@ You can find the implementation for each feature by clicking on the links below: ### Gemini 3 - [Translate text](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/TranslationViewModel.kt): Use Gemini 3.1 Flash-Lite to translate text -- [SVG Generator](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt): Use Gemini 3 Flash preview to create SVG illustrations +- [SVG Generator](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt): Use Gemini 3.5 Flash to create SVG illustrations - [Gemini 3.1 Flash Image (Nano Banana 2)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBanana2ViewModel.kt): Generate and/or edit images using Nano Banana 2 preview - [Gemini 3 Pro Image (Nano Banana Pro)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaProViewModel.kt): Generate and/or edit images using Nano Banana Pro preview @@ -41,7 +41,6 @@ You can find the implementation for each feature by clicking on the links below: ### Multimodal understanding - [Audio Summarization](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioSummarizationViewModel.kt): Use Gemini 3.1 Flash Lite to summarize an audio file - [Summarize video](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/VideoSummarizationViewModel.kt): Summarize a video and extract important dialogue. -- [Thinking](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ThinkingChatViewModel.kt): Gemini 2.5 Flash with dynamic thinking - [Translation from audio (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/AudioTranslationViewModel.kt): Translate an audio file stored in Cloud Storage - [Blog post creator (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ImageBlogCreatorViewModel.kt): Create a blog post from an image file stored in Cloud Storage. - [Document comparison (Vertex AI)](app/src/main/java/com/google/firebase/quickstart/ai/feature/text/DocumentComparisonViewModel.kt): Compare the contents of 2 documents stored in Cloud Storage. diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ThinkingChatViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ThinkingChatViewModel.kt deleted file mode 100644 index 8b59f9e2a..000000000 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/ThinkingChatViewModel.kt +++ /dev/null @@ -1,42 +0,0 @@ -package com.google.firebase.quickstart.ai.feature.text - -import kotlinx.serialization.Serializable - -import com.google.firebase.Firebase -import com.google.firebase.ai.Chat -import com.google.firebase.ai.ai -import com.google.firebase.ai.type.Content -import com.google.firebase.ai.type.GenerativeBackend -import com.google.firebase.ai.type.generationConfig -import com.google.firebase.ai.type.thinkingConfig -import com.google.firebase.quickstart.ai.ui.UiChatMessage - -@Serializable -object ThinkingChatRoute - -class ThinkingChatViewModel : ChatViewModel() { - - override val initialPrompt: String = "Analogize photosynthesis and growing up." - - private val chat: Chat - - init { - val generativeModel = Firebase.ai( - backend = GenerativeBackend.googleAI() - ).generativeModel( - modelName = "gemini-2.5-flash", - generationConfig = generationConfig { - thinkingConfig = thinkingConfig { - includeThoughts = true - thinkingBudget = -1 // Dynamic Thinking - } - } - ) - chat = generativeModel.startChat() - } - - override suspend fun performSendMessage(prompt: Content, currentMessages: List) { - val response = chat.sendMessage(prompt) - validateAndDisplayResponse(response, currentMessages) - } -} diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index ef20eb9ff..66adb0c14 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt @@ -26,8 +26,6 @@ import com.google.firebase.quickstart.ai.feature.text.ServerPromptTemplateRoute import com.google.firebase.quickstart.ai.feature.text.ServerPromptTemplateViewModel import com.google.firebase.quickstart.ai.feature.text.SvgRoute import com.google.firebase.quickstart.ai.feature.text.SvgViewModel -import com.google.firebase.quickstart.ai.feature.text.ThinkingChatRoute -import com.google.firebase.quickstart.ai.feature.text.ThinkingChatViewModel import com.google.firebase.quickstart.ai.feature.text.TranslationRoute import com.google.firebase.quickstart.ai.feature.text.TranslationViewModel import com.google.firebase.quickstart.ai.feature.text.VideoHashtagGeneratorRoute @@ -70,14 +68,6 @@ val FIREBASE_AI_SAMPLES = listOf( viewModelClass = VideoSummarizationViewModel::class, categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), - Sample( - title = "Thinking", - description = "Gemini 2.5 Flash with dynamic thinking", - route = ThinkingChatRoute, - screenType = ScreenType.CHAT, - viewModelClass = ThinkingChatViewModel::class, - categories = listOf(Category.MULTIMODAL_UNDERSTANDING) - ), Sample( title = "Translation from audio (Vertex AI)", description = "Translate an audio file stored in Cloud Storage", From 665d57aef83855ff5f811f27aff30569ab00c563 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Tue, 19 May 2026 21:35:29 +0100 Subject: [PATCH 17/19] update screenshot --- firebase-ai/docs/result.png | Bin 39715 -> 124556 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/firebase-ai/docs/result.png b/firebase-ai/docs/result.png index 3c32b870df680c0f41ddd8a29b631563fce4359f..0e47c5158f475c5564533b04c11f50ec4278b59c 100644 GIT binary patch literal 124556 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 Y|2NmLA>Hg}x&QzG07*qoM6N<$f<`~If&c&j literal 39715 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 Date: Tue, 19 May 2026 21:50:09 +0100 Subject: [PATCH 18/19] fix SVG generation --- .../firebase/quickstart/ai/feature/text/SvgViewModel.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt index 0601d20c1..4f4d4e169 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt @@ -1,5 +1,6 @@ package com.google.firebase.quickstart.ai.feature.text +import android.util.Log import kotlinx.serialization.Serializable import androidx.lifecycle.ViewModel @@ -59,6 +60,10 @@ class SvgViewModel : ViewModel() { try { val response = generativeModel.generateContent(prompt) val newSvg = response.text + // Remove the ```xml [...] ``` around the svg + ?.replace("```xml", "") + ?.replace("```", "") + ?.trimIndent() if (newSvg != null) { _uiState.value = SvgUiState.Success(listOf(newSvg) + currentSvgs) } else { From 7992c56bff078dedf25ff9e4a977a6b3fe3b0dd5 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Tue, 19 May 2026 22:04:28 +0100 Subject: [PATCH 19/19] address gemini feedback --- .../firebase/quickstart/ai/feature/text/SvgViewModel.kt | 5 ++--- .../firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt | 2 -- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt index 4f4d4e169..130fa7e9b 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/SvgViewModel.kt @@ -1,6 +1,5 @@ package com.google.firebase.quickstart.ai.feature.text -import android.util.Log import kotlinx.serialization.Serializable import androidx.lifecycle.ViewModel @@ -61,8 +60,8 @@ class SvgViewModel : ViewModel() { val response = generativeModel.generateContent(prompt) val newSvg = response.text // Remove the ```xml [...] ``` around the svg - ?.replace("```xml", "") - ?.replace("```", "") + ?.removePrefix("```xml") + ?.removeSuffix("```") ?.trimIndent() if (newSvg != null) { _uiState.value = SvgUiState.Success(listOf(newSvg) + currentSvgs) diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt index 1d08e3701..c34d0f89e 100644 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt +++ b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/MainMenuScreen.kt @@ -35,7 +35,6 @@ fun MainMenuScreen( onSampleClicked: (Sample) -> Unit ) { MenuScreen( - filterTitle = "Filter:", filters = Category.entries.toList(), samples = FIREBASE_AI_SAMPLES, onSampleClicked = { @@ -46,7 +45,6 @@ fun MainMenuScreen( @Composable fun MenuScreen( - filterTitle: String, filters: List, samples: List, onSampleClicked: (sample: Sample) -> Unit = {}