From 1aeb88070c42c6466053a8b9db8a1380e1130780 Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Tue, 6 Oct 2026 18:11:07 +0200 Subject: [PATCH 1/2] delete gemini-2.5-flash-image sample --- .../ai/feature/text/NanoBananaViewModel.kt | 43 ------------------- .../ai/ui/navigation/FirebaseAISamples.kt | 10 ----- 2 files changed, 53 deletions(-) delete mode 100644 firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt diff --git a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt deleted file mode 100644 index b5b9ddf9a7..0000000000 --- a/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/feature/text/NanoBananaViewModel.kt +++ /dev/null @@ -1,43 +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.ResponseModality -import com.google.firebase.ai.type.generationConfig -import com.google.firebase.quickstart.ai.ui.UiChatMessage - -@Serializable -object NanoBananaRoute - -class NanoBananaViewModel : ChatViewModel() { - - override val initialPrompt: String = """ - Hi, can you create a 3d rendered image of a pig - with wings and a top hat flying over a happy - futuristic scifi city with lots of greenery? - """.trimIndent() - - private val chat: Chat - - init { - val generativeModel = Firebase.ai( - backend = GenerativeBackend.googleAI() - ).generativeModel( - modelName = "gemini-2.5-flash-image", - 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/ui/navigation/FirebaseAISamples.kt b/firebase-ai/app/src/main/java/com/google/firebase/quickstart/ai/ui/navigation/FirebaseAISamples.kt index 8f6f7b4aad..bca1277a1e 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 @@ -24,8 +24,6 @@ import com.google.firebase.quickstart.ai.feature.text.NanoBananaLiteRoute import com.google.firebase.quickstart.ai.feature.text.NanoBananaLiteViewModel 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 @@ -112,14 +110,6 @@ val FIREBASE_AI_SAMPLES = listOf( viewModelClass = NanoBananaProViewModel::class, 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", - route = NanoBananaRoute, - screenType = ScreenType.CHAT, - viewModelClass = NanoBananaViewModel::class, - categories = listOf(Category.NANO_BANANA) - ), Sample( title = "Document comparison (Agent Platform)", description = "Compare the contents of 2 documents stored in Cloud Storage", From 9dd9eeee6a605d402c562083e58c03ada1fb348b Mon Sep 17 00:00:00 2001 From: Rosario Fernandes Date: Tue, 6 Oct 2026 18:16:50 +0200 Subject: [PATCH 2/2] add Gemini Nano Banana 2.1 sample --- .../ai/feature/text/NanoBanana2ViewModel.kt | 2 +- .../ai/ui/navigation/FirebaseAISamples.kt | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) 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 index bf04895bc8..8badb33bf3 100644 --- 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 @@ -40,7 +40,7 @@ class NanoBanana2ViewModel : ChatViewModel() { val generativeModel = Firebase.ai( backend = GenerativeBackend.googleAI() ).generativeModel( - modelName = "gemini-3.1-flash-image", + modelName = "gemini-nano-banana-2.1", generationConfig = generationConfig { responseModalities = listOf(ResponseModality.TEXT, ResponseModality.IMAGE) // Optionally specify additional configuration 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 bca1277a1e..5805180ee9 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 @@ -87,23 +87,23 @@ val FIREBASE_AI_SAMPLES = listOf( categories = listOf(Category.MULTIMODAL_UNDERSTANDING) ), Sample( - title = "Gemini 3.1 Flash Image Lite (Nano Banana Lite)", - description = "Generate and/or edit images using Nano Banana Lite", - route = NanoBananaLiteRoute, + title = "Gemini Nano Banana 2.1", + description = "Generate and/or edit images using Nano Banana 2.1", + route = NanoBanana2Route, screenType = ScreenType.CHAT, - viewModelClass = NanoBananaLiteViewModel::class, + viewModelClass = NanoBanana2ViewModel::class, categories = listOf(Category.NANO_BANANA, Category.GEMINI3) ), Sample( - title = "Gemini 3.1 Flash Image (Nano Banana 2)", - description = "Generate and/or edit images using Nano Banana 2", - route = NanoBanana2Route, + title = "Nano Banana 2 Lite (Gemini 3.1 Flash Image Lite)", + description = "Generate and/or edit images using Nano Banana 2 Lite", + route = NanoBananaLiteRoute, screenType = ScreenType.CHAT, - viewModelClass = NanoBanana2ViewModel::class, + viewModelClass = NanoBananaLiteViewModel::class, categories = listOf(Category.NANO_BANANA, Category.GEMINI3) ), Sample( - title = "Gemini 3 Pro Image (Nano Banana Pro)", + title = "Nano Banana Pro (Gemini 3 Pro Image)", description = "Generate and/or edit images using Nano Banana Pro", route = NanoBananaProRoute, screenType = ScreenType.CHAT,