From 994e80ab0babaf015ab373773371a9085b5c7d12 Mon Sep 17 00:00:00 2001 From: hexbabe Date: Tue, 17 Mar 2026 09:30:39 -0400 Subject: [PATCH] RSDK-13626: Remove getImage, Format helpers, and format field usage Pre-emptive removal ahead of viamrobotics/api#758 which deletes GetImage, RenderFrame, and the Format enum from camera.proto. Removes: - getImage abstract method and mimeToFormat/formatToMime from Camera.java - getImage implementation from CameraRPCClient.java - getImage handler and deleted type imports from CameraRPCService.java - Format import from Media.kt; switches Image.dimensions to use mimeType Co-Authored-By: Claude Opus 4.6 (1M context) --- .../sdk/core/component/camera/Camera.java | 39 ------------------- .../component/camera/CameraRPCClient.java | 19 --------- .../component/camera/CameraRPCService.java | 20 ---------- .../kotlin/com/viam/sdk/core/util/Media.kt | 10 ++--- 4 files changed, 4 insertions(+), 84 deletions(-) diff --git a/core/sdk/src/main/java/com/viam/sdk/core/component/camera/Camera.java b/core/sdk/src/main/java/com/viam/sdk/core/component/camera/Camera.java index a623cc34e..bafaef276 100644 --- a/core/sdk/src/main/java/com/viam/sdk/core/component/camera/Camera.java +++ b/core/sdk/src/main/java/com/viam/sdk/core/component/camera/Camera.java @@ -2,7 +2,6 @@ import com.google.protobuf.Struct; import com.viam.common.v1.Common; -import com.viam.component.camera.v1.Camera.Format; import com.viam.component.camera.v1.Camera.Image; import com.viam.sdk.core.component.Component; import com.viam.sdk.core.resource.Resource; @@ -47,13 +46,6 @@ public static Camera fromRobot(final RobotClient robot, final String name) { return robot.getResource(Camera.class, named(name)); } - /** - * @deprecated please utilize getImages instead - */ - @Deprecated - public abstract Image getImage(final Format format, - final Optional extra); - public abstract Entry, Common.ResponseMetadata> getImages( final Optional> filterSourceNames, final Optional extra); @@ -62,35 +54,4 @@ public Entry, Common.ResponseMetadata> getImages() { return getImages(Optional.empty(), Optional.empty()); } - @Deprecated - static Format mimeToFormat(final String mimeType) { - switch (mimeType) { - case "image/jpeg": - return Format.FORMAT_JPEG; - case "image/png": - return Format.FORMAT_PNG; - case "image/vnd.viam.rgba": - return Format.FORMAT_RAW_RGBA; - case "image/vnd.viam.dep": - return Format.FORMAT_RAW_DEPTH; - default: - return Format.FORMAT_UNSPECIFIED; - } - } - - @Deprecated - static String formatToMime(final Format format) { - switch (format) { - case FORMAT_JPEG: - return "image/jpeg"; - case FORMAT_PNG: - return "image/png"; - case FORMAT_RAW_RGBA: - return "image/vnd.viam.rgba"; - case FORMAT_RAW_DEPTH: - return "image/vnd.viam.dep"; - default: - return "unknown"; - } - } } diff --git a/core/sdk/src/main/java/com/viam/sdk/core/component/camera/CameraRPCClient.java b/core/sdk/src/main/java/com/viam/sdk/core/component/camera/CameraRPCClient.java index d63deb60e..37802d469 100644 --- a/core/sdk/src/main/java/com/viam/sdk/core/component/camera/CameraRPCClient.java +++ b/core/sdk/src/main/java/com/viam/sdk/core/component/camera/CameraRPCClient.java @@ -48,25 +48,6 @@ public List getGeometries(final Optional extra) { return client.getGeometries(builder.build()).getGeometriesList(); } - @Override - @Deprecated - /* - * @deprecated please utilize getImages instead - */ - public Image getImage(final Format format, - Optional extra) { - final GetImageRequest.Builder builder = GetImageRequest.newBuilder(). - setName(getName().getName()). - setMimeType(Camera.formatToMime(format)); - extra.ifPresent(builder::setExtra); - final GetImageResponse resp = client.getImage(builder.build()); - final Image.Builder imgBuilder = Image.newBuilder(). - setSourceName(getName().getName()). - setImage(resp.getImage()); - - return imgBuilder.setFormat(Camera.mimeToFormat(resp.getMimeType())).build(); - } - @Override public Entry, ResponseMetadata> getImages(final Optional> filterSourceNames, final Optional extra) { diff --git a/core/sdk/src/main/java/com/viam/sdk/core/component/camera/CameraRPCService.java b/core/sdk/src/main/java/com/viam/sdk/core/component/camera/CameraRPCService.java index d284ec3c5..101b67d6d 100644 --- a/core/sdk/src/main/java/com/viam/sdk/core/component/camera/CameraRPCService.java +++ b/core/sdk/src/main/java/com/viam/sdk/core/component/camera/CameraRPCService.java @@ -5,8 +5,6 @@ import com.viam.common.v1.Common.Geometry; import com.viam.common.v1.Common.GetGeometriesResponse; import com.viam.common.v1.Common.ResponseMetadata; -import com.viam.component.camera.v1.Camera.GetImageRequest; -import com.viam.component.camera.v1.Camera.GetImageResponse; import com.viam.component.camera.v1.Camera.GetImagesRequest; import com.viam.component.camera.v1.Camera.GetImagesResponse; import com.viam.component.camera.v1.Camera.Image; @@ -51,24 +49,6 @@ public void getGeometries(Common.GetGeometriesRequest request, responseObserver.onCompleted(); } - @Override - @Deprecated - /* - * @deprecated please utilize getImages instead - */ - public void getImage(GetImageRequest request, - StreamObserver responseObserver) { - final Camera camera = getResource( - Camera.named(request.getName())); - final Image result = camera.getImage(Camera.mimeToFormat(request.getMimeType()), - Optional.of(request.getExtra())); - - responseObserver.onNext( - GetImageResponse.newBuilder().setImage(result.getImage()) - .setMimeType(Camera.formatToMime(result.getFormat())).build()); - responseObserver.onCompleted(); - } - @Override public void getImages(GetImagesRequest request, StreamObserver responseObserver) { diff --git a/core/sdk/src/main/kotlin/com/viam/sdk/core/util/Media.kt b/core/sdk/src/main/kotlin/com/viam/sdk/core/util/Media.kt index c7a0586d3..e88a76370 100644 --- a/core/sdk/src/main/kotlin/com/viam/sdk/core/util/Media.kt +++ b/core/sdk/src/main/kotlin/com/viam/sdk/core/util/Media.kt @@ -1,7 +1,6 @@ @file:JvmName("MediaUtils") package com.viam.sdk.core.util -import com.viam.component.camera.v1.Camera.Format import com.viam.component.camera.v1.Camera.Image import java.nio.ByteBuffer @@ -18,7 +17,6 @@ data class ImageDimensions(val width: Int, val height: Int) { * Get the dimensions of an image from its data and mime-type. * * Only specific mime-types are supported: PNG, JPEG, and a custom vnd.viam.rgba. - * The corresponding [Format] are [Format.FORMAT_PNG], [Format.FORMAT_JPEG], and [Format.FORMAT_RAW_RGBA]. * * @param image the byte data of the image * @param mimeType the mime-type of the image @@ -37,25 +35,25 @@ fun getDimensions(image: Iterable, mimeType: String): ImageDimensions { } /** - * The dimensions of the image, if [Image.getFormat] returns a supported [Format]. + * The dimensions of the image based on its mime type. * See [getDimensions] for more details. */ val Image.dimensions: ImageDimensions? get() = try { - getDimensions(this.image, this.format.name) + getDimensions(this.image, this.mimeType) } catch (e: Exception) { null } /** - * The width of the image, if [Image.getFormat] returns a supported [Format]. + * The width of the image based on its mime type. * See [getDimensions] for more details. */ val Image.width: Int? get() = this.dimensions?.width /** - * The height of the image, if [Image.getFormat] returns a supported [Format]. + * The height of the image based on its mime type. * See [getDimensions] for more details. */ val Image.height: Int?