From 400218c018e446f28b02bccf3d24b1c0188e44bc Mon Sep 17 00:00:00 2001 From: sheenachhabra Date: Thu, 18 May 2023 15:33:49 +0100 Subject: [PATCH] Add argument validation in Mp4LocationData PiperOrigin-RevId: 533121451 (cherry picked from commit 209783bdf24e946356c4cfd48a76a195762bbe71) --- .../media3/container/Mp4LocationData.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/libraries/container/src/main/java/androidx/media3/container/Mp4LocationData.java b/libraries/container/src/main/java/androidx/media3/container/Mp4LocationData.java index f645dc2eca..5697b9a932 100644 --- a/libraries/container/src/main/java/androidx/media3/container/Mp4LocationData.java +++ b/libraries/container/src/main/java/androidx/media3/container/Mp4LocationData.java @@ -15,8 +15,11 @@ */ package androidx.media3.container; +import static androidx.media3.common.util.Assertions.checkArgument; + import android.os.Parcel; import android.os.Parcelable; +import androidx.annotation.FloatRange; import androidx.annotation.Nullable; import androidx.media3.common.Metadata; import androidx.media3.common.util.UnstableApi; @@ -28,8 +31,18 @@ public final class Mp4LocationData implements Metadata.Entry { public final float latitude; public final float longitude; - /** Creates an instance. */ - public Mp4LocationData(float latitude, float longitude) { + /** + * Creates an instance. + * + * @param latitude The latitude, in degrees. Its value must be in the range [-90, 90]. + * @param longitude The longitude, in degrees. Its value must be in the range [-180, 180]. + */ + public Mp4LocationData( + @FloatRange(from = -90.0, to = 90.0) float latitude, + @FloatRange(from = -180.0, to = 180.0) float longitude) { + checkArgument( + latitude >= -90.0f && latitude <= 90.0f && longitude >= -180.0f && longitude <= 180.0f, + "Invalid latitude or longitude"); this.latitude = latitude; this.longitude = longitude; }