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 29b2b76d3..5859c4786 100644 --- a/core/src/main/java/com/google/adk/runner/Runner.java +++ b/core/src/main/java/com/google/adk/runner/Runner.java @@ -458,6 +458,9 @@ protected Flowable runAsyncImpl( Content newMessage, RunConfig runConfig, @Nullable Map stateDelta) { + Preconditions.checkNotNull(session, "session cannot be null"); + Preconditions.checkNotNull(newMessage, "newMessage cannot be null"); + Preconditions.checkNotNull(runConfig, "runConfig cannot be null"); return Flowable.defer( () -> { BaseAgent rootAgent = this.agent; @@ -476,19 +479,14 @@ protected Flowable runAsyncImpl( .defaultIfEmpty(newMessage) .flatMap( content -> - (content != null) - ? appendNewMessageToSession( - session, - content, - initialContext, - runConfig.saveInputBlobsAsArtifacts(), - stateDelta) - : Single.just(null)) + appendNewMessageToSession( + session, + content, + initialContext, + runConfig.saveInputBlobsAsArtifacts(), + stateDelta)) .flatMapPublisher( event -> { - if (event == null) { - return Flowable.empty(); - } // Get the updated session after the message and state delta are // applied return this.sessionService