Skip to content

Commit 37d2b70

Browse files
author
David Motsonashvili
committed
remerge main
1 parent 1c56f97 commit 37d2b70

File tree

87 files changed

+896
-7186
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+896
-7186
lines changed

firebase-ai/api.txt

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ package com.google.firebase.ai.java {
115115
}
116116

117117
@com.google.firebase.ai.type.PublicPreviewAPI public abstract class LiveModelFutures {
118-
method public abstract com.google.common.util.concurrent.ListenableFuture<com.google.firebase.ai.type.LiveSession> connect();
118+
method public abstract com.google.common.util.concurrent.ListenableFuture<com.google.firebase.ai.java.LiveSessionFutures> connect();
119119
method public static final com.google.firebase.ai.java.LiveModelFutures from(com.google.firebase.ai.LiveGenerativeModel model);
120120
field public static final com.google.firebase.ai.java.LiveModelFutures.Companion Companion;
121121
}
@@ -132,8 +132,9 @@ package com.google.firebase.ai.java {
132132
method public abstract com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> send(String text);
133133
method public abstract com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> sendFunctionResponse(java.util.List<com.google.firebase.ai.type.FunctionResponsePart> functionList);
134134
method public abstract com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> sendMediaStream(java.util.List<com.google.firebase.ai.type.MediaData> mediaChunks);
135+
method @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public abstract com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> startAudioConversation();
135136
method public abstract com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> startAudioConversation(kotlin.jvm.functions.Function1<? super com.google.firebase.ai.type.FunctionCallPart,com.google.firebase.ai.type.FunctionResponsePart>? functionCallHandler);
136-
method public abstract com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> stopAudioConversation();
137+
method @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public abstract com.google.common.util.concurrent.ListenableFuture<kotlin.Unit> stopAudioConversation();
137138
method public abstract void stopReceiving();
138139
field public static final com.google.firebase.ai.java.LiveSessionFutures.Companion Companion;
139140
}
@@ -146,7 +147,7 @@ package com.google.firebase.ai.java {
146147

147148
package com.google.firebase.ai.type {
148149

149-
public final class AudioRecordInitializationFailedException extends com.google.firebase.ai.type.FirebaseVertexAIException {
150+
public final class AudioRecordInitializationFailedException extends com.google.firebase.ai.type.FirebaseAIException {
150151
ctor public AudioRecordInitializationFailedException(String message);
151152
}
152153

@@ -223,7 +224,7 @@ package com.google.firebase.ai.type {
223224
property public final String? role;
224225
}
225226

226-
public final class ContentBlockedException extends com.google.firebase.ai.type.FirebaseVertexAIException {
227+
public final class ContentBlockedException extends com.google.firebase.ai.type.FirebaseAIException {
227228
}
228229

229230
public final class ContentKt {
@@ -287,7 +288,7 @@ package com.google.firebase.ai.type {
287288
public static final class FinishReason.Companion {
288289
}
289290

290-
public abstract class FirebaseVertexAIException extends java.lang.RuntimeException {
291+
public abstract class FirebaseAIException extends java.lang.RuntimeException {
291292
}
292293

293294
public final class FunctionCallPart implements com.google.firebase.ai.type.Part {
@@ -397,6 +398,7 @@ package com.google.firebase.ai.type {
397398
field public static final com.google.firebase.ai.type.HarmBlockThreshold LOW_AND_ABOVE;
398399
field public static final com.google.firebase.ai.type.HarmBlockThreshold MEDIUM_AND_ABOVE;
399400
field public static final com.google.firebase.ai.type.HarmBlockThreshold NONE;
401+
field public static final com.google.firebase.ai.type.HarmBlockThreshold OFF;
400402
field public static final com.google.firebase.ai.type.HarmBlockThreshold ONLY_HIGH;
401403
}
402404

@@ -565,13 +567,13 @@ package com.google.firebase.ai.type {
565567
property public final String mimeType;
566568
}
567569

568-
public final class InvalidAPIKeyException extends com.google.firebase.ai.type.FirebaseVertexAIException {
570+
public final class InvalidAPIKeyException extends com.google.firebase.ai.type.FirebaseAIException {
569571
}
570572

571-
public final class InvalidLocationException extends com.google.firebase.ai.type.FirebaseVertexAIException {
573+
public final class InvalidLocationException extends com.google.firebase.ai.type.FirebaseAIException {
572574
}
573575

574-
public final class InvalidStateException extends com.google.firebase.ai.type.FirebaseVertexAIException {
576+
public final class InvalidStateException extends com.google.firebase.ai.type.FirebaseAIException {
575577
}
576578

577579
@com.google.firebase.ai.type.PublicPreviewAPI public final class LiveContentResponse {
@@ -609,7 +611,7 @@ package com.google.firebase.ai.type {
609611
method public com.google.firebase.ai.type.LiveGenerationConfig.Builder setFrequencyPenalty(Float? frequencyPenalty);
610612
method public com.google.firebase.ai.type.LiveGenerationConfig.Builder setMaxOutputTokens(Integer? maxOutputTokens);
611613
method public com.google.firebase.ai.type.LiveGenerationConfig.Builder setPresencePenalty(Float? presencePenalty);
612-
method public com.google.firebase.ai.type.LiveGenerationConfig.Builder setResponseModalities(com.google.firebase.ai.type.ResponseModality? responseModalities);
614+
method public com.google.firebase.ai.type.LiveGenerationConfig.Builder setResponseModality(com.google.firebase.ai.type.ResponseModality? responseModality);
613615
method public com.google.firebase.ai.type.LiveGenerationConfig.Builder setSpeechConfig(com.google.firebase.ai.type.SpeechConfig? speechConfig);
614616
method public com.google.firebase.ai.type.LiveGenerationConfig.Builder setTemperature(Float? temperature);
615617
method public com.google.firebase.ai.type.LiveGenerationConfig.Builder setTopK(Integer? topK);
@@ -640,7 +642,7 @@ package com.google.firebase.ai.type {
640642
method public suspend Object? send(String text, kotlin.coroutines.Continuation<? super kotlin.Unit>);
641643
method public suspend Object? sendFunctionResponse(java.util.List<com.google.firebase.ai.type.FunctionResponsePart> functionList, kotlin.coroutines.Continuation<? super kotlin.Unit>);
642644
method public suspend Object? sendMediaStream(java.util.List<com.google.firebase.ai.type.MediaData> mediaChunks, kotlin.coroutines.Continuation<? super kotlin.Unit>);
643-
method public suspend Object? startAudioConversation(kotlin.jvm.functions.Function1<? super com.google.firebase.ai.type.FunctionCallPart,com.google.firebase.ai.type.FunctionResponsePart>? functionCallHandler = null, kotlin.coroutines.Continuation<? super kotlin.Unit>);
645+
method @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public suspend Object? startAudioConversation(kotlin.jvm.functions.Function1<? super com.google.firebase.ai.type.FunctionCallPart,com.google.firebase.ai.type.FunctionResponsePart>? functionCallHandler = null, kotlin.coroutines.Continuation<? super kotlin.Unit>);
644646
method public void stopAudioConversation();
645647
method public void stopReceiving();
646648
}
@@ -672,7 +674,7 @@ package com.google.firebase.ai.type {
672674
method public static String? asTextOrNull(com.google.firebase.ai.type.Part);
673675
}
674676

675-
public final class PromptBlockedException extends com.google.firebase.ai.type.FirebaseVertexAIException {
677+
public final class PromptBlockedException extends com.google.firebase.ai.type.FirebaseAIException {
676678
method public com.google.firebase.ai.type.GenerateContentResponse? getResponse();
677679
property public final com.google.firebase.ai.type.GenerateContentResponse? response;
678680
}
@@ -690,31 +692,30 @@ package com.google.firebase.ai.type {
690692
@kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level.ERROR, message="This API is part of an experimental public preview and may change in " + "backwards-incompatible ways without notice.") @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface PublicPreviewAPI {
691693
}
692694

693-
public final class QuotaExceededException extends com.google.firebase.ai.type.FirebaseVertexAIException {
695+
public final class QuotaExceededException extends com.google.firebase.ai.type.FirebaseAIException {
694696
}
695697

696698
public final class RequestOptions {
697699
ctor public RequestOptions();
698700
ctor public RequestOptions(long timeoutInMillis = 180.seconds.inWholeMilliseconds);
699701
}
700702

701-
public final class RequestTimeoutException extends com.google.firebase.ai.type.FirebaseVertexAIException {
703+
public final class RequestTimeoutException extends com.google.firebase.ai.type.FirebaseAIException {
702704
}
703705

704-
@com.google.firebase.ai.type.PublicPreviewAPI public final class ResponseModality {
706+
public final class ResponseModality {
705707
method public int getOrdinal();
706708
property public final int ordinal;
707709
field public static final com.google.firebase.ai.type.ResponseModality AUDIO;
708710
field public static final com.google.firebase.ai.type.ResponseModality.Companion Companion;
709711
field public static final com.google.firebase.ai.type.ResponseModality IMAGE;
710712
field public static final com.google.firebase.ai.type.ResponseModality TEXT;
711-
field public static final com.google.firebase.ai.type.ResponseModality UNSPECIFIED;
712713
}
713714

714715
public static final class ResponseModality.Companion {
715716
}
716717

717-
public final class ResponseStoppedException extends com.google.firebase.ai.type.FirebaseVertexAIException {
718+
public final class ResponseStoppedException extends com.google.firebase.ai.type.FirebaseAIException {
718719
method public com.google.firebase.ai.type.GenerateContentResponse getResponse();
719720
property public final com.google.firebase.ai.type.GenerateContentResponse response;
720721
}
@@ -819,20 +820,20 @@ package com.google.firebase.ai.type {
819820
method public com.google.firebase.ai.type.Schema str(String? description = null, boolean nullable = false, com.google.firebase.ai.type.StringFormat? format = null);
820821
}
821822

822-
public final class SerializationException extends com.google.firebase.ai.type.FirebaseVertexAIException {
823+
public final class SerializationException extends com.google.firebase.ai.type.FirebaseAIException {
823824
}
824825

825-
public final class ServerException extends com.google.firebase.ai.type.FirebaseVertexAIException {
826+
public final class ServerException extends com.google.firebase.ai.type.FirebaseAIException {
826827
}
827828

828-
public final class ServiceConnectionHandshakeFailedException extends com.google.firebase.ai.type.FirebaseVertexAIException {
829+
public final class ServiceConnectionHandshakeFailedException extends com.google.firebase.ai.type.FirebaseAIException {
829830
ctor public ServiceConnectionHandshakeFailedException(String message, Throwable? cause = null);
830831
}
831832

832-
public final class ServiceDisabledException extends com.google.firebase.ai.type.FirebaseVertexAIException {
833+
public final class ServiceDisabledException extends com.google.firebase.ai.type.FirebaseAIException {
833834
}
834835

835-
public final class SessionAlreadyReceivingException extends com.google.firebase.ai.type.FirebaseVertexAIException {
836+
public final class SessionAlreadyReceivingException extends com.google.firebase.ai.type.FirebaseAIException {
836837
ctor public SessionAlreadyReceivingException();
837838
}
838839

@@ -868,10 +869,10 @@ package com.google.firebase.ai.type {
868869
ctor public ToolConfig(com.google.firebase.ai.type.FunctionCallingConfig? functionCallingConfig);
869870
}
870871

871-
public final class UnknownException extends com.google.firebase.ai.type.FirebaseVertexAIException {
872+
public final class UnknownException extends com.google.firebase.ai.type.FirebaseAIException {
872873
}
873874

874-
public final class UnsupportedUserLocationException extends com.google.firebase.ai.type.FirebaseVertexAIException {
875+
public final class UnsupportedUserLocationException extends com.google.firebase.ai.type.FirebaseAIException {
875876
}
876877

877878
public final class UsageMetadata {

firebase-ai/src/main/kotlin/com/google/firebase/ai/FirebaseAIMultiResourceComponent.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package com.google.firebase.ai
1919
import androidx.annotation.GuardedBy
2020
import com.google.firebase.FirebaseApp
2121
import com.google.firebase.ai.type.GenerativeBackend
22-
import com.google.firebase.annotations.concurrent.Background
22+
import com.google.firebase.annotations.concurrent.Blocking
2323
import com.google.firebase.appcheck.interop.InteropAppCheckTokenProvider
2424
import com.google.firebase.auth.internal.InternalAuthProvider
2525
import com.google.firebase.inject.Provider
@@ -32,7 +32,7 @@ import kotlin.coroutines.CoroutineContext
3232
*/
3333
internal class FirebaseAIMultiResourceComponent(
3434
private val app: FirebaseApp,
35-
@Background val backgroundDispatcher: CoroutineContext,
35+
@Blocking val blockingDispatcher: CoroutineContext,
3636
private val appCheckProvider: Provider<InteropAppCheckTokenProvider>,
3737
private val internalAuthProvider: Provider<InternalAuthProvider>,
3838
) {
@@ -45,7 +45,7 @@ internal class FirebaseAIMultiResourceComponent(
4545
?: FirebaseAI(
4646
app,
4747
backend,
48-
backgroundDispatcher,
48+
blockingDispatcher,
4949
appCheckProvider,
5050
internalAuthProvider,
5151
)

firebase-ai/src/main/kotlin/com/google/firebase/ai/FirebaseAIRegistrar.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package com.google.firebase.ai
1818

1919
import androidx.annotation.Keep
2020
import com.google.firebase.FirebaseApp
21-
import com.google.firebase.annotations.concurrent.Background
21+
import com.google.firebase.annotations.concurrent.Blocking
2222
import com.google.firebase.appcheck.interop.InteropAppCheckTokenProvider
2323
import com.google.firebase.auth.internal.InternalAuthProvider
2424
import com.google.firebase.components.Component
@@ -35,19 +35,19 @@ import kotlinx.coroutines.CoroutineDispatcher
3535
* @hide
3636
*/
3737
@Keep
38-
internal class FirebaseAIRegistrar : ComponentRegistrar {
38+
internal class FirebaseVertexAIRegistrar : ComponentRegistrar {
3939
override fun getComponents() =
4040
listOf(
4141
Component.builder(FirebaseAIMultiResourceComponent::class.java)
4242
.name(LIBRARY_NAME)
4343
.add(Dependency.required(firebaseApp))
44-
.add(Dependency.required(backgroundDispatcher))
44+
.add(Dependency.required(blockingDispatcher))
4545
.add(Dependency.optionalProvider(appCheckInterop))
4646
.add(Dependency.optionalProvider(internalAuthProvider))
4747
.factory { container ->
4848
FirebaseAIMultiResourceComponent(
4949
container[firebaseApp],
50-
container.get(backgroundDispatcher),
50+
container.get(blockingDispatcher),
5151
container.getProvider(appCheckInterop),
5252
container.getProvider(internalAuthProvider)
5353
)
@@ -62,7 +62,7 @@ internal class FirebaseAIRegistrar : ComponentRegistrar {
6262
private val firebaseApp = unqualified(FirebaseApp::class.java)
6363
private val appCheckInterop = unqualified(InteropAppCheckTokenProvider::class.java)
6464
private val internalAuthProvider = unqualified(InternalAuthProvider::class.java)
65-
private val backgroundDispatcher =
66-
Qualified.qualified(Background::class.java, CoroutineDispatcher::class.java)
65+
private val blockingDispatcher =
66+
Qualified.qualified(Blocking::class.java, CoroutineDispatcher::class.java)
6767
}
6868
}

0 commit comments

Comments
 (0)