From 1cd151521d9a903bab62ec5e0f96bceae5600d0d Mon Sep 17 00:00:00 2001 From: lberrymage Date: Fri, 16 Oct 2026 02:33:58 +0000 Subject: [PATCH] Use more accurate integer types for Android package fields Android long version codes are 64-bit signed integers, so it makes sense to treat them as such in the schema for better interoperability. Furthermore, target SDK values are 32-bit signed integers, to it likewise makes sense to define them as such in the schema for better interoperability. Although the Android platform technically allows negative values for at least the version code, in practice, apps with negative long version codes don't really exist, and we enforce that version codes are positive on the backend anyway. --- accrescent/console/v1/app_package.proto | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/accrescent/console/v1/app_package.proto b/accrescent/console/v1/app_package.proto index 4fdc95f..33b6d51 100644 --- a/accrescent/console/v1/app_package.proto +++ b/accrescent/console/v1/app_package.proto @@ -17,17 +17,17 @@ message AppPackage { optional string android_application_id = 1 [(buf.validate.field).required = true]; // The app package's version code. - optional uint64 version_code = 2 [ + optional int64 version_code = 2 [ (buf.validate.field).required = true, - (buf.validate.field).uint64.gt = 0 + (buf.validate.field).int64.gt = 0 ]; // The app package's version name. optional string version_name = 3 [(buf.validate.field).required = true]; // The app package's target SDK. - optional uint64 target_sdk = 4 [ + optional int32 target_sdk = 4 [ (buf.validate.field).required = true, - (buf.validate.field).uint64.gt = 0 + (buf.validate.field).int32.gt = 0 ]; }