From 4da20537ab8686baa524e955a5c9a70b7dac693a Mon Sep 17 00:00:00 2001 From: Maciej Szwaja Date: Fri, 6 Mar 2026 12:03:40 -0800 Subject: [PATCH] feat!: remove deprecated url method in ComputerState.Builder PiperOrigin-RevId: 879749995 --- .../adk/tools/computeruse/ComputerState.java | 17 +++----- .../computeruse/ComputerUseToolTest.java | 9 +--- .../computeruse/ComputerUseToolsetTest.java | 42 +++++++------------ 3 files changed, 22 insertions(+), 46 deletions(-) diff --git a/core/src/main/java/com/google/adk/tools/computeruse/ComputerState.java b/core/src/main/java/com/google/adk/tools/computeruse/ComputerState.java index 4f3be46c2..30fbc17a5 100644 --- a/core/src/main/java/com/google/adk/tools/computeruse/ComputerState.java +++ b/core/src/main/java/com/google/adk/tools/computeruse/ComputerState.java @@ -22,6 +22,7 @@ import java.util.Arrays; import java.util.Objects; import java.util.Optional; +import javax.annotation.Nullable; /** * Represents the current state of the computer environment. @@ -31,11 +32,11 @@ */ public final class ComputerState { private final byte[] screenshot; - private final Optional url; + private final @Nullable String url; @JsonCreator private ComputerState( - @JsonProperty("screenshot") byte[] screenshot, @JsonProperty("url") Optional url) { + @JsonProperty("screenshot") byte[] screenshot, @JsonProperty("url") @Nullable String url) { this.screenshot = screenshot.clone(); this.url = url; } @@ -47,7 +48,7 @@ public byte[] screenshot() { @JsonProperty("url") public Optional url() { - return url; + return Optional.ofNullable(url); } public static Builder builder() { @@ -57,7 +58,7 @@ public static Builder builder() { /** Builder for {@link ComputerState}. */ public static final class Builder { private byte[] screenshot; - private Optional url = Optional.empty(); + private @Nullable String url; @CanIgnoreReturnValue public Builder screenshot(byte[] screenshot) { @@ -66,17 +67,11 @@ public Builder screenshot(byte[] screenshot) { } @CanIgnoreReturnValue - public Builder url(Optional url) { + public Builder url(@Nullable String url) { this.url = url; return this; } - @CanIgnoreReturnValue - public Builder url(String url) { - this.url = Optional.ofNullable(url); - return this; - } - public ComputerState build() { return new ComputerState(screenshot, url); } diff --git a/core/src/test/java/com/google/adk/tools/computeruse/ComputerUseToolTest.java b/core/src/test/java/com/google/adk/tools/computeruse/ComputerUseToolTest.java index 20fb146cf..236172b27 100644 --- a/core/src/test/java/com/google/adk/tools/computeruse/ComputerUseToolTest.java +++ b/core/src/test/java/com/google/adk/tools/computeruse/ComputerUseToolTest.java @@ -30,7 +30,6 @@ import java.lang.reflect.Method; import java.util.Base64; import java.util.Map; -import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -128,10 +127,7 @@ public void testNormalizeDragAndDrop() throws NoSuchMethodException { public void testResultFormatting() throws NoSuchMethodException { byte[] screenshot = new byte[] {1, 2, 3}; computerMock.nextState = - ComputerState.builder() - .screenshot(screenshot) - .url(Optional.of("https://example.com")) - .build(); + ComputerState.builder().screenshot(screenshot).url("https://example.com").build(); Method method = ComputerMock.class.getMethod("clickAt", int.class, int.class); ComputerUseTool tool = @@ -226,8 +222,7 @@ public static class ComputerMock { public int lastY; public int lastDestX; public int lastDestY; - public ComputerState nextState = - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build(); + public ComputerState nextState = ComputerState.builder().screenshot(new byte[0]).build(); public Single clickAt(@Schema(name = "x") int x, @Schema(name = "y") int y) { this.lastX = x; diff --git a/core/src/test/java/com/google/adk/tools/computeruse/ComputerUseToolsetTest.java b/core/src/test/java/com/google/adk/tools/computeruse/ComputerUseToolsetTest.java index 1ed49419e..8051a018d 100644 --- a/core/src/test/java/com/google/adk/tools/computeruse/ComputerUseToolsetTest.java +++ b/core/src/test/java/com/google/adk/tools/computeruse/ComputerUseToolsetTest.java @@ -173,87 +173,73 @@ public Single environment() { @Override public Single openWebBrowser() { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single clickAt(int x, int y) { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single hoverAt(int x, int y) { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single typeTextAt( int x, int y, String text, Boolean pressEnter, Boolean clearBeforeTyping) { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single scrollDocument(String direction) { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single scrollAt(int x, int y, String direction, int magnitude) { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single wait(Duration duration) { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single goBack() { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single goForward() { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single search() { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single navigate(String url) { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.of(url)).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).url(url).build()); } @Override public Single keyCombination(List keys) { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single dragAndDrop(int x, int y, int destinationX, int destinationY) { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override public Single currentState() { - return Single.just( - ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build()); + return Single.just(ComputerState.builder().screenshot(new byte[0]).build()); } @Override