diff --git a/core/src/main/java/com/google/adk/runner/Runner.java b/core/src/main/java/com/google/adk/runner/Runner.java index 58fc27f47..f2cb5b9d5 100644 --- a/core/src/main/java/com/google/adk/runner/Runner.java +++ b/core/src/main/java/com/google/adk/runner/Runner.java @@ -591,9 +591,9 @@ private void copySessionStates(Session source, Session target) { * @return invocation context configured for a live run. */ private InvocationContext newInvocationContextForLive( - Session session, Optional liveRequestQueue, RunConfig runConfig) { + Session session, @Nullable LiveRequestQueue liveRequestQueue, RunConfig runConfig) { RunConfig.Builder runConfigBuilder = RunConfig.builder(runConfig); - if (liveRequestQueue.isPresent()) { + if (liveRequestQueue != null) { // Default to AUDIO modality if not specified. if (CollectionUtils.isNullOrEmpty(runConfig.responseModalities())) { runConfigBuilder.setResponseModalities( @@ -614,8 +614,9 @@ private InvocationContext newInvocationContextForLive( InvocationContext.Builder builder = newInvocationContextBuilder(session) .runConfig(runConfigBuilder.build()) - .userContent(Content.fromParts()); - liveRequestQueue.ifPresent(builder::liveRequestQueue); + .userContent(Content.fromParts()) + .liveRequestQueue(liveRequestQueue); + return builder.build(); } @@ -643,7 +644,7 @@ public Flowable runLive( return Flowable.defer( () -> { InvocationContext invocationContext = - newInvocationContextForLive(session, Optional.of(liveRequestQueue), runConfig); + newInvocationContextForLive(session, liveRequestQueue, runConfig); Single invocationContextSingle; if (invocationContext.agent() instanceof LlmAgent agent) { diff --git a/core/src/test/java/com/google/adk/runner/InputAudioTranscriptionTest.java b/core/src/test/java/com/google/adk/runner/InputAudioTranscriptionTest.java index 55d41916f..95a016e34 100644 --- a/core/src/test/java/com/google/adk/runner/InputAudioTranscriptionTest.java +++ b/core/src/test/java/com/google/adk/runner/InputAudioTranscriptionTest.java @@ -33,7 +33,6 @@ import com.google.genai.types.Modality; import com.google.genai.types.Part; import java.lang.reflect.Method; -import java.util.Optional; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -50,10 +49,9 @@ private InvocationContext invokeNewInvocationContextForLive( throws Exception { Method method = Runner.class.getDeclaredMethod( - "newInvocationContextForLive", Session.class, Optional.class, RunConfig.class); + "newInvocationContextForLive", Session.class, LiveRequestQueue.class, RunConfig.class); method.setAccessible(true); - return (InvocationContext) - method.invoke(runner, session, Optional.of(liveRequestQueue), runConfig); + return (InvocationContext) method.invoke(runner, session, liveRequestQueue, runConfig); } @Test