File tree Expand file tree Collapse file tree 3 files changed +27
-10
lines changed
firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai Expand file tree Collapse file tree 3 files changed +27
-10
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,6 @@ import com.google.firebase.FirebaseApp
2121import com.google.firebase.app
2222import com.google.firebase.vertexai.type.Content
2323import com.google.firebase.vertexai.type.GenerationConfig
24- import com.google.firebase.vertexai.type.GenerativeBackend
2524import com.google.firebase.vertexai.type.ImagenGenerationConfig
2625import com.google.firebase.vertexai.type.ImagenSafetySettings
2726import com.google.firebase.vertexai.type.PublicPreviewAPI
@@ -94,7 +93,7 @@ public class FirebaseGoogleAI internal constructor(private val proxy: FirebaseVe
9493 @JvmStatic
9594 public fun getInstance (app : FirebaseApp = Firebase .app): FirebaseGoogleAI {
9695 val multiResourceComponent = app[FirebaseVertexAIMultiResourceComponent ::class .java]
97- return FirebaseGoogleAI ( multiResourceComponent.get( GenerativeBackend . GOOGLE_AI , " UNUSED " ) )
96+ return multiResourceComponent.getGoogle( )
9897 }
9998 }
10099}
Original file line number Diff line number Diff line change @@ -147,7 +147,7 @@ internal constructor(
147147 @JvmOverloads
148148 public fun getInstance (app : FirebaseApp = Firebase .app, location : String ): FirebaseVertexAI {
149149 val multiResourceComponent = app[FirebaseVertexAIMultiResourceComponent ::class .java]
150- return multiResourceComponent.get( GenerativeBackend . VERTEX_AI , location)
150+ return multiResourceComponent.getVertex( location)
151151 }
152152 }
153153}
Original file line number Diff line number Diff line change @@ -31,21 +31,39 @@ import com.google.firebase.vertexai.type.GenerativeBackend
3131internal class FirebaseVertexAIMultiResourceComponent (
3232 private val app : FirebaseApp ,
3333 private val appCheckProvider : Provider <InteropAppCheckTokenProvider >,
34- private val internalAuthProvider : Provider <InternalAuthProvider >
34+ private val internalAuthProvider : Provider <InternalAuthProvider >,
3535) {
3636
37- @GuardedBy(" this" ) private val instances: MutableMap <String , FirebaseVertexAI > = mutableMapOf ()
37+ @GuardedBy(" this" )
38+ private val vertexInstances: MutableMap <String , FirebaseVertexAI > = mutableMapOf ()
3839
39- fun get (generativeBackend : GenerativeBackend , location : String ): FirebaseVertexAI =
40+ @GuardedBy(" this" ) private val googleInstance: MutableList <FirebaseGoogleAI > = mutableListOf ()
41+
42+ fun getVertex (location : String ): FirebaseVertexAI =
4043 synchronized(this ) {
41- instances [location]
44+ vertexInstances [location]
4245 ? : FirebaseVertexAI (
4346 app,
44- generativeBackend ,
47+ GenerativeBackend . VERTEX_AI ,
4548 location,
4649 appCheckProvider,
47- internalAuthProvider
50+ internalAuthProvider,
51+ )
52+ .also { vertexInstances[location] = it }
53+ }
54+
55+ fun getGoogle (): FirebaseGoogleAI =
56+ synchronized(this ) {
57+ googleInstance.getOrNull(0 )
58+ ? : FirebaseGoogleAI (
59+ FirebaseVertexAI (
60+ app,
61+ GenerativeBackend .GOOGLE_AI ,
62+ " UNUSED" ,
63+ appCheckProvider,
64+ internalAuthProvider,
65+ )
4866 )
49- .also { instances[location] = it }
67+ .also { googleInstance.add(it) }
5068 }
5169}
You can’t perform that action at this time.
0 commit comments