From c3924eb8df5de881490bb85bd6630b3d572d60d9 Mon Sep 17 00:00:00 2001 From: Anay Wadhera Date: Fri, 7 Jun 2024 07:48:49 -0700 Subject: [PATCH] Add car and foldable types to target types. PiperOrigin-RevId: 641248360 --- sharing/advertisement.cc | 3 +++ sharing/advertisement_test.cc | 12 ++++++++++++ sharing/common/nearby_share_enums.h | 12 ++++++++++++ sharing/share_target.cc | 1 + sharing/share_target_test.cc | 22 +++++++++++----------- 5 files changed, 39 insertions(+), 11 deletions(-) diff --git a/sharing/advertisement.cc b/sharing/advertisement.cc index 480ab75d..8bc20948 100644 --- a/sharing/advertisement.cc +++ b/sharing/advertisement.cc @@ -92,12 +92,15 @@ uint8_t ConvertHasDeviceName(bool hasDeviceName) { int ParseVersion(uint8_t b) { return (b >> 5) & kVersionBitmask; } +// The values are in ShareTargetType. bool IsKnownDeviceValue(int32_t value) { switch (value) { case 0: case 1: case 2: case 3: + case 4: + case 5: return true; default: return false; diff --git a/sharing/advertisement_test.cc b/sharing/advertisement_test.cc index 6631085b..ff286518 100644 --- a/sharing/advertisement_test.cc +++ b/sharing/advertisement_test.cc @@ -89,6 +89,18 @@ INSTANTIATE_TEST_SUITE_P( Advertisement::kMetadataEncryptionKeyHashByteSize), .target_type = ShareTargetType::kTablet, .target_name = std::nullopt, + .vendor_id = 0}, + TestParameters{.salt = std::vector(Advertisement::kSaltSize), + .encrypted_metadata_key = std::vector( + Advertisement::kMetadataEncryptionKeyHashByteSize), + .target_type = ShareTargetType::kCar, + .target_name = std::nullopt, + .vendor_id = 0}, + TestParameters{.salt = std::vector(Advertisement::kSaltSize), + .encrypted_metadata_key = std::vector( + Advertisement::kMetadataEncryptionKeyHashByteSize), + .target_type = ShareTargetType::kFoldable, + .target_name = std::nullopt, .vendor_id = 0})); INSTANTIATE_TEST_SUITE_P( VendorIds, AdvertisementTest, diff --git a/sharing/common/nearby_share_enums.h b/sharing/common/nearby_share_enums.h index b17903af..aa8c72fe 100644 --- a/sharing/common/nearby_share_enums.h +++ b/sharing/common/nearby_share_enums.h @@ -43,6 +43,7 @@ enum class DeviceNameValidationResult { // be kept in sync with Android implementation. // These values are persisted to logs. Entries should not be renumbered and // numeric values should never be reused. +// LINT.IfChange() enum class ShareTargetType { // Unknown device type. kUnknown = 0, @@ -52,7 +53,18 @@ enum class ShareTargetType { kTablet = 2, // A laptop. kLaptop = 3, + // A car. + kCar = 4, + // A foldable. + kFoldable = 5, }; +// LINT.ThenChange( +// //depot/google3/location/nearby/cpp/sharing/clients/proto/share_target.proto:ShareTarget.ShareTargetType, +// //depot/google3/location/nearby/sharing/sdk/quick_share/protos/share_target.proto:ShareTarget, +// //depot/google3/third_party/nearby/sharing/advertisement.cc:IsKnownDeviceValue, +// //depot/google3/java/com/google/android/gmscore/integ/client/nearby/src/com/google/android/gms/nearby/sharing/ShareTarget.java:Type, +// //depot/google3/location/nearby/cpp/sharing/clients/dart/platform/lib/types/share_target.dart:ShareTargetType +//) // This enum combines both text and file share attachment types into a single // enum that more directly maps to what is shown to the user for preview. diff --git a/sharing/share_target.cc b/sharing/share_target.cc index e0f7be5f..573d2fa8 100644 --- a/sharing/share_target.cc +++ b/sharing/share_target.cc @@ -67,6 +67,7 @@ std::string ShareTarget::ToString() const { std::vector fmt; fmt.push_back(absl::StrFormat("id: %" PRId64, id)); + fmt.push_back(absl::StrFormat("type: %d", type)); fmt.push_back(absl::StrFormat("device_name: %s", device_name)); if (full_name) { fmt.push_back(absl::StrFormat("full_name: %s", *full_name)); diff --git a/sharing/share_target_test.cc b/sharing/share_target_test.cc index c13bb19b..a57d69bb 100644 --- a/sharing/share_target_test.cc +++ b/sharing/share_target_test.cc @@ -43,17 +43,17 @@ std::vector GetTestData() { share_target1.id = 1; share_target2.id = 2; - static std::vector< - ShareTargetToStringTestData>* kShareTargetToStringTestData = - new std::vector({ - {share_target1, - "ShareTarget"}, - {share_target2, - "ShareTarget"}, - }); + static std::vector* + kShareTargetToStringTestData = + new std::vector({ + {share_target1, + "ShareTarget"}, + {share_target2, + "ShareTarget"}, + }); return *kShareTargetToStringTestData; }