Skip to content

Commit a86ede0

Browse files
tilgalascopybara-github
authored andcommitted
feat!: remove deprecated url method in ComputerState.Builder
PiperOrigin-RevId: 880839286
1 parent 5e1e1d4 commit a86ede0

3 files changed

Lines changed: 22 additions & 46 deletions

File tree

core/src/main/java/com/google/adk/tools/computeruse/ComputerState.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.Arrays;
2323
import java.util.Objects;
2424
import java.util.Optional;
25+
import org.jspecify.annotations.Nullable;
2526

2627
/**
2728
* Represents the current state of the computer environment.
@@ -31,11 +32,11 @@
3132
*/
3233
public final class ComputerState {
3334
private final byte[] screenshot;
34-
private final Optional<String> url;
35+
private final @Nullable String url;
3536

3637
@JsonCreator
3738
private ComputerState(
38-
@JsonProperty("screenshot") byte[] screenshot, @JsonProperty("url") Optional<String> url) {
39+
@JsonProperty("screenshot") byte[] screenshot, @JsonProperty("url") @Nullable String url) {
3940
this.screenshot = screenshot.clone();
4041
this.url = url;
4142
}
@@ -47,7 +48,7 @@ public byte[] screenshot() {
4748

4849
@JsonProperty("url")
4950
public Optional<String> url() {
50-
return url;
51+
return Optional.ofNullable(url);
5152
}
5253

5354
public static Builder builder() {
@@ -57,7 +58,7 @@ public static Builder builder() {
5758
/** Builder for {@link ComputerState}. */
5859
public static final class Builder {
5960
private byte[] screenshot;
60-
private Optional<String> url = Optional.empty();
61+
private @Nullable String url;
6162

6263
@CanIgnoreReturnValue
6364
public Builder screenshot(byte[] screenshot) {
@@ -66,17 +67,11 @@ public Builder screenshot(byte[] screenshot) {
6667
}
6768

6869
@CanIgnoreReturnValue
69-
public Builder url(Optional<String> url) {
70+
public Builder url(@Nullable String url) {
7071
this.url = url;
7172
return this;
7273
}
7374

74-
@CanIgnoreReturnValue
75-
public Builder url(String url) {
76-
this.url = Optional.ofNullable(url);
77-
return this;
78-
}
79-
8075
public ComputerState build() {
8176
return new ComputerState(screenshot, url);
8277
}

core/src/test/java/com/google/adk/tools/computeruse/ComputerUseToolTest.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import java.lang.reflect.Method;
3131
import java.util.Base64;
3232
import java.util.Map;
33-
import java.util.Optional;
3433
import org.junit.Before;
3534
import org.junit.Test;
3635
import org.junit.runner.RunWith;
@@ -128,10 +127,7 @@ public void testNormalizeDragAndDrop() throws NoSuchMethodException {
128127
public void testResultFormatting() throws NoSuchMethodException {
129128
byte[] screenshot = new byte[] {1, 2, 3};
130129
computerMock.nextState =
131-
ComputerState.builder()
132-
.screenshot(screenshot)
133-
.url(Optional.of("https://example.com"))
134-
.build();
130+
ComputerState.builder().screenshot(screenshot).url("https://example.com").build();
135131

136132
Method method = ComputerMock.class.getMethod("clickAt", int.class, int.class);
137133
ComputerUseTool tool =
@@ -226,8 +222,7 @@ public static class ComputerMock {
226222
public int lastY;
227223
public int lastDestX;
228224
public int lastDestY;
229-
public ComputerState nextState =
230-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build();
225+
public ComputerState nextState = ComputerState.builder().screenshot(new byte[0]).build();
231226

232227
public Single<ComputerState> clickAt(@Schema(name = "x") int x, @Schema(name = "y") int y) {
233228
this.lastX = x;

core/src/test/java/com/google/adk/tools/computeruse/ComputerUseToolsetTest.java

Lines changed: 14 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -173,87 +173,73 @@ public Single<ComputerEnvironment> environment() {
173173

174174
@Override
175175
public Single<ComputerState> openWebBrowser() {
176-
return Single.just(
177-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
176+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
178177
}
179178

180179
@Override
181180
public Single<ComputerState> clickAt(int x, int y) {
182-
return Single.just(
183-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
181+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
184182
}
185183

186184
@Override
187185
public Single<ComputerState> hoverAt(int x, int y) {
188-
return Single.just(
189-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
186+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
190187
}
191188

192189
@Override
193190
public Single<ComputerState> typeTextAt(
194191
int x, int y, String text, Boolean pressEnter, Boolean clearBeforeTyping) {
195-
return Single.just(
196-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
192+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
197193
}
198194

199195
@Override
200196
public Single<ComputerState> scrollDocument(String direction) {
201-
return Single.just(
202-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
197+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
203198
}
204199

205200
@Override
206201
public Single<ComputerState> scrollAt(int x, int y, String direction, int magnitude) {
207-
return Single.just(
208-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
202+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
209203
}
210204

211205
@Override
212206
public Single<ComputerState> wait(Duration duration) {
213-
return Single.just(
214-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
207+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
215208
}
216209

217210
@Override
218211
public Single<ComputerState> goBack() {
219-
return Single.just(
220-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
212+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
221213
}
222214

223215
@Override
224216
public Single<ComputerState> goForward() {
225-
return Single.just(
226-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
217+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
227218
}
228219

229220
@Override
230221
public Single<ComputerState> search() {
231-
return Single.just(
232-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
222+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
233223
}
234224

235225
@Override
236226
public Single<ComputerState> navigate(String url) {
237-
return Single.just(
238-
ComputerState.builder().screenshot(new byte[0]).url(Optional.of(url)).build());
227+
return Single.just(ComputerState.builder().screenshot(new byte[0]).url(url).build());
239228
}
240229

241230
@Override
242231
public Single<ComputerState> keyCombination(List<String> keys) {
243-
return Single.just(
244-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
232+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
245233
}
246234

247235
@Override
248236
public Single<ComputerState> dragAndDrop(int x, int y, int destinationX, int destinationY) {
249-
return Single.just(
250-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
237+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
251238
}
252239

253240
@Override
254241
public Single<ComputerState> currentState() {
255-
return Single.just(
256-
ComputerState.builder().screenshot(new byte[0]).url(Optional.empty()).build());
242+
return Single.just(ComputerState.builder().screenshot(new byte[0]).build());
257243
}
258244

259245
@Override

0 commit comments

Comments
 (0)