Revert "Use built-in count variables rather than explicit count variables for chre_api_test.proto"
This reverts commit df72b46f732d8b6cb7a3a3b368f5e2943abce6dd.
Reason for revert: PtsContextHubChreConcurrencyTest#runAccelerometerConcurrencyTest fails
Bug: b/278884429
Change-Id: I0e1c5f00d4683405b8b1bc21c6ea735b2dc4901d
diff --git a/apps/test/common/chre_api_test/rpc/chre_api_test.proto b/apps/test/common/chre_api_test/rpc/chre_api_test.proto
index b87aa35..37a4f99 100644
--- a/apps/test/common/chre_api_test/rpc/chre_api_test.proto
+++ b/apps/test/common/chre_api_test/rpc/chre_api_test.proto
@@ -93,9 +93,7 @@
// Contains event filters for gathering events
message GatherEventsInput {
repeated uint32 eventTypes = 1;
-
- // Deprecated: We use the built-in count variable now
- uint32 eventTypeCount = 2 [deprecated = true];
+ uint32 eventTypeCount = 2;
uint32 eventCount = 3;
uint64 timeoutInNs = 4;
}
@@ -262,9 +260,7 @@
// Scan filter for BLE scanning
message ChreBleScanFilter {
int32 rssiThreshold = 1;
-
- // Deprecated: We use the built-in count variable now
- uint32 scanFilterCount = 2 [deprecated = true];
+ uint32 scanFilterCount = 2;
repeated ChreBleGenericFilter scanFilters = 3;
}
diff --git a/apps/test/common/chre_api_test/src/chre_api_test_manager.cc b/apps/test/common/chre_api_test/src/chre_api_test_manager.cc
index cce2fe4..e3041f3 100644
--- a/apps/test/common/chre_api_test/src/chre_api_test_manager.cc
+++ b/apps/test/common/chre_api_test/src/chre_api_test_manager.cc
@@ -251,15 +251,23 @@
return;
}
- if (request.eventTypes_count == 0) {
- LOGE("GatherEvents: request.eventTypes_count == 0");
+ if (request.eventTypeCount > kMaxNumEventTypes) {
+ LOGE("GatherEvents: request.eventTypeCount is out of bounds");
ChreApiTestManagerSingleton::get()->setPermissionForNextMessage(
CHRE_MESSAGE_PERMISSION_NONE);
writer.Finish();
return;
}
- for (uint32_t i = 0; i < request.eventTypes_count; ++i) {
+ if (request.eventTypeCount == 0) {
+ LOGE("GatherEvents: request.eventTypeCount == 0");
+ ChreApiTestManagerSingleton::get()->setPermissionForNextMessage(
+ CHRE_MESSAGE_PERMISSION_NONE);
+ writer.Finish();
+ return;
+ }
+
+ for (uint32_t i = 0; i < request.eventTypeCount; ++i) {
if (request.eventTypes[i] < std::numeric_limits<uint16_t>::min() ||
request.eventTypes[i] > std::numeric_limits<uint16_t>::max()) {
LOGE("GatherEvents: invalid request.eventTypes at index: %" PRIu32, i);
@@ -283,7 +291,7 @@
sendFailureAndFinishCloseWriter(mEventWriter);
mEventTimerHandle = CHRE_TIMER_INVALID;
} else {
- mEventTypeCount = request.eventTypes_count;
+ mEventTypeCount = request.eventTypeCount;
mEventExpectedCount = request.eventCount;
mEventSentCount = 0;
LOGD("GatherEvents: mEventTypeCount: %" PRIu32
diff --git a/apps/test/common/chre_api_test/src/chre_api_test_service.cc b/apps/test/common/chre_api_test/src/chre_api_test_service.cc
index 58951a6..d767168 100644
--- a/apps/test/common/chre_api_test/src/chre_api_test_service.cc
+++ b/apps/test/common/chre_api_test/src/chre_api_test_service.cc
@@ -28,6 +28,7 @@
/**
* The following constants are defined in chre_api_test.options.
*/
+constexpr uint32_t kMaxBleScanFilters = 10;
constexpr size_t kMaxNameStringBufferSize = 100;
constexpr size_t kMaxHostEndpointNameBufferSize = 51;
constexpr size_t kMaxHostEndpointTagBufferSize = 51;
@@ -81,32 +82,33 @@
return false;
}
- if (request.filter.scanFilters_count == 0) {
- LOGE("ChreBleStartScanAsync: invalid filter.scanFilters_count");
+ if (request.filter.scanFilterCount == 0 ||
+ request.filter.scanFilterCount > kMaxBleScanFilters) {
+ LOGE("ChreBleStartScanAsync: invalid filter.scanFilterCount");
return false;
}
- chreBleGenericFilter genericFilters[request.filter.scanFilters_count];
+ chreBleGenericFilter genericFilters[request.filter.scanFilterCount];
if (!validateBleScanFilters(request.filter.scanFilters, genericFilters,
- request.filter.scanFilters_count)) {
+ request.filter.scanFilterCount)) {
return false;
}
struct chreBleScanFilter filter;
filter.rssiThreshold = request.filter.rssiThreshold;
- filter.scanFilterCount = request.filter.scanFilters_count;
+ filter.scanFilterCount = request.filter.scanFilterCount;
filter.scanFilters = genericFilters;
chreBleScanMode mode = static_cast<chreBleScanMode>(request.mode);
response.status = chreBleStartScanAsync(mode, request.reportDelayMs, &filter);
LOGD("ChreBleStartScanAsync: mode: %s, reportDelayMs: %" PRIu32
- ", scanFilterCount: %" PRIu16 ", status: %s",
+ ", scanFilterCount: %" PRIu32 ", status: %s",
mode == CHRE_BLE_SCAN_MODE_BACKGROUND
? "background"
: (mode == CHRE_BLE_SCAN_MODE_FOREGROUND ? "foreground"
: "aggressive"),
- request.reportDelayMs, request.filter.scanFilters_count,
+ request.reportDelayMs, request.filter.scanFilterCount,
response.status ? "true" : "false");
return true;
}
diff --git a/java/test/ble_concurrency/src/com/google/android/chre/test/bleconcurrency/ContextHubBleConcurrencyTestExecutor.java b/java/test/ble_concurrency/src/com/google/android/chre/test/bleconcurrency/ContextHubBleConcurrencyTestExecutor.java
index 837edf7..9b881af 100644
--- a/java/test/ble_concurrency/src/com/google/android/chre/test/bleconcurrency/ContextHubBleConcurrencyTestExecutor.java
+++ b/java/test/ble_concurrency/src/com/google/android/chre/test/bleconcurrency/ContextHubBleConcurrencyTestExecutor.java
@@ -130,6 +130,7 @@
return ChreApiTest.ChreBleScanFilter.newBuilder()
.setRssiThreshold(RSSI_THRESHOLD)
+ .setScanFilterCount(2)
.addScanFilters(eddystoneFilter)
.addScanFilters(nearbyFastpairFilter)
.build();
diff --git a/java/test/utils/src/com/google/android/utils/chre/ChreApiTestUtil.java b/java/test/utils/src/com/google/android/utils/chre/ChreApiTestUtil.java
index 8fa9eca..5100445 100644
--- a/java/test/utils/src/com/google/android/utils/chre/ChreApiTestUtil.java
+++ b/java/test/utils/src/com/google/android/utils/chre/ChreApiTestUtil.java
@@ -309,6 +309,7 @@
ChreApiTest.GatherEventsInput input = ChreApiTest.GatherEventsInput.newBuilder()
.addAllEventTypes(eventTypes)
+ .setEventTypeCount(eventTypes.size())
.setEventCount(eventCount)
.setTimeoutInNs(timeoutInNs)
.build();