Merge "Update QueueBufferOutput."
diff --git a/audio/2.0/Android.bp b/audio/2.0/Android.bp
index 2f0c936..1d4515d 100644
--- a/audio/2.0/Android.bp
+++ b/audio/2.0/Android.bp
@@ -104,3 +104,157 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.audio.vts.driver@2.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+ srcs: [
+ "types.hal",
+ "IDevice.hal",
+ "IDevicesFactory.hal",
+ "IPrimaryDevice.hal",
+ "IStream.hal",
+ "IStreamIn.hal",
+ "IStreamOut.hal",
+ "IStreamOutCallback.hal",
+ ],
+ out: [
+ "android/hardware/audio/2.0/types.vts.cpp",
+ "android/hardware/audio/2.0/Device.vts.cpp",
+ "android/hardware/audio/2.0/DevicesFactory.vts.cpp",
+ "android/hardware/audio/2.0/PrimaryDevice.vts.cpp",
+ "android/hardware/audio/2.0/Stream.vts.cpp",
+ "android/hardware/audio/2.0/StreamIn.vts.cpp",
+ "android/hardware/audio/2.0/StreamOut.vts.cpp",
+ "android/hardware/audio/2.0/StreamOutCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio.vts.driver@2.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+ srcs: [
+ "types.hal",
+ "IDevice.hal",
+ "IDevicesFactory.hal",
+ "IPrimaryDevice.hal",
+ "IStream.hal",
+ "IStreamIn.hal",
+ "IStreamOut.hal",
+ "IStreamOutCallback.hal",
+ ],
+ out: [
+ "android/hardware/audio/2.0/types.vts.h",
+ "android/hardware/audio/2.0/Device.vts.h",
+ "android/hardware/audio/2.0/DevicesFactory.vts.h",
+ "android/hardware/audio/2.0/PrimaryDevice.vts.h",
+ "android/hardware/audio/2.0/Stream.vts.h",
+ "android/hardware/audio/2.0/StreamIn.vts.h",
+ "android/hardware/audio/2.0/StreamOut.vts.h",
+ "android/hardware/audio/2.0/StreamOutCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio.vts.driver@2.0",
+ generated_sources: ["android.hardware.audio.vts.driver@2.0_genc++"],
+ generated_headers: ["android.hardware.audio.vts.driver@2.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio.vts.driver@2.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio.common@2.0",
+ "android.hidl.base@1.0",
+ "android.hardware.audio@2.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.audio.common@2.0",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio@2.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+ srcs: [
+ "types.hal",
+ "IDevice.hal",
+ "IDevicesFactory.hal",
+ "IPrimaryDevice.hal",
+ "IStream.hal",
+ "IStreamIn.hal",
+ "IStreamOut.hal",
+ "IStreamOutCallback.hal",
+ ],
+ out: [
+ "android/hardware/audio/2.0/types.vts.cpp",
+ "android/hardware/audio/2.0/Device.vts.cpp",
+ "android/hardware/audio/2.0/DevicesFactory.vts.cpp",
+ "android/hardware/audio/2.0/PrimaryDevice.vts.cpp",
+ "android/hardware/audio/2.0/Stream.vts.cpp",
+ "android/hardware/audio/2.0/StreamIn.vts.cpp",
+ "android/hardware/audio/2.0/StreamOut.vts.cpp",
+ "android/hardware/audio/2.0/StreamOutCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio@2.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+ srcs: [
+ "types.hal",
+ "IDevice.hal",
+ "IDevicesFactory.hal",
+ "IPrimaryDevice.hal",
+ "IStream.hal",
+ "IStreamIn.hal",
+ "IStreamOut.hal",
+ "IStreamOutCallback.hal",
+ ],
+ out: [
+ "android/hardware/audio/2.0/types.vts.h",
+ "android/hardware/audio/2.0/Device.vts.h",
+ "android/hardware/audio/2.0/DevicesFactory.vts.h",
+ "android/hardware/audio/2.0/PrimaryDevice.vts.h",
+ "android/hardware/audio/2.0/Stream.vts.h",
+ "android/hardware/audio/2.0/StreamIn.vts.h",
+ "android/hardware/audio/2.0/StreamOut.vts.h",
+ "android/hardware/audio/2.0/StreamOutCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio@2.0-vts.profiler",
+ generated_sources: ["android.hardware.audio@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.audio@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio.common@2.0",
+ "android.hidl.base@1.0",
+ "android.hardware.audio@2.0",
+ ],
+}
diff --git a/audio/2.0/IStreamIn.hal b/audio/2.0/IStreamIn.hal
index 9a96f71..e34c95f 100644
--- a/audio/2.0/IStreamIn.hal
+++ b/audio/2.0/IStreamIn.hal
@@ -41,6 +41,26 @@
setGain(float gain) generates (Result retval);
/*
+ * Commands that can be executed on the driver reader thread.
+ */
+ enum ReadCommand : int32_t {
+ READ,
+ GET_CAPTURE_POSITION
+ };
+
+ /*
+ * Data structure passed to the driver for executing commands
+ * on the driver reader thread.
+ */
+ struct ReadParameters {
+ ReadCommand command; // discriminator
+ union Params {
+ uint64_t read; // READ command, amount of bytes to read, >= 0.
+ // No parameters for GET_CAPTURE_POSITION.
+ } params;
+ };
+
+ /*
* Data structure passed back to the client via status message queue
* of 'read' operation.
*
@@ -51,24 +71,36 @@
*/
struct ReadStatus {
Result retval;
- uint64_t read;
+ ReadCommand replyTo; // discriminator
+ union Reply {
+ uint64_t read; // READ command, amount of bytes read, >= 0.
+ struct CapturePosition { // same as generated by getCapturePosition.
+ uint64_t frames;
+ uint64_t time;
+ } capturePosition;
+ } reply;
};
/*
* Set up required transports for receiving audio buffers from the driver.
*
- * The transport consists of two message queues: one is used for passing
- * audio data from the driver to the client, another is used for reporting
- * read operation status (amount of bytes actually read or error code),
- * see ReadStatus structure definition.
+ * The transport consists of three message queues:
+ * -- command queue is used to instruct the reader thread what operation
+ * to perform;
+ * -- data queue is used for passing audio data from the driver
+ * to the client;
+ * -- status queue is used for reporting operation status
+ * (e.g. amount of bytes actually read or error code).
+ * The driver operates on a dedicated thread.
*
* @param frameSize the size of a single frame, in bytes.
* @param framesCount the number of frames in a buffer.
- * @param threadPriority priority of the thread that performs reads.
+ * @param threadPriority priority of the driver thread.
* @return retval OK if both message queues were created successfully.
* INVALID_STATE if the method was already called.
* INVALID_ARGUMENTS if there was a problem setting up
* the queues.
+ * @return commandMQ a message queue used for passing commands.
* @return dataMQ a message queue used for passing audio data in the format
* specified at the stream opening.
* @return statusMQ a message queue used for passing status from the driver
@@ -79,7 +111,9 @@
ThreadPriority threadPriority)
generates (
Result retval,
- fmq_sync<uint8_t> dataMQ, fmq_sync<ReadStatus> statusMQ);
+ fmq_sync<ReadParameters> commandMQ,
+ fmq_sync<uint8_t> dataMQ,
+ fmq_sync<ReadStatus> statusMQ);
/*
* Return the amount of input frames lost in the audio driver since the last
diff --git a/audio/2.0/IStreamOut.hal b/audio/2.0/IStreamOut.hal
index 336684f..2ec080d 100644
--- a/audio/2.0/IStreamOut.hal
+++ b/audio/2.0/IStreamOut.hal
@@ -44,44 +44,57 @@
setVolume(float left, float right) generates (Result retval);
/*
+ * Commands that can be executed on the driver writer thread.
+ */
+ enum WriteCommand : int32_t {
+ WRITE,
+ GET_PRESENTATION_POSITION,
+ GET_LATENCY
+ };
+
+ /*
* Data structure passed back to the client via status message queue
* of 'write' operation.
*
- * Possible values of 'writeRetval' field:
+ * Possible values of 'retval' field:
* - OK, write operation was successful;
* - INVALID_ARGUMENTS, stream was not configured properly;
- * - INVALID_STATE, stream is in a state that doesn't allow writes.
- *
- * Possible values of 'presentationPositionRetval' field (must only
- * be considered if 'writeRetval' field is set to 'OK'):
- * - OK, presentation position retrieved successfully;
- * - INVALID_ARGUMENTS, indicates that the position can't be retrieved;
- * - INVALID_OPERATION, retrieving presentation position isn't supported;
+ * - INVALID_STATE, stream is in a state that doesn't allow writes;
+ * - INVALID_OPERATION, retrieving presentation position isn't supported.
*/
struct WriteStatus {
- Result writeRetval;
- uint64_t written;
- Result presentationPositionRetval;
- uint64_t frames; // presentation position
- TimeSpec timeStamp; // presentation position
+ Result retval;
+ WriteCommand replyTo; // discriminator
+ union Reply {
+ uint64_t written; // WRITE command, amount of bytes written, >= 0.
+ struct PresentationPosition { // same as generated by
+ uint64_t frames; // getPresentationPosition.
+ TimeSpec timeStamp;
+ } presentationPosition;
+ uint32_t latencyMs; // Same as generated by getLatency.
+ } reply;
};
/*
* Set up required transports for passing audio buffers to the driver.
*
- * The transport consists of two message queues: one is used for passing
- * audio data from the client to the driver, another is used for reporting
- * write operation status (amount of bytes actually written or error code),
- * and the presentation position immediately after the write, see
- * WriteStatus structure definition.
+ * The transport consists of three message queues:
+ * -- command queue is used to instruct the writer thread what operation
+ * to perform;
+ * -- data queue is used for passing audio data from the client
+ * to the driver;
+ * -- status queue is used for reporting operation status
+ * (e.g. amount of bytes actually written or error code).
+ * The driver operates on a dedicated thread.
*
* @param frameSize the size of a single frame, in bytes.
* @param framesCount the number of frames in a buffer.
- * @param threadPriority priority of the thread that performs writes.
+ * @param threadPriority priority of the driver thread.
* @return retval OK if both message queues were created successfully.
* INVALID_STATE if the method was already called.
* INVALID_ARGUMENTS if there was a problem setting up
* the queues.
+ * @return commandMQ a message queue used for passing commands.
* @return dataMQ a message queue used for passing audio data in the format
* specified at the stream opening.
* @return statusMQ a message queue used for passing status from the driver
@@ -92,7 +105,9 @@
ThreadPriority threadPriority)
generates (
Result retval,
- fmq_sync<uint8_t> dataMQ, fmq_sync<WriteStatus> statusMQ);
+ fmq_sync<WriteCommand> commandMQ,
+ fmq_sync<uint8_t> dataMQ,
+ fmq_sync<WriteStatus> statusMQ);
/*
* Return the number of audio frames written by the audio DSP to DAC since
diff --git a/audio/2.0/default/Stream.cpp b/audio/2.0/default/Stream.cpp
index 62b34a3..c16a956 100644
--- a/audio/2.0/default/Stream.cpp
+++ b/audio/2.0/default/Stream.cpp
@@ -44,8 +44,8 @@
}
// static
-Result Stream::analyzeStatus(const char* funcName, int status, int ignoreError) {
- if (status != 0 && status != -ignoreError) {
+Result Stream::analyzeStatus(const char* funcName, int status, int ignoreError, int ignoreError2) {
+ if (status != 0 && status != -ignoreError && status != -ignoreError2) {
ALOGW("Error from HAL stream in function %s: %s", funcName, strerror(-status));
}
switch (status) {
diff --git a/audio/2.0/default/Stream.h b/audio/2.0/default/Stream.h
index 73afe05..63ea1bb 100644
--- a/audio/2.0/default/Stream.h
+++ b/audio/2.0/default/Stream.h
@@ -79,7 +79,8 @@
Return<Result> close() override;
// Utility methods for extending interfaces.
- static Result analyzeStatus(const char* funcName, int status, int ignoreError = OK);
+ static Result analyzeStatus(
+ const char* funcName, int status, int ignoreError = OK, int ignoreError2 = OK);
private:
audio_stream_t *mStream;
diff --git a/audio/2.0/default/StreamIn.cpp b/audio/2.0/default/StreamIn.cpp
index ad18986..9c49170 100644
--- a/audio/2.0/default/StreamIn.cpp
+++ b/audio/2.0/default/StreamIn.cpp
@@ -16,10 +16,12 @@
#define LOG_TAG "StreamInHAL"
//#define LOG_NDEBUG 0
+#define ATRACE_TAG ATRACE_TAG_AUDIO
#include <android/log.h>
#include <hardware/audio.h>
#include <mediautils/SchedulingPolicyService.h>
+#include <utils/Trace.h>
#include "StreamIn.h"
@@ -38,6 +40,7 @@
// ReadThread's lifespan never exceeds StreamIn's lifespan.
ReadThread(std::atomic<bool>* stop,
audio_stream_in_t* stream,
+ StreamIn::CommandMQ* commandMQ,
StreamIn::DataMQ* dataMQ,
StreamIn::StatusMQ* statusMQ,
EventFlag* efGroup,
@@ -45,6 +48,7 @@
: Thread(false /*canCallJava*/),
mStop(stop),
mStream(stream),
+ mCommandMQ(commandMQ),
mDataMQ(dataMQ),
mStatusMQ(statusMQ),
mEfGroup(efGroup),
@@ -58,13 +62,19 @@
private:
std::atomic<bool>* mStop;
audio_stream_in_t* mStream;
+ StreamIn::CommandMQ* mCommandMQ;
StreamIn::DataMQ* mDataMQ;
StreamIn::StatusMQ* mStatusMQ;
EventFlag* mEfGroup;
ThreadPriority mThreadPriority;
std::unique_ptr<uint8_t[]> mBuffer;
+ IStreamIn::ReadParameters mParameters;
+ IStreamIn::ReadStatus mStatus;
bool threadLoop() override;
+
+ void doGetCapturePosition();
+ void doRead();
};
status_t ReadThread::readyToRun() {
@@ -77,6 +87,32 @@
return OK;
}
+void ReadThread::doRead() {
+ size_t availableToWrite = mDataMQ->availableToWrite();
+ size_t requestedToRead = mParameters.params.read;
+ if (requestedToRead > availableToWrite) {
+ ALOGW("truncating read data from %d to %d due to insufficient data queue space",
+ (int32_t)requestedToRead, (int32_t)availableToWrite);
+ requestedToRead = availableToWrite;
+ }
+ ssize_t readResult = mStream->read(mStream, &mBuffer[0], requestedToRead);
+ mStatus.retval = Result::OK;
+ uint64_t read = 0;
+ if (readResult >= 0) {
+ mStatus.reply.read = readResult;
+ if (!mDataMQ->write(&mBuffer[0], readResult)) {
+ ALOGW("data message queue write failed");
+ }
+ } else {
+ mStatus.retval = Stream::analyzeStatus("read", readResult);
+ }
+}
+
+void ReadThread::doGetCapturePosition() {
+ mStatus.retval = StreamIn::getCapturePositionImpl(
+ mStream, &mStatus.reply.capturePosition.frames, &mStatus.reply.capturePosition.time);
+}
+
bool ReadThread::threadLoop() {
// This implementation doesn't return control back to the Thread until it decides to stop,
// as the Thread uses mutexes, and this can lead to priority inversion.
@@ -87,21 +123,23 @@
if (!(efState & static_cast<uint32_t>(MessageQueueFlagBits::NOT_FULL))) {
continue; // Nothing to do.
}
-
- const size_t availToWrite = mDataMQ->availableToWrite();
- ssize_t readResult = mStream->read(mStream, &mBuffer[0], availToWrite);
- Result retval = Result::OK;
- uint64_t read = 0;
- if (readResult >= 0) {
- read = readResult;
- if (!mDataMQ->write(&mBuffer[0], readResult)) {
- ALOGW("data message queue write failed");
- }
- } else {
- retval = Stream::analyzeStatus("read", readResult);
+ if (!mCommandMQ->read(&mParameters)) {
+ continue; // Nothing to do.
}
- IStreamIn::ReadStatus status = { retval, read };
- if (!mStatusMQ->write(&status)) {
+ mStatus.replyTo = mParameters.command;
+ switch (mParameters.command) {
+ case IStreamIn::ReadCommand::READ:
+ doRead();
+ break;
+ case IStreamIn::ReadCommand::GET_CAPTURE_POSITION:
+ doGetCapturePosition();
+ break;
+ default:
+ ALOGE("Unknown read thread command code %d", mParameters.command);
+ mStatus.retval = Result::NOT_SUPPORTED;
+ break;
+ }
+ if (!mStatusMQ->write(&mStatus)) {
ALOGW("status message queue write failed");
}
mEfGroup->wake(static_cast<uint32_t>(MessageQueueFlagBits::NOT_EMPTY));
@@ -120,7 +158,18 @@
}
StreamIn::~StreamIn() {
+ ATRACE_CALL();
close();
+ if (mReadThread.get()) {
+ ATRACE_NAME("mReadThread->join");
+ status_t status = mReadThread->join();
+ ALOGE_IF(status, "read thread exit error: %s", strerror(-status));
+ }
+ if (mEfGroup) {
+ status_t status = EventFlag::deleteEventFlag(&mEfGroup);
+ ALOGE_IF(status, "read MQ event flag deletion error: %s", strerror(-status));
+ }
+ mDevice->close_input_stream(mDevice, mStream);
mStream = nullptr;
mDevice = nullptr;
}
@@ -240,14 +289,10 @@
mIsClosed = true;
if (mReadThread.get()) {
mStopReadThread.store(true, std::memory_order_release);
- status_t status = mReadThread->requestExitAndWait();
- ALOGE_IF(status, "read thread exit error: %s", strerror(-status));
}
if (mEfGroup) {
- status_t status = EventFlag::deleteEventFlag(&mEfGroup);
- ALOGE_IF(status, "read MQ event flag deletion error: %s", strerror(-status));
+ mEfGroup->wake(static_cast<uint32_t>(MessageQueueFlagBits::NOT_FULL));
}
- mDevice->close_input_stream(mDevice, mStream);
return Result::OK;
}
@@ -275,17 +320,19 @@
if (mDataMQ) {
ALOGE("the client attempts to call prepareForReading twice");
_hidl_cb(Result::INVALID_STATE,
- DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
return Void();
}
+ std::unique_ptr<CommandMQ> tempCommandMQ(new CommandMQ(1));
std::unique_ptr<DataMQ> tempDataMQ(
new DataMQ(frameSize * framesCount, true /* EventFlag */));
std::unique_ptr<StatusMQ> tempStatusMQ(new StatusMQ(1));
- if (!tempDataMQ->isValid() || !tempStatusMQ->isValid()) {
+ if (!tempCommandMQ->isValid() || !tempDataMQ->isValid() || !tempStatusMQ->isValid()) {
+ ALOGE_IF(!tempCommandMQ->isValid(), "command MQ is invalid");
ALOGE_IF(!tempDataMQ->isValid(), "data MQ is invalid");
ALOGE_IF(!tempStatusMQ->isValid(), "status MQ is invalid");
_hidl_cb(Result::INVALID_ARGUMENTS,
- DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
return Void();
}
// TODO: Remove event flag management once blocking MQ is implemented. b/33815422
@@ -293,7 +340,7 @@
if (status != OK || !mEfGroup) {
ALOGE("failed creating event flag for data MQ: %s", strerror(-status));
_hidl_cb(Result::INVALID_ARGUMENTS,
- DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
return Void();
}
@@ -301,6 +348,7 @@
mReadThread = new ReadThread(
&mStopReadThread,
mStream,
+ tempCommandMQ.get(),
tempDataMQ.get(),
tempStatusMQ.get(),
mEfGroup,
@@ -309,13 +357,14 @@
if (status != OK) {
ALOGW("failed to start reader thread: %s", strerror(-status));
_hidl_cb(Result::INVALID_ARGUMENTS,
- DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
return Void();
}
+ mCommandMQ = std::move(tempCommandMQ);
mDataMQ = std::move(tempDataMQ);
mStatusMQ = std::move(tempStatusMQ);
- _hidl_cb(Result::OK, *mDataMQ->getDesc(), *mStatusMQ->getDesc());
+ _hidl_cb(Result::OK, *mCommandMQ->getDesc(), *mDataMQ->getDesc(), *mStatusMQ->getDesc());
return Void();
}
@@ -323,22 +372,28 @@
return mStream->get_input_frames_lost(mStream);
}
-Return<void> StreamIn::getCapturePosition(getCapturePosition_cb _hidl_cb) {
+// static
+Result StreamIn::getCapturePositionImpl(
+ audio_stream_in_t *stream, uint64_t *frames, uint64_t *time) {
Result retval(Result::NOT_SUPPORTED);
- uint64_t frames = 0, time = 0;
- if (mStream->get_capture_position != NULL) {
- int64_t halFrames, halTime;
- retval = Stream::analyzeStatus(
- "get_capture_position",
- mStream->get_capture_position(mStream, &halFrames, &halTime),
- // HAL may have a stub function, always returning ENOSYS, don't
- // spam the log in this case.
- ENOSYS);
- if (retval == Result::OK) {
- frames = halFrames;
- time = halTime;
- }
+ if (stream->get_capture_position != NULL) return retval;
+ int64_t halFrames, halTime;
+ retval = Stream::analyzeStatus(
+ "get_capture_position",
+ stream->get_capture_position(stream, &halFrames, &halTime),
+ // HAL may have a stub function, always returning ENOSYS, don't
+ // spam the log in this case.
+ ENOSYS);
+ if (retval == Result::OK) {
+ *frames = halFrames;
+ *time = halTime;
}
+ return retval;
+};
+
+Return<void> StreamIn::getCapturePosition(getCapturePosition_cb _hidl_cb) {
+ uint64_t frames = 0, time = 0;
+ Result retval = getCapturePositionImpl(mStream, &frames, &time);
_hidl_cb(retval, frames, time);
return Void();
}
diff --git a/audio/2.0/default/StreamIn.h b/audio/2.0/default/StreamIn.h
index fc813d9..3566430 100644
--- a/audio/2.0/default/StreamIn.h
+++ b/audio/2.0/default/StreamIn.h
@@ -52,6 +52,7 @@
using ::android::sp;
struct StreamIn : public IStreamIn {
+ typedef MessageQueue<ReadParameters, kSynchronizedReadWrite> CommandMQ;
typedef MessageQueue<uint8_t, kSynchronizedReadWrite> DataMQ;
typedef MessageQueue<ReadStatus, kSynchronizedReadWrite> StatusMQ;
@@ -97,12 +98,16 @@
Return<void> createMmapBuffer(int32_t minSizeFrames, createMmapBuffer_cb _hidl_cb) override;
Return<void> getMmapPosition(getMmapPosition_cb _hidl_cb) override;
+ static Result getCapturePositionImpl(
+ audio_stream_in_t *stream, uint64_t *frames, uint64_t *time);
+
private:
bool mIsClosed;
audio_hw_device_t *mDevice;
audio_stream_in_t *mStream;
sp<Stream> mStreamCommon;
sp<StreamMmap<audio_stream_in_t>> mStreamMmap;
+ std::unique_ptr<CommandMQ> mCommandMQ;
std::unique_ptr<DataMQ> mDataMQ;
std::unique_ptr<StatusMQ> mStatusMQ;
EventFlag* mEfGroup;
diff --git a/audio/2.0/default/StreamOut.cpp b/audio/2.0/default/StreamOut.cpp
index 1948b68..6e46db2 100644
--- a/audio/2.0/default/StreamOut.cpp
+++ b/audio/2.0/default/StreamOut.cpp
@@ -16,10 +16,12 @@
#define LOG_TAG "StreamOutHAL"
//#define LOG_NDEBUG 0
+#define ATRACE_TAG ATRACE_TAG_AUDIO
#include <android/log.h>
#include <hardware/audio.h>
#include <mediautils/SchedulingPolicyService.h>
+#include <utils/Trace.h>
#include "StreamOut.h"
@@ -36,6 +38,7 @@
// WriteThread's lifespan never exceeds StreamOut's lifespan.
WriteThread(std::atomic<bool>* stop,
audio_stream_out_t* stream,
+ StreamOut::CommandMQ* commandMQ,
StreamOut::DataMQ* dataMQ,
StreamOut::StatusMQ* statusMQ,
EventFlag* efGroup,
@@ -43,6 +46,7 @@
: Thread(false /*canCallJava*/),
mStop(stop),
mStream(stream),
+ mCommandMQ(commandMQ),
mDataMQ(dataMQ),
mStatusMQ(statusMQ),
mEfGroup(efGroup),
@@ -56,13 +60,19 @@
private:
std::atomic<bool>* mStop;
audio_stream_out_t* mStream;
+ StreamOut::CommandMQ* mCommandMQ;
StreamOut::DataMQ* mDataMQ;
StreamOut::StatusMQ* mStatusMQ;
EventFlag* mEfGroup;
ThreadPriority mThreadPriority;
std::unique_ptr<uint8_t[]> mBuffer;
+ IStreamOut::WriteStatus mStatus;
bool threadLoop() override;
+
+ void doGetLatency();
+ void doGetPresentationPosition();
+ void doWrite();
};
status_t WriteThread::readyToRun() {
@@ -75,6 +85,32 @@
return OK;
}
+void WriteThread::doWrite() {
+ const size_t availToRead = mDataMQ->availableToRead();
+ mStatus.retval = Result::OK;
+ mStatus.reply.written = 0;
+ if (mDataMQ->read(&mBuffer[0], availToRead)) {
+ ssize_t writeResult = mStream->write(mStream, &mBuffer[0], availToRead);
+ if (writeResult >= 0) {
+ mStatus.reply.written = writeResult;
+ } else {
+ mStatus.retval = Stream::analyzeStatus("write", writeResult);
+ }
+ }
+}
+
+void WriteThread::doGetPresentationPosition() {
+ mStatus.retval = StreamOut::getPresentationPositionImpl(
+ mStream,
+ &mStatus.reply.presentationPosition.frames,
+ &mStatus.reply.presentationPosition.timeStamp);
+}
+
+void WriteThread::doGetLatency() {
+ mStatus.retval = Result::OK;
+ mStatus.reply.latencyMs = mStream->get_latency(mStream);
+}
+
bool WriteThread::threadLoop() {
// This implementation doesn't return control back to the Thread until it decides to stop,
// as the Thread uses mutexes, and this can lead to priority inversion.
@@ -86,24 +122,26 @@
if (!(efState & static_cast<uint32_t>(MessageQueueFlagBits::NOT_EMPTY))) {
continue; // Nothing to do.
}
-
- const size_t availToRead = mDataMQ->availableToRead();
- IStreamOut::WriteStatus status;
- status.writeRetval = Result::OK;
- status.written = 0;
- if (mDataMQ->read(&mBuffer[0], availToRead)) {
- ssize_t writeResult = mStream->write(mStream, &mBuffer[0], availToRead);
- if (writeResult >= 0) {
- status.written = writeResult;
- } else {
- status.writeRetval = Stream::analyzeStatus("write", writeResult);
- }
+ if (!mCommandMQ->read(&mStatus.replyTo)) {
+ continue; // Nothing to do.
}
- status.presentationPositionRetval = status.writeRetval == Result::OK ?
- StreamOut::getPresentationPositionImpl(mStream, &status.frames, &status.timeStamp) :
- Result::OK;
- if (!mStatusMQ->write(&status)) {
- ALOGW("status message queue write failed");
+ switch (mStatus.replyTo) {
+ case IStreamOut::WriteCommand::WRITE:
+ doWrite();
+ break;
+ case IStreamOut::WriteCommand::GET_PRESENTATION_POSITION:
+ doGetPresentationPosition();
+ break;
+ case IStreamOut::WriteCommand::GET_LATENCY:
+ doGetLatency();
+ break;
+ default:
+ ALOGE("Unknown write thread command code %d", mStatus.replyTo);
+ mStatus.retval = Result::NOT_SUPPORTED;
+ break;
+ }
+ if (!mStatusMQ->write(&mStatus)) {
+ ALOGE("status message queue write failed");
}
mEfGroup->wake(static_cast<uint32_t>(MessageQueueFlagBits::NOT_FULL));
}
@@ -121,7 +159,19 @@
}
StreamOut::~StreamOut() {
+ ATRACE_CALL();
close();
+ if (mWriteThread.get()) {
+ ATRACE_NAME("mWriteThread->join");
+ status_t status = mWriteThread->join();
+ ALOGE_IF(status, "write thread exit error: %s", strerror(-status));
+ }
+ if (mEfGroup) {
+ status_t status = EventFlag::deleteEventFlag(&mEfGroup);
+ ALOGE_IF(status, "write MQ event flag deletion error: %s", strerror(-status));
+ }
+ mCallback.clear();
+ mDevice->close_output_stream(mDevice, mStream);
mStream = nullptr;
mDevice = nullptr;
}
@@ -225,15 +275,10 @@
mIsClosed = true;
if (mWriteThread.get()) {
mStopWriteThread.store(true, std::memory_order_release);
- status_t status = mWriteThread->requestExitAndWait();
- ALOGE_IF(status, "write thread exit error: %s", strerror(-status));
}
if (mEfGroup) {
- status_t status = EventFlag::deleteEventFlag(&mEfGroup);
- ALOGE_IF(status, "write MQ event flag deletion error: %s", strerror(-status));
+ mEfGroup->wake(static_cast<uint32_t>(MessageQueueFlagBits::NOT_EMPTY));
}
- mCallback.clear();
- mDevice->close_output_stream(mDevice, mStream);
return Result::OK;
}
@@ -259,17 +304,19 @@
if (mDataMQ) {
ALOGE("the client attempts to call prepareForWriting twice");
_hidl_cb(Result::INVALID_STATE,
- DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
return Void();
}
+ std::unique_ptr<CommandMQ> tempCommandMQ(new CommandMQ(1));
std::unique_ptr<DataMQ> tempDataMQ(
new DataMQ(frameSize * framesCount, true /* EventFlag */));
std::unique_ptr<StatusMQ> tempStatusMQ(new StatusMQ(1));
- if (!tempDataMQ->isValid() || !tempStatusMQ->isValid()) {
+ if (!tempCommandMQ->isValid() || !tempDataMQ->isValid() || !tempStatusMQ->isValid()) {
+ ALOGE_IF(!tempCommandMQ->isValid(), "command MQ is invalid");
ALOGE_IF(!tempDataMQ->isValid(), "data MQ is invalid");
ALOGE_IF(!tempStatusMQ->isValid(), "status MQ is invalid");
_hidl_cb(Result::INVALID_ARGUMENTS,
- DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
return Void();
}
// TODO: Remove event flag management once blocking MQ is implemented. b/33815422
@@ -277,7 +324,7 @@
if (status != OK || !mEfGroup) {
ALOGE("failed creating event flag for data MQ: %s", strerror(-status));
_hidl_cb(Result::INVALID_ARGUMENTS,
- DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
return Void();
}
@@ -285,6 +332,7 @@
mWriteThread = new WriteThread(
&mStopWriteThread,
mStream,
+ tempCommandMQ.get(),
tempDataMQ.get(),
tempStatusMQ.get(),
mEfGroup,
@@ -293,13 +341,14 @@
if (status != OK) {
ALOGW("failed to start writer thread: %s", strerror(-status));
_hidl_cb(Result::INVALID_ARGUMENTS,
- DataMQ::Descriptor(), StatusMQ::Descriptor());
+ CommandMQ::Descriptor(), DataMQ::Descriptor(), StatusMQ::Descriptor());
return Void();
}
+ mCommandMQ = std::move(tempCommandMQ);
mDataMQ = std::move(tempDataMQ);
mStatusMQ = std::move(tempStatusMQ);
- _hidl_cb(Result::OK, *mDataMQ->getDesc(), *mStatusMQ->getDesc());
+ _hidl_cb(Result::OK, *mCommandMQ->getDesc(), *mDataMQ->getDesc(), *mStatusMQ->getDesc());
return Void();
}
@@ -405,8 +454,9 @@
"get_presentation_position",
stream->get_presentation_position(stream, frames, &halTimeStamp),
// Don't logspam on EINVAL--it's normal for get_presentation_position
- // to return it sometimes.
- EINVAL);
+ // to return it sometimes. EAGAIN may be returned by A2DP audio HAL
+ // implementation.
+ EINVAL, EAGAIN);
if (retval == Result::OK) {
timeStamp->tvSec = halTimeStamp.tv_sec;
timeStamp->tvNSec = halTimeStamp.tv_nsec;
diff --git a/audio/2.0/default/StreamOut.h b/audio/2.0/default/StreamOut.h
index 754a0c0..6616557 100644
--- a/audio/2.0/default/StreamOut.h
+++ b/audio/2.0/default/StreamOut.h
@@ -54,6 +54,7 @@
using ::android::sp;
struct StreamOut : public IStreamOut {
+ typedef MessageQueue<WriteCommand, kSynchronizedReadWrite> CommandMQ;
typedef MessageQueue<uint8_t, kSynchronizedReadWrite> DataMQ;
typedef MessageQueue<WriteStatus, kSynchronizedReadWrite> StatusMQ;
@@ -118,6 +119,7 @@
sp<Stream> mStreamCommon;
sp<StreamMmap<audio_stream_out_t>> mStreamMmap;
sp<IStreamOutCallback> mCallback;
+ std::unique_ptr<CommandMQ> mCommandMQ;
std::unique_ptr<DataMQ> mDataMQ;
std::unique_ptr<StatusMQ> mStatusMQ;
EventFlag* mEfGroup;
diff --git a/audio/common/2.0/Android.bp b/audio/common/2.0/Android.bp
index 5d33733..284766c 100644
--- a/audio/common/2.0/Android.bp
+++ b/audio/common/2.0/Android.bp
@@ -44,3 +44,95 @@
"libutils",
],
}
+
+genrule {
+ name: "android.hardware.audio.common.vts.driver@2.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.common@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/audio/common/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio.common.vts.driver@2.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.common@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/audio/common/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio.common.vts.driver@2.0",
+ generated_sources: ["android.hardware.audio.common.vts.driver@2.0_genc++"],
+ generated_headers: ["android.hardware.audio.common.vts.driver@2.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio.common.vts.driver@2.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio.common@2.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio.common@2.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.common@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/audio/common/2.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio.common@2.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.common@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/audio/common/2.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio.common@2.0-vts.profiler",
+ generated_sources: ["android.hardware.audio.common@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.audio.common@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio.common@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio.common@2.0",
+ ],
+}
diff --git a/audio/common/2.0/types.hal b/audio/common/2.0/types.hal
index eec4ac2..63d66db 100644
--- a/audio/common/2.0/types.hal
+++ b/audio/common/2.0/types.hal
@@ -233,7 +233,8 @@
SBC = 0x1F000000UL,
APTX = 0x20000000UL,
APTX_HD = 0x21000000UL,
- LDAC = 0x22000000UL,
+ AC4 = 0x22000000UL,
+ LDAC = 0x23000000UL,
MAIN_MASK = 0xFF000000UL, /* Deprecated */
SUB_MASK = 0x00FFFFFFUL,
@@ -431,6 +432,9 @@
IN_MONO = IN_FRONT,
IN_STEREO = (IN_LEFT | IN_RIGHT),
IN_FRONT_BACK = (IN_FRONT | IN_BACK),
+ IN_6 = (IN_LEFT | IN_RIGHT |
+ IN_FRONT | IN_BACK |
+ IN_LEFT_PROCESSED | IN_RIGHT_PROCESSED),
IN_VOICE_UPLINK_MONO = (IN_VOICE_UPLINK | IN_MONO),
IN_VOICE_DNLINK_MONO = (IN_VOICE_DNLINK | IN_MONO),
IN_VOICE_CALL_MONO = (IN_VOICE_UPLINK_MONO |
diff --git a/audio/effect/2.0/Android.bp b/audio/effect/2.0/Android.bp
index ee76a0e..98d6cfe 100644
--- a/audio/effect/2.0/Android.bp
+++ b/audio/effect/2.0/Android.bp
@@ -160,3 +160,213 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.audio.effect.vts.driver@2.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.effect@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+ srcs: [
+ "types.hal",
+ "IAcousticEchoCancelerEffect.hal",
+ "IAutomaticGainControlEffect.hal",
+ "IBassBoostEffect.hal",
+ "IDownmixEffect.hal",
+ "IEffect.hal",
+ "IEffectBufferProviderCallback.hal",
+ "IEffectsFactory.hal",
+ "IEnvironmentalReverbEffect.hal",
+ "IEqualizerEffect.hal",
+ "ILoudnessEnhancerEffect.hal",
+ "INoiseSuppressionEffect.hal",
+ "IPresetReverbEffect.hal",
+ "IVirtualizerEffect.hal",
+ "IVisualizerEffect.hal",
+ ],
+ out: [
+ "android/hardware/audio/effect/2.0/types.vts.cpp",
+ "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/BassBoostEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/DownmixEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/Effect.vts.cpp",
+ "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.cpp",
+ "android/hardware/audio/effect/2.0/EffectsFactory.vts.cpp",
+ "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/EqualizerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/VisualizerEffect.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio.effect.vts.driver@2.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.effect@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+ srcs: [
+ "types.hal",
+ "IAcousticEchoCancelerEffect.hal",
+ "IAutomaticGainControlEffect.hal",
+ "IBassBoostEffect.hal",
+ "IDownmixEffect.hal",
+ "IEffect.hal",
+ "IEffectBufferProviderCallback.hal",
+ "IEffectsFactory.hal",
+ "IEnvironmentalReverbEffect.hal",
+ "IEqualizerEffect.hal",
+ "ILoudnessEnhancerEffect.hal",
+ "INoiseSuppressionEffect.hal",
+ "IPresetReverbEffect.hal",
+ "IVirtualizerEffect.hal",
+ "IVisualizerEffect.hal",
+ ],
+ out: [
+ "android/hardware/audio/effect/2.0/types.vts.h",
+ "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.h",
+ "android/hardware/audio/effect/2.0/BassBoostEffect.vts.h",
+ "android/hardware/audio/effect/2.0/DownmixEffect.vts.h",
+ "android/hardware/audio/effect/2.0/Effect.vts.h",
+ "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.h",
+ "android/hardware/audio/effect/2.0/EffectsFactory.vts.h",
+ "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.h",
+ "android/hardware/audio/effect/2.0/EqualizerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.h",
+ "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.h",
+ "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/VisualizerEffect.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio.effect.vts.driver@2.0",
+ generated_sources: ["android.hardware.audio.effect.vts.driver@2.0_genc++"],
+ generated_headers: ["android.hardware.audio.effect.vts.driver@2.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio.effect.vts.driver@2.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio.common@2.0",
+ "android.hidl.base@1.0",
+ "android.hardware.audio.effect@2.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.audio.common@2.0",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio.effect@2.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.effect@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+ srcs: [
+ "types.hal",
+ "IAcousticEchoCancelerEffect.hal",
+ "IAutomaticGainControlEffect.hal",
+ "IBassBoostEffect.hal",
+ "IDownmixEffect.hal",
+ "IEffect.hal",
+ "IEffectBufferProviderCallback.hal",
+ "IEffectsFactory.hal",
+ "IEnvironmentalReverbEffect.hal",
+ "IEqualizerEffect.hal",
+ "ILoudnessEnhancerEffect.hal",
+ "INoiseSuppressionEffect.hal",
+ "IPresetReverbEffect.hal",
+ "IVirtualizerEffect.hal",
+ "IVisualizerEffect.hal",
+ ],
+ out: [
+ "android/hardware/audio/effect/2.0/types.vts.cpp",
+ "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/BassBoostEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/DownmixEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/Effect.vts.cpp",
+ "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.cpp",
+ "android/hardware/audio/effect/2.0/EffectsFactory.vts.cpp",
+ "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/EqualizerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.cpp",
+ "android/hardware/audio/effect/2.0/VisualizerEffect.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.audio.effect@2.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.effect@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+ srcs: [
+ "types.hal",
+ "IAcousticEchoCancelerEffect.hal",
+ "IAutomaticGainControlEffect.hal",
+ "IBassBoostEffect.hal",
+ "IDownmixEffect.hal",
+ "IEffect.hal",
+ "IEffectBufferProviderCallback.hal",
+ "IEffectsFactory.hal",
+ "IEnvironmentalReverbEffect.hal",
+ "IEqualizerEffect.hal",
+ "ILoudnessEnhancerEffect.hal",
+ "INoiseSuppressionEffect.hal",
+ "IPresetReverbEffect.hal",
+ "IVirtualizerEffect.hal",
+ "IVisualizerEffect.hal",
+ ],
+ out: [
+ "android/hardware/audio/effect/2.0/types.vts.h",
+ "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.h",
+ "android/hardware/audio/effect/2.0/BassBoostEffect.vts.h",
+ "android/hardware/audio/effect/2.0/DownmixEffect.vts.h",
+ "android/hardware/audio/effect/2.0/Effect.vts.h",
+ "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.h",
+ "android/hardware/audio/effect/2.0/EffectsFactory.vts.h",
+ "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.h",
+ "android/hardware/audio/effect/2.0/EqualizerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.h",
+ "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.h",
+ "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.h",
+ "android/hardware/audio/effect/2.0/VisualizerEffect.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.audio.effect@2.0-vts.profiler",
+ generated_sources: ["android.hardware.audio.effect@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.audio.effect@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.audio.effect@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.audio.common@2.0",
+ "android.hidl.base@1.0",
+ "android.hardware.audio.effect@2.0",
+ ],
+}
diff --git a/audio/effect/2.0/default/Effect.cpp b/audio/effect/2.0/default/Effect.cpp
index 3c97fc4..0a4aeb7 100644
--- a/audio/effect/2.0/default/Effect.cpp
+++ b/audio/effect/2.0/default/Effect.cpp
@@ -17,8 +17,11 @@
#include <memory.h>
#define LOG_TAG "EffectHAL"
+#define ATRACE_TAG ATRACE_TAG_AUDIO
+
#include <android/log.h>
#include <media/EffectsFactoryApi.h>
+#include <utils/Trace.h>
#include "Conversions.h"
#include "Effect.h"
@@ -78,8 +81,9 @@
static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS_ALL),
&efState,
NS_PER_SEC);
- if (!(efState & static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS_ALL))) {
- continue; // Nothing to do.
+ if (!(efState & static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS_ALL))
+ || (efState & static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_QUIT))) {
+ continue; // Nothing to do or time to quit.
}
Result retval = Result::OK;
if (efState & static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS_REVERSE)
@@ -134,7 +138,23 @@
}
Effect::~Effect() {
+ ATRACE_CALL();
close();
+ if (mProcessThread.get()) {
+ ATRACE_NAME("mProcessThread->join");
+ status_t status = mProcessThread->join();
+ ALOGE_IF(status, "processing thread exit error: %s", strerror(-status));
+ }
+ if (mEfGroup) {
+ status_t status = EventFlag::deleteEventFlag(&mEfGroup);
+ ALOGE_IF(status, "processing MQ event flag deletion error: %s", strerror(-status));
+ }
+ mInBuffer.clear();
+ mOutBuffer.clear();
+ int status = EffectRelease(mHandle);
+ ALOGW_IF(status, "Error releasing effect %p: %s", mHandle, strerror(-status));
+ EffectMap::getInstance().remove(mHandle);
+ mHandle = 0;
}
// static
@@ -731,19 +751,10 @@
mIsClosed = true;
if (mProcessThread.get()) {
mStopProcessThread.store(true, std::memory_order_release);
- status_t status = mProcessThread->requestExitAndWait();
- ALOGE_IF(status, "processing thread exit error: %s", strerror(-status));
}
if (mEfGroup) {
- status_t status = EventFlag::deleteEventFlag(&mEfGroup);
- ALOGE_IF(status, "processing MQ event flag deletion error: %s", strerror(-status));
+ mEfGroup->wake(static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_QUIT));
}
- mInBuffer.clear();
- mOutBuffer.clear();
- int status = EffectRelease(mHandle);
- ALOGW_IF(status, "Error releasing effect %p: %s", mHandle, strerror(-status));
- EffectMap::getInstance().remove(mHandle);
- mHandle = 0;
return Result::OK;
}
diff --git a/audio/effect/2.0/types.hal b/audio/effect/2.0/types.hal
index 0cac59a..0626ec5 100644
--- a/audio/effect/2.0/types.hal
+++ b/audio/effect/2.0/types.hal
@@ -293,5 +293,7 @@
DONE_PROCESSING = 1 << 0,
REQUEST_PROCESS = 1 << 1,
REQUEST_PROCESS_REVERSE = 1 << 2,
- REQUEST_PROCESS_ALL = REQUEST_PROCESS | REQUEST_PROCESS_REVERSE
+ REQUEST_QUIT = 1 << 3,
+ REQUEST_PROCESS_ALL =
+ REQUEST_PROCESS | REQUEST_PROCESS_REVERSE | REQUEST_QUIT
};
diff --git a/audio/effect/2.0/vts/functional/Android.mk b/audio/effect/2.0/vts/functional/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/audio/effect/2.0/vts/functional/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/audio/effect/2.0/vts/functional/vts/Android.mk b/audio/effect/2.0/vts/functional/vts/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/audio/effect/2.0/vts/functional/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/audio/effect/2.0/vts/functional/vts/testcases/Android.mk b/audio/effect/2.0/vts/functional/vts/testcases/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/audio/effect/2.0/vts/functional/vts/testcases/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/audio/effect/2.0/vts/functional/vts/testcases/hal/Android.mk b/audio/effect/2.0/vts/functional/vts/testcases/hal/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/audio/effect/2.0/vts/functional/vts/testcases/hal/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/Android.mk b/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/Android.mk b/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/Android.mk b/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target/Android.mk b/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target/Android.mk
deleted file mode 100644
index fe5ea0f..0000000
--- a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalAudioEffectHidlTargetBasicTest
-VTS_CONFIG_SRC_DIR := testcases/hal/audio/effect/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target/AndroidTest.xml b/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target/AndroidTest.xml
deleted file mode 100644
index f0af67a..0000000
--- a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Audio Effect HIDL HAL's basic target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalAudioEffectHidlTargetBasicTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/audio_effect_hidl_hal_test/audio_effect_hidl_hal_test,
- _64bit::DATA/nativetest64/audio_effect_hidl_hal_test/audio_effect_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
diff --git a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target_profiling/Android.mk b/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target_profiling/Android.mk
deleted file mode 100644
index 430600d..0000000
--- a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalAudioEffectHidlTargetBasicProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/audio/effect/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target_profiling/AndroidTest.xml b/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index 7febf26..0000000
--- a/audio/effect/2.0/vts/functional/vts/testcases/hal/audio/effect/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Audio Effect HIDL HAL's basic target-side, profiling test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalAudioEffectHidlTargetBasicProfilingTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/audio_effect_hidl_hal_test/audio_effect_hidl_hal_test,
- _64bit::DATA/nativetest64/audio_effect_hidl_hal_test/audio_effect_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
diff --git a/automotive/Android.bp b/automotive/Android.bp
new file mode 100644
index 0000000..aa8f74f
--- /dev/null
+++ b/automotive/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+ "vehicle",
+ "vehicle/2.0",
+]
diff --git a/automotive/vehicle/2.0/Android.bp b/automotive/vehicle/2.0/Android.bp
new file mode 100644
index 0000000..3f378f2
--- /dev/null
+++ b/automotive/vehicle/2.0/Android.bp
@@ -0,0 +1,175 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+genrule {
+ name: "android.hardware.automotive.vehicle@2.0_genc++",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.0",
+ srcs: [
+ "types.hal",
+ "IVehicle.hal",
+ "IVehicleCallback.hal",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/2.0/types.cpp",
+ "android/hardware/automotive/vehicle/2.0/VehicleAll.cpp",
+ "android/hardware/automotive/vehicle/2.0/VehicleCallbackAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.automotive.vehicle@2.0_genc++_headers",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.0",
+ srcs: [
+ "types.hal",
+ "IVehicle.hal",
+ "IVehicleCallback.hal",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/2.0/types.h",
+ "android/hardware/automotive/vehicle/2.0/IVehicle.h",
+ "android/hardware/automotive/vehicle/2.0/IHwVehicle.h",
+ "android/hardware/automotive/vehicle/2.0/BnHwVehicle.h",
+ "android/hardware/automotive/vehicle/2.0/BpHwVehicle.h",
+ "android/hardware/automotive/vehicle/2.0/BsVehicle.h",
+ "android/hardware/automotive/vehicle/2.0/IVehicleCallback.h",
+ "android/hardware/automotive/vehicle/2.0/IHwVehicleCallback.h",
+ "android/hardware/automotive/vehicle/2.0/BnHwVehicleCallback.h",
+ "android/hardware/automotive/vehicle/2.0/BpHwVehicleCallback.h",
+ "android/hardware/automotive/vehicle/2.0/BsVehicleCallback.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.automotive.vehicle@2.0",
+ generated_sources: ["android.hardware.automotive.vehicle@2.0_genc++"],
+ generated_headers: ["android.hardware.automotive.vehicle@2.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.automotive.vehicle@2.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "android.hidl.base@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.automotive.vehicle.vts.driver@2.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+ srcs: [
+ "types.hal",
+ "IVehicle.hal",
+ "IVehicleCallback.hal",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/2.0/types.vts.cpp",
+ "android/hardware/automotive/vehicle/2.0/Vehicle.vts.cpp",
+ "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.automotive.vehicle.vts.driver@2.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+ srcs: [
+ "types.hal",
+ "IVehicle.hal",
+ "IVehicleCallback.hal",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/2.0/types.vts.h",
+ "android/hardware/automotive/vehicle/2.0/Vehicle.vts.h",
+ "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.automotive.vehicle.vts.driver@2.0",
+ generated_sources: ["android.hardware.automotive.vehicle.vts.driver@2.0_genc++"],
+ generated_headers: ["android.hardware.automotive.vehicle.vts.driver@2.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.automotive.vehicle.vts.driver@2.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.automotive.vehicle@2.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.automotive.vehicle@2.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+ srcs: [
+ "types.hal",
+ "IVehicle.hal",
+ "IVehicleCallback.hal",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/2.0/types.vts.cpp",
+ "android/hardware/automotive/vehicle/2.0/Vehicle.vts.cpp",
+ "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.automotive.vehicle@2.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+ srcs: [
+ "types.hal",
+ "IVehicle.hal",
+ "IVehicleCallback.hal",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/2.0/types.vts.h",
+ "android/hardware/automotive/vehicle/2.0/Vehicle.vts.h",
+ "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.automotive.vehicle@2.0-vts.profiler",
+ generated_sources: ["android.hardware.automotive.vehicle@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.automotive.vehicle@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.automotive.vehicle@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.automotive.vehicle@2.0",
+ ],
+}
diff --git a/vehicle/2.0/Android.mk b/automotive/vehicle/2.0/Android.mk
similarity index 72%
rename from vehicle/2.0/Android.mk
rename to automotive/vehicle/2.0/Android.mk
index 1dd0f45..ca83918 100644
--- a/vehicle/2.0/Android.mk
+++ b/automotive/vehicle/2.0/Android.mk
@@ -5,7 +5,7 @@
################################################################################
include $(CLEAR_VARS)
-LOCAL_MODULE := android.hardware.vehicle@2.0-java
+LOCAL_MODULE := android.hardware.automotive.vehicle@2.0-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
intermediates := $(local-generated-sources-dir)
@@ -19,7 +19,7 @@
#
# Build types.hal (CommonIgnitionMonitors)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/CommonIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CommonIgnitionMonitors.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -29,7 +29,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.CommonIgnitionMonitors
+ android.hardware.automotive.vehicle@2.0::types.CommonIgnitionMonitors
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -38,7 +38,7 @@
#
# Build types.hal (CompressionIgnitionMonitors)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/CompressionIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CompressionIgnitionMonitors.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -48,7 +48,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.CompressionIgnitionMonitors
+ android.hardware.automotive.vehicle@2.0::types.CompressionIgnitionMonitors
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -57,7 +57,7 @@
#
# Build types.hal (FuelSystemStatus)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/FuelSystemStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelSystemStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -67,7 +67,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.FuelSystemStatus
+ android.hardware.automotive.vehicle@2.0::types.FuelSystemStatus
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -76,7 +76,7 @@
#
# Build types.hal (FuelType)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/FuelType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -86,7 +86,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.FuelType
+ android.hardware.automotive.vehicle@2.0::types.FuelType
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -95,7 +95,7 @@
#
# Build types.hal (IgnitionMonitorKind)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IgnitionMonitorKind.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IgnitionMonitorKind.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -105,7 +105,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.IgnitionMonitorKind
+ android.hardware.automotive.vehicle@2.0::types.IgnitionMonitorKind
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -114,7 +114,7 @@
#
# Build types.hal (Obd2FloatSensorIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Obd2FloatSensorIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2FloatSensorIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -124,7 +124,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.Obd2FloatSensorIndex
+ android.hardware.automotive.vehicle@2.0::types.Obd2FloatSensorIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -133,7 +133,7 @@
#
# Build types.hal (Obd2IntegerSensorIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Obd2IntegerSensorIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2IntegerSensorIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -143,7 +143,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.Obd2IntegerSensorIndex
+ android.hardware.automotive.vehicle@2.0::types.Obd2IntegerSensorIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -152,7 +152,7 @@
#
# Build types.hal (SecondaryAirStatus)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SecondaryAirStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SecondaryAirStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -162,7 +162,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.SecondaryAirStatus
+ android.hardware.automotive.vehicle@2.0::types.SecondaryAirStatus
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -171,7 +171,7 @@
#
# Build types.hal (SparkIgnitionMonitors)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SparkIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SparkIgnitionMonitors.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -181,7 +181,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.SparkIgnitionMonitors
+ android.hardware.automotive.vehicle@2.0::types.SparkIgnitionMonitors
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -190,7 +190,7 @@
#
# Build types.hal (StatusCode)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/StatusCode.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/StatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -200,7 +200,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.StatusCode
+ android.hardware.automotive.vehicle@2.0::types.StatusCode
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -209,7 +209,7 @@
#
# Build types.hal (SubscribeFlags)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeFlags.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SubscribeFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -219,7 +219,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.SubscribeFlags
+ android.hardware.automotive.vehicle@2.0::types.SubscribeFlags
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -228,7 +228,7 @@
#
# Build types.hal (SubscribeOptions)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeOptions.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SubscribeOptions.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -238,7 +238,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.SubscribeOptions
+ android.hardware.automotive.vehicle@2.0::types.SubscribeOptions
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -247,7 +247,7 @@
#
# Build types.hal (VehicleApPowerBootupReason)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerBootupReason.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerBootupReason.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -257,7 +257,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerBootupReason
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerBootupReason
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -266,7 +266,7 @@
#
# Build types.hal (VehicleApPowerSetState)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerSetState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerSetState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -276,7 +276,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerSetState
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerSetState
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -285,7 +285,7 @@
#
# Build types.hal (VehicleApPowerState)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -295,7 +295,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerState
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerState
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -304,7 +304,7 @@
#
# Build types.hal (VehicleApPowerStateConfigFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateConfigFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateConfigFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -314,7 +314,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerStateConfigFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateConfigFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -323,7 +323,7 @@
#
# Build types.hal (VehicleApPowerStateIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -333,7 +333,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerStateIndex
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -342,7 +342,7 @@
#
# Build types.hal (VehicleApPowerStateShutdownParam)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateShutdownParam.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateShutdownParam.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -352,7 +352,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerStateShutdownParam
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateShutdownParam
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -361,7 +361,7 @@
#
# Build types.hal (VehicleArea)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleArea.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleArea.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -371,7 +371,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleArea
+ android.hardware.automotive.vehicle@2.0::types.VehicleArea
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -380,7 +380,7 @@
#
# Build types.hal (VehicleAreaConfig)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaConfig.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -390,7 +390,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaConfig
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaConfig
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -399,7 +399,7 @@
#
# Build types.hal (VehicleAreaDoor)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaDoor.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaDoor.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -409,7 +409,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaDoor
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaDoor
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -418,7 +418,7 @@
#
# Build types.hal (VehicleAreaMirror)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaMirror.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaMirror.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -428,7 +428,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaMirror
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaMirror
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -437,7 +437,7 @@
#
# Build types.hal (VehicleAreaSeat)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaSeat.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaSeat.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -447,7 +447,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaSeat
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaSeat
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -456,7 +456,7 @@
#
# Build types.hal (VehicleAreaWindow)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaWindow.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaWindow.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -466,7 +466,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaWindow
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaWindow
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -475,7 +475,7 @@
#
# Build types.hal (VehicleAreaZone)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaZone.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaZone.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -485,7 +485,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaZone
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaZone
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -494,7 +494,7 @@
#
# Build types.hal (VehicleAudioContextFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioContextFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioContextFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -504,7 +504,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioContextFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioContextFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -513,7 +513,7 @@
#
# Build types.hal (VehicleAudioExtFocusFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioExtFocusFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioExtFocusFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -523,7 +523,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioExtFocusFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioExtFocusFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -532,7 +532,7 @@
#
# Build types.hal (VehicleAudioFocusIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -542,7 +542,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioFocusIndex
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -551,7 +551,7 @@
#
# Build types.hal (VehicleAudioFocusRequest)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusRequest.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -561,7 +561,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioFocusRequest
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusRequest
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -570,7 +570,7 @@
#
# Build types.hal (VehicleAudioFocusState)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -580,7 +580,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioFocusState
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusState
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -589,7 +589,7 @@
#
# Build types.hal (VehicleAudioHwVariantConfigFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioHwVariantConfigFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioHwVariantConfigFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -599,7 +599,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioHwVariantConfigFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioHwVariantConfigFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -608,7 +608,7 @@
#
# Build types.hal (VehicleAudioRoutingPolicyIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioRoutingPolicyIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioRoutingPolicyIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -618,7 +618,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioRoutingPolicyIndex
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioRoutingPolicyIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -627,7 +627,7 @@
#
# Build types.hal (VehicleAudioStream)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStream.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioStream.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -637,7 +637,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioStream
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioStream
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -646,7 +646,7 @@
#
# Build types.hal (VehicleAudioStreamFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStreamFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioStreamFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -656,7 +656,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioStreamFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioStreamFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -665,7 +665,7 @@
#
# Build types.hal (VehicleAudioVolumeCapabilityFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeCapabilityFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeCapabilityFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -675,7 +675,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioVolumeCapabilityFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeCapabilityFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -684,7 +684,7 @@
#
# Build types.hal (VehicleAudioVolumeIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -694,7 +694,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioVolumeIndex
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -703,7 +703,7 @@
#
# Build types.hal (VehicleAudioVolumeLimitIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeLimitIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeLimitIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -713,7 +713,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioVolumeLimitIndex
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeLimitIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -722,7 +722,7 @@
#
# Build types.hal (VehicleAudioVolumeState)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -732,7 +732,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioVolumeState
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeState
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -741,7 +741,7 @@
#
# Build types.hal (VehicleDisplay)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDisplay.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleDisplay.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -751,7 +751,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleDisplay
+ android.hardware.automotive.vehicle@2.0::types.VehicleDisplay
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -760,7 +760,7 @@
#
# Build types.hal (VehicleDrivingStatus)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDrivingStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleDrivingStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -770,7 +770,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleDrivingStatus
+ android.hardware.automotive.vehicle@2.0::types.VehicleDrivingStatus
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -779,7 +779,7 @@
#
# Build types.hal (VehicleGear)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleGear.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleGear.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -789,7 +789,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleGear
+ android.hardware.automotive.vehicle@2.0::types.VehicleGear
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -798,7 +798,7 @@
#
# Build types.hal (VehicleHvacFanDirection)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHvacFanDirection.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleHvacFanDirection.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -808,7 +808,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleHvacFanDirection
+ android.hardware.automotive.vehicle@2.0::types.VehicleHvacFanDirection
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -817,7 +817,7 @@
#
# Build types.hal (VehicleHwKeyInputAction)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHwKeyInputAction.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleHwKeyInputAction.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -827,7 +827,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleHwKeyInputAction
+ android.hardware.automotive.vehicle@2.0::types.VehicleHwKeyInputAction
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -836,7 +836,7 @@
#
# Build types.hal (VehicleIgnitionState)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleIgnitionState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleIgnitionState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -846,7 +846,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleIgnitionState
+ android.hardware.automotive.vehicle@2.0::types.VehicleIgnitionState
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -855,7 +855,7 @@
#
# Build types.hal (VehicleInstrumentClusterType)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleInstrumentClusterType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleInstrumentClusterType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -865,7 +865,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleInstrumentClusterType
+ android.hardware.automotive.vehicle@2.0::types.VehicleInstrumentClusterType
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -874,7 +874,7 @@
#
# Build types.hal (VehiclePropConfig)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropConfig.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -884,7 +884,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropConfig
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropConfig
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -893,7 +893,7 @@
#
# Build types.hal (VehiclePropValue)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropValue.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropValue.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -903,7 +903,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropValue
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropValue
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -912,7 +912,7 @@
#
# Build types.hal (VehicleProperty)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleProperty.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleProperty.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -922,7 +922,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleProperty
+ android.hardware.automotive.vehicle@2.0::types.VehicleProperty
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -931,7 +931,7 @@
#
# Build types.hal (VehiclePropertyAccess)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyAccess.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyAccess.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -941,7 +941,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropertyAccess
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropertyAccess
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -950,7 +950,7 @@
#
# Build types.hal (VehiclePropertyChangeMode)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyChangeMode.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyChangeMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -960,7 +960,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropertyChangeMode
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropertyChangeMode
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -969,7 +969,7 @@
#
# Build types.hal (VehiclePropertyGroup)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyGroup.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyGroup.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -979,7 +979,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropertyGroup
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropertyGroup
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -988,7 +988,7 @@
#
# Build types.hal (VehiclePropertyOperation)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyOperation.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyOperation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -998,7 +998,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropertyOperation
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropertyOperation
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1007,7 +1007,7 @@
#
# Build types.hal (VehiclePropertyType)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1017,7 +1017,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropertyType
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropertyType
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1026,7 +1026,7 @@
#
# Build types.hal (VehicleRadioConstants)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleRadioConstants.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleRadioConstants.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1036,7 +1036,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleRadioConstants
+ android.hardware.automotive.vehicle@2.0::types.VehicleRadioConstants
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1045,7 +1045,7 @@
#
# Build types.hal (VehicleTurnSignal)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleTurnSignal.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleTurnSignal.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1055,7 +1055,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleTurnSignal
+ android.hardware.automotive.vehicle@2.0::types.VehicleTurnSignal
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1064,7 +1064,7 @@
#
# Build types.hal (VehicleUnit)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleUnit.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleUnit.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1074,7 +1074,45 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleUnit
+ android.hardware.automotive.vehicle@2.0::types.VehicleUnit
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (VmsMessageIntegerValuesIndex)
+#
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VmsMessageIntegerValuesIndex.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.automotive.vehicle@2.0::types.VmsMessageIntegerValuesIndex
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (VmsMessageType)
+#
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VmsMessageType.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.automotive.vehicle@2.0::types.VmsMessageType
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1083,7 +1121,7 @@
#
# Build types.hal (Wheel)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Wheel.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Wheel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1093,7 +1131,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.Wheel
+ android.hardware.automotive.vehicle@2.0::types.Wheel
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1102,7 +1140,7 @@
#
# Build IVehicle.hal
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicle.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IVehicle.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicle.hal
@@ -1116,7 +1154,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::IVehicle
+ android.hardware.automotive.vehicle@2.0::IVehicle
$(GEN): $(LOCAL_PATH)/IVehicle.hal
$(transform-generated-source)
@@ -1125,7 +1163,7 @@
#
# Build IVehicleCallback.hal
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicleCallback.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IVehicleCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicleCallback.hal
@@ -1137,7 +1175,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::IVehicleCallback
+ android.hardware.automotive.vehicle@2.0::IVehicleCallback
$(GEN): $(LOCAL_PATH)/IVehicleCallback.hal
$(transform-generated-source)
@@ -1148,7 +1186,7 @@
################################################################################
include $(CLEAR_VARS)
-LOCAL_MODULE := android.hardware.vehicle@2.0-java-static
+LOCAL_MODULE := android.hardware.automotive.vehicle@2.0-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
intermediates := $(local-generated-sources-dir)
@@ -1162,7 +1200,7 @@
#
# Build types.hal (CommonIgnitionMonitors)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/CommonIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CommonIgnitionMonitors.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1172,7 +1210,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.CommonIgnitionMonitors
+ android.hardware.automotive.vehicle@2.0::types.CommonIgnitionMonitors
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1181,7 +1219,7 @@
#
# Build types.hal (CompressionIgnitionMonitors)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/CompressionIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CompressionIgnitionMonitors.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1191,7 +1229,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.CompressionIgnitionMonitors
+ android.hardware.automotive.vehicle@2.0::types.CompressionIgnitionMonitors
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1200,7 +1238,7 @@
#
# Build types.hal (FuelSystemStatus)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/FuelSystemStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelSystemStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1210,7 +1248,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.FuelSystemStatus
+ android.hardware.automotive.vehicle@2.0::types.FuelSystemStatus
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1219,7 +1257,7 @@
#
# Build types.hal (FuelType)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/FuelType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1229,7 +1267,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.FuelType
+ android.hardware.automotive.vehicle@2.0::types.FuelType
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1238,7 +1276,7 @@
#
# Build types.hal (IgnitionMonitorKind)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IgnitionMonitorKind.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IgnitionMonitorKind.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1248,7 +1286,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.IgnitionMonitorKind
+ android.hardware.automotive.vehicle@2.0::types.IgnitionMonitorKind
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1257,7 +1295,7 @@
#
# Build types.hal (Obd2FloatSensorIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Obd2FloatSensorIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2FloatSensorIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1267,7 +1305,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.Obd2FloatSensorIndex
+ android.hardware.automotive.vehicle@2.0::types.Obd2FloatSensorIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1276,7 +1314,7 @@
#
# Build types.hal (Obd2IntegerSensorIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Obd2IntegerSensorIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2IntegerSensorIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1286,7 +1324,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.Obd2IntegerSensorIndex
+ android.hardware.automotive.vehicle@2.0::types.Obd2IntegerSensorIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1295,7 +1333,7 @@
#
# Build types.hal (SecondaryAirStatus)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SecondaryAirStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SecondaryAirStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1305,7 +1343,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.SecondaryAirStatus
+ android.hardware.automotive.vehicle@2.0::types.SecondaryAirStatus
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1314,7 +1352,7 @@
#
# Build types.hal (SparkIgnitionMonitors)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SparkIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SparkIgnitionMonitors.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1324,7 +1362,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.SparkIgnitionMonitors
+ android.hardware.automotive.vehicle@2.0::types.SparkIgnitionMonitors
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1333,7 +1371,7 @@
#
# Build types.hal (StatusCode)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/StatusCode.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/StatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1343,7 +1381,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.StatusCode
+ android.hardware.automotive.vehicle@2.0::types.StatusCode
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1352,7 +1390,7 @@
#
# Build types.hal (SubscribeFlags)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeFlags.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SubscribeFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1362,7 +1400,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.SubscribeFlags
+ android.hardware.automotive.vehicle@2.0::types.SubscribeFlags
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1371,7 +1409,7 @@
#
# Build types.hal (SubscribeOptions)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeOptions.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SubscribeOptions.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1381,7 +1419,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.SubscribeOptions
+ android.hardware.automotive.vehicle@2.0::types.SubscribeOptions
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1390,7 +1428,7 @@
#
# Build types.hal (VehicleApPowerBootupReason)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerBootupReason.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerBootupReason.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1400,7 +1438,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerBootupReason
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerBootupReason
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1409,7 +1447,7 @@
#
# Build types.hal (VehicleApPowerSetState)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerSetState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerSetState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1419,7 +1457,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerSetState
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerSetState
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1428,7 +1466,7 @@
#
# Build types.hal (VehicleApPowerState)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1438,7 +1476,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerState
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerState
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1447,7 +1485,7 @@
#
# Build types.hal (VehicleApPowerStateConfigFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateConfigFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateConfigFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1457,7 +1495,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerStateConfigFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateConfigFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1466,7 +1504,7 @@
#
# Build types.hal (VehicleApPowerStateIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1476,7 +1514,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerStateIndex
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1485,7 +1523,7 @@
#
# Build types.hal (VehicleApPowerStateShutdownParam)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateShutdownParam.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateShutdownParam.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1495,7 +1533,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleApPowerStateShutdownParam
+ android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateShutdownParam
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1504,7 +1542,7 @@
#
# Build types.hal (VehicleArea)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleArea.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleArea.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1514,7 +1552,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleArea
+ android.hardware.automotive.vehicle@2.0::types.VehicleArea
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1523,7 +1561,7 @@
#
# Build types.hal (VehicleAreaConfig)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaConfig.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1533,7 +1571,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaConfig
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaConfig
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1542,7 +1580,7 @@
#
# Build types.hal (VehicleAreaDoor)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaDoor.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaDoor.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1552,7 +1590,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaDoor
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaDoor
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1561,7 +1599,7 @@
#
# Build types.hal (VehicleAreaMirror)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaMirror.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaMirror.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1571,7 +1609,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaMirror
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaMirror
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1580,7 +1618,7 @@
#
# Build types.hal (VehicleAreaSeat)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaSeat.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaSeat.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1590,7 +1628,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaSeat
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaSeat
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1599,7 +1637,7 @@
#
# Build types.hal (VehicleAreaWindow)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaWindow.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaWindow.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1609,7 +1647,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaWindow
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaWindow
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1618,7 +1656,7 @@
#
# Build types.hal (VehicleAreaZone)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaZone.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaZone.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1628,7 +1666,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAreaZone
+ android.hardware.automotive.vehicle@2.0::types.VehicleAreaZone
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1637,7 +1675,7 @@
#
# Build types.hal (VehicleAudioContextFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioContextFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioContextFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1647,7 +1685,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioContextFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioContextFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1656,7 +1694,7 @@
#
# Build types.hal (VehicleAudioExtFocusFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioExtFocusFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioExtFocusFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1666,7 +1704,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioExtFocusFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioExtFocusFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1675,7 +1713,7 @@
#
# Build types.hal (VehicleAudioFocusIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1685,7 +1723,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioFocusIndex
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1694,7 +1732,7 @@
#
# Build types.hal (VehicleAudioFocusRequest)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusRequest.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1704,7 +1742,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioFocusRequest
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusRequest
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1713,7 +1751,7 @@
#
# Build types.hal (VehicleAudioFocusState)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1723,7 +1761,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioFocusState
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusState
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1732,7 +1770,7 @@
#
# Build types.hal (VehicleAudioHwVariantConfigFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioHwVariantConfigFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioHwVariantConfigFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1742,7 +1780,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioHwVariantConfigFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioHwVariantConfigFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1751,7 +1789,7 @@
#
# Build types.hal (VehicleAudioRoutingPolicyIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioRoutingPolicyIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioRoutingPolicyIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1761,7 +1799,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioRoutingPolicyIndex
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioRoutingPolicyIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1770,7 +1808,7 @@
#
# Build types.hal (VehicleAudioStream)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStream.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioStream.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1780,7 +1818,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioStream
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioStream
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1789,7 +1827,7 @@
#
# Build types.hal (VehicleAudioStreamFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStreamFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioStreamFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1799,7 +1837,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioStreamFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioStreamFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1808,7 +1846,7 @@
#
# Build types.hal (VehicleAudioVolumeCapabilityFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeCapabilityFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeCapabilityFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1818,7 +1856,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioVolumeCapabilityFlag
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeCapabilityFlag
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1827,7 +1865,7 @@
#
# Build types.hal (VehicleAudioVolumeIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1837,7 +1875,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioVolumeIndex
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1846,7 +1884,7 @@
#
# Build types.hal (VehicleAudioVolumeLimitIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeLimitIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeLimitIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1856,7 +1894,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioVolumeLimitIndex
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeLimitIndex
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1865,7 +1903,7 @@
#
# Build types.hal (VehicleAudioVolumeState)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1875,7 +1913,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleAudioVolumeState
+ android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeState
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1884,7 +1922,7 @@
#
# Build types.hal (VehicleDisplay)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDisplay.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleDisplay.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1894,7 +1932,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleDisplay
+ android.hardware.automotive.vehicle@2.0::types.VehicleDisplay
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1903,7 +1941,7 @@
#
# Build types.hal (VehicleDrivingStatus)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDrivingStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleDrivingStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1913,7 +1951,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleDrivingStatus
+ android.hardware.automotive.vehicle@2.0::types.VehicleDrivingStatus
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1922,7 +1960,7 @@
#
# Build types.hal (VehicleGear)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleGear.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleGear.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1932,7 +1970,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleGear
+ android.hardware.automotive.vehicle@2.0::types.VehicleGear
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1941,7 +1979,7 @@
#
# Build types.hal (VehicleHvacFanDirection)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHvacFanDirection.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleHvacFanDirection.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1951,7 +1989,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleHvacFanDirection
+ android.hardware.automotive.vehicle@2.0::types.VehicleHvacFanDirection
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1960,7 +1998,7 @@
#
# Build types.hal (VehicleHwKeyInputAction)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHwKeyInputAction.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleHwKeyInputAction.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1970,7 +2008,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleHwKeyInputAction
+ android.hardware.automotive.vehicle@2.0::types.VehicleHwKeyInputAction
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1979,7 +2017,7 @@
#
# Build types.hal (VehicleIgnitionState)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleIgnitionState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleIgnitionState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1989,7 +2027,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleIgnitionState
+ android.hardware.automotive.vehicle@2.0::types.VehicleIgnitionState
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -1998,7 +2036,7 @@
#
# Build types.hal (VehicleInstrumentClusterType)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleInstrumentClusterType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleInstrumentClusterType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2008,7 +2046,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleInstrumentClusterType
+ android.hardware.automotive.vehicle@2.0::types.VehicleInstrumentClusterType
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2017,7 +2055,7 @@
#
# Build types.hal (VehiclePropConfig)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropConfig.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2027,7 +2065,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropConfig
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropConfig
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2036,7 +2074,7 @@
#
# Build types.hal (VehiclePropValue)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropValue.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropValue.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2046,7 +2084,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropValue
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropValue
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2055,7 +2093,7 @@
#
# Build types.hal (VehicleProperty)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleProperty.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleProperty.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2065,7 +2103,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleProperty
+ android.hardware.automotive.vehicle@2.0::types.VehicleProperty
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2074,7 +2112,7 @@
#
# Build types.hal (VehiclePropertyAccess)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyAccess.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyAccess.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2084,7 +2122,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropertyAccess
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropertyAccess
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2093,7 +2131,7 @@
#
# Build types.hal (VehiclePropertyChangeMode)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyChangeMode.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyChangeMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2103,7 +2141,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropertyChangeMode
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropertyChangeMode
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2112,7 +2150,7 @@
#
# Build types.hal (VehiclePropertyGroup)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyGroup.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyGroup.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2122,7 +2160,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropertyGroup
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropertyGroup
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2131,7 +2169,7 @@
#
# Build types.hal (VehiclePropertyOperation)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyOperation.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyOperation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2141,7 +2179,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropertyOperation
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropertyOperation
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2150,7 +2188,7 @@
#
# Build types.hal (VehiclePropertyType)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2160,7 +2198,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehiclePropertyType
+ android.hardware.automotive.vehicle@2.0::types.VehiclePropertyType
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2169,7 +2207,7 @@
#
# Build types.hal (VehicleRadioConstants)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleRadioConstants.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleRadioConstants.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2179,7 +2217,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleRadioConstants
+ android.hardware.automotive.vehicle@2.0::types.VehicleRadioConstants
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2188,7 +2226,7 @@
#
# Build types.hal (VehicleTurnSignal)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleTurnSignal.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleTurnSignal.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2198,7 +2236,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleTurnSignal
+ android.hardware.automotive.vehicle@2.0::types.VehicleTurnSignal
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2207,7 +2245,7 @@
#
# Build types.hal (VehicleUnit)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleUnit.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleUnit.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2217,7 +2255,45 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.VehicleUnit
+ android.hardware.automotive.vehicle@2.0::types.VehicleUnit
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (VmsMessageIntegerValuesIndex)
+#
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VmsMessageIntegerValuesIndex.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.automotive.vehicle@2.0::types.VmsMessageIntegerValuesIndex
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (VmsMessageType)
+#
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VmsMessageType.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.automotive.vehicle@2.0::types.VmsMessageType
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2226,7 +2302,7 @@
#
# Build types.hal (Wheel)
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Wheel.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Wheel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2236,7 +2312,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::types.Wheel
+ android.hardware.automotive.vehicle@2.0::types.Wheel
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2245,7 +2321,7 @@
#
# Build IVehicle.hal
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicle.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IVehicle.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicle.hal
@@ -2259,7 +2335,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::IVehicle
+ android.hardware.automotive.vehicle@2.0::IVehicle
$(GEN): $(LOCAL_PATH)/IVehicle.hal
$(transform-generated-source)
@@ -2268,7 +2344,7 @@
#
# Build IVehicleCallback.hal
#
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicleCallback.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IVehicleCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicleCallback.hal
@@ -2280,7 +2356,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.vehicle@2.0::IVehicleCallback
+ android.hardware.automotive.vehicle@2.0::IVehicleCallback
$(GEN): $(LOCAL_PATH)/IVehicleCallback.hal
$(transform-generated-source)
diff --git a/vehicle/2.0/IVehicle.hal b/automotive/vehicle/2.0/IVehicle.hal
similarity index 95%
rename from vehicle/2.0/IVehicle.hal
rename to automotive/vehicle/2.0/IVehicle.hal
index cab6ce0..5de416f 100644
--- a/vehicle/2.0/IVehicle.hal
+++ b/automotive/vehicle/2.0/IVehicle.hal
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.vehicle@2.0;
+package android.hardware.automotive.vehicle@2.0;
import IVehicleCallback;
@@ -32,7 +32,7 @@
* StatusCode::INVALID_ARG, otherwise a list of vehicle property
* configurations with StatusCode::OK
*/
- getPropConfigs(vec<VehicleProperty> props)
+ getPropConfigs(vec<int32_t> props)
generates (StatusCode status, vec<VehiclePropConfig> propConfigs);
/**
@@ -84,7 +84,7 @@
* If this client wasn't subscribed to the given property, this method
* must return StatusCode::INVALID_ARG.
*/
- unsubscribe(IVehicleCallback callback, VehicleProperty propId)
+ unsubscribe(IVehicleCallback callback, int32_t propId)
generates (StatusCode status);
/**
diff --git a/vehicle/2.0/IVehicleCallback.hal b/automotive/vehicle/2.0/IVehicleCallback.hal
similarity index 95%
rename from vehicle/2.0/IVehicleCallback.hal
rename to automotive/vehicle/2.0/IVehicleCallback.hal
index e7e05bf..167e5e1 100644
--- a/vehicle/2.0/IVehicleCallback.hal
+++ b/automotive/vehicle/2.0/IVehicleCallback.hal
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.vehicle@2.0;
+package android.hardware.automotive.vehicle@2.0;
interface IVehicleCallback {
@@ -54,6 +54,6 @@
* occurred, must be 0 for global properties
*/
oneway onPropertySetError(StatusCode errorCode,
- VehicleProperty propId,
+ int32_t propId,
int32_t areaId);
};
diff --git a/vehicle/2.0/default/Android.mk b/automotive/vehicle/2.0/default/Android.mk
similarity index 95%
rename from vehicle/2.0/default/Android.mk
rename to automotive/vehicle/2.0/default/Android.mk
index 4a27eeb..a346507 100644
--- a/vehicle/2.0/default/Android.mk
+++ b/automotive/vehicle/2.0/default/Android.mk
@@ -14,7 +14,7 @@
LOCAL_PATH := $(call my-dir)
-module_prefix = android.hardware.vehicle@2.0
+module_prefix = android.hardware.automotive.vehicle@2.0
###############################################################################
# Vehicle reference implementation lib
@@ -23,6 +23,7 @@
LOCAL_MODULE := $(module_prefix)-manager-lib
LOCAL_SRC_FILES := \
vehicle_hal_manager/AccessControlConfigParser.cpp \
+ vehicle_hal_manager/Obd2SensorStore.cpp \
vehicle_hal_manager/SubscriptionManager.cpp \
vehicle_hal_manager/VehicleHalManager.cpp \
vehicle_hal_manager/VehicleObjectPool.cpp \
@@ -71,6 +72,7 @@
LOCAL_SRC_FILES:= \
tests/AccessControlConfigParser_test.cpp \
+ tests/Obd2SensorStore_test.cpp \
tests/SubscriptionManager_test.cpp \
tests/VehicleHalManager_test.cpp \
tests/VehicleObjectPool_test.cpp \
@@ -113,6 +115,6 @@
libhwbinder \
liblog \
libutils \
- android.hardware.vehicle@2.0
+ $(module_prefix) \
include $(BUILD_EXECUTABLE)
diff --git a/vehicle/2.0/default/VehicleHal.h b/automotive/vehicle/2.0/default/VehicleHal.h
similarity index 81%
rename from vehicle/2.0/default/VehicleHal.h
rename to automotive/vehicle/2.0/default/VehicleHal.h
index 2807f28..76df5b8 100644
--- a/vehicle/2.0/default/VehicleHal.h
+++ b/automotive/vehicle/2.0/default/VehicleHal.h
@@ -14,15 +14,16 @@
* limitations under the License.
*/
-#ifndef android_hardware_vehicle_V2_0_VehicleHal_H_
-#define android_hardware_vehicle_V2_0_VehicleHal_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehicleHal_H
+#define android_hardware_automotive_vehicle_V2_0_VehicleHal_H
-#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <android/hardware/automotive/vehicle/2.0/IVehicle.h>
#include "vehicle_hal_manager/VehicleObjectPool.h"
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -36,7 +37,7 @@
using HalEventFunction = std::function<void(VehiclePropValuePtr)>;
using HalErrorFunction = std::function<void(
- StatusCode errorCode, VehicleProperty property, int32_t areaId)>;
+ StatusCode errorCode, int32_t property, int32_t areaId)>;
virtual ~VehicleHal() {}
@@ -57,16 +58,16 @@
* rate, e.g. for properties with
* VehiclePropertyChangeMode::CONTINUOUS
*/
- virtual StatusCode subscribe(VehicleProperty property,
- int32_t areas,
- float sampleRate) = 0;
+ virtual StatusCode subscribe(int32_t property,
+ int32_t areas,
+ float sampleRate) = 0;
/**
* Unsubscribe from HAL events for given property
*
* @param property vehicle property to unsubscribe
*/
- virtual StatusCode unsubscribe(VehicleProperty property) = 0;
+ virtual StatusCode unsubscribe(int32_t property) = 0;
/**
* Override this method if you need to do one-time initialization.
@@ -95,7 +96,8 @@
/* Propagates error during set operation to the vehicle HAL clients. */
void doHalPropertySetError(StatusCode errorCode,
- VehicleProperty propId, int32_t areaId) {
+ int32_t propId,
+ int32_t areaId) {
mOnHalPropertySetError(errorCode, propId, areaId);
}
@@ -107,7 +109,8 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
-#endif //android_hardware_vehicle_V2_0_VehicleHal_H_
+#endif //android_hardware_automotive_vehicle_V2_0_VehicleHal_H_
diff --git a/vehicle/2.0/default/VehicleService.cpp b/automotive/vehicle/2.0/default/VehicleService.cpp
similarity index 91%
rename from vehicle/2.0/default/VehicleService.cpp
rename to automotive/vehicle/2.0/default/VehicleService.cpp
index 493df74..345dbcc 100644
--- a/vehicle/2.0/default/VehicleService.cpp
+++ b/automotive/vehicle/2.0/default/VehicleService.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#define LOG_TAG "android.hardware.vehicle@2.0-service"
+#define LOG_TAG "automotive.vehicle@2.0-service"
#include <android/log.h>
#include <hidl/HidlTransportSupport.h>
@@ -26,7 +26,7 @@
using namespace android;
using namespace android::hardware;
-using namespace android::hardware::vehicle::V2_0;
+using namespace android::hardware::automotive::vehicle::V2_0;
int main(int /* argc */, char* /* argv */ []) {
auto hal = std::make_unique<impl::DefaultVehicleHal>();
diff --git a/automotive/vehicle/2.0/default/android.hardware.automotive.vehicle@2.0-service.rc b/automotive/vehicle/2.0/default/android.hardware.automotive.vehicle@2.0-service.rc
new file mode 100644
index 0000000..344a984
--- /dev/null
+++ b/automotive/vehicle/2.0/default/android.hardware.automotive.vehicle@2.0-service.rc
@@ -0,0 +1,4 @@
+service vehicle-hal-2.0 /system/bin/hw/android.hardware.automotive.vehicle@2.0-service
+ class hal
+ user vehicle_network
+ group system
diff --git a/vehicle/2.0/default/impl/DefaultConfig.h b/automotive/vehicle/2.0/default/impl/DefaultConfig.h
similarity index 77%
rename from vehicle/2.0/default/impl/DefaultConfig.h
rename to automotive/vehicle/2.0/default/impl/DefaultConfig.h
index 12c1c1b..270bf8c 100644
--- a/vehicle/2.0/default/impl/DefaultConfig.h
+++ b/automotive/vehicle/2.0/default/impl/DefaultConfig.h
@@ -14,14 +14,15 @@
* limitations under the License.
*/
-#ifndef android_hardware_vehicle_V2_0_impl_DefaultConfig_H_
-#define android_hardware_vehicle_V2_0_impl_DefaultConfig_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_impl_DefaultConfig_H_
+#define android_hardware_automotive_vehicle_V2_0_impl_DefaultConfig_H_
-#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <android/hardware/automotive/vehicle/2.0/IVehicle.h>
#include <vehicle_hal_manager/VehicleUtils.h>
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -29,20 +30,20 @@
const VehiclePropConfig kVehicleProperties[] = {
{
- .prop = VehicleProperty::INFO_MAKE,
+ .prop = toInt(VehicleProperty::INFO_MAKE),
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::STATIC,
},
{
- .prop = VehicleProperty::HVAC_POWER_ON,
+ .prop = toInt(VehicleProperty::HVAC_POWER_ON),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.supportedAreas = toInt(VehicleAreaZone::ROW_1)
},
{
- .prop = VehicleProperty::HVAC_DEFROSTER,
+ .prop = toInt(VehicleProperty::HVAC_DEFROSTER),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.supportedAreas =
@@ -51,28 +52,28 @@
},
{
- .prop = VehicleProperty::HVAC_RECIRC_ON,
+ .prop = toInt(VehicleProperty::HVAC_RECIRC_ON),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.supportedAreas = toInt(VehicleAreaZone::ROW_1)
},
{
- .prop = VehicleProperty::HVAC_AC_ON,
+ .prop = toInt(VehicleProperty::HVAC_AC_ON),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.supportedAreas = toInt(VehicleAreaZone::ROW_1)
},
{
- .prop = VehicleProperty::HVAC_AUTO_ON,
+ .prop = toInt(VehicleProperty::HVAC_AUTO_ON),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.supportedAreas = toInt(VehicleAreaZone::ROW_1)
},
{
- .prop = VehicleProperty::HVAC_FAN_SPEED,
+ .prop = toInt(VehicleProperty::HVAC_FAN_SPEED),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.supportedAreas = toInt(VehicleAreaZone::ROW_1),
@@ -86,14 +87,14 @@
},
{
- .prop = VehicleProperty::HVAC_FAN_DIRECTION,
+ .prop = toInt(VehicleProperty::HVAC_FAN_DIRECTION),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.supportedAreas = toInt(VehicleAreaZone::ROW_1),
},
{
- .prop = VehicleProperty::HVAC_TEMPERATURE_SET,
+ .prop = toInt(VehicleProperty::HVAC_TEMPERATURE_SET),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.supportedAreas =
@@ -114,25 +115,25 @@
},
{
- .prop = VehicleProperty::NIGHT_MODE,
+ .prop = toInt(VehicleProperty::NIGHT_MODE),
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
{
- .prop = VehicleProperty::DRIVING_STATUS,
+ .prop = toInt(VehicleProperty::DRIVING_STATUS),
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
{
- .prop = VehicleProperty::GEAR_SELECTION,
+ .prop = toInt(VehicleProperty::GEAR_SELECTION),
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
{
- .prop = VehicleProperty::INFO_FUEL_CAPACITY,
+ .prop = toInt(VehicleProperty::INFO_FUEL_CAPACITY),
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.areaConfigs = {
@@ -144,7 +145,7 @@
},
{
- .prop = VehicleProperty::DISPLAY_BRIGHTNESS,
+ .prop = toInt(VehicleProperty::DISPLAY_BRIGHTNESS),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.areaConfigs = {
@@ -156,21 +157,23 @@
},
{
- .prop = VehicleProperty::IGNITION_STATE,
+ .prop = toInt(VehicleProperty::IGNITION_STATE),
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
{
- .prop = VehicleProperty::OBD2_LIVE_FRAME,
+ .prop = toInt(VehicleProperty::OBD2_LIVE_FRAME),
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {0,0}
},
{
- .prop = VehicleProperty::OBD2_FREEZE_FRAME,
+ .prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME),
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {0,0}
}
};
@@ -178,7 +181,8 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
-#endif // android_hardware_vehicle_V2_0_impl_DefaultConfig_H_
+#endif // android_hardware_automotive_vehicle_V2_0_impl_DefaultConfig_H_
diff --git a/vehicle/2.0/default/impl/DefaultVehicleHal.cpp b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.cpp
similarity index 60%
rename from vehicle/2.0/default/impl/DefaultVehicleHal.cpp
rename to automotive/vehicle/2.0/default/impl/DefaultVehicleHal.cpp
index 4541168..1c26759 100644
--- a/vehicle/2.0/default/impl/DefaultVehicleHal.cpp
+++ b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.cpp
@@ -16,11 +16,14 @@
#include "DefaultVehicleHal.h"
+#include <algorithm>
+
#define LOG_TAG "default_vehicle"
#include <android/log.h>
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -31,7 +34,7 @@
*outStatus = StatusCode::OK;
VehiclePropValuePtr v;
- VehicleProperty property = requestedPropValue.prop;
+ auto property = static_cast<VehicleProperty>(requestedPropValue.prop);
int32_t areaId = requestedPropValue.areaId;
auto& pool = *getValuePool();
@@ -103,7 +106,7 @@
}
if (StatusCode::OK == *outStatus && v.get() != nullptr) {
- v->prop = property;
+ v->prop = toInt(property);
v->areaId = areaId;
v->timestamp = elapsedRealtimeNano();
}
@@ -112,7 +115,7 @@
}
StatusCode DefaultVehicleHal::set(const VehiclePropValue& propValue) {
- auto property = propValue.prop;
+ auto property = static_cast<VehicleProperty>(propValue.prop);
const auto& v = propValue.value;
StatusCode status = StatusCode::OK;
@@ -153,6 +156,96 @@
return status;
}
+void DefaultVehicleHal::onCreate() {
+ const auto& propConfigs(listProperties());
+ auto obd2LiveFramePropConfig = std::find_if(
+ propConfigs.begin(),
+ propConfigs.end(),
+ [] (VehiclePropConfig config) -> bool {
+ return (config.prop == toInt(VehicleProperty::OBD2_LIVE_FRAME));
+ });
+ mObd2SensorStore.reset(new Obd2SensorStore(
+ obd2LiveFramePropConfig->configArray[0],
+ obd2LiveFramePropConfig->configArray[1]));
+ // precalculate OBD2 sensor values
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::FUEL_SYSTEM_STATUS,
+ toInt(FuelSystemStatus::CLOSED_LOOP));
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::MALFUNCTION_INDICATOR_LIGHT_ON, 0);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::IGNITION_MONITORS_SUPPORTED,
+ toInt(IgnitionMonitorKind::SPARK));
+ mObd2SensorStore->setIntegerSensor(Obd2IntegerSensorIndex::IGNITION_SPECIFIC_MONITORS,
+ CommonIgnitionMonitors::COMPONENTS_AVAILABLE |
+ CommonIgnitionMonitors::MISFIRE_AVAILABLE |
+ SparkIgnitionMonitors::AC_REFRIGERANT_AVAILABLE |
+ SparkIgnitionMonitors::EVAPORATIVE_SYSTEM_AVAILABLE);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::INTAKE_AIR_TEMPERATURE, 35);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::COMMANDED_SECONDARY_AIR_STATUS,
+ toInt(SecondaryAirStatus::FROM_OUTSIDE_OR_OFF));
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::NUM_OXYGEN_SENSORS_PRESENT, 1);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::RUNTIME_SINCE_ENGINE_START, 500);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON, 0);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::WARMUPS_SINCE_CODES_CLEARED, 51);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::DISTANCE_TRAVELED_SINCE_CODES_CLEARED, 365);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::ABSOLUTE_BAROMETRIC_PRESSURE, 30);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::CONTROL_MODULE_VOLTAGE, 12);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::AMBIENT_AIR_TEMPERATURE, 18);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::MAX_FUEL_AIR_EQUIVALENCE_RATIO, 1);
+ mObd2SensorStore->setIntegerSensor(
+ Obd2IntegerSensorIndex::FUEL_TYPE, toInt(FuelType::GASOLINE));
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::CALCULATED_ENGINE_LOAD, 0.153);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::SHORT_TERM_FUEL_TRIM_BANK1, -0.16);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::LONG_TERM_FUEL_TRIM_BANK1, -0.16);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::SHORT_TERM_FUEL_TRIM_BANK2, -0.16);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::LONG_TERM_FUEL_TRIM_BANK2, -0.16);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::INTAKE_MANIFOLD_ABSOLUTE_PRESSURE, 7.5);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::ENGINE_RPM, 1250.);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::VEHICLE_SPEED, 40.);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::TIMING_ADVANCE, 2.5);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::THROTTLE_POSITION, 19.75);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::OXYGEN_SENSOR1_VOLTAGE, 0.265);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::FUEL_TANK_LEVEL_INPUT, 0.824);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::EVAPORATION_SYSTEM_VAPOR_PRESSURE, -0.373);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::CATALYST_TEMPERATURE_BANK1_SENSOR1, 190.);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::RELATIVE_THROTTLE_POSITION, 3.);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::ABSOLUTE_THROTTLE_POSITION_B, 0.306);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::ACCELERATOR_PEDAL_POSITION_D, 0.188);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::ACCELERATOR_PEDAL_POSITION_E, 0.094);
+ mObd2SensorStore->setFloatSensor(
+ Obd2FloatSensorIndex::COMMANDED_THROTTLE_ACTUATOR, 0.024);
+}
+
StatusCode DefaultVehicleHal::getHvacTemperature(int32_t areaId,
float* outValue) {
if (areaId == toInt(VehicleAreaZone::ROW_1_LEFT)) {
@@ -205,73 +298,17 @@
return StatusCode::OK;
}
-static std::vector<int32_t> fillObd2IntValues() {
- std::vector<int32_t> intValues(toInt(Obd2IntegerSensorIndex::LAST_SYSTEM_INDEX));
-#define SENSOR(name) toInt(Obd2IntegerSensorIndex:: name)
- intValues[SENSOR(FUEL_SYSTEM_STATUS)] = toInt(FuelSystemStatus::CLOSED_LOOP);
- intValues[SENSOR(MALFUNCTION_INDICATOR_LIGHT_ON)] = 0;
- intValues[SENSOR(IGNITION_MONITORS_SUPPORTED)] = toInt(IgnitionMonitorKind::SPARK);
- intValues[SENSOR(IGNITION_SPECIFIC_MONITORS)] =
- CommonIgnitionMonitors::COMPONENTS_AVAILABLE |
- CommonIgnitionMonitors::MISFIRE_AVAILABLE |
- SparkIgnitionMonitors::AC_REFRIGERANT_AVAILABLE |
- SparkIgnitionMonitors::EVAPORATIVE_SYSTEM_AVAILABLE;
- intValues[SENSOR(INTAKE_AIR_TEMPERATURE)] = 35;
- intValues[SENSOR(COMMANDED_SECONDARY_AIR_STATUS)] =
- toInt(SecondaryAirStatus::FROM_OUTSIDE_OR_OFF);
- intValues[SENSOR(NUM_OXYGEN_SENSORS_PRESENT)] = 1;
- intValues[SENSOR(RUNTIME_SINCE_ENGINE_START)] = 500;
- intValues[SENSOR(DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON)] = 0;
- intValues[SENSOR(WARMUPS_SINCE_CODES_CLEARED)] = 51;
- intValues[SENSOR(DISTANCE_TRAVELED_SINCE_CODES_CLEARED)] = 365;
- intValues[SENSOR(ABSOLUTE_BAROMETRIC_PRESSURE)] = 30;
- intValues[SENSOR(CONTROL_MODULE_VOLTAGE)] = 12;
- intValues[SENSOR(AMBIENT_AIR_TEMPERATURE)] = 18;
- intValues[SENSOR(MAX_FUEL_AIR_EQUIVALENCE_RATIO)] = 1;
- intValues[SENSOR(FUEL_TYPE)] = toInt(FuelType::GASOLINE);
-#undef SENSOR
- return intValues;
-}
-
-static std::vector<float> fillObd2FloatValues() {
- std::vector<float> floatValues(toInt(Obd2FloatSensorIndex::LAST_SYSTEM_INDEX));
-#define SENSOR(name) toInt(Obd2FloatSensorIndex:: name)
- floatValues[SENSOR(CALCULATED_ENGINE_LOAD)] = 0.153;
- floatValues[SENSOR(SHORT_TERM_FUEL_TRIM_BANK1)] = -0.16;
- floatValues[SENSOR(LONG_TERM_FUEL_TRIM_BANK1)] = -0.16;
- floatValues[SENSOR(SHORT_TERM_FUEL_TRIM_BANK2)] = -0.16;
- floatValues[SENSOR(LONG_TERM_FUEL_TRIM_BANK2)] = -0.16;
- floatValues[SENSOR(INTAKE_MANIFOLD_ABSOLUTE_PRESSURE)] = 7.5;
- floatValues[SENSOR(ENGINE_RPM)] = 1250.;
- floatValues[SENSOR(VEHICLE_SPEED)] = 40.;
- floatValues[SENSOR(TIMING_ADVANCE)] = 2.5;
- floatValues[SENSOR(THROTTLE_POSITION)] = 19.75;
- floatValues[SENSOR(OXYGEN_SENSOR1_VOLTAGE)] = 0.265;
- floatValues[SENSOR(FUEL_TANK_LEVEL_INPUT)] = 0.824;
- floatValues[SENSOR(EVAPORATION_SYSTEM_VAPOR_PRESSURE)] = -0.373;
- floatValues[SENSOR(CATALYST_TEMPERATURE_BANK1_SENSOR1)] = 190.;
- floatValues[SENSOR(RELATIVE_THROTTLE_POSITION)] = 3.;
- floatValues[SENSOR(ABSOLUTE_THROTTLE_POSITION_B)] = 0.306;
- floatValues[SENSOR(ACCELERATOR_PEDAL_POSITION_D)] = 0.188;
- floatValues[SENSOR(ACCELERATOR_PEDAL_POSITION_E)] = 0.094;
- floatValues[SENSOR(COMMANDED_THROTTLE_ACTUATOR)] = 0.024;
-#undef SENSOR
- return floatValues;
-}
-
StatusCode DefaultVehicleHal::fillObd2LiveFrame(VehiclePropValuePtr* v) {
- static std::vector<int32_t> intValues(fillObd2IntValues());
- static std::vector<float> floatValues(fillObd2FloatValues());
- (*v)->value.int32Values = intValues;
- (*v)->value.floatValues = floatValues;
+ (*v)->value.int32Values = mObd2SensorStore->getIntegerSensors();
+ (*v)->value.floatValues = mObd2SensorStore->getFloatSensors();
+ (*v)->value.bytes = mObd2SensorStore->getSensorsBitmask();
return StatusCode::OK;
}
StatusCode DefaultVehicleHal::fillObd2FreezeFrame(VehiclePropValuePtr* v) {
- static std::vector<int32_t> intValues(fillObd2IntValues());
- static std::vector<float> floatValues(fillObd2FloatValues());
- (*v)->value.int32Values = intValues;
- (*v)->value.floatValues = floatValues;
+ (*v)->value.int32Values = mObd2SensorStore->getIntegerSensors();
+ (*v)->value.floatValues = mObd2SensorStore->getFloatSensors();
+ (*v)->value.bytes = mObd2SensorStore->getSensorsBitmask();
(*v)->value.stringValue = "P0010";
return StatusCode::OK;
}
@@ -281,5 +318,6 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
diff --git a/vehicle/2.0/default/impl/DefaultVehicleHal.h b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.h
similarity index 74%
rename from vehicle/2.0/default/impl/DefaultVehicleHal.h
rename to automotive/vehicle/2.0/default/impl/DefaultVehicleHal.h
index 15a4789..ccedeeb 100644
--- a/vehicle/2.0/default/impl/DefaultVehicleHal.h
+++ b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.h
@@ -14,15 +14,19 @@
* limitations under the License.
*/
-#ifndef android_hardware_vehicle_V2_0_impl_DefaultVehicleHal_H_
-#define android_hardware_vehicle_V2_0_impl_DefaultVehicleHal_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_impl_DefaultVehicleHal_H_
+#define android_hardware_automotive_vehicle_V2_0_impl_DefaultVehicleHal_H_
+
+#include <memory>
#include <VehicleHal.h>
#include <impl/DefaultConfig.h>
+#include <vehicle_hal_manager/Obd2SensorStore.h>
#include <utils/SystemClock.h>
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -38,16 +42,18 @@
VehiclePropValuePtr get(const VehiclePropValue& requestedPropValue,
StatusCode* outStatus) override;
+ void onCreate() override;
+
StatusCode set(const VehiclePropValue& propValue) override;
- StatusCode subscribe(VehicleProperty property,
- int32_t areas,
- float sampleRate) {
+ StatusCode subscribe(int32_t /*property*/,
+ int32_t /*areas*/,
+ float /*sampleRate*/) override {
// TODO(pavelm): implement
return StatusCode::OK;
}
- StatusCode unsubscribe(VehicleProperty property) {
+ StatusCode unsubscribe(int32_t /*property*/) override {
// TODO(pavelm): implement
return StatusCode::OK;
}
@@ -57,8 +63,8 @@
StatusCode setHvacTemperature(int32_t areaId, float value);
StatusCode getHvacDefroster(int32_t areaId, bool* outValue);
StatusCode setHvacDefroster(int32_t areaId, bool value);
- StatusCode fillObd2LiveFrame (VehiclePropValuePtr* v);
- StatusCode fillObd2FreezeFrame (VehiclePropValuePtr* v);
+ StatusCode fillObd2LiveFrame(VehiclePropValuePtr* v);
+ StatusCode fillObd2FreezeFrame(VehiclePropValuePtr* v);
private:
int32_t mFanSpeed = 3;
int32_t mBrightness = 7;
@@ -71,14 +77,16 @@
bool mHvacAcOn = true;
bool mHvacAutoOn = true;
VehicleHvacFanDirection mFanDirection = VehicleHvacFanDirection::FACE;
+ std::unique_ptr<Obd2SensorStore> mObd2SensorStore{nullptr};
};
} // impl
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
-#endif // android_hardware_vehicle_V2_0_impl_DefaultVehicleHal_H_
+#endif // android_hardware_automotive_vehicle_V2_0_impl_DefaultVehicleHal_H_
diff --git a/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp b/automotive/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
similarity index 82%
rename from vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
rename to automotive/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
index 92d7e39..7c9a4d9 100644
--- a/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
@@ -20,9 +20,11 @@
#include <unordered_set>
#include "vehicle_hal_manager/AccessControlConfigParser.h"
+#include <vehicle_hal_manager/VehicleUtils.h>
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -31,9 +33,9 @@
class AccessControlConfigParserTest : public ::testing::Test {
protected:
void SetUp() override {
- std::vector<VehicleProperty> supportedProperties {
- VehicleProperty::HVAC_FAN_SPEED,
- VehicleProperty::HVAC_FAN_DIRECTION,
+ std::vector<int32_t> supportedProperties {
+ toInt(VehicleProperty::HVAC_FAN_SPEED),
+ toInt(VehicleProperty::HVAC_FAN_DIRECTION),
};
parser.reset(new AccessControlConfigParser(supportedProperties));
}
@@ -49,10 +51,10 @@
ASSERT_TRUE(parser->parseFromStream(&file, &aclMap));
ASSERT_EQ(1, aclMap.size());
- auto it = aclMap.find(VehicleProperty::HVAC_FAN_SPEED);
+ auto it = aclMap.find(toInt(VehicleProperty::HVAC_FAN_SPEED));
ASSERT_NE(aclMap.end(), it);
ASSERT_EQ(VehiclePropertyAccess::READ_WRITE, it->second.access);
- ASSERT_EQ(VehicleProperty::HVAC_FAN_SPEED, it->second.propId);
+ ASSERT_EQ(toInt(VehicleProperty::HVAC_FAN_SPEED), it->second.propId);
ASSERT_EQ(1000u, it->second.uid);
}
@@ -68,7 +70,7 @@
ASSERT_TRUE(parser->parseFromStream(&file, &aclMap));
- auto range = aclMap.equal_range(VehicleProperty::HVAC_FAN_SPEED);
+ auto range = aclMap.equal_range(toInt(VehicleProperty::HVAC_FAN_SPEED));
for (auto it = range.first; it != range.second; ++it) {
auto& acl = it->second;
@@ -92,10 +94,10 @@
ASSERT_FALSE(parser->parseFromStream(&file, &aclMap));
ASSERT_EQ(1, aclMap.size());
- auto it = aclMap.find(VehicleProperty::HVAC_FAN_SPEED);
+ auto it = aclMap.find(toInt(VehicleProperty::HVAC_FAN_SPEED));
ASSERT_NE(aclMap.end(), it);
ASSERT_EQ(VehiclePropertyAccess::READ, it->second.access);
- ASSERT_EQ(VehicleProperty::HVAC_FAN_SPEED, it->second.propId);
+ ASSERT_EQ(toInt(VehicleProperty::HVAC_FAN_SPEED), it->second.propId);
ASSERT_EQ(0xbeef, it->second.uid);
}
@@ -127,16 +129,16 @@
ASSERT_TRUE(parser->parseFromStream(&configFile2, &aclMap));
ASSERT_EQ(2, aclMap.size());
- auto it = aclMap.find(VehicleProperty::HVAC_FAN_SPEED);
+ auto it = aclMap.find(toInt(VehicleProperty::HVAC_FAN_SPEED));
ASSERT_NE(aclMap.end(), it);
ASSERT_EQ(VehiclePropertyAccess::READ_WRITE, it->second.access);
- ASSERT_EQ(VehicleProperty::HVAC_FAN_SPEED, it->second.propId);
+ ASSERT_EQ(toInt(VehicleProperty::HVAC_FAN_SPEED), it->second.propId);
ASSERT_EQ(1000u, it->second.uid);
- it = aclMap.find(VehicleProperty::HVAC_FAN_DIRECTION);
+ it = aclMap.find(toInt(VehicleProperty::HVAC_FAN_DIRECTION));
ASSERT_NE(aclMap.end(), it);
ASSERT_EQ(VehiclePropertyAccess::READ_WRITE, it->second.access);
- ASSERT_EQ(VehicleProperty::HVAC_FAN_DIRECTION, it->second.propId);
+ ASSERT_EQ(toInt(VehicleProperty::HVAC_FAN_DIRECTION), it->second.propId);
ASSERT_EQ(1004u, it->second.uid);
}
@@ -145,5 +147,6 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
diff --git a/automotive/vehicle/2.0/default/tests/Obd2SensorStore_test.cpp b/automotive/vehicle/2.0/default/tests/Obd2SensorStore_test.cpp
new file mode 100644
index 0000000..3ebebbd
--- /dev/null
+++ b/automotive/vehicle/2.0/default/tests/Obd2SensorStore_test.cpp
@@ -0,0 +1,285 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ #include <gtest/gtest.h>
+
+#include "vehicle_hal_manager/Obd2SensorStore.h"
+#include "vehicle_hal_manager/VehicleUtils.h"
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+namespace V2_0 {
+
+namespace {
+
+static constexpr size_t getNumVendorIntegerSensors() {
+ return 5;
+}
+static constexpr size_t getNumVendorFloatSensors() {
+ return 3;
+}
+
+// this struct holds information necessary for a test to be able to validate
+// that the sensor bitmask contains the right data:
+// - the index of the byte at which the bit for a given sensor lives
+// - the expected value of that byte given that a certain sensor is present
+class BitmaskIndexingInfo {
+public:
+ size_t mByteIndex;
+ uint8_t mExpectedByteValue;
+
+ // Returns the information required to validate the bitmask for an
+ // integer-valued sensor.
+ static BitmaskIndexingInfo getForIntegerSensor(size_t index) {
+ const size_t indexInBitstream = index;
+ return getForBitstreamIndex(indexInBitstream);
+ }
+
+ // Returns the information required to validate the bitmask for a
+ // float-valued sensor.
+ static BitmaskIndexingInfo getForFloatSensor(size_t index) {
+ const size_t indexInBitstream = toInt(Obd2IntegerSensorIndex::LAST_SYSTEM_INDEX) +
+ 1 + getNumVendorIntegerSensors() + index;
+ return getForBitstreamIndex(indexInBitstream);
+ }
+
+private:
+ static BitmaskIndexingInfo getForBitstreamIndex(size_t indexInBitstream) {
+ BitmaskIndexingInfo indexingInfo;
+ indexingInfo.mByteIndex = indexInBitstream / 8;
+ indexingInfo.mExpectedByteValue = 1 << (indexInBitstream % 8);
+ return indexingInfo;
+ }
+};
+
+static Obd2SensorStore getSensorStore() {
+ return Obd2SensorStore(getNumVendorIntegerSensors(),
+ getNumVendorFloatSensors());
+}
+
+// Test that one can set and retrieve a value for the first integer sensor.
+TEST(Obd2SensorStoreTest, setFirstIntegerSensor) {
+ Obd2SensorStore sensorStore(getSensorStore());
+ sensorStore.setIntegerSensor(
+ Obd2IntegerSensorIndex::FUEL_SYSTEM_STATUS,
+ toInt(FuelSystemStatus::CLOSED_LOOP));
+ const auto& integerSensors(sensorStore.getIntegerSensors());
+ const auto& sensorBitmask(sensorStore.getSensorsBitmask());
+ ASSERT_EQ(
+ toInt(FuelSystemStatus::CLOSED_LOOP),
+ integerSensors[toInt(Obd2IntegerSensorIndex::FUEL_SYSTEM_STATUS)]);
+ const BitmaskIndexingInfo indexingInfo(BitmaskIndexingInfo::getForIntegerSensor(
+ toInt(Obd2IntegerSensorIndex::FUEL_SYSTEM_STATUS)));
+ ASSERT_EQ(
+ indexingInfo.mExpectedByteValue,
+ sensorBitmask[indexingInfo.mByteIndex]);
+}
+
+// Test that one can set and retrieve a value for the first float sensor.
+TEST(Obd2SensorStoreTest, setFirstFloatSensor) {
+ Obd2SensorStore sensorStore(getSensorStore());
+ sensorStore.setFloatSensor(
+ Obd2FloatSensorIndex::CALCULATED_ENGINE_LOAD,
+ 1.25f);
+ const auto& floatSensors(sensorStore.getFloatSensors());
+ const auto& sensorBitmask(sensorStore.getSensorsBitmask());
+ ASSERT_EQ(
+ 1.25f,
+ floatSensors[toInt(Obd2FloatSensorIndex::CALCULATED_ENGINE_LOAD)]);
+ const BitmaskIndexingInfo indexingInfo(BitmaskIndexingInfo::getForFloatSensor(
+ toInt(Obd2FloatSensorIndex::CALCULATED_ENGINE_LOAD)));
+ ASSERT_EQ(
+ indexingInfo.mExpectedByteValue,
+ sensorBitmask[indexingInfo.mByteIndex]);
+}
+
+// Test that one can set and retrieve a value for an integer sensor.
+TEST(Obd2SensorStoreTest, setAnyIntegerSensor) {
+ Obd2SensorStore sensorStore(getSensorStore());
+ sensorStore.setIntegerSensor(
+ Obd2IntegerSensorIndex::ABSOLUTE_BAROMETRIC_PRESSURE,
+ 4000);
+ const auto& integerSensors(sensorStore.getIntegerSensors());
+ const auto& sensorBitmask(sensorStore.getSensorsBitmask());
+ ASSERT_EQ(4000,
+ integerSensors[toInt(Obd2IntegerSensorIndex::ABSOLUTE_BAROMETRIC_PRESSURE)]);
+ const BitmaskIndexingInfo indexingInfo(BitmaskIndexingInfo::getForIntegerSensor(
+ toInt(Obd2IntegerSensorIndex::ABSOLUTE_BAROMETRIC_PRESSURE)));
+ ASSERT_EQ(
+ indexingInfo.mExpectedByteValue,
+ sensorBitmask[indexingInfo.mByteIndex]);
+}
+
+// Test that one can set and retrieve a value for a float sensor.
+TEST(Obd2SensorStoreTest, setAnyFloatSensor) {
+ Obd2SensorStore sensorStore(getSensorStore());
+ sensorStore.setFloatSensor(
+ Obd2FloatSensorIndex::OXYGEN_SENSOR3_VOLTAGE,
+ 2.5f);
+ const auto& floatSensors(sensorStore.getFloatSensors());
+ const auto& sensorBitmask(sensorStore.getSensorsBitmask());
+ ASSERT_EQ(2.5f,
+ floatSensors[toInt(Obd2FloatSensorIndex::OXYGEN_SENSOR3_VOLTAGE)]);
+ const BitmaskIndexingInfo indexingInfo(BitmaskIndexingInfo::getForFloatSensor(
+ toInt(Obd2FloatSensorIndex::OXYGEN_SENSOR3_VOLTAGE)));
+ ASSERT_EQ(
+ indexingInfo.mExpectedByteValue,
+ sensorBitmask[indexingInfo.mByteIndex]);
+}
+
+// Test that one can set and retrieve a value for the last system integer sensor.
+TEST(Obd2SensorStoreTest, setLastSystemIntegerSensor) {
+ Obd2SensorStore sensorStore(getSensorStore());
+ sensorStore.setIntegerSensor(
+ Obd2IntegerSensorIndex::LAST_SYSTEM_INDEX,
+ 30);
+ const auto& integerSensors(sensorStore.getIntegerSensors());
+ const auto& sensorBitmask(sensorStore.getSensorsBitmask());
+ ASSERT_EQ(30,
+ integerSensors[toInt(Obd2IntegerSensorIndex::LAST_SYSTEM_INDEX)]);
+ const BitmaskIndexingInfo indexingInfo(BitmaskIndexingInfo::getForIntegerSensor(
+ toInt(Obd2IntegerSensorIndex::LAST_SYSTEM_INDEX)));
+ ASSERT_EQ(
+ indexingInfo.mExpectedByteValue,
+ sensorBitmask[indexingInfo.mByteIndex]);
+}
+
+// Test that one can set and retrieve a value for the last system float sensor.
+TEST(Obd2SensorStoreTest, setLastSystemFloatSensor) {
+ Obd2SensorStore sensorStore(getSensorStore());
+ sensorStore.setFloatSensor(
+ Obd2FloatSensorIndex::LAST_SYSTEM_INDEX,
+ 2.5f);
+ const auto& floatSensors(sensorStore.getFloatSensors());
+ const auto& sensorBitmask(sensorStore.getSensorsBitmask());
+ ASSERT_EQ(2.5f,
+ floatSensors[toInt(Obd2FloatSensorIndex::LAST_SYSTEM_INDEX)]);
+ const BitmaskIndexingInfo indexingInfo(BitmaskIndexingInfo::getForFloatSensor(
+ toInt(Obd2FloatSensorIndex::LAST_SYSTEM_INDEX)));
+ ASSERT_EQ(
+ indexingInfo.mExpectedByteValue,
+ sensorBitmask[indexingInfo.mByteIndex]);
+}
+
+// Test that one can set and retrieve a value for two integer sensors at once.
+TEST(Obd2SensorStoreTest, setTwoIntegerSensors) {
+ Obd2SensorStore sensorStore(getSensorStore());
+ sensorStore.setIntegerSensor(
+ Obd2IntegerSensorIndex::CONTROL_MODULE_VOLTAGE,
+ 6);
+ sensorStore.setIntegerSensor(
+ Obd2IntegerSensorIndex::TIME_SINCE_TROUBLE_CODES_CLEARED,
+ 1245);
+ const auto& integerSensors(sensorStore.getIntegerSensors());
+ const auto& sensorBitmask(sensorStore.getSensorsBitmask());
+ ASSERT_EQ(6,
+ integerSensors[toInt(Obd2IntegerSensorIndex::CONTROL_MODULE_VOLTAGE)]);
+ ASSERT_EQ(1245,
+ integerSensors[toInt(Obd2IntegerSensorIndex::TIME_SINCE_TROUBLE_CODES_CLEARED)]);
+ const BitmaskIndexingInfo voltageIndexingInfo(BitmaskIndexingInfo::getForIntegerSensor(
+ toInt(Obd2IntegerSensorIndex::CONTROL_MODULE_VOLTAGE)));
+ const BitmaskIndexingInfo timeIndexingInfo(BitmaskIndexingInfo::getForIntegerSensor(
+ toInt(Obd2IntegerSensorIndex::TIME_SINCE_TROUBLE_CODES_CLEARED)));
+ if (voltageIndexingInfo.mByteIndex == timeIndexingInfo.mByteIndex) {
+ ASSERT_EQ(
+ voltageIndexingInfo.mExpectedByteValue |
+ timeIndexingInfo.mExpectedByteValue,
+ sensorBitmask[timeIndexingInfo.mByteIndex]);
+ }
+ else {
+ ASSERT_EQ(
+ timeIndexingInfo.mExpectedByteValue,
+ sensorBitmask[timeIndexingInfo.mByteIndex]);
+ ASSERT_EQ(
+ voltageIndexingInfo.mExpectedByteValue,
+ sensorBitmask[voltageIndexingInfo.mByteIndex]);
+ }
+}
+
+// Test that one can set and retrieve a value for two float sensors at once.
+TEST(Obd2SensorStoreTest, setTwoFloatSensors) {
+ Obd2SensorStore sensorStore(getSensorStore());
+ sensorStore.setFloatSensor(
+ Obd2FloatSensorIndex::VEHICLE_SPEED,
+ 1.25f);
+ sensorStore.setFloatSensor(
+ Obd2FloatSensorIndex::MAF_AIR_FLOW_RATE,
+ 2.5f);
+ const auto& floatSensors(sensorStore.getFloatSensors());
+ const auto& sensorBitmask(sensorStore.getSensorsBitmask());
+ ASSERT_EQ(1.25f,
+ floatSensors[toInt(Obd2FloatSensorIndex::VEHICLE_SPEED)]);
+ ASSERT_EQ(2.5f,
+ floatSensors[toInt(Obd2FloatSensorIndex::MAF_AIR_FLOW_RATE)]);
+ const BitmaskIndexingInfo speedIndexingInfo(BitmaskIndexingInfo::getForFloatSensor(
+ toInt(Obd2FloatSensorIndex::VEHICLE_SPEED)));
+ const BitmaskIndexingInfo airflowIndexingInfo(BitmaskIndexingInfo::getForFloatSensor(
+ toInt(Obd2FloatSensorIndex::MAF_AIR_FLOW_RATE)));
+ if (speedIndexingInfo.mByteIndex == airflowIndexingInfo.mByteIndex) {
+ ASSERT_EQ(
+ speedIndexingInfo.mExpectedByteValue |
+ airflowIndexingInfo.mExpectedByteValue,
+ sensorBitmask[airflowIndexingInfo.mByteIndex]);
+ }
+ else {
+ ASSERT_EQ(
+ speedIndexingInfo.mExpectedByteValue,
+ sensorBitmask[speedIndexingInfo.mByteIndex]);
+ ASSERT_EQ(
+ airflowIndexingInfo.mExpectedByteValue,
+ sensorBitmask[airflowIndexingInfo.mByteIndex]);
+ }
+}
+
+// Test that one can set and retrieve a value for a vendor integer sensor.
+TEST(Obd2SensorStoreTest, setVendorIntegerSensor) {
+ const size_t sensorIndex = toInt(Obd2IntegerSensorIndex::LAST_SYSTEM_INDEX) + 2;
+ Obd2SensorStore sensorStore(getSensorStore());
+ sensorStore.setIntegerSensor(sensorIndex, 22);
+ const auto& integerSensors(sensorStore.getIntegerSensors());
+ const auto& sensorBitmask(sensorStore.getSensorsBitmask());
+ ASSERT_EQ(22, integerSensors[sensorIndex]);
+ const BitmaskIndexingInfo indexingInfo(BitmaskIndexingInfo::getForIntegerSensor(
+ sensorIndex));
+ ASSERT_EQ(
+ indexingInfo.mExpectedByteValue,
+ sensorBitmask[indexingInfo.mByteIndex]);
+}
+
+// Test that one can set and retrieve a value for a vendor float sensor.
+TEST(Obd2SensorStoreTest, setVendorFloatSensor) {
+ const size_t sensorIndex = toInt(Obd2FloatSensorIndex::LAST_SYSTEM_INDEX) + 2;
+ Obd2SensorStore sensorStore(getSensorStore());
+ sensorStore.setFloatSensor(sensorIndex, 1.25f);
+ const auto& floatSensors(sensorStore.getFloatSensors());
+ const auto& sensorBitmask(sensorStore.getSensorsBitmask());
+ ASSERT_EQ(1.25f, floatSensors[sensorIndex]);
+ const BitmaskIndexingInfo indexingInfo(BitmaskIndexingInfo::getForFloatSensor(
+ sensorIndex));
+ ASSERT_EQ(
+ indexingInfo.mExpectedByteValue,
+ sensorBitmask[indexingInfo.mByteIndex]);
+}
+
+} // namespace anonymous
+
+} // namespace V2_0
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
diff --git a/vehicle/2.0/default/tests/SubscriptionManager_test.cpp b/automotive/vehicle/2.0/default/tests/SubscriptionManager_test.cpp
similarity index 95%
rename from vehicle/2.0/default/tests/SubscriptionManager_test.cpp
rename to automotive/vehicle/2.0/default/tests/SubscriptionManager_test.cpp
index 863142e..c6c6add 100644
--- a/vehicle/2.0/default/tests/SubscriptionManager_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/SubscriptionManager_test.cpp
@@ -25,6 +25,7 @@
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -36,8 +37,8 @@
public:
SubscriptionManager manager;
- const VehicleProperty PROP1 = VehicleProperty::HVAC_FAN_SPEED;
- const VehicleProperty PROP2 = VehicleProperty::DISPLAY_BRIGHTNESS;
+ static constexpr int32_t PROP1 = toInt(VehicleProperty::HVAC_FAN_SPEED);
+ static constexpr int32_t PROP2 = toInt(VehicleProperty::DISPLAY_BRIGHTNESS);
sp<IVehicleCallback> cb1 = new MockedVehicleCallback();
sp<IVehicleCallback> cb2 = new MockedVehicleCallback();
@@ -116,7 +117,7 @@
// Wrong prop
clients = manager.getSubscribedClients(
- VehicleProperty::AP_POWER_BOOTUP_REASON,
+ toInt(VehicleProperty::AP_POWER_BOOTUP_REASON),
toInt(VehicleAreaZone::ROW_1_LEFT),
SubscribeFlags::HAL_EVENT);
ASSERT_TRUE(clients.empty());
@@ -192,5 +193,6 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
diff --git a/vehicle/2.0/default/tests/VehicleHalManager_test.cpp b/automotive/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
similarity index 87%
rename from vehicle/2.0/default/tests/VehicleHalManager_test.cpp
rename to automotive/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
index dc32252..1ca5824 100644
--- a/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
@@ -27,6 +27,7 @@
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -52,7 +53,7 @@
StatusCode* outStatus) override {
*outStatus = StatusCode::OK;
VehiclePropValuePtr pValue;
- VehicleProperty property = requestedPropValue.prop;
+ auto property = static_cast<VehicleProperty>(requestedPropValue.prop);
int32_t areaId = requestedPropValue.areaId;
switch (property) {
@@ -76,7 +77,7 @@
pValue->value.stringValue = kCarMake;
break;
default:
- auto key = makeKey(property, areaId);
+ auto key = makeKey(toInt(property), areaId);
if (mValues.count(key) == 0) {
ALOGW("");
}
@@ -84,7 +85,7 @@
}
if (*outStatus == StatusCode::OK && pValue.get() != nullptr) {
- pValue->prop = property;
+ pValue->prop = toInt(property);
pValue->areaId = areaId;
pValue->timestamp = elapsedRealtimeNano();
}
@@ -93,7 +94,7 @@
}
StatusCode set(const VehiclePropValue& propValue) override {
- if (VehicleProperty::MIRROR_FOLD == propValue.prop
+ if (toInt(VehicleProperty::MIRROR_FOLD) == propValue.prop
&& mirrorFoldAttemptsLeft-- > 0) {
return StatusCode::TRY_AGAIN;
}
@@ -102,13 +103,13 @@
return StatusCode::OK;
}
- StatusCode subscribe(VehicleProperty property,
- int32_t areas,
- float sampleRate) override {
+ StatusCode subscribe(int32_t property,
+ int32_t areas,
+ float sampleRate) override {
return StatusCode::OK;
}
- StatusCode unsubscribe(VehicleProperty property) override {
+ StatusCode unsubscribe(int32_t property) override {
return StatusCode::OK;
}
@@ -116,8 +117,7 @@
doHalEvent(std::move(value));
}
- void sendHalError(StatusCode error, VehicleProperty property,
- int32_t areaId) {
+ void sendHalError(StatusCode error, int32_t property, int32_t areaId) {
doHalPropertySetError(error, property, areaId);
}
@@ -130,7 +130,7 @@
return makeKey(v.prop, v.areaId);
}
- int64_t makeKey(VehicleProperty prop, int32_t area) const {
+ int64_t makeKey(int32_t prop, int32_t area) const {
return (static_cast<int64_t>(prop) << 32) | area;
}
@@ -153,7 +153,7 @@
hal.reset(nullptr);
}
public:
- void invokeGet(VehicleProperty property, int32_t areaId) {
+ void invokeGet(int32_t property, int32_t areaId) {
VehiclePropValue requestedValue {};
requestedValue.prop = property;
requestedValue.areaId = areaId;
@@ -174,7 +174,7 @@
called = true;
});
ASSERT_TRUE(called) << "callback wasn't called for prop: "
- << enumToHexString(requestedPropValue.prop);
+ << hexString(requestedPropValue.prop);
actualValue = refValue;
actualStatusCode = refStatus;
@@ -190,8 +190,9 @@
};
TEST_F(VehicleHalManagerTest, getPropConfigs) {
- hidl_vec<VehicleProperty> properties =
- { VehicleProperty::HVAC_FAN_SPEED, VehicleProperty::INFO_MAKE };
+ hidl_vec<int32_t> properties =
+ { toInt(VehicleProperty::HVAC_FAN_SPEED),
+ toInt(VehicleProperty::INFO_MAKE) };
bool called = false;
manager->getPropConfigs(properties,
@@ -205,7 +206,7 @@
ASSERT_TRUE(called); // Verify callback received.
called = false;
- manager->getPropConfigs({ VehicleProperty::HVAC_FAN_SPEED },
+ manager->getPropConfigs({ toInt(VehicleProperty::HVAC_FAN_SPEED) },
[&called] (StatusCode status,
const hidl_vec<VehiclePropConfig>& c) {
ASSERT_EQ(StatusCode::OK, status);
@@ -234,7 +235,7 @@
}
TEST_F(VehicleHalManagerTest, halErrorEvent) {
- const VehicleProperty PROP = VehicleProperty::DISPLAY_BRIGHTNESS;
+ const auto PROP = toInt(VehicleProperty::DISPLAY_BRIGHTNESS);
sp<MockedVehicleCallback> cb = new MockedVehicleCallback();
@@ -252,7 +253,7 @@
}
TEST_F(VehicleHalManagerTest, subscribe) {
- const VehicleProperty PROP = VehicleProperty::DISPLAY_BRIGHTNESS;
+ const auto PROP = toInt(VehicleProperty::DISPLAY_BRIGHTNESS);
sp<MockedVehicleCallback> cb = new MockedVehicleCallback();
@@ -267,7 +268,7 @@
ASSERT_EQ(StatusCode::OK, res);
auto unsubscribedValue = objectPool->obtain(VehiclePropertyType::INT32);
- unsubscribedValue->prop = VehicleProperty::HVAC_FAN_SPEED;
+ unsubscribedValue->prop = toInt(VehicleProperty::HVAC_FAN_SPEED);
hal->sendPropEvent(std::move(unsubscribedValue));
auto& receivedEnvents = cb->getReceivedEvents();
@@ -293,7 +294,7 @@
}
TEST_F(VehicleHalManagerTest, subscribe_WriteOnly) {
- const VehicleProperty PROP = VehicleProperty::HVAC_SEAT_TEMPERATURE;
+ const auto PROP = toInt(VehicleProperty::HVAC_SEAT_TEMPERATURE);
sp<MockedVehicleCallback> cb = new MockedVehicleCallback();
@@ -317,10 +318,10 @@
}
TEST_F(VehicleHalManagerTest, get_Complex) {
- invokeGet(VehicleProperty::VEHICLE_MAP_SERVICE, 0);
+ invokeGet(toInt(VehicleProperty::VEHICLE_MAP_SERVICE), 0);
ASSERT_EQ(StatusCode::OK, actualStatusCode);
- ASSERT_EQ(VehicleProperty::VEHICLE_MAP_SERVICE, actualValue.prop);
+ ASSERT_EQ(toInt(VehicleProperty::VEHICLE_MAP_SERVICE), actualValue.prop);
ASSERT_EQ(3, actualValue.value.bytes.size());
ASSERT_EQ(1, actualValue.value.bytes[0]);
@@ -343,20 +344,20 @@
}
TEST_F(VehicleHalManagerTest, get_StaticString) {
- invokeGet(VehicleProperty::INFO_MAKE, 0);
+ invokeGet(toInt(VehicleProperty::INFO_MAKE), 0);
ASSERT_EQ(StatusCode::OK, actualStatusCode);
- ASSERT_EQ(VehicleProperty::INFO_MAKE, actualValue.prop);
+ ASSERT_EQ(toInt(VehicleProperty::INFO_MAKE), actualValue.prop);
ASSERT_STREQ(kCarMake, actualValue.value.stringValue.c_str());
}
TEST_F(VehicleHalManagerTest, get_NegativeCases) {
// Write-only property must fail.
- invokeGet(VehicleProperty::HVAC_SEAT_TEMPERATURE, 0);
+ invokeGet(toInt(VehicleProperty::HVAC_SEAT_TEMPERATURE), 0);
ASSERT_EQ(StatusCode::ACCESS_DENIED, actualStatusCode);
// Unknown property must fail.
- invokeGet(VehicleProperty::MIRROR_Z_MOVE, 0);
+ invokeGet(toInt(VehicleProperty::MIRROR_Z_MOVE), 0);
ASSERT_EQ(StatusCode::INVALID_ARG, actualStatusCode);
}
@@ -364,7 +365,7 @@
actualStatusCode = StatusCode::TRY_AGAIN;
int attempts = 0;
while (StatusCode::TRY_AGAIN == actualStatusCode && ++attempts < 10) {
- invokeGet(VehicleProperty::INFO_FUEL_CAPACITY, 0);
+ invokeGet(toInt(VehicleProperty::INFO_FUEL_CAPACITY), 0);
}
ASSERT_EQ(StatusCode::OK, actualStatusCode);
@@ -373,7 +374,7 @@
}
TEST_F(VehicleHalManagerTest, set_Basic) {
- const auto PROP = VehicleProperty::DISPLAY_BRIGHTNESS;
+ const auto PROP = toInt(VehicleProperty::DISPLAY_BRIGHTNESS);
const auto VAL = 7;
auto expectedValue = hal->getValuePool()->obtainInt32(VAL);
@@ -390,7 +391,7 @@
}
TEST_F(VehicleHalManagerTest, set_DifferentAreas) {
- const auto PROP = VehicleProperty::HVAC_FAN_SPEED;
+ const auto PROP = toInt(VehicleProperty::HVAC_FAN_SPEED);
const auto VAL1 = 1;
const auto VAL2 = 2;
const auto AREA1 = toInt(VehicleAreaZone::ROW_1_LEFT);
@@ -426,7 +427,7 @@
}
TEST_F(VehicleHalManagerTest, set_Retriable) {
- const auto PROP = VehicleProperty::MIRROR_FOLD;
+ const auto PROP = toInt(VehicleProperty::MIRROR_FOLD);
auto v = hal->getValuePool()->obtainBoolean(true);
v->prop = PROP;
@@ -471,5 +472,6 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
diff --git a/vehicle/2.0/default/tests/VehicleHalTestUtils.h b/automotive/vehicle/2.0/default/tests/VehicleHalTestUtils.h
similarity index 88%
rename from vehicle/2.0/default/tests/VehicleHalTestUtils.h
rename to automotive/vehicle/2.0/default/tests/VehicleHalTestUtils.h
index 538c022..a512fcf 100644
--- a/vehicle/2.0/default/tests/VehicleHalTestUtils.h
+++ b/automotive/vehicle/2.0/default/tests/VehicleHalTestUtils.h
@@ -14,29 +14,30 @@
* limitations under the License.
*/
-#ifndef android_hardware_vehicle_V2_0_VehicleDebugUtils_H_
-#define android_hardware_vehicle_V2_0_VehicleDebugUtils_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehicleDebugUtils_H_
+#define android_hardware_automotive_vehicle_V2_0_VehicleDebugUtils_H_
-#include <android/hardware/vehicle/2.0/types.h>
+#include <android/hardware/automotive/vehicle/2.0/types.h>
#include <vehicle_hal_manager/VehicleUtils.h>
#include <ios>
#include <sstream>
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
const VehiclePropConfig kVehicleProperties[] = {
{
- .prop = VehicleProperty::INFO_MAKE,
+ .prop = toInt(VehicleProperty::INFO_MAKE),
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::STATIC,
.configString = "Some=config,options=if,you=have_any",
},
{
- .prop = VehicleProperty::HVAC_FAN_SPEED,
+ .prop = toInt(VehicleProperty::HVAC_FAN_SPEED),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.supportedAreas = static_cast<int32_t>(
@@ -56,7 +57,7 @@
// Write-only property
{
- .prop = VehicleProperty::HVAC_SEAT_TEMPERATURE,
+ .prop = toInt(VehicleProperty::HVAC_SEAT_TEMPERATURE),
.access = VehiclePropertyAccess::WRITE,
.changeMode = VehiclePropertyChangeMode::ON_SET,
.supportedAreas = static_cast<int32_t>(
@@ -75,7 +76,7 @@
},
{
- .prop = VehicleProperty::INFO_FUEL_CAPACITY,
+ .prop = toInt(VehicleProperty::INFO_FUEL_CAPACITY),
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.areaConfigs = {
@@ -87,7 +88,7 @@
},
{
- .prop = VehicleProperty::DISPLAY_BRIGHTNESS,
+ .prop = toInt(VehicleProperty::DISPLAY_BRIGHTNESS),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.areaConfigs = {
@@ -99,7 +100,7 @@
},
{
- .prop = VehicleProperty::MIRROR_FOLD,
+ .prop = toInt(VehicleProperty::MIRROR_FOLD),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
@@ -107,7 +108,7 @@
// Complex data type.
{
- .prop = VehicleProperty::VEHICLE_MAP_SERVICE,
+ .prop = toInt(VehicleProperty::VEHICLE_MAP_SERVICE),
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE
}
@@ -120,7 +121,7 @@
using MuxGuard = std::lock_guard<std::mutex>;
using HidlVecOfValues = hidl_vec<VehiclePropValue>;
public:
- // Methods from ::android::hardware::vehicle::V2_0::IVehicleCallback follow.
+ // Methods from ::android::hardware::automotive::vehicle::V2_0::IVehicleCallback follow.
Return<void> onPropertyEvent(
const hidl_vec<VehiclePropValue>& values) override {
{
@@ -134,7 +135,7 @@
return Return<void>();
}
Return<void> onPropertySetError(StatusCode errorCode,
- VehicleProperty propId,
+ int32_t propId,
int32_t areaId) override {
return Return<void>();
}
@@ -218,7 +219,7 @@
inline std::string toString(const VehiclePropValue &v) {
std::stringstream ss;
ss << "VehiclePropValue {n"
- << " prop: " << enumToHexString(v.prop) << ",\n"
+ << " prop: " << hexString(v.prop) << ",\n"
<< " areaId: " << hexString(v.areaId) << ",\n"
<< " timestamp: " << v.timestamp << ",\n"
<< " value {\n"
@@ -236,7 +237,7 @@
inline std::string toString(const VehiclePropConfig &config) {
std::stringstream ss;
ss << "VehiclePropConfig {\n"
- << " prop: " << enumToHexString(config.prop) << ",\n"
+ << " prop: " << hexString(config.prop) << ",\n"
<< " supportedAreas: " << hexString(config.supportedAreas) << ",\n"
<< " access: " << enumToHexString(config.access) << ",\n"
<< " changeMode: " << enumToHexString(config.changeMode) << ",\n"
@@ -265,8 +266,9 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
-#endif //VEHICLEHALDEBUGUTILS_H
+#endif //android_hardware_automotive_vehicle_V2_0_VehicleDebugUtils_H_
diff --git a/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp b/automotive/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
similarity index 98%
rename from vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
rename to automotive/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
index 135f9fa..0d57284 100644
--- a/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
@@ -24,6 +24,7 @@
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -125,5 +126,6 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
diff --git a/vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp b/automotive/vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp
similarity index 81%
rename from vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp
rename to automotive/vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp
index 28cdcbb..fad4ab3 100644
--- a/vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp
@@ -22,6 +22,7 @@
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -43,11 +44,11 @@
TEST_F(PropConfigTest, hasConfig) {
VehiclePropConfigIndex index(configs);
- ASSERT_TRUE(index.hasConfig(VehicleProperty::HVAC_FAN_SPEED));
- ASSERT_TRUE(index.hasConfig(VehicleProperty::INFO_MAKE));
- ASSERT_TRUE(index.hasConfig(VehicleProperty::INFO_FUEL_CAPACITY));
+ ASSERT_TRUE(index.hasConfig(toInt(VehicleProperty::HVAC_FAN_SPEED)));
+ ASSERT_TRUE(index.hasConfig(toInt(VehicleProperty::INFO_MAKE)));
+ ASSERT_TRUE(index.hasConfig(toInt(VehicleProperty::INFO_FUEL_CAPACITY)));
- ASSERT_FALSE(index.hasConfig(VehicleProperty::INVALID));
+ ASSERT_FALSE(index.hasConfig(toInt(VehicleProperty::INVALID)));
}
TEST_F(PropConfigTest, getAllConfig) {
@@ -63,7 +64,7 @@
TEST_F(PropConfigTest, getConfigs) {
VehiclePropConfigIndex index(configs);
- auto actualConfig = index.getConfig(VehicleProperty::HVAC_FAN_SPEED);
+ auto actualConfig = index.getConfig(toInt(VehicleProperty::HVAC_FAN_SPEED));
ASSERT_EQ(toString(configs[1]), toString(actualConfig));
}
@@ -71,5 +72,6 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
-} // namespace android
\ No newline at end of file
+} // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
similarity index 92%
rename from vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
index 063a16d..6a3f8e5 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
@@ -14,9 +14,10 @@
* limitations under the License.
*/
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
+#define LOG_TAG "automotive.vehicle@2.0-impl"
#include "AccessControlConfigParser.h"
+#include "VehicleUtils.h"
#include <fstream>
#include <iostream>
@@ -26,21 +27,22 @@
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
AccessControlConfigParser::AccessControlConfigParser(
- const std::vector<VehicleProperty>& properties) {
+ const std::vector<int32_t>& properties) {
// Property Id in the config file doesn't include information about
// type and area. So we want to create a map from these kind of
// *stripped* properties to the whole VehicleProperty.
// We also want to filter out ACL to the properties that supported
// by concrete Vehicle HAL implementation.
- for (VehicleProperty vehicleProperty : properties) {
- auto numProp = static_cast<int>(vehicleProperty);
- numProp &= ~static_cast<int>(VehiclePropertyType::MASK)
- & ~static_cast<int>(VehicleArea::MASK);
- mStrippedToVehiclePropertyMap.emplace(numProp, vehicleProperty);
+ for (auto prop : properties) {
+ auto strippedProp = prop
+ & ~toInt(VehiclePropertyType::MASK)
+ & ~toInt(VehicleArea::MASK);
+ mStrippedToVehiclePropertyMap.emplace(strippedProp, prop);
}
}
@@ -130,8 +132,8 @@
bool AccessControlConfigParser::parsePropertyId(
const std::string& strPropId,
VehiclePropertyGroup propertyGroup,
- VehicleProperty* outVehicleProperty) const {
- int propId;
+ int32_t* outVehicleProperty) const {
+ int32_t propId;
if (!parseInt(strPropId.c_str(), &propId)) {
ALOGW("Failed to convert property id to integer: %s",
strPropId.c_str());
@@ -221,5 +223,6 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
similarity index 81%
rename from vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
index 5cd0c3e..8ef6f5a 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
@@ -14,28 +14,29 @@
* limitations under the License.
*/
-#ifndef android_hardware_vehicle_V2_0_AccessControlConfigParser_H_
-#define android_hardware_vehicle_V2_0_AccessControlConfigParser_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_AccessControlConfigParser_H_
+#define android_hardware_automotive_vehicle_V2_0_AccessControlConfigParser_H_
#include <string>
#include <vector>
#include <unordered_map>
#include <list>
-#include <android/hardware/vehicle/2.0/types.h>
+#include <android/hardware/automotive/vehicle/2.0/types.h>
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
struct PropertyAcl {
- VehicleProperty propId;
+ int32_t propId;
unsigned uid;
VehiclePropertyAccess access;
};
-using PropertyAclMap = std::unordered_multimap<VehicleProperty, PropertyAcl>;
+using PropertyAclMap = std::unordered_multimap<int32_t, PropertyAcl>;
/**
* Parser for per-property access control in vehicle HAL.
@@ -64,7 +65,7 @@
*
* @param properties - properties supported by HAL implementation
*/
- AccessControlConfigParser(const std::vector<VehicleProperty>& properties);
+ AccessControlConfigParser(const std::vector<int32_t>& properties);
/**
* Parses config content from given stream and writes results to
@@ -81,7 +82,7 @@
bool parsePropertyId(const std::string& strPropId,
VehiclePropertyGroup propertyGroup,
- VehicleProperty* outVehicleProperty) const;
+ int32_t* outVehicleProperty) const;
bool parseUid(const std::string& strUid, unsigned* outUid) const;
@@ -100,12 +101,13 @@
// aliases.
// Map property ids w/o TYPE and AREA to VehicleProperty.
- std::unordered_map<int, VehicleProperty> mStrippedToVehiclePropertyMap;
+ std::unordered_map<int32_t, int32_t> mStrippedToVehiclePropertyMap;
};
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
-#endif // android_hardware_vehicle_V2_0_AccessControlConfigParser_H_
+#endif // android_hardware_automotive_vehicle_V2_0_AccessControlConfigParser_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h
similarity index 94%
rename from vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h
index 8f575dc..b63429f 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef android_hardware_vehicle_V2_0_ConcurrentQueue_H_
-#define android_hardware_vehicle_V2_0_ConcurrentQueue_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_ConcurrentQueue_H_
+#define android_hardware_automotive_vehicle_V2_0_ConcurrentQueue_H_
#include <queue>
#include <atomic>
@@ -153,4 +153,4 @@
} // namespace android
-#endif //android_hardware_vehicle_V2_0_ConcurrentQueue_H_
+#endif //android_hardware_automotive_vehicle_V2_0_ConcurrentQueue_H_
diff --git a/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp
new file mode 100644
index 0000000..3a252af
--- /dev/null
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "Obd2SensorStore.h"
+
+#include <vehicle_hal_manager/VehicleUtils.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+namespace V2_0 {
+
+Obd2SensorStore::BitmaskInVector::BitmaskInVector(size_t numBits)
+{
+ resize(numBits);
+}
+
+void Obd2SensorStore::BitmaskInVector::resize(size_t numBits) {
+ mStorage = std::vector<uint8_t>((numBits+7)/8, 0);
+}
+
+void Obd2SensorStore::BitmaskInVector::set(size_t index, bool value) {
+ const size_t byteIndex = index / 8;
+ const size_t bitIndex = index % 8;
+ const uint8_t byte = mStorage[byteIndex];
+ uint8_t newValue = value ? (byte | (1 << bitIndex)) :
+ (byte & ~(1 << bitIndex));
+ mStorage[byteIndex] = newValue;
+}
+
+bool Obd2SensorStore::BitmaskInVector::get(size_t index) const {
+ const size_t byteIndex = index / 8;
+ const size_t bitIndex = index % 8;
+ const uint8_t byte = mStorage[byteIndex];
+ return (byte & (1 << bitIndex)) != 0;
+}
+
+const std::vector<uint8_t>& Obd2SensorStore::BitmaskInVector::getBitmask() const {
+ return mStorage;
+}
+
+Obd2SensorStore::Obd2SensorStore(size_t numVendorIntegerSensors,
+ size_t numVendorFloatSensors) {
+ // because the last index is valid *inclusive*
+ const size_t numSystemIntegerSensors = toInt(Obd2IntegerSensorIndex::LAST_SYSTEM_INDEX)+1;
+ const size_t numSystemFloatSensors = toInt(Obd2FloatSensorIndex::LAST_SYSTEM_INDEX)+1;
+ mIntegerSensors = std::vector<int32_t>(
+ numSystemIntegerSensors+numVendorIntegerSensors, 0);
+ mFloatSensors = std::vector<float>(
+ numSystemFloatSensors+numVendorFloatSensors, 0);
+ mSensorsBitmask.resize(mIntegerSensors.size()+mFloatSensors.size());
+}
+
+StatusCode Obd2SensorStore::setIntegerSensor(Obd2IntegerSensorIndex index,
+ int32_t value) {
+ return setIntegerSensor(toInt(index), value);
+}
+StatusCode Obd2SensorStore::setFloatSensor(Obd2FloatSensorIndex index,
+ float value) {
+ return setFloatSensor(toInt(index), value);
+}
+
+StatusCode Obd2SensorStore::setIntegerSensor(size_t index, int32_t value) {
+ mIntegerSensors[index] = value;
+ mSensorsBitmask.set(index, true);
+ return StatusCode::OK;
+}
+
+StatusCode Obd2SensorStore::setFloatSensor(size_t index, float value) {
+ mFloatSensors[index] = value;
+ mSensorsBitmask.set(index + mIntegerSensors.size(), true);
+ return StatusCode::OK;
+}
+
+const std::vector<int32_t>& Obd2SensorStore::getIntegerSensors() const {
+ return mIntegerSensors;
+}
+
+const std::vector<float>& Obd2SensorStore::getFloatSensors() const {
+ return mFloatSensors;
+}
+
+const std::vector<uint8_t>& Obd2SensorStore::getSensorsBitmask() const {
+ return mSensorsBitmask.getBitmask();
+}
+
+
+} // namespace V2_0
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
diff --git a/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h
new file mode 100644
index 0000000..cbe9893
--- /dev/null
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_automotive_vehicle_V2_0_Obd2SensorStore_H_
+#define android_hardware_automotive_vehicle_V2_0_Obd2SensorStore_H_
+
+#include <vector>
+
+#include <VehicleHal.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+namespace V2_0 {
+
+// This class wraps all the logic required to create an OBD2 frame.
+// It allows storing sensor values, setting appropriate bitmasks as needed,
+// and returning appropriately laid out storage of sensor values suitable
+// for being returned via a VehicleHal implementation.
+class Obd2SensorStore {
+public:
+ // Creates a sensor storage with a given number of vendor-specific sensors.
+ Obd2SensorStore(size_t numVendorIntegerSensors,
+ size_t numVendorFloatSensors);
+
+ // Stores an integer-valued sensor.
+ StatusCode setIntegerSensor(Obd2IntegerSensorIndex index, int32_t value);
+ // Stores an integer-valued sensor.
+ StatusCode setIntegerSensor(size_t index, int32_t value);
+
+ // Stores a float-valued sensor.
+ StatusCode setFloatSensor(Obd2FloatSensorIndex index, float value);
+ // Stores a float-valued sensor.
+ StatusCode setFloatSensor(size_t index, float value);
+
+ // Returns a vector that contains all integer sensors stored.
+ const std::vector<int32_t>& getIntegerSensors() const;
+ // Returns a vector that contains all float sensors stored.
+ const std::vector<float>& getFloatSensors() const;
+ // Returns a vector that contains a bitmask for all stored sensors.
+ const std::vector<uint8_t>& getSensorsBitmask() const;
+
+private:
+ class BitmaskInVector {
+ public:
+ BitmaskInVector(size_t numBits = 0);
+ void resize(size_t numBits);
+ bool get(size_t index) const;
+ void set(size_t index, bool value);
+
+ const std::vector<uint8_t>& getBitmask() const;
+
+ private:
+ std::vector<uint8_t> mStorage;
+ };
+
+ std::vector<int32_t> mIntegerSensors;
+ std::vector<float> mFloatSensors;
+ BitmaskInVector mSensorsBitmask;
+};
+
+} // namespace V2_0
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_automotive_vehicle_V2_0_Obd2SensorStore_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
similarity index 93%
rename from vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
index c190c71..f6f2758 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
+#define LOG_TAG "automotive.vehicle@2.0-impl"
#include "SubscriptionManager.h"
@@ -26,6 +26,7 @@
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -70,7 +71,9 @@
}
}
-bool HalClient::isSubscribed(VehicleProperty propId, int32_t areaId, SubscribeFlags flags) {
+bool HalClient::isSubscribed(int32_t propId,
+ int32_t areaId,
+ SubscribeFlags flags) {
auto it = mSubscriptions.find(propId);
if (it == mSubscriptions.end()) {
return false;
@@ -136,13 +139,13 @@
}
std::list<sp<HalClient>> SubscriptionManager::getSubscribedClients(
- VehicleProperty propId, int32_t area, SubscribeFlags flags) const {
+ int32_t propId, int32_t area, SubscribeFlags flags) const {
MuxGuard g(mLock);
return getSubscribedClientsLocked(propId, area, flags);
}
std::list<sp<HalClient>> SubscriptionManager::getSubscribedClientsLocked(
- VehicleProperty propId, int32_t area, SubscribeFlags flags) const {
+ int32_t propId, int32_t area, SubscribeFlags flags) const {
std::list<sp<HalClient>> subscribedClients;
sp<HalClientVector> propClients = getClientsForPropertyLocked(propId);
@@ -180,7 +183,7 @@
}
void SubscriptionManager::addClientToPropMapLocked(
- VehicleProperty propId, const sp<HalClient> &client) {
+ int32_t propId, const sp<HalClient> &client) {
auto it = mPropToClients.find(propId);
sp<HalClientVector> propClients;
if (it == mPropToClients.end()) {
@@ -193,7 +196,7 @@
}
sp<HalClientVector> SubscriptionManager::getClientsForPropertyLocked(
- VehicleProperty propId) const {
+ int32_t propId) const {
auto it = mPropToClients.find(propId);
return it == mPropToClients.end() ? nullptr : it->second;
}
@@ -214,7 +217,7 @@
}
bool SubscriptionManager::unsubscribe(const sp<IVehicleCallback>& callback,
- VehicleProperty propId) {
+ int32_t propId) {
MuxGuard g(mLock);
auto propertyClients = getClientsForPropertyLocked(propId);
auto clientIter = mClients.find(callback);
@@ -252,5 +255,6 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h
similarity index 81%
rename from vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h
index 9f2ed8d..6a12b77 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef android_hardware_vehicle_V2_0_SubscriptionManager_H_
-#define android_hardware_vehicle_V2_0_SubscriptionManager_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_SubscriptionManager_H_
+#define android_hardware_automotive_vehicle_V2_0_SubscriptionManager_H_
#include <memory>
#include <map>
@@ -25,13 +25,14 @@
#include <android/log.h>
#include <hwbinder/IPCThreadState.h>
-#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <android/hardware/automotive/vehicle/2.0/IVehicle.h>
#include "ConcurrentQueue.h"
#include "VehicleObjectPool.h"
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -50,7 +51,7 @@
void addOrUpdateSubscription(const SubscribeOptions &opts);
- bool isSubscribed(VehicleProperty propId,
+ bool isSubscribed(int32_t propId,
int32_t areaId,
SubscribeFlags flags);
@@ -59,7 +60,7 @@
const int32_t mPid;
const int32_t mUid;
- std::map<VehicleProperty, SubscribeOptions> mSubscriptions;
+ std::map<int32_t, SubscribeOptions> mSubscriptions;
};
class HalClientVector : private SortedVector<sp<HalClient>> , public RefBase {
@@ -103,26 +104,26 @@
SubscribeFlags flags) const;
std::list<sp<HalClient>> getSubscribedClients(
- VehicleProperty propId, int32_t area, SubscribeFlags flags) const;
+ int32_t propId, int32_t area, SubscribeFlags flags) const;
/**
* Returns true the client was unsubscribed successfully and there are
* no more clients subscribed to given propId.
*/
bool unsubscribe(const sp<IVehicleCallback>& callback,
- VehicleProperty propId);
+ int32_t propId);
private:
std::list<sp< HalClient>> getSubscribedClientsLocked(
- VehicleProperty propId, int32_t area, SubscribeFlags flags) const;
+ int32_t propId, int32_t area, SubscribeFlags flags) const;
bool updateHalEventSubscriptionLocked(const SubscribeOptions &opts,
SubscribeOptions *out);
- void addClientToPropMapLocked(VehicleProperty propId,
+ void addClientToPropMapLocked(int32_t propId,
const sp<HalClient> &client);
sp<HalClientVector> getClientsForPropertyLocked(
- VehicleProperty propId) const;
+ int32_t propId) const;
sp<HalClient> getOrCreateHalClientLocked(
const sp<IVehicleCallback> &callback);
@@ -133,15 +134,16 @@
mutable std::mutex mLock;
std::map<sp<IVehicleCallback>, sp<HalClient>> mClients;
- std::map<VehicleProperty, sp<HalClientVector>> mPropToClients;
- std::map<VehicleProperty, SubscribeOptions> mHalEventSubscribeOptions;
+ std::map<int32_t, sp<HalClientVector>> mPropToClients;
+ std::map<int32_t, SubscribeOptions> mHalEventSubscribeOptions;
};
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
-#endif // android_hardware_vehicle_V2_0_SubscriptionManager_H_
+#endif // android_hardware_automotive_vehicle_V2_0_SubscriptionManager_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
similarity index 95%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
index 5d2e6fe..3a5e504 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
+#define LOG_TAG "automotive.vehicle@2.0-impl"
#include "VehicleHalManager.h"
@@ -27,6 +27,7 @@
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -58,11 +59,11 @@
}
Return<void> VehicleHalManager::getPropConfigs(
- const hidl_vec<VehicleProperty> &properties,
+ const hidl_vec<int32_t> &properties,
getPropConfigs_cb _hidl_cb) {
std::vector<VehiclePropConfig> configs;
for (size_t i = 0; i < properties.size(); i++) {
- VehicleProperty prop = properties[i];
+ auto prop = properties[i];
if (mConfigIndex->hasConfig(prop)) {
configs.push_back(mConfigIndex->getConfig(prop));
} else {
@@ -125,7 +126,7 @@
auto caller = getCaller();
for (size_t i = 0; i < verifiedOptions.size(); i++) {
SubscribeOptions& ops = verifiedOptions[i];
- VehicleProperty prop = ops.propId;
+ auto prop = ops.propId;
const auto* config = getPropConfigOrNull(prop);
if (config == nullptr) {
@@ -168,7 +169,7 @@
}
Return<StatusCode> VehicleHalManager::unsubscribe(
- const sp<IVehicleCallback>& callback, VehicleProperty propId) {
+ const sp<IVehicleCallback>& callback, int32_t propId) {
if (mSubscriptionManager.unsubscribe(callback, propId)) {
mHal->unsubscribe(propId);
}
@@ -200,7 +201,7 @@
auto supportedPropConfigs = mHal->listProperties();
mConfigIndex.reset(new VehiclePropConfigIndex(supportedPropConfigs));
- std::vector<VehicleProperty> supportedProperties(
+ std::vector<int32_t> supportedProperties(
supportedPropConfigs.size());
for (const auto& config : supportedPropConfigs) {
supportedProperties.push_back(config.prop);
@@ -228,7 +229,7 @@
}
void VehicleHalManager::onHalPropertySetError(StatusCode errorCode,
- VehicleProperty property,
+ int32_t property,
int32_t areaId) {
const auto& clients = mSubscriptionManager.getSubscribedClients(
property, 0, SubscribeFlags::HAL_EVENT);
@@ -309,7 +310,7 @@
return true;
}
-bool VehicleHalManager::checkAcl(uid_t callerUid, VehicleProperty propertyId,
+bool VehicleHalManager::checkAcl(uid_t callerUid, int32_t propertyId,
VehiclePropertyAccess requiredAccess) const {
if (callerUid == AID_SYSTEM && isSystemProperty(propertyId)) {
return true;
@@ -353,7 +354,7 @@
}
const VehiclePropConfig* VehicleHalManager::getPropConfigOrNull(
- VehicleProperty prop) const {
+ int32_t prop) const {
return mConfigIndex->hasConfig(prop)
? &mConfigIndex->getConfig(prop) : nullptr;
}
@@ -380,5 +381,6 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
similarity index 87%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
index 6768741..4bff4d1 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef android_hardware_vehicle_V2_0_VehicleHalManager_H_
-#define android_hardware_vehicle_V2_0_VehicleHalManager_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehicleHalManager_H_
+#define android_hardware_automotive_vehicle_V2_0_VehicleHalManager_H_
#include <inttypes.h>
#include <stdint.h>
@@ -26,7 +26,7 @@
#include <memory>
#include <set>
-#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <android/hardware/automotive/vehicle/2.0/IVehicle.h>
#include <hwbinder/IPCThreadState.h>
#include "AccessControlConfigParser.h"
@@ -38,6 +38,7 @@
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -66,7 +67,7 @@
// ---------------------------------------------------------------------------------------------
// Methods derived from IVehicle
Return<void> getAllPropConfigs(getAllPropConfigs_cb _hidl_cb) override;
- Return<void> getPropConfigs(const hidl_vec<VehicleProperty>& properties,
+ Return<void> getPropConfigs(const hidl_vec<int32_t>& properties,
getPropConfigs_cb _hidl_cb) override;
Return<void> get(const VehiclePropValue& requestedPropValue,
get_cb _hidl_cb) override;
@@ -74,7 +75,7 @@
Return<StatusCode> subscribe(const sp<IVehicleCallback>& callback,
const hidl_vec<SubscribeOptions>& options) override;
Return<StatusCode> unsubscribe(const sp<IVehicleCallback>& callback,
- VehicleProperty propId) override;
+ int32_t propId) override;
Return<void> debugDump(debugDump_cb _hidl_cb = nullptr) override;
private:
@@ -85,7 +86,7 @@
// ---------------------------------------------------------------------------------------------
// Events received from VehicleHal
void onHalEvent(VehiclePropValuePtr v);
- void onHalPropertySetError(StatusCode errorCode, VehicleProperty property,
+ void onHalPropertySetError(StatusCode errorCode, int32_t property,
int32_t areaId);
// ---------------------------------------------------------------------------------------------
@@ -94,14 +95,14 @@
void handlePropertySetEvent(const VehiclePropValue& value);
- const VehiclePropConfig* getPropConfigOrNull(VehicleProperty prop) const;
+ const VehiclePropConfig* getPropConfigOrNull(int32_t prop) const;
bool checkWritePermission(const VehiclePropConfig &config,
const Caller& callee) const;
bool checkReadPermission(const VehiclePropConfig &config,
const Caller& caller) const;
bool checkAcl(uid_t callerUid,
- VehicleProperty propertyId,
+ int32_t propertyId,
VehiclePropertyAccess requiredAccess) const;
static bool isSubscribable(const VehiclePropConfig& config,
@@ -130,8 +131,9 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
-#endif // android_hardware_vehicle_V2_0_VehicleHalManager_H_
+#endif // android_hardware_automotive_vehicle_V2_0_VehicleHalManager_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
similarity index 96%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
index e9dd68d..a79c55c 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
+#define LOG_TAG "automotive.vehicle@2.0-impl"
#include "VehicleObjectPool.h"
@@ -24,6 +24,7 @@
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -36,7 +37,7 @@
VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtain(
const VehiclePropValue& src) {
- if (src.prop == VehicleProperty::INVALID) {
+ if (src.prop == toInt(VehicleProperty::INVALID)) {
ALOGE("Unable to obtain an object from pool for unknown property");
return RecyclableType();
}
@@ -157,5 +158,6 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
similarity index 95%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
index d9231c3..05c649b 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
@@ -15,17 +15,18 @@
*/
-#ifndef android_hardware_vehicle_V2_0_VehicleObjectPool_H_
-#define android_hardware_vehicle_V2_0_VehicleObjectPool_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehicleObjectPool_H_
+#define android_hardware_automotive_vehicle_V2_0_VehicleObjectPool_H_
#include <deque>
#include <map>
#include <mutex>
-#include <android/hardware/vehicle/2.0/types.h>
+#include <android/hardware/automotive/vehicle/2.0/types.h>
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -238,7 +239,8 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
-#endif // android_hardware_vehicle_V2_0_VehicleObjectPool_H_
+#endif // android_hardware_automotive_vehicle_V2_0_VehicleObjectPool_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h
similarity index 78%
rename from vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h
index 540fc33..0528f68 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h
@@ -14,15 +14,16 @@
* limitations under the License.
*/
-#ifndef android_hardware_vehicle_V2_0_VehiclePropConfigIndex_H_
-#define android_hardware_vehicle_V2_0_VehiclePropConfigIndex_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehiclePropConfigIndex_H_
+#define android_hardware_automotive_vehicle_V2_0_VehiclePropConfigIndex_H_
#include <utils/KeyedVector.h>
-#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <android/hardware/automotive/vehicle/2.0/IVehicle.h>
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -37,11 +38,11 @@
: mConfigs(properties), mPropToConfig(mConfigs)
{}
- bool hasConfig(VehicleProperty property) const {
+ bool hasConfig(int32_t property) const {
return mPropToConfig.indexOfKey(property) >= 0;
}
- const VehiclePropConfig& getConfig(VehicleProperty property) const {
+ const VehiclePropConfig& getConfig(int32_t property) const {
return *mPropToConfig.valueFor(property);
}
@@ -50,7 +51,7 @@
}
private:
- typedef KeyedVector<VehicleProperty, const VehiclePropConfig*> PropConfigMap;
+ typedef KeyedVector<int32_t, const VehiclePropConfig*> PropConfigMap;
class ImmutablePropConfigMap : private PropConfigMap {
public:
ImmutablePropConfigMap(const std::vector<VehiclePropConfig>& configs) {
@@ -72,7 +73,8 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
-#endif // android_hardware_vehicle_V2_0_VehiclePropConfigIndex_H_
+#endif // android_hardware_automotive_vehicle_V2_0_VehiclePropConfigIndex_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
similarity index 97%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
index 5a00631..311cdef 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
+#define LOG_TAG "automotive.vehicle@2.0-impl"
#include "VehicleUtils.h"
@@ -22,6 +22,7 @@
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -124,5 +125,6 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
similarity index 68%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
index 1177ddd..ce0b163 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
@@ -14,17 +14,18 @@
* limitations under the License.
*/
-#ifndef android_hardware_vehicle_V2_0_VehicleUtils_H_
-#define android_hardware_vehicle_V2_0_VehicleUtils_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehicleUtils_H_
+#define android_hardware_automotive_vehicle_V2_0_VehicleUtils_H_
#include <memory>
#include <hidl/HidlSupport.h>
-#include <android/hardware/vehicle/2.0/types.h>
+#include <android/hardware/automotive/vehicle/2.0/types.h>
namespace android {
namespace hardware {
+namespace automotive {
namespace vehicle {
namespace V2_0 {
@@ -33,32 +34,30 @@
/** Returns underlying (integer) value for given enum. */
template<typename ENUM>
-inline typename std::underlying_type<ENUM>::type toInt(ENUM const value) {
+inline constexpr typename std::underlying_type<ENUM>::type toInt(
+ ENUM const value) {
return static_cast<typename std::underlying_type<ENUM>::type>(value);
}
-inline VehiclePropertyType getPropType(VehicleProperty prop) {
+inline constexpr VehiclePropertyType getPropType(int32_t prop) {
return static_cast<VehiclePropertyType>(
- static_cast<int32_t>(prop)
- & static_cast<int32_t>(VehiclePropertyType::MASK));
+ prop & toInt(VehiclePropertyType::MASK));
}
-inline VehiclePropertyGroup getPropGroup(VehicleProperty prop) {
+inline constexpr VehiclePropertyGroup getPropGroup(int32_t prop) {
return static_cast<VehiclePropertyGroup>(
- static_cast<int32_t>(prop)
- & static_cast<int32_t>(VehiclePropertyGroup::MASK));
+ prop & toInt(VehiclePropertyGroup::MASK));
}
-inline VehicleArea getPropArea(VehicleProperty prop) {
- return static_cast<VehicleArea>(
- static_cast<int32_t>(prop) & static_cast<int32_t>(VehicleArea::MASK));
+inline constexpr VehicleArea getPropArea(int32_t prop) {
+ return static_cast<VehicleArea>(prop & toInt(VehicleArea::MASK));
}
-inline bool isGlobalProp(VehicleProperty prop) {
+inline constexpr bool isGlobalProp(int32_t prop) {
return getPropArea(prop) == VehicleArea::GLOBAL;
}
-inline bool isSystemProperty(VehicleProperty prop) {
+inline constexpr bool isSystemProperty(int32_t prop) {
return VehiclePropertyGroup::SYSTEM == getPropGroup(prop);
}
@@ -80,7 +79,8 @@
} // namespace V2_0
} // namespace vehicle
+} // namespace automotive
} // namespace hardware
} // namespace android
-#endif // android_hardware_vehicle_V2_0_VehicleUtils_H_
+#endif // android_hardware_automotive_vehicle_V2_0_VehicleUtils_H_
diff --git a/vehicle/2.0/types.hal b/automotive/vehicle/2.0/types.hal
similarity index 96%
rename from vehicle/2.0/types.hal
rename to automotive/vehicle/2.0/types.hal
index 9fda4fd..05e10be 100644
--- a/vehicle/2.0/types.hal
+++ b/automotive/vehicle/2.0/types.hal
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.vehicle@2.0;
+package android.hardware.automotive.vehicle@2.0;
/*
* Enumerates supported data types for VehicleProperty.
@@ -1042,7 +1042,7 @@
* Property to report bootup reason for the current power on. This is a
* static property that will not change for the whole duration until power
* off. For example, even if user presses power on button after automatic
- * power on with door unlock, bootup reason must stay with
+ * power on with door unlock, bootup reason must stay with
* VehicleApPowerBootupReason#USER_UNLOCK.
*
* int32Values[0] must be VehicleApPowerBootupReason.
@@ -1782,14 +1782,30 @@
* This property uses COMPLEX data to send a snapshot of the current (live)
* values of the OBD2 sensors provided by the vehicle.
*
- * Its contents are to be interpreted as follows:
+ * VehiclePropConfig
+ * configArray[0] : number of vendor-specific integer-valued sensors
+ * that can be returned in a frame.
+ * configArray[1] : number of vendor-specific float-valued sensors
+ * that can be returned in a frame.
+ *
+ * The values are to be interpreted as follows:
* the indices defined in Obd2IntegerSensorIndex are to be used to
* read from int32Values;
* the indices defined in Obd2FloatSensorIndex are to be used to
* read from floatValues.
+ * the elements of bytes are to be interpreted as a bitmask, such that
+ * the bits 0 thru the integer value of
+ * Obd2IntegerSensorIndex.LAST_SYSTEM_INDEX + the value of configArray[0]
+ * are 1 if the corresponding index is a valid sensor index whose value can
+ * be read in the returned int32Values vector, 0 otherwise.
+ * the bits Obd2IntegerSensorIndex.LAST_SYSTEM_INDEX+1 thru
+ * Obd2FloatingSensorIndex.LAST_SYSTEM_INDEX + the value of configArray[1]
+ * are 1 if the corresponding index is a valid sensor index whose value
+ * can be read in the returned floatValues vector, 0 otherwise.
*
* For example, int32Values[0] corresponds to FUEL_SYSTEM_STATUS, and
- * floatValues[0] corresponds to CALCULATED_ENGINE_LOAD.
+ * floatValues[0] corresponds to CALCULATED_ENGINE_LOAD, but that mapping
+ * is only valid if the corresponding bits in the bytes vector are set to 1.
*
* @change_mode VehiclePropertyChangeMode:ON_CHANGE
* @access VehiclePropertyAccess:READ
@@ -1807,17 +1823,33 @@
* OBD2 sensors provided by the vehicle at the time that a diagnostic
* troubleshooting code (DTC) was recorded by the vehicle.
*
- * Its contents are to be interpreted as follows:
+ * VehiclePropConfig
+ * configArray[0] : number of vendor-specific integer-valued sensors
+ * that can be returned in a frame.
+ * configArray[1] : number of vendor-specific float-valued sensors
+ * that can be returned in a frame.
+ *
+ * The values are to be interpreted as follows:
* the indices defined in Obd2IntegerSensorIndex are to be used to
* read from int32Values;
* the indices defined in Obd2FloatSensorIndex are to be used to
* read from floatValues;
+ * the elements of bytes are to be interpreted as a bitmask, such that
+ * the bits 0 thru the integer value of
+ * Obd2IntegerSensorIndex.LAST_SYSTEM_INDEX + the value of configArray[0]
+ * are 1 if the corresponding index is a valid sensor index whose value can
+ * be read in the returned int32Values vector, 0 otherwise.
+ * the bits Obd2IntegerSensorIndex.LAST_SYSTEM_INDEX+1 thru
+ * Obd2FloatingSensorIndex.LAST_SYSTEM_INDEX + the value of configArray[1]
+ * are 1 if the corresponding index is a valid sensor index whose value
+ * can be read in the returned floatValues vector, 0 otherwise.
* stringValue is the DTC that caused this freeze frame to be recorded.
*
* For example, int32Values[0] corresponds to FUEL_SYSTEM_STATUS, and
- * floatValues[0] corresponds to CALCULATED_ENGINE_LOAD, and a possible
- * valid stringValue is "P0176" to indicate a malfunction of the fuel
- * composition sensor circuit.
+ * floatValues[0] corresponds to CALCULATED_ENGINE_LOAD, but that mapping
+ * is only valid if the corresponding bits in the bytes vector are set to 1,
+ * and a possible valid stringValue is "P0176" to indicate a malfunction
+ * of the fuel composition sensor circuit.
*
* @change_mode VehiclePropertyChangeMode:ON_CHANGE
* @access VehiclePropertyAccess:READ
@@ -2488,7 +2520,8 @@
};
struct VehiclePropConfig {
- VehicleProperty prop;
+ /* Property identifier */
+ int32_t prop;
/*
* Defines if the property is read or write or both.
@@ -2549,7 +2582,7 @@
*/
struct VehiclePropValue {
/* Property identifier */
- VehicleProperty prop;
+ int32_t prop;
/* Time is elapsed nanoseconds since boot */
int64_t timestamp;
@@ -2669,7 +2702,7 @@
*/
struct SubscribeOptions {
/* Property to subscribe */
- VehicleProperty propId;
+ int32_t propId;
/*
* Area ids - this must be a bit mask of areas to subscribe or 0 to subscribe
diff --git a/automotive/vehicle/2.0/vts/Vehicle.vts b/automotive/vehicle/2.0/vts/Vehicle.vts
new file mode 100644
index 0000000..535d4b8
--- /dev/null
+++ b/automotive/vehicle/2.0/vts/Vehicle.vts
@@ -0,0 +1,116 @@
+component_class: HAL_HIDL
+component_type_version: 2.0
+component_name: "IVehicle"
+
+package: "android.hardware.automotive.vehicle"
+
+import: "android.hardware.automotive.vehicle@2.0::IVehicleCallback"
+import: "android.hardware.automotive.vehicle@2.0::types"
+
+interface: {
+ api: {
+ name: "getAllPropConfigs"
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropConfig"
+ }
+ }
+ }
+
+ api: {
+ name: "getPropConfigs"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+ }
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropConfig"
+ }
+ }
+ arg: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+ }
+ }
+ }
+
+ api: {
+ name: "get"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+ }
+ return_type_hidl: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
+ }
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
+ }
+ }
+
+ api: {
+ name: "set"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+ }
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
+ }
+ }
+
+ api: {
+ name: "subscribe"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+ }
+ arg: {
+ type: TYPE_HIDL_CALLBACK
+ predefined_type: "IVehicleCallback"
+ is_callback: true
+ }
+ arg: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::SubscribeOptions"
+ }
+ }
+ }
+
+ api: {
+ name: "unsubscribe"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+ }
+ arg: {
+ type: TYPE_HIDL_CALLBACK
+ predefined_type: "IVehicleCallback"
+ is_callback: true
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+ }
+ }
+
+ api: {
+ name: "debugDump"
+ return_type_hidl: {
+ type: TYPE_STRING
+ }
+ }
+
+}
diff --git a/automotive/vehicle/2.0/vts/VehicleCallback.vts b/automotive/vehicle/2.0/vts/VehicleCallback.vts
new file mode 100644
index 0000000..3589fde
--- /dev/null
+++ b/automotive/vehicle/2.0/vts/VehicleCallback.vts
@@ -0,0 +1,45 @@
+component_class: HAL_HIDL
+component_type_version: 2.0
+component_name: "IVehicleCallback"
+
+package: "android.hardware.automotive.vehicle"
+
+import: "android.hardware.automotive.vehicle@2.0::types"
+
+interface: {
+ api: {
+ name: "onPropertyEvent"
+ arg: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
+ }
+ }
+ }
+
+ api: {
+ name: "onPropertySet"
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
+ }
+ }
+
+ api: {
+ name: "onPropertySetError"
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+}
diff --git a/vehicle/2.0/vts/types.vts b/automotive/vehicle/2.0/vts/types.vts
similarity index 91%
rename from vehicle/2.0/vts/types.vts
rename to automotive/vehicle/2.0/vts/types.vts
index 067a7d6..b8a9f83 100644
--- a/vehicle/2.0/vts/types.vts
+++ b/automotive/vehicle/2.0/vts/types.vts
@@ -2,11 +2,11 @@
component_type_version: 2.0
component_name: "types"
-package: "android.hardware.vehicle"
+package: "android.hardware.automotive.vehicle"
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehiclePropertyType"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyType"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -55,7 +55,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleArea"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleArea"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -92,7 +92,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehiclePropertyGroup"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyGroup"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -113,7 +113,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleProperty"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -510,7 +510,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleHvacFanDirection"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleHvacFanDirection"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -539,7 +539,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleRadioConstants"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleRadioConstants"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -552,7 +552,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioFocusRequest"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioFocusRequest"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -581,7 +581,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioFocusState"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioFocusState"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -614,7 +614,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioStreamFlag"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioStreamFlag"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -635,7 +635,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioStream"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioStream"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -652,7 +652,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioExtFocusFlag"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioExtFocusFlag"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -681,7 +681,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioFocusIndex"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioFocusIndex"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -706,7 +706,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioContextFlag"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioContextFlag"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -767,7 +767,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeCapabilityFlag"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioVolumeCapabilityFlag"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -784,7 +784,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeState"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioVolumeState"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -801,7 +801,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeIndex"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioVolumeIndex"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -822,7 +822,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeLimitIndex"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioVolumeLimitIndex"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -839,7 +839,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioRoutingPolicyIndex"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioRoutingPolicyIndex"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -856,7 +856,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAudioHwVariantConfigFlag"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioHwVariantConfigFlag"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -869,7 +869,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleApPowerStateConfigFlag"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerStateConfigFlag"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -886,7 +886,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleApPowerState"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerState"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -915,7 +915,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleApPowerStateShutdownParam"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerStateShutdownParam"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -936,7 +936,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleApPowerSetState"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerSetState"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -973,7 +973,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleApPowerStateIndex"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerStateIndex"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -990,7 +990,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleApPowerBootupReason"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerBootupReason"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1011,7 +1011,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleHwKeyInputAction"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleHwKeyInputAction"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1028,7 +1028,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleDisplay"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleDisplay"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1045,7 +1045,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleInstrumentClusterType"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleInstrumentClusterType"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1066,7 +1066,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleUnit"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleUnit"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1135,7 +1135,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehiclePropertyChangeMode"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyChangeMode"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1164,7 +1164,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehiclePropertyAccess"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyAccess"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1189,7 +1189,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleDrivingStatus"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleDrivingStatus"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1222,7 +1222,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleGear"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleGear"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1287,7 +1287,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAreaZone"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaZone"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1364,7 +1364,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAreaSeat"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaSeat"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1409,7 +1409,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAreaWindow"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaWindow"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1454,7 +1454,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAreaDoor"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaDoor"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1495,7 +1495,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAreaMirror"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaMirror"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1516,7 +1516,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleTurnSignal"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleTurnSignal"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1541,7 +1541,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleAreaConfig"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaConfig"
type: TYPE_STRUCT
struct_value: {
name: "areaId"
@@ -1581,22 +1581,22 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehiclePropConfig"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropConfig"
type: TYPE_STRUCT
struct_value: {
name: "prop"
type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
}
struct_value: {
name: "access"
type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropertyAccess"
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyAccess"
}
struct_value: {
name: "changeMode"
type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropertyChangeMode"
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyChangeMode"
}
struct_value: {
name: "supportedAreas"
@@ -1608,7 +1608,7 @@
type: TYPE_VECTOR
vector_value: {
type: TYPE_STRUCT
- predefined_type: "::android::hardware::vehicle::V2_0::VehicleAreaConfig"
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaConfig"
}
}
struct_value: {
@@ -1641,10 +1641,10 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehiclePropValue"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
type: TYPE_STRUCT
sub_struct: {
- name: "::android::hardware::vehicle::V2_0::VehiclePropValue::RawValue"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue::RawValue"
type: TYPE_STRUCT
struct_value: {
name: "int32Values"
@@ -1686,7 +1686,7 @@
struct_value: {
name: "prop"
type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
}
struct_value: {
name: "timestamp"
@@ -1701,12 +1701,12 @@
struct_value: {
name: "value"
type: TYPE_STRUCT
- predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue::RawValue"
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue::RawValue"
}
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehicleIgnitionState"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehicleIgnitionState"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1739,7 +1739,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::VehiclePropertyOperation"
+ name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyOperation"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1764,7 +1764,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::SubscribeFlags"
+ name: "::android::hardware::automotive::vehicle::V2_0::SubscribeFlags"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1789,12 +1789,12 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::SubscribeOptions"
+ name: "::android::hardware::automotive::vehicle::V2_0::SubscribeOptions"
type: TYPE_STRUCT
struct_value: {
name: "propId"
type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
}
struct_value: {
name: "vehicleAreas"
@@ -1809,12 +1809,12 @@
struct_value: {
name: "flags"
type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::SubscribeFlags"
+ predefined_type: "::android::hardware::automotive::vehicle::V2_0::SubscribeFlags"
}
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::StatusCode"
+ name: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1847,7 +1847,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::FuelSystemStatus"
+ name: "::android::hardware::automotive::vehicle::V2_0::FuelSystemStatus"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1876,7 +1876,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::IgnitionMonitorKind"
+ name: "::android::hardware::automotive::vehicle::V2_0::IgnitionMonitorKind"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1893,7 +1893,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::CommonIgnitionMonitors"
+ name: "::android::hardware::automotive::vehicle::V2_0::CommonIgnitionMonitors"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1926,7 +1926,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::SparkIgnitionMonitors"
+ name: "::android::hardware::automotive::vehicle::V2_0::SparkIgnitionMonitors"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -2023,7 +2023,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::CompressionIgnitionMonitors"
+ name: "::android::hardware::automotive::vehicle::V2_0::CompressionIgnitionMonitors"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -2104,7 +2104,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::SecondaryAirStatus"
+ name: "::android::hardware::automotive::vehicle::V2_0::SecondaryAirStatus"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -2129,7 +2129,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::FuelType"
+ name: "::android::hardware::automotive::vehicle::V2_0::FuelType"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -2234,7 +2234,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::Obd2IntegerSensorIndex"
+ name: "::android::hardware::automotive::vehicle::V2_0::Obd2IntegerSensorIndex"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -2371,7 +2371,7 @@
}
attribute: {
- name: "::android::hardware::vehicle::V2_0::Obd2FloatSensorIndex"
+ name: "::android::hardware::automotive::vehicle::V2_0::Obd2FloatSensorIndex"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
diff --git a/vehicle/Android.bp b/automotive/vehicle/Android.bp
similarity index 100%
rename from vehicle/Android.bp
rename to automotive/vehicle/Android.bp
diff --git a/benchmarks/msgq/1.0/Android.bp b/benchmarks/msgq/1.0/Android.bp
index b6f4bfd..de84e81 100644
--- a/benchmarks/msgq/1.0/Android.bp
+++ b/benchmarks/msgq/1.0/Android.bp
@@ -1,5 +1,12 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.benchmarks.msgq@1.0_hal",
+ srcs: [
+ "IBenchmarkMsgQ.hal",
+ ],
+}
+
genrule {
name: "android.hardware.benchmarks.msgq@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/biometrics/fingerprint/2.1/Android.bp b/biometrics/fingerprint/2.1/Android.bp
index 2a252dc..ea148aa 100644
--- a/biometrics/fingerprint/2.1/Android.bp
+++ b/biometrics/fingerprint/2.1/Android.bp
@@ -126,83 +126,42 @@
}
genrule {
- name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler_genc++",
+ name: "android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.biometrics.fingerprint@2.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
srcs: [
- "IBiometricsFingerprint.hal",
"types.hal",
+ "IBiometricsFingerprint.hal",
+ "IBiometricsFingerprintClientCallback.hal",
],
out: [
+ "android/hardware/biometrics/fingerprint/2.1/types.vts.cpp",
"android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts.cpp",
- "android/hardware/biometrics/fingerprint/2.1/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.biometrics.fingerprint@2.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
- srcs: [
- "IBiometricsFingerprint.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts.h",
- "android/hardware/biometrics/fingerprint/2.1/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler",
- generated_sources: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler_genc++"],
- generated_headers: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.biometrics.fingerprint@2.1",
- ],
-}
-
-genrule {
- name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.biometrics.fingerprint@2.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
- srcs: [
- "IBiometricsFingerprintClientCallback.hal",
- "types.hal",
- ],
- out: [
"android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts.cpp",
- "android/hardware/biometrics/fingerprint/2.1/types.vts.cpp",
],
}
genrule {
- name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler_genc++_headers",
+ name: "android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.biometrics.fingerprint@2.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
srcs: [
- "IBiometricsFingerprintClientCallback.hal",
"types.hal",
+ "IBiometricsFingerprint.hal",
+ "IBiometricsFingerprintClientCallback.hal",
],
out: [
- "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts.h",
"android/hardware/biometrics/fingerprint/2.1/types.vts.h",
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts.h",
+ "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts.h",
],
}
cc_library_shared {
- name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler",
- generated_sources: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler_genc++"],
- generated_headers: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler_genc++_headers"],
+ name: "android.hardware.biometrics.fingerprint@2.1-vts.profiler",
+ generated_sources: ["android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp b/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp
index 154b7a6..7f0d005 100644
--- a/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp
+++ b/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp
@@ -50,7 +50,7 @@
}
BiometricsFingerprint::~BiometricsFingerprint() {
- ALOGV(LOG_VERBOSE, LOG_TAG, "~BiometricsFingerprint()\n");
+ ALOGV("~BiometricsFingerprint()");
if (mDevice == nullptr) {
ALOGE("No valid device");
return;
diff --git a/bluetooth/1.0/Android.bp b/bluetooth/1.0/Android.bp
index 7928fb6..f2c394b 100644
--- a/bluetooth/1.0/Android.bp
+++ b/bluetooth/1.0/Android.bp
@@ -1,5 +1,14 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.bluetooth@1.0_hal",
+ srcs: [
+ "types.hal",
+ "IBluetoothHci.hal",
+ "IBluetoothHciCallbacks.hal",
+ ],
+}
+
genrule {
name: "android.hardware.bluetooth@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/bluetooth/1.0/default/Android.bp b/bluetooth/1.0/default/Android.bp
index 32e5328..4af079e 100644
--- a/bluetooth/1.0/default/Android.bp
+++ b/bluetooth/1.0/default/Android.bp
@@ -35,9 +35,24 @@
],
}
-cc_test_host {
+cc_test {
name: "bluetooth-vendor-interface-unit-tests",
srcs: [
+ "async_fd_watcher.cc",
+ "test/async_fd_watcher_unittest.cc",
+ ],
+ local_include_dirs: [
+ "test",
+ ],
+ shared_libs: [
+ "libbase",
+ "liblog",
+ ],
+}
+
+cc_test_host {
+ name: "bluetooth-address-unit-tests",
+ srcs: [
"bluetooth_address.cc",
"test/bluetooth_address_test.cc",
"test/properties.cc",
diff --git a/bluetooth/1.0/default/async_fd_watcher.cc b/bluetooth/1.0/default/async_fd_watcher.cc
index 636b4b6..161a74a 100644
--- a/bluetooth/1.0/default/async_fd_watcher.cc
+++ b/bluetooth/1.0/default/async_fd_watcher.cc
@@ -50,6 +50,20 @@
return 0;
}
+int AsyncFdWatcher::ConfigureTimeout(
+ const std::chrono::milliseconds timeout,
+ const TimeoutCallback& on_timeout_callback) {
+ // Add timeout and callback
+ {
+ std::unique_lock<std::mutex> guard(timeout_mutex_);
+ timeout_cb_ = on_timeout_callback;
+ timeout_ms_ = timeout;
+ }
+
+ notifyThread();
+ return 0;
+}
+
void AsyncFdWatcher::StopWatchingFileDescriptor() { stopThread(); }
AsyncFdWatcher::~AsyncFdWatcher() {}
@@ -86,6 +100,11 @@
read_fd_ = -1;
}
+ {
+ std::unique_lock<std::mutex> guard(timeout_mutex_);
+ timeout_cb_ = nullptr;
+ }
+
return 0;
}
@@ -104,21 +123,43 @@
FD_SET(notification_listen_fd_, &read_fds);
FD_SET(read_fd_, &read_fds);
- // Wait until there is data available to read on some FD
- int nfds = std::max(notification_listen_fd_, read_fd_);
- int retval = select(nfds + 1, &read_fds, NULL, NULL, NULL);
- if (retval <= 0) continue; // there was some error or a timeout
+ struct timeval timeout;
+ struct timeval* timeout_ptr = NULL;
+ if (timeout_ms_ > std::chrono::milliseconds(0)) {
+ timeout.tv_sec = timeout_ms_.count() / 1000;
+ timeout.tv_usec = (timeout_ms_.count() % 1000) * 1000;
+ timeout_ptr = &timeout;
+ }
- // Read data from the notification FD
+ // Wait until there is data available to read on some FD.
+ int nfds = std::max(notification_listen_fd_, read_fd_);
+ int retval = select(nfds + 1, &read_fds, NULL, NULL, timeout_ptr);
+
+ // There was some error.
+ if (retval < 0) continue;
+
+ // Timeout.
+ if (retval == 0) {
+ // Allow the timeout callback to modify the timeout.
+ TimeoutCallback saved_cb;
+ {
+ std::unique_lock<std::mutex> guard(timeout_mutex_);
+ if (timeout_ms_ > std::chrono::milliseconds(0))
+ saved_cb = timeout_cb_;
+ }
+ if (saved_cb != nullptr)
+ saved_cb();
+ continue;
+ }
+
+ // Read data from the notification FD.
if (FD_ISSET(notification_listen_fd_, &read_fds)) {
char buffer[] = {0};
TEMP_FAILURE_RETRY(read(notification_listen_fd_, buffer, 1));
+ continue;
}
- // Make sure we're still running
- if (!running_) break;
-
- // Invoke the data ready callback if appropriate
+ // Invoke the data ready callback if appropriate.
if (FD_ISSET(read_fd_, &read_fds)) {
std::unique_lock<std::mutex> guard(internal_mutex_);
if (cb_) cb_(read_fd_);
diff --git a/bluetooth/1.0/default/async_fd_watcher.h b/bluetooth/1.0/default/async_fd_watcher.h
index 1e4da8c..d6e112f 100644
--- a/bluetooth/1.0/default/async_fd_watcher.h
+++ b/bluetooth/1.0/default/async_fd_watcher.h
@@ -26,6 +26,7 @@
namespace implementation {
using ReadCallback = std::function<void(int)>;
+using TimeoutCallback = std::function<void(void)>;
class AsyncFdWatcher {
public:
@@ -34,6 +35,8 @@
int WatchFdForNonBlockingReads(int file_descriptor,
const ReadCallback& on_read_fd_ready_callback);
+ int ConfigureTimeout(const std::chrono::milliseconds timeout,
+ const TimeoutCallback& on_timeout_callback);
void StopWatchingFileDescriptor();
private:
@@ -48,11 +51,14 @@
std::atomic_bool running_{false};
std::thread thread_;
std::mutex internal_mutex_;
+ std::mutex timeout_mutex_;
int read_fd_;
int notification_listen_fd_;
int notification_write_fd_;
ReadCallback cb_;
+ TimeoutCallback timeout_cb_;
+ std::chrono::milliseconds timeout_ms_;
};
diff --git a/bluetooth/1.0/default/bluetooth_address.cc b/bluetooth/1.0/default/bluetooth_address.cc
index b917de9..656d78d 100644
--- a/bluetooth/1.0/default/bluetooth_address.cc
+++ b/bluetooth/1.0/default/bluetooth_address.cc
@@ -83,6 +83,34 @@
valid_bda = true;
}
+ /* Generate new BDA if necessary */
+ if (!valid_bda) {
+ char bdstr[kStringLength + 1];
+
+ /* No autogen BDA. Generate one now. */
+ local_addr[0] = 0x22;
+ local_addr[1] = 0x22;
+ local_addr[2] = (uint8_t)rand();
+ local_addr[3] = (uint8_t)rand();
+ local_addr[4] = (uint8_t)rand();
+ local_addr[5] = (uint8_t)rand();
+
+ /* Convert to ascii, and store as a persistent property */
+ bytes_to_string(local_addr, bdstr);
+
+ ALOGE("%s: No preset BDA! Generating BDA: %s for prop %s", __func__,
+ (char*)bdstr, PERSIST_BDADDR_PROPERTY);
+ ALOGE("%s: This is a bug in the platform! Please fix!", __func__);
+
+ if (property_set(PERSIST_BDADDR_PROPERTY, (char*)bdstr) < 0) {
+ ALOGE("%s: Failed to set random BDA in prop %s", __func__,
+ PERSIST_BDADDR_PROPERTY);
+ valid_bda = false;
+ } else {
+ valid_bda = true;
+ }
+ }
+
return valid_bda;
}
diff --git a/bluetooth/1.0/default/test/async_fd_watcher_unittest.cc b/bluetooth/1.0/default/test/async_fd_watcher_unittest.cc
new file mode 100644
index 0000000..49ea44a
--- /dev/null
+++ b/bluetooth/1.0/default/test/async_fd_watcher_unittest.cc
@@ -0,0 +1,334 @@
+//
+// Copyright 2017 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+#include "async_fd_watcher.h"
+#include <gtest/gtest.h>
+#include <cstdint>
+#include <cstring>
+#include <vector>
+
+#include <netdb.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <utils/Log.h>
+
+namespace android {
+namespace hardware {
+namespace bluetooth {
+namespace V1_0 {
+namespace implementation {
+
+class AsyncFdWatcherSocketTest : public ::testing::Test {
+ public:
+ static const uint16_t kPort = 6111;
+ static const size_t kBufferSize = 16;
+
+ bool CheckBufferEquals() {
+ return strcmp(server_buffer_, client_buffer_) == 0;
+ }
+
+ protected:
+ int StartServer() {
+ ALOGD("%s", __func__);
+ struct sockaddr_in serv_addr;
+ int fd = socket(AF_INET, SOCK_STREAM, 0);
+ EXPECT_FALSE(fd < 0);
+
+ memset(&serv_addr, 0, sizeof(serv_addr));
+ serv_addr.sin_family = AF_INET;
+ serv_addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
+ serv_addr.sin_port = htons(kPort);
+ int reuse_flag = 1;
+ EXPECT_FALSE(setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &reuse_flag,
+ sizeof(reuse_flag)) < 0);
+ EXPECT_FALSE(bind(fd, (sockaddr*)&serv_addr, sizeof(serv_addr)) < 0);
+
+ ALOGD("%s before listen", __func__);
+ listen(fd, 1);
+ return fd;
+ }
+
+ int AcceptConnection(int fd) {
+ ALOGD("%s", __func__);
+ struct sockaddr_in cli_addr;
+ memset(&cli_addr, 0, sizeof(cli_addr));
+ socklen_t clilen = sizeof(cli_addr);
+
+ int connection_fd = accept(fd, (struct sockaddr*)&cli_addr, &clilen);
+ EXPECT_FALSE(connection_fd < 0);
+
+ return connection_fd;
+ }
+
+ void ReadIncomingMessage(int fd) {
+ ALOGD("%s", __func__);
+ int n = TEMP_FAILURE_RETRY(read(fd, server_buffer_, kBufferSize - 1));
+ EXPECT_FALSE(n < 0);
+
+ if (n == 0) { // got EOF
+ ALOGD("%s: EOF", __func__);
+ } else {
+ ALOGD("%s: Got something", __func__);
+ n = write(fd, "1", 1);
+ }
+ }
+
+ void SetUp() override {
+ ALOGD("%s", __func__);
+ memset(server_buffer_, 0, kBufferSize);
+ memset(client_buffer_, 0, kBufferSize);
+ }
+
+ void ConfigureServer() {
+ socket_fd_ = StartServer();
+
+ conn_watcher_.WatchFdForNonBlockingReads(socket_fd_, [this](int fd) {
+ int connection_fd = AcceptConnection(fd);
+ ALOGD("%s: Conn_watcher fd = %d", __func__, fd);
+
+ conn_watcher_.ConfigureTimeout(std::chrono::seconds(0), [this]() {
+ bool connection_timeout_cleared = false;
+ ASSERT_TRUE(connection_timeout_cleared);
+ });
+
+ ALOGD("%s: 3", __func__);
+ async_fd_watcher_.WatchFdForNonBlockingReads(
+ connection_fd, [this](int fd) { ReadIncomingMessage(fd); });
+
+ // Time out if it takes longer than a second.
+ SetTimeout(std::chrono::seconds(1));
+ });
+ conn_watcher_.ConfigureTimeout(std::chrono::seconds(1), [this]() {
+ bool connection_timeout = true;
+ ASSERT_FALSE(connection_timeout);
+ });
+ }
+
+ void CleanUpServer() {
+ async_fd_watcher_.StopWatchingFileDescriptor();
+ conn_watcher_.StopWatchingFileDescriptor();
+ close(socket_fd_);
+ }
+
+ void TearDown() override {
+ ALOGD("%s 3", __func__);
+ EXPECT_TRUE(CheckBufferEquals());
+ }
+
+ void OnTimeout() {
+ ALOGD("%s", __func__);
+ timed_out_ = true;
+ }
+
+ void ClearTimeout() {
+ ALOGD("%s", __func__);
+ timed_out_ = false;
+ }
+
+ bool TimedOut() {
+ ALOGD("%s %d", __func__, timed_out_ ? 1 : 0);
+ return timed_out_;
+ }
+
+ void SetTimeout(std::chrono::milliseconds timeout_ms) {
+ ALOGD("%s", __func__);
+ async_fd_watcher_.ConfigureTimeout(timeout_ms, [this]() { OnTimeout(); });
+ ClearTimeout();
+ }
+
+ int ConnectClient() {
+ ALOGD("%s", __func__);
+ int socket_cli_fd = socket(AF_INET, SOCK_STREAM, 0);
+ EXPECT_FALSE(socket_cli_fd < 0);
+
+ struct sockaddr_in serv_addr;
+ memset((void*)&serv_addr, 0, sizeof(serv_addr));
+ serv_addr.sin_family = AF_INET;
+ serv_addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
+ serv_addr.sin_port = htons(kPort);
+
+ int result =
+ connect(socket_cli_fd, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
+ EXPECT_FALSE(result < 0);
+
+ return socket_cli_fd;
+ }
+
+ void WriteFromClient(int socket_cli_fd) {
+ ALOGD("%s", __func__);
+ strcpy(client_buffer_, "1");
+ int n = write(socket_cli_fd, client_buffer_, strlen(client_buffer_));
+ EXPECT_TRUE(n > 0);
+ }
+
+ void AwaitServerResponse(int socket_cli_fd) {
+ ALOGD("%s", __func__);
+ int n = read(socket_cli_fd, client_buffer_, 1);
+ ALOGD("%s done", __func__);
+ EXPECT_TRUE(n > 0);
+ }
+
+ private:
+ AsyncFdWatcher async_fd_watcher_;
+ AsyncFdWatcher conn_watcher_;
+ int socket_fd_;
+ char server_buffer_[kBufferSize];
+ char client_buffer_[kBufferSize];
+ bool timed_out_;
+};
+
+// Use a single AsyncFdWatcher to signal a connection to the server socket.
+TEST_F(AsyncFdWatcherSocketTest, Connect) {
+ int socket_fd = StartServer();
+
+ AsyncFdWatcher conn_watcher;
+ conn_watcher.WatchFdForNonBlockingReads(socket_fd, [this](int fd) {
+ int connection_fd = AcceptConnection(fd);
+ close(connection_fd);
+ });
+
+ // Fail if the client doesn't connect within 1 second.
+ conn_watcher.ConfigureTimeout(std::chrono::seconds(1), [this]() {
+ bool connection_timeout = true;
+ ASSERT_FALSE(connection_timeout);
+ });
+
+ ConnectClient();
+ conn_watcher.StopWatchingFileDescriptor();
+ close(socket_fd);
+}
+
+// Use a single AsyncFdWatcher to signal a connection to the server socket.
+TEST_F(AsyncFdWatcherSocketTest, TimedOutConnect) {
+ int socket_fd = StartServer();
+ bool timed_out = false;
+ bool* timeout_ptr = &timed_out;
+
+ AsyncFdWatcher conn_watcher;
+ conn_watcher.WatchFdForNonBlockingReads(socket_fd, [this](int fd) {
+ int connection_fd = AcceptConnection(fd);
+ close(connection_fd);
+ });
+
+ // Set the timeout flag after 100ms.
+ conn_watcher.ConfigureTimeout(std::chrono::milliseconds(100),
+ [this, timeout_ptr]() { *timeout_ptr = true; });
+ EXPECT_FALSE(timed_out);
+ sleep(1);
+ EXPECT_TRUE(timed_out);
+ conn_watcher.StopWatchingFileDescriptor();
+ close(socket_fd);
+}
+
+// Modify the timeout in a timeout callback.
+TEST_F(AsyncFdWatcherSocketTest, TimedOutSchedulesTimeout) {
+ int socket_fd = StartServer();
+ bool timed_out = false;
+ bool timed_out2 = false;
+
+ AsyncFdWatcher conn_watcher;
+ conn_watcher.WatchFdForNonBlockingReads(socket_fd, [this](int fd) {
+ int connection_fd = AcceptConnection(fd);
+ close(connection_fd);
+ });
+
+ // Set a timeout flag in each callback.
+ conn_watcher.ConfigureTimeout(
+ std::chrono::milliseconds(500),
+ [this, &conn_watcher, &timed_out, &timed_out2]() {
+ timed_out = true;
+ conn_watcher.ConfigureTimeout(std::chrono::seconds(1),
+ [&timed_out2]() { timed_out2 = true; });
+ });
+ EXPECT_FALSE(timed_out);
+ EXPECT_FALSE(timed_out2);
+ sleep(1);
+ EXPECT_TRUE(timed_out);
+ EXPECT_FALSE(timed_out2);
+ sleep(1);
+ EXPECT_TRUE(timed_out);
+ EXPECT_TRUE(timed_out2);
+ conn_watcher.StopWatchingFileDescriptor();
+ close(socket_fd);
+}
+
+// Use two AsyncFdWatchers to set up a server socket.
+TEST_F(AsyncFdWatcherSocketTest, ClientServer) {
+ ConfigureServer();
+ int socket_cli_fd = ConnectClient();
+
+ WriteFromClient(socket_cli_fd);
+
+ AwaitServerResponse(socket_cli_fd);
+
+ close(socket_cli_fd);
+ CleanUpServer();
+}
+
+// Use two AsyncFdWatchers to set up a server socket, which times out.
+TEST_F(AsyncFdWatcherSocketTest, TimeOutTest) {
+ ConfigureServer();
+ int socket_cli_fd = ConnectClient();
+
+ while (!TimedOut()) sleep(1);
+
+ close(socket_cli_fd);
+ CleanUpServer();
+}
+
+// Use two AsyncFdWatchers to set up a server socket, which times out.
+TEST_F(AsyncFdWatcherSocketTest, RepeatedTimeOutTest) {
+ ConfigureServer();
+ int socket_cli_fd = ConnectClient();
+ ClearTimeout();
+
+ // Time out when there are no writes.
+ EXPECT_FALSE(TimedOut());
+ sleep(2);
+ EXPECT_TRUE(TimedOut());
+ ClearTimeout();
+
+ // Don't time out when there is a write.
+ WriteFromClient(socket_cli_fd);
+ AwaitServerResponse(socket_cli_fd);
+ EXPECT_FALSE(TimedOut());
+ ClearTimeout();
+
+ // Time out when the write is late.
+ sleep(2);
+ WriteFromClient(socket_cli_fd);
+ AwaitServerResponse(socket_cli_fd);
+ EXPECT_TRUE(TimedOut());
+ ClearTimeout();
+
+ // Time out when there is a pause after a write.
+ WriteFromClient(socket_cli_fd);
+ sleep(2);
+ AwaitServerResponse(socket_cli_fd);
+ EXPECT_TRUE(TimedOut());
+ ClearTimeout();
+
+ close(socket_cli_fd);
+ CleanUpServer();
+}
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace bluetooth
+} // namespace hardware
+} // namespace android
diff --git a/bluetooth/1.0/default/test/bluetooth_address_test.cc b/bluetooth/1.0/default/test/bluetooth_address_test.cc
index 9f80ec2..adcd9c1 100644
--- a/bluetooth/1.0/default/test/bluetooth_address_test.cc
+++ b/bluetooth/1.0/default/test/bluetooth_address_test.cc
@@ -219,10 +219,18 @@
EXPECT_TRUE(BluetoothAddress::get_local_address(address));
EXPECT_TRUE(memcmp(address, kTestAddr1_bytes, BluetoothAddress::kBytes) == 0);
- // File contains a zero address.
+ // File contains a zero address. A random address will be generated.
FileWriteString(kAddrPath, kZeros);
EXPECT_TRUE(property_set(PROPERTY_BT_BDADDR_PATH, kAddrPath) == 0);
- EXPECT_FALSE(BluetoothAddress::get_local_address(address));
+ EXPECT_TRUE(property_set(PERSIST_BDADDR_PROPERTY, kTestAddrBad1) == 0);
+ EXPECT_TRUE(BluetoothAddress::get_local_address(address));
+ EXPECT_TRUE(memcmp(address, kZeros_bytes, BluetoothAddress::kBytes) != 0);
+ char prop[PROP_VALUE_MAX] = "Before reading";
+ EXPECT_TRUE(property_get(PERSIST_BDADDR_PROPERTY, prop, NULL) ==
+ BluetoothAddress::kStringLength);
+ char address_str[BluetoothAddress::kStringLength + 1];
+ BluetoothAddress::bytes_to_string(address, address_str);
+ EXPECT_TRUE(memcmp(address_str, prop, BluetoothAddress::kStringLength) == 0);
// Factory property contains an address.
EXPECT_TRUE(property_set(PERSIST_BDADDR_PROPERTY, kTestAddrBad1) == 0);
diff --git a/bluetooth/1.0/default/vendor_interface.cc b/bluetooth/1.0/default/vendor_interface.cc
index 51a0add..7f14e68 100644
--- a/bluetooth/1.0/default/vendor_interface.cc
+++ b/bluetooth/1.0/default/vendor_interface.cc
@@ -39,8 +39,15 @@
using android::hardware::bluetooth::V1_0::implementation::VendorInterface;
using android::hardware::hidl_vec;
-tINT_CMD_CBACK internal_command_cb;
-uint16_t internal_command_opcode;
+struct {
+ tINT_CMD_CBACK cb;
+ uint16_t opcode;
+} internal_command;
+
+// True when LPM is not enabled yet or wake is not asserted.
+bool lpm_wake_deasserted;
+uint32_t lpm_timeout_ms;
+bool recent_activity_flag;
VendorInterface* g_vendor_interface = nullptr;
@@ -105,19 +112,20 @@
uint16_t opcode = packet[opcode_offset] | (packet[opcode_offset + 1] << 8);
- ALOGV("%s internal_command_opcode = %04X opcode = %04x", __func__,
- internal_command_opcode, opcode);
- return opcode == internal_command_opcode;
+ ALOGV("%s internal_command.opcode = %04X opcode = %04x", __func__,
+ internal_command.opcode, opcode);
+ return opcode == internal_command.opcode;
}
uint8_t transmit_cb(uint16_t opcode, void* buffer, tINT_CMD_CBACK callback) {
ALOGV("%s opcode: 0x%04x, ptr: %p, cb: %p", __func__, opcode, buffer,
callback);
- internal_command_cb = callback;
- internal_command_opcode = opcode;
+ internal_command.cb = callback;
+ internal_command.opcode = opcode;
uint8_t type = HCI_PACKET_TYPE_COMMAND;
HC_BT_HDR* bt_hdr = reinterpret_cast<HC_BT_HDR*>(buffer);
VendorInterface::get()->Send(type, bt_hdr->data, bt_hdr->len);
+ delete[] reinterpret_cast<uint8_t*>(buffer);
return true;
}
@@ -268,6 +276,9 @@
fd_watcher_.WatchFdForNonBlockingReads(uart_fd_,
[this](int fd) { OnDataReady(fd); });
+ // Initially, the power management is off.
+ lpm_wake_deasserted = true;
+
// Start configuring the firmware
firmware_startup_timer_ = new FirmwareStartupTimer();
lib_interface_->op(BT_VND_OP_FW_CFG, nullptr);
@@ -279,6 +290,9 @@
fd_watcher_.StopWatchingFileDescriptor();
if (lib_interface_ != nullptr) {
+ bt_vendor_lpm_mode_t mode = BT_VND_LPM_DISABLE;
+ lib_interface_->op(BT_VND_OP_LPM_SET_MODE, &mode);
+
lib_interface_->op(BT_VND_OP_USERIAL_CLOSE, nullptr);
uart_fd_ = INVALID_FD;
int power_state = BT_VND_PWR_OFF;
@@ -299,6 +313,19 @@
size_t VendorInterface::Send(uint8_t type, const uint8_t* data, size_t length) {
if (uart_fd_ == INVALID_FD) return 0;
+ recent_activity_flag = true;
+
+ if (lpm_wake_deasserted == true) {
+ // Restart the timer.
+ fd_watcher_.ConfigureTimeout(std::chrono::milliseconds(lpm_timeout_ms),
+ [this]() { OnTimeout(); });
+ // Assert wake.
+ lpm_wake_deasserted = false;
+ bt_vendor_lpm_wake_state_t wakeState = BT_VND_LPM_WAKE_ASSERT;
+ lib_interface_->op(BT_VND_OP_LPM_WAKE_SET_STATE, &wakeState);
+ ALOGV("%s: Sent wake before (%02x)", __func__, data[0] | (data[1] << 8));
+ }
+
int rv = write_safely(uart_fd_, &type, sizeof(type));
if (rv == sizeof(type))
rv = write_safely(uart_fd_, data, length);
@@ -318,6 +345,29 @@
initialize_complete_cb_(result == 0);
initialize_complete_cb_ = nullptr;
}
+
+ lib_interface_->op(BT_VND_OP_GET_LPM_IDLE_TIMEOUT, &lpm_timeout_ms);
+ ALOGI("%s: lpm_timeout_ms %d", __func__, lpm_timeout_ms);
+
+ bt_vendor_lpm_mode_t mode = BT_VND_LPM_ENABLE;
+ lib_interface_->op(BT_VND_OP_LPM_SET_MODE, &mode);
+
+ ALOGD("%s Calling StartLowPowerWatchdog()", __func__);
+ fd_watcher_.ConfigureTimeout(std::chrono::milliseconds(lpm_timeout_ms),
+ [this]() { OnTimeout(); });
+}
+
+void VendorInterface::OnTimeout() {
+ ALOGV("%s", __func__);
+ if (recent_activity_flag == false) {
+ lpm_wake_deasserted = true;
+ bt_vendor_lpm_wake_state_t wakeState = BT_VND_LPM_WAKE_DEASSERT;
+ lib_interface_->op(BT_VND_OP_LPM_WAKE_SET_STATE, &wakeState);
+ fd_watcher_.ConfigureTimeout(std::chrono::seconds(0), []() {
+ ALOGE("Zero timeout! Should never happen.");
+ });
+ }
+ recent_activity_flag = false;
}
void VendorInterface::OnDataReady(int fd) {
@@ -367,15 +417,15 @@
hci_packet_bytes_remaining_ -= bytes_read;
hci_packet_bytes_read_ += bytes_read;
if (hci_packet_bytes_remaining_ == 0) {
- if (internal_command_cb != nullptr &&
+ if (internal_command.cb != nullptr &&
hci_packet_type_ == HCI_PACKET_TYPE_EVENT &&
internal_command_event_match(hci_packet_)) {
HC_BT_HDR* bt_hdr =
WrapPacketAndCopy(HCI_PACKET_TYPE_EVENT, hci_packet_);
// The callbacks can send new commands, so don't zero after calling.
- tINT_CMD_CBACK saved_cb = internal_command_cb;
- internal_command_cb = nullptr;
+ tINT_CMD_CBACK saved_cb = internal_command.cb;
+ internal_command.cb = nullptr;
saved_cb(bt_hdr);
} else {
packet_read_cb_(hci_packet_type_, hci_packet_);
diff --git a/bluetooth/1.0/default/vendor_interface.h b/bluetooth/1.0/default/vendor_interface.h
index 79611cd..ce5769c 100644
--- a/bluetooth/1.0/default/vendor_interface.h
+++ b/bluetooth/1.0/default/vendor_interface.h
@@ -53,6 +53,8 @@
PacketReadCallback packet_read_cb);
void Close();
+ void OnTimeout();
+
void OnDataReady(int fd);
void *lib_handle_;
diff --git a/bluetooth/1.0/vts/Android.mk b/bluetooth/1.0/vts/Android.mk
deleted file mode 100644
index 85e0c38..0000000
--- a/bluetooth/1.0/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(LOCAL_PATH)/functional/vts/testcases/hal/bluetooth/hidl/Android.mk
diff --git a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/Android.mk b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/Android.mk b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/Android.mk
deleted file mode 100644
index 98bb686..0000000
--- a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalBluetoothHidlTargetBasicTest
-VTS_CONFIG_SRC_DIR := testcases/hal/bluetooth/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/AndroidTest.xml b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/AndroidTest.xml
deleted file mode 100644
index 54fb89b..0000000
--- a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Bluetooth HIDL HAL's basic target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalBluetoothHidlTargetBasicTest" />
- <option name="binary-test-sources" value="
- _64bit::DATA/nativetest64/bluetooth_hidl_hal_test/bluetooth_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
diff --git a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/Android.mk b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/Android.mk
deleted file mode 100644
index 81a2db9..0000000
--- a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-## Copyright (C) 2016 The Android Open Source Project
-#
-## Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# # You may obtain a copy of the License at
-# #
-# # http://www.apache.org/licenses/LICENSE-2.0
-# #
-# # Unless required by applicable law or agreed to in writing, software
-# # distributed under the License is distributed on an "AS IS" BASIS,
-# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# # See the License for the specific language governing permissions and
-# # limitations under the License.
-# #
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := BluetoothHidlTargetProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/bluetooth/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/AndroidTest.xml b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index 8052b3c..0000000
--- a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Bluetooth HIDL HAL's target-side profiling test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="BluetoothHidlTargetProfilingTest" />
- <option name="binary-test-sources" value="
- _64bit::DATA/nativetest64/bluetooth_hidl_hal_test/bluetooth_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
diff --git a/boot/1.0/Android.bp b/boot/1.0/Android.bp
index 8e62c89..9dcabc4 100644
--- a/boot/1.0/Android.bp
+++ b/boot/1.0/Android.bp
@@ -1,5 +1,13 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.boot@1.0_hal",
+ srcs: [
+ "types.hal",
+ "IBootControl.hal",
+ ],
+}
+
genrule {
name: "android.hardware.boot@1.0_genc++",
tools: ["hidl-gen"],
@@ -54,106 +62,3 @@
"android.hidl.base@1.0",
],
}
-
-genrule {
- name: "android.hardware.boot.vts.driver@1.0_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.boot@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/boot/1.0/ $(genDir)/android/hardware/boot/1.0/",
- srcs: [
- "types.hal",
- "IBootControl.hal",
- ],
- out: [
- "android/hardware/boot/1.0/types.vts.cpp",
- "android/hardware/boot/1.0/BootControl.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.boot.vts.driver@1.0_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.boot@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/boot/1.0/ $(genDir)/android/hardware/boot/1.0/",
- srcs: [
- "types.hal",
- "IBootControl.hal",
- ],
- out: [
- "android/hardware/boot/1.0/types.vts.h",
- "android/hardware/boot/1.0/BootControl.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.boot.vts.driver@1.0",
- generated_sources: ["android.hardware.boot.vts.driver@1.0_genc++"],
- generated_headers: ["android.hardware.boot.vts.driver@1.0_genc++_headers"],
- export_generated_headers: ["android.hardware.boot.vts.driver@1.0_genc++_headers"],
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "libvts_common",
- "libvts_datatype",
- "libvts_measurement",
- "libvts_multidevice_proto",
- "libcamera_metadata",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.boot@1.0",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "android.hidl.base@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.boot@1.0-IBootControl-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.boot@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/boot/1.0/ $(genDir)/android/hardware/boot/1.0/",
- srcs: [
- "IBootControl.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/boot/1.0/BootControl.vts.cpp",
- "android/hardware/boot/1.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.boot@1.0-IBootControl-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.boot@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/boot/1.0/ $(genDir)/android/hardware/boot/1.0/",
- srcs: [
- "IBootControl.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/boot/1.0/BootControl.vts.h",
- "android/hardware/boot/1.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.boot@1.0-IBootControl-vts.profiler",
- generated_sources: ["android.hardware.boot@1.0-IBootControl-vts.profiler_genc++"],
- generated_headers: ["android.hardware.boot@1.0-IBootControl-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.boot@1.0-IBootControl-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.boot@1.0",
- ],
-}
diff --git a/boot/1.0/vts/functional/vts/Android.mk b/boot/1.0/vts/functional/vts/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/boot/1.0/vts/functional/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/boot/1.0/vts/functional/vts/testcases/Android.mk b/boot/1.0/vts/functional/vts/testcases/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/boot/1.0/vts/functional/vts/testcases/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/boot/1.0/vts/functional/vts/testcases/hal/Android.mk b/boot/1.0/vts/functional/vts/testcases/hal/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/boot/1.0/vts/functional/vts/testcases/hal/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/boot/1.0/vts/functional/vts/testcases/hal/boot/Android.mk b/boot/1.0/vts/functional/vts/testcases/hal/boot/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/boot/1.0/vts/functional/vts/testcases/hal/boot/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/Android.mk b/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target/Android.mk b/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target/Android.mk
deleted file mode 100644
index 844b93b..0000000
--- a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalBootHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/boot/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target/AndroidTest.xml b/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target/AndroidTest.xml
deleted file mode 100644
index bc759bf..0000000
--- a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Boot HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalBootHidlTargetTest"/>
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/boot_hidl_hal_test/boot_hidl_hal_test,
- _64bit::DATA/nativetest64/boot_hidl_hal_test/boot_hidl_hal_test,
- "/>
- <option name="test-config-path" value="vts/testcases/hal/boot/hidl/target/HalBootHidlTargetTest.config" />
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
diff --git a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target/HalBootHidlTargetTest.config b/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target/HalBootHidlTargetTest.config
deleted file mode 100644
index ebb4d1b..0000000
--- a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target/HalBootHidlTargetTest.config
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "use_gae_db": true,
- "coverage": true,
- "modules": [
- {
- "module_name": "system/lib64/hw/bootctrl.msm8996",
- "git_project": {
- "name": "platform/hardware/qcom/bootctrl",
- "path": "hardware/qcom/bootctrl"
- }
- },
- {
- "module_name": "system/lib64/hw/android.hardware.boot@1.0-impl",
- "git_project": {
- "name": "platform/hardware/interfaces",
- "path": "hardware/interfaces"
- }
- }
- ]
-}
diff --git a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target_profiling/Android.mk b/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target_profiling/Android.mk
deleted file mode 100644
index f7414df..0000000
--- a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalBootHidlTargetProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/boot/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target_profiling/AndroidTest.xml b/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index dbc6300..0000000
--- a/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Boot HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalBootHidlTargetProfilingTest"/>
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/boot_hidl_hal_test/boot_hidl_hal_test,
- _64bit::DATA/nativetest64/boot_hidl_hal_test/boot_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="5m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
diff --git a/broadcastradio/1.0/Android.bp b/broadcastradio/1.0/Android.bp
index cf44add..51cfbe9 100644
--- a/broadcastradio/1.0/Android.bp
+++ b/broadcastradio/1.0/Android.bp
@@ -78,3 +78,130 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.broadcastradio.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.broadcastradio@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+ srcs: [
+ "types.hal",
+ "IBroadcastRadio.hal",
+ "IBroadcastRadioFactory.hal",
+ "ITuner.hal",
+ "ITunerCallback.hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.0/types.vts.cpp",
+ "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.cpp",
+ "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.cpp",
+ "android/hardware/broadcastradio/1.0/Tuner.vts.cpp",
+ "android/hardware/broadcastradio/1.0/TunerCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.broadcastradio.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.broadcastradio@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+ srcs: [
+ "types.hal",
+ "IBroadcastRadio.hal",
+ "IBroadcastRadioFactory.hal",
+ "ITuner.hal",
+ "ITunerCallback.hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.0/types.vts.h",
+ "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.h",
+ "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.h",
+ "android/hardware/broadcastradio/1.0/Tuner.vts.h",
+ "android/hardware/broadcastradio/1.0/TunerCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.broadcastradio.vts.driver@1.0",
+ generated_sources: ["android.hardware.broadcastradio.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.broadcastradio.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.broadcastradio.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.broadcastradio@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.broadcastradio@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.broadcastradio@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+ srcs: [
+ "types.hal",
+ "IBroadcastRadio.hal",
+ "IBroadcastRadioFactory.hal",
+ "ITuner.hal",
+ "ITunerCallback.hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.0/types.vts.cpp",
+ "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.cpp",
+ "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.cpp",
+ "android/hardware/broadcastradio/1.0/Tuner.vts.cpp",
+ "android/hardware/broadcastradio/1.0/TunerCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.broadcastradio@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.broadcastradio@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+ srcs: [
+ "types.hal",
+ "IBroadcastRadio.hal",
+ "IBroadcastRadioFactory.hal",
+ "ITuner.hal",
+ "ITunerCallback.hal",
+ ],
+ out: [
+ "android/hardware/broadcastradio/1.0/types.vts.h",
+ "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.h",
+ "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.h",
+ "android/hardware/broadcastradio/1.0/Tuner.vts.h",
+ "android/hardware/broadcastradio/1.0/TunerCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.broadcastradio@1.0-vts.profiler",
+ generated_sources: ["android.hardware.broadcastradio@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.broadcastradio@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.broadcastradio@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.broadcastradio@1.0",
+ ],
+}
diff --git a/broadcastradio/1.0/vts/functional/Android.mk b/broadcastradio/1.0/vts/functional/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/broadcastradio/1.0/vts/functional/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/broadcastradio/1.0/vts/functional/vts/Android.mk b/broadcastradio/1.0/vts/functional/vts/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/broadcastradio/1.0/vts/functional/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/broadcastradio/1.0/vts/functional/vts/testcases/Android.mk b/broadcastradio/1.0/vts/functional/vts/testcases/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/broadcastradio/1.0/vts/functional/vts/testcases/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/broadcastradio/1.0/vts/functional/vts/testcases/hal/Android.mk b/broadcastradio/1.0/vts/functional/vts/testcases/hal/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/broadcastradio/1.0/vts/functional/vts/testcases/hal/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/Android.mk b/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/hidl/Android.mk b/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/hidl/target/Android.mk b/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/hidl/target/Android.mk
deleted file mode 100644
index 153dcd6..0000000
--- a/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalBroadcastRadioHidlTargetBasicTest
-VTS_CONFIG_SRC_DIR := testcases/hal/broadcastradio/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/hidl/target/AndroidTest.xml b/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/hidl/target/AndroidTest.xml
deleted file mode 100644
index 4c03855..0000000
--- a/broadcastradio/1.0/vts/functional/vts/testcases/hal/broadcastradio/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS broadcast radio HIDL HAL's basic target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalBroadcastRadioHidlTargetBasicTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/broadcastradio_hidl_hal_test/broadcastradio_hidl_hal_test,
- _64bit::DATA/nativetest64/broadcastradio_hidl_hal_test/broadcastradio_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="5m" />
- </test>
-</configuration>
diff --git a/camera/common/1.0/Android.bp b/camera/common/1.0/Android.bp
index 49098c4..7ab4ea9 100644
--- a/camera/common/1.0/Android.bp
+++ b/camera/common/1.0/Android.bp
@@ -44,3 +44,95 @@
"libutils",
],
}
+
+genrule {
+ name: "android.hardware.camera.common.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.common@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/camera/common/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.common.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.common@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/camera/common/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.common.vts.driver@1.0",
+ generated_sources: ["android.hardware.camera.common.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.camera.common.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.common.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.common@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.common@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.common@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/camera/common/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.common@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.common@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/camera/common/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.common@1.0-vts.profiler",
+ generated_sources: ["android.hardware.camera.common@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.camera.common@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.common@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.common@1.0",
+ ],
+}
diff --git a/camera/common/1.0/default/CameraModule.cpp b/camera/common/1.0/default/CameraModule.cpp
index 5d9ae4d..3a4bc9c 100644
--- a/camera/common/1.0/default/CameraModule.cpp
+++ b/camera/common/1.0/default/CameraModule.cpp
@@ -369,9 +369,11 @@
}
int CameraModule::setCallbacks(const camera_module_callbacks_t *callbacks) {
- int res;
+ int res = OK;
ATRACE_BEGIN("camera_module->set_callbacks");
- res = mModule->set_callbacks(callbacks);
+ if (getModuleApiVersion() >= CAMERA_MODULE_API_VERSION_2_1) {
+ res = mModule->set_callbacks(callbacks);
+ }
ATRACE_END();
return res;
}
diff --git a/camera/device/1.0/Android.bp b/camera/device/1.0/Android.bp
index 9a6941a..16b3de4 100644
--- a/camera/device/1.0/Android.bp
+++ b/camera/device/1.0/Android.bp
@@ -76,3 +76,131 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.camera.device.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+ srcs: [
+ "types.hal",
+ "ICameraDevice.hal",
+ "ICameraDeviceCallback.hal",
+ "ICameraDevicePreviewCallback.hal",
+ ],
+ out: [
+ "android/hardware/camera/device/1.0/types.vts.cpp",
+ "android/hardware/camera/device/1.0/CameraDevice.vts.cpp",
+ "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.cpp",
+ "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.device.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+ srcs: [
+ "types.hal",
+ "ICameraDevice.hal",
+ "ICameraDeviceCallback.hal",
+ "ICameraDevicePreviewCallback.hal",
+ ],
+ out: [
+ "android/hardware/camera/device/1.0/types.vts.h",
+ "android/hardware/camera/device/1.0/CameraDevice.vts.h",
+ "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.h",
+ "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.device.vts.driver@1.0",
+ generated_sources: ["android.hardware.camera.device.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.camera.device.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.device.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ "android.hardware.camera.device@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.device@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+ srcs: [
+ "types.hal",
+ "ICameraDevice.hal",
+ "ICameraDeviceCallback.hal",
+ "ICameraDevicePreviewCallback.hal",
+ ],
+ out: [
+ "android/hardware/camera/device/1.0/types.vts.cpp",
+ "android/hardware/camera/device/1.0/CameraDevice.vts.cpp",
+ "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.cpp",
+ "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.device@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+ srcs: [
+ "types.hal",
+ "ICameraDevice.hal",
+ "ICameraDeviceCallback.hal",
+ "ICameraDevicePreviewCallback.hal",
+ ],
+ out: [
+ "android/hardware/camera/device/1.0/types.vts.h",
+ "android/hardware/camera/device/1.0/CameraDevice.vts.h",
+ "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.h",
+ "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.device@1.0-vts.profiler",
+ generated_sources: ["android.hardware.camera.device@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.camera.device@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.device@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ "android.hardware.camera.device@1.0",
+ ],
+}
diff --git a/camera/device/3.2/Android.bp b/camera/device/3.2/Android.bp
index 8b72d5b..7c740ae 100644
--- a/camera/device/3.2/Android.bp
+++ b/camera/device/3.2/Android.bp
@@ -76,3 +76,131 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.camera.device.vts.driver@3.2_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@3.2 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+ srcs: [
+ "types.hal",
+ "ICameraDevice.hal",
+ "ICameraDeviceCallback.hal",
+ "ICameraDeviceSession.hal",
+ ],
+ out: [
+ "android/hardware/camera/device/3.2/types.vts.cpp",
+ "android/hardware/camera/device/3.2/CameraDevice.vts.cpp",
+ "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.cpp",
+ "android/hardware/camera/device/3.2/CameraDeviceSession.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.device.vts.driver@3.2_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@3.2 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+ srcs: [
+ "types.hal",
+ "ICameraDevice.hal",
+ "ICameraDeviceCallback.hal",
+ "ICameraDeviceSession.hal",
+ ],
+ out: [
+ "android/hardware/camera/device/3.2/types.vts.h",
+ "android/hardware/camera/device/3.2/CameraDevice.vts.h",
+ "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.h",
+ "android/hardware/camera/device/3.2/CameraDeviceSession.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.device.vts.driver@3.2",
+ generated_sources: ["android.hardware.camera.device.vts.driver@3.2_genc++"],
+ generated_headers: ["android.hardware.camera.device.vts.driver@3.2_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.device.vts.driver@3.2_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ "android.hardware.camera.device@3.2",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.device@3.2-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@3.2 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+ srcs: [
+ "types.hal",
+ "ICameraDevice.hal",
+ "ICameraDeviceCallback.hal",
+ "ICameraDeviceSession.hal",
+ ],
+ out: [
+ "android/hardware/camera/device/3.2/types.vts.cpp",
+ "android/hardware/camera/device/3.2/CameraDevice.vts.cpp",
+ "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.cpp",
+ "android/hardware/camera/device/3.2/CameraDeviceSession.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.device@3.2-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@3.2 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+ srcs: [
+ "types.hal",
+ "ICameraDevice.hal",
+ "ICameraDeviceCallback.hal",
+ "ICameraDeviceSession.hal",
+ ],
+ out: [
+ "android/hardware/camera/device/3.2/types.vts.h",
+ "android/hardware/camera/device/3.2/CameraDevice.vts.h",
+ "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.h",
+ "android/hardware/camera/device/3.2/CameraDeviceSession.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.device@3.2-vts.profiler",
+ generated_sources: ["android.hardware.camera.device@3.2-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.camera.device@3.2-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.device@3.2-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ "android.hardware.camera.device@3.2",
+ ],
+}
diff --git a/camera/device/3.2/default/Android.bp b/camera/device/3.2/default/Android.bp
index 40d4253..62e3c3e 100644
--- a/camera/device/3.2/default/Android.bp
+++ b/camera/device/3.2/default/Android.bp
@@ -1,5 +1,5 @@
cc_library_shared {
- name: "android.hardware.camera.device@3.2-impl",
+ name: "camera.device@3.2-impl",
srcs: ["CameraDevice.cpp",
"CameraDeviceSession.cpp",
"convert.cpp"],
@@ -20,27 +20,3 @@
],
export_include_dirs: ["."]
}
-
-cc_library_shared {
- name: "android.hardware.camera.device@3.2-impl-binderized",
- srcs: ["CameraDevice.cpp",
- "CameraDeviceSession.cpp",
- "convert.cpp"],
- cppflags: ["-DBINDERIZED"],
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "libcutils",
- "android.hardware.camera.device@3.2",
- "android.hardware.camera.provider@2.4",
- "liblog",
- "libhardware",
- "libcamera_metadata"
- ],
- static_libs: [
- "android.hardware.camera.common@1.0-helper"
- ],
- export_include_dirs: ["."]
-}
diff --git a/camera/device/3.2/default/CameraDeviceSession.cpp b/camera/device/3.2/default/CameraDeviceSession.cpp
index 26b7b73..b47a220 100644
--- a/camera/device/3.2/default/CameraDeviceSession.cpp
+++ b/camera/device/3.2/default/CameraDeviceSession.cpp
@@ -118,9 +118,6 @@
private:
bool mInitialized;
- // Some existing gralloc drivers do not support retaining more than once,
- // when we are in passthrough mode.
-#ifdef BINDERIZED
bool openGralloc()
{
const hw_module_t* module;
@@ -209,12 +206,6 @@
// gralloc0
const gralloc_module_t* mModule;
-#else
- bool openGralloc() { return true; }
- void closeGralloc() {}
- buffer_handle_t cloneBuffer(buffer_handle_t handle) { return handle; }
- void releaseBuffer(buffer_handle_t) {}
-#endif
};
HandleImporter sHandleImporter;
diff --git a/camera/metadata/3.2/Android.bp b/camera/metadata/3.2/Android.bp
index 2625026..448c655 100644
--- a/camera/metadata/3.2/Android.bp
+++ b/camera/metadata/3.2/Android.bp
@@ -44,3 +44,95 @@
"libutils",
],
}
+
+genrule {
+ name: "android.hardware.camera.metadata.vts.driver@3.2_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.metadata@3.2 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/camera/metadata/3.2/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.metadata.vts.driver@3.2_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.metadata@3.2 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/camera/metadata/3.2/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.metadata.vts.driver@3.2",
+ generated_sources: ["android.hardware.camera.metadata.vts.driver@3.2_genc++"],
+ generated_headers: ["android.hardware.camera.metadata.vts.driver@3.2_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.metadata.vts.driver@3.2_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.metadata@3.2",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.metadata@3.2-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.metadata@3.2 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/camera/metadata/3.2/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.metadata@3.2-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.metadata@3.2 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/camera/metadata/3.2/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.metadata@3.2-vts.profiler",
+ generated_sources: ["android.hardware.camera.metadata@3.2-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.camera.metadata@3.2-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.metadata@3.2-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.metadata@3.2",
+ ],
+}
diff --git a/camera/metadata/3.2/Android.mk b/camera/metadata/3.2/Android.mk
index 083fb6b..6604ccd 100644
--- a/camera/metadata/3.2/Android.mk
+++ b/camera/metadata/3.2/Android.mk
@@ -355,6 +355,25 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
+# Build types.hal (CameraMetadataEnumAndroidControlEnableZsl)
+#
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlEnableZsl.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.camera.metadata@3.2::types.CameraMetadataEnumAndroidControlEnableZsl
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
# Build types.hal (CameraMetadataEnumAndroidControlMode)
#
GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlMode.java
@@ -1564,6 +1583,25 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
+# Build types.hal (CameraMetadataEnumAndroidControlEnableZsl)
+#
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlEnableZsl.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.camera.metadata@3.2::types.CameraMetadataEnumAndroidControlEnableZsl
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
# Build types.hal (CameraMetadataEnumAndroidControlMode)
#
GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlMode.java
diff --git a/camera/metadata/3.2/types.hal b/camera/metadata/3.2/types.hal
index ae70550..2b4b287 100644
--- a/camera/metadata/3.2/types.hal
+++ b/camera/metadata/3.2/types.hal
@@ -251,6 +251,8 @@
ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST,
+ ANDROID_CONTROL_ENABLE_ZSL,
+
ANDROID_CONTROL_END,
ANDROID_DEMOSAIC_MODE = CameraMetadataSectionStart:ANDROID_DEMOSAIC_START,
@@ -923,6 +925,13 @@
};
+enum CameraMetadataEnumAndroidControlEnableZsl : uint32_t {
+ ANDROID_CONTROL_ENABLE_ZSL_FALSE,
+
+ ANDROID_CONTROL_ENABLE_ZSL_TRUE,
+
+};
+
enum CameraMetadataEnumAndroidDemosaicMode : uint32_t {
ANDROID_DEMOSAIC_MODE_FAST,
diff --git a/camera/provider/2.4/Android.bp b/camera/provider/2.4/Android.bp
index f5f10de..3705086 100644
--- a/camera/provider/2.4/Android.bp
+++ b/camera/provider/2.4/Android.bp
@@ -64,3 +64,115 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.camera.provider.vts.driver@2.4_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.provider@2.4 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+ srcs: [
+ "ICameraProvider.hal",
+ "ICameraProviderCallback.hal",
+ ],
+ out: [
+ "android/hardware/camera/provider/2.4/CameraProvider.vts.cpp",
+ "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.provider.vts.driver@2.4_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.provider@2.4 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+ srcs: [
+ "ICameraProvider.hal",
+ "ICameraProviderCallback.hal",
+ ],
+ out: [
+ "android/hardware/camera/provider/2.4/CameraProvider.vts.h",
+ "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.provider.vts.driver@2.4",
+ generated_sources: ["android.hardware.camera.provider.vts.driver@2.4_genc++"],
+ generated_headers: ["android.hardware.camera.provider.vts.driver@2.4_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.provider.vts.driver@2.4_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.device@1.0",
+ "android.hardware.camera.device@3.2",
+ "android.hidl.base@1.0",
+ "android.hardware.camera.provider@2.4",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.device@1.0",
+ "android.hardware.camera.device@3.2",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.provider@2.4-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.provider@2.4 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+ srcs: [
+ "ICameraProvider.hal",
+ "ICameraProviderCallback.hal",
+ ],
+ out: [
+ "android/hardware/camera/provider/2.4/CameraProvider.vts.cpp",
+ "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.camera.provider@2.4-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.provider@2.4 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+ srcs: [
+ "ICameraProvider.hal",
+ "ICameraProviderCallback.hal",
+ ],
+ out: [
+ "android/hardware/camera/provider/2.4/CameraProvider.vts.h",
+ "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.camera.provider@2.4-vts.profiler",
+ generated_sources: ["android.hardware.camera.provider@2.4-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.camera.provider@2.4-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.camera.provider@2.4-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.camera.common@1.0",
+ "android.hardware.camera.device@1.0",
+ "android.hardware.camera.device@3.2",
+ "android.hidl.base@1.0",
+ "android.hardware.camera.provider@2.4",
+ ],
+}
diff --git a/camera/provider/2.4/default/Android.bp b/camera/provider/2.4/default/Android.bp
index ee40ce5..e29f62c 100644
--- a/camera/provider/2.4/default/Android.bp
+++ b/camera/provider/2.4/default/Android.bp
@@ -10,7 +10,7 @@
"libcutils",
"android.hardware.camera.device@1.0",
"android.hardware.camera.device@3.2",
- "android.hardware.camera.device@3.2-impl",
+ "camera.device@3.2-impl",
"android.hardware.camera.provider@2.4",
"android.hardware.camera.common@1.0",
"liblog",
@@ -25,7 +25,7 @@
cc_binary {
name: "android.hardware.camera.provider@2.4-service",
relative_install_path: "hw",
- srcs: ["service.cpp", "CameraProvider.cpp"],
+ srcs: ["service.cpp"],
compile_multilib: "32",
init_rc: ["android.hardware.camera.provider@2.4-service.rc"],
shared_libs: [
@@ -40,7 +40,6 @@
"android.hardware.camera.provider@2.4",
"android.hardware.camera.common@1.0",
"libcutils",
- "android.hardware.camera.device@3.2-impl-binderized",
"libcamera_metadata"
],
static_libs: [
diff --git a/camera/provider/2.4/default/CameraProvider.cpp b/camera/provider/2.4/default/CameraProvider.cpp
index 1a34aa6..f1a66a8 100644
--- a/camera/provider/2.4/default/CameraProvider.cpp
+++ b/camera/provider/2.4/default/CameraProvider.cpp
@@ -184,13 +184,20 @@
mModule = new CameraModule(rawModule);
err = mModule->init();
if (err != OK) {
- ALOGE("Could not initialize camera HAL module: %d (%s)", err,
- strerror(-err));
+ ALOGE("Could not initialize camera HAL module: %d (%s)", err, strerror(-err));
mModule.clear();
return true;
}
ALOGI("Loaded \"%s\" camera module", mModule->getModuleName());
+ // Setup callback now because we are going to try openLegacy next
+ err = mModule->setCallbacks(this);
+ if (err != OK) {
+ ALOGE("Could not set camera module callback: %d (%s)", err, strerror(-err));
+ mModule.clear();
+ return true;
+ }
+
mNumberOfLegacyCameras = mModule->getNumberOfCameras();
for (int i = 0; i < mNumberOfLegacyCameras; i++) {
char cameraId[kMaxCameraIdLen];
@@ -289,11 +296,9 @@
// Methods from ::android::hardware::camera::provider::V2_4::ICameraProvider follow.
Return<Status> CameraProvider::setCallback(const sp<ICameraProviderCallback>& callback) {
- {
- Mutex::Autolock _l(mCbLock);
- mCallbacks = callback;
- } // release lock here because HAL might send callbacks in setCallbacks call
- return getHidlStatus(mModule->setCallbacks(this));
+ Mutex::Autolock _l(mCbLock);
+ mCallbacks = callback;
+ return Status::OK;
}
Return<void> CameraProvider::getVendorTags(getVendorTags_cb _hidl_cb) {
@@ -320,8 +325,9 @@
}
Return<void> CameraProvider::getCameraDeviceInterface_V1_x(
- const hidl_string& /*cameraDeviceName*/, getCameraDeviceInterface_V1_x_cb /*_hidl_cb*/) {
+ const hidl_string& /*cameraDeviceName*/, getCameraDeviceInterface_V1_x_cb _hidl_cb) {
// TODO implement after device 1.0 is implemented
+ _hidl_cb(Status::INTERNAL_ERROR, nullptr);
return Void();
}
diff --git a/camera/provider/2.4/default/service.cpp b/camera/provider/2.4/default/service.cpp
index 2723dee..cf66e04 100644
--- a/camera/provider/2.4/default/service.cpp
+++ b/camera/provider/2.4/default/service.cpp
@@ -17,35 +17,13 @@
#define LOG_TAG "android.hardware.camera.provider@2.4-service"
#include <android/hardware/camera/provider/2.4/ICameraProvider.h>
-#include <CameraProvider.h>
+#include <hidl/LegacySupport.h>
-#include <hidl/HidlTransportSupport.h>
-#include <utils/StrongPointer.h>
-
-using android::hardware::configureRpcThreadpool;
-using android::hardware::joinRpcThreadpool;
-using android::sp;
using android::hardware::camera::provider::V2_4::ICameraProvider;
-using android::hardware::camera::provider::V2_4::implementation::HIDL_FETCH_ICameraProvider;
+using android::hardware::defaultPassthroughServiceImplementation;
int main()
{
- const char instance[] = "legacy/0";
-
ALOGI("Camera provider Service is starting.");
-
- configureRpcThreadpool(1, true /* callerWillJoin */);
- // TODO (b/34510650): check the passthrough/binderized dev key
- sp<ICameraProvider> service = HIDL_FETCH_ICameraProvider(instance);
- if (service == nullptr) {
- ALOGI("Camera provider getService returned NULL");
- return -1;
- }
-
- LOG_FATAL_IF(service->isRemote(), "Camera provider service is REMOTE!");
-
- service->registerAsService(instance);
- joinRpcThreadpool();
-
- return 0;
+ return defaultPassthroughServiceImplementation<ICameraProvider>("legacy/0");
}
\ No newline at end of file
diff --git a/configstore/1.0/Android.bp b/configstore/1.0/Android.bp
new file mode 100644
index 0000000..d0e3122
--- /dev/null
+++ b/configstore/1.0/Android.bp
@@ -0,0 +1,159 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+genrule {
+ name: "android.hardware.configstore@1.0_genc++",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0",
+ srcs: [
+ "types.hal",
+ "ISurfaceFlingerConfigs.hal",
+ ],
+ out: [
+ "android/hardware/configstore/1.0/types.cpp",
+ "android/hardware/configstore/1.0/SurfaceFlingerConfigsAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.configstore@1.0_genc++_headers",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0",
+ srcs: [
+ "types.hal",
+ "ISurfaceFlingerConfigs.hal",
+ ],
+ out: [
+ "android/hardware/configstore/1.0/types.h",
+ "android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h",
+ "android/hardware/configstore/1.0/IHwSurfaceFlingerConfigs.h",
+ "android/hardware/configstore/1.0/BnHwSurfaceFlingerConfigs.h",
+ "android/hardware/configstore/1.0/BpHwSurfaceFlingerConfigs.h",
+ "android/hardware/configstore/1.0/BsSurfaceFlingerConfigs.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.configstore@1.0",
+ generated_sources: ["android.hardware.configstore@1.0_genc++"],
+ generated_headers: ["android.hardware.configstore@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.configstore@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "android.hidl.base@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.configstore.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/configstore/1.0/ $(genDir)/android/hardware/configstore/1.0/",
+ srcs: [
+ "types.hal",
+ "ISurfaceFlingerConfigs.hal",
+ ],
+ out: [
+ "android/hardware/configstore/1.0/types.vts.cpp",
+ "android/hardware/configstore/1.0/SurfaceFlingerConfigs.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.configstore.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/configstore/1.0/ $(genDir)/android/hardware/configstore/1.0/",
+ srcs: [
+ "types.hal",
+ "ISurfaceFlingerConfigs.hal",
+ ],
+ out: [
+ "android/hardware/configstore/1.0/types.vts.h",
+ "android/hardware/configstore/1.0/SurfaceFlingerConfigs.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.configstore.vts.driver@1.0",
+ generated_sources: ["android.hardware.configstore.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.configstore.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.configstore.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.configstore@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.configstore@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/configstore/1.0/ $(genDir)/android/hardware/configstore/1.0/",
+ srcs: [
+ "types.hal",
+ "ISurfaceFlingerConfigs.hal",
+ ],
+ out: [
+ "android/hardware/configstore/1.0/types.vts.cpp",
+ "android/hardware/configstore/1.0/SurfaceFlingerConfigs.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.configstore@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/configstore/1.0/ $(genDir)/android/hardware/configstore/1.0/",
+ srcs: [
+ "types.hal",
+ "ISurfaceFlingerConfigs.hal",
+ ],
+ out: [
+ "android/hardware/configstore/1.0/types.vts.h",
+ "android/hardware/configstore/1.0/SurfaceFlingerConfigs.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.configstore@1.0-vts.profiler",
+ generated_sources: ["android.hardware.configstore@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.configstore@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.configstore@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.configstore@1.0",
+ ],
+}
diff --git a/configstore/1.0/Android.mk b/configstore/1.0/Android.mk
new file mode 100644
index 0000000..fd2718e
--- /dev/null
+++ b/configstore/1.0/Android.mk
@@ -0,0 +1,308 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.configstore@1.0-java
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_JAVA_LIBRARIES := \
+ android.hidl.base@1.0-java \
+
+
+#
+# Build types.hal (OptionalBool)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalBool.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalBool
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (OptionalInt32)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalInt32.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalInt32
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (OptionalInt64)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalInt64.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalInt64
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (OptionalString)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalString.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalString
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (OptionalUInt32)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalUInt32.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalUInt32
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (OptionalUInt64)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalUInt64.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalUInt64
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build ISurfaceFlingerConfigs.hal
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/ISurfaceFlingerConfigs.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::ISurfaceFlingerConfigs
+
+$(GEN): $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_JAVA_LIBRARY)
+
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.configstore@1.0-java-static
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ android.hidl.base@1.0-java-static \
+
+
+#
+# Build types.hal (OptionalBool)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalBool.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalBool
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (OptionalInt32)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalInt32.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalInt32
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (OptionalInt64)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalInt64.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalInt64
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (OptionalString)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalString.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalString
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (OptionalUInt32)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalUInt32.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalUInt32
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (OptionalUInt64)
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/OptionalUInt64.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::types.OptionalUInt64
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build ISurfaceFlingerConfigs.hal
+#
+GEN := $(intermediates)/android/hardware/configstore/V1_0/ISurfaceFlingerConfigs.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.configstore@1.0::ISurfaceFlingerConfigs
+
+$(GEN): $(LOCAL_PATH)/ISurfaceFlingerConfigs.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/configstore/1.0/ISurfaceFlingerConfigs.hal b/configstore/1.0/ISurfaceFlingerConfigs.hal
new file mode 100644
index 0000000..97dc915
--- /dev/null
+++ b/configstore/1.0/ISurfaceFlingerConfigs.hal
@@ -0,0 +1,20 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.hardware.configstore@1.0;
+
+interface ISurfaceFlingerConfigs {
+ vsyncEventPhaseOffsetNs() generates (OptionalInt64 value);
+};
diff --git a/configstore/1.0/default/Android.mk b/configstore/1.0/default/Android.mk
new file mode 100644
index 0000000..5de3451
--- /dev/null
+++ b/configstore/1.0/default/Android.mk
@@ -0,0 +1,40 @@
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.configstore@1.0-impl
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_MODULE_RELATIVE_PATH := hw
+
+include $(LOCAL_PATH)/surfaceflinger.mk
+
+LOCAL_SHARED_LIBRARIES := \
+ libbase \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libutils \
+ android.hardware.configstore@1.0 \
+ android.hidl.base@1.0
+
+include $(BUILD_SHARED_LIBRARY)
+
+################################################################################
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.configstore@1.0-service
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_RELATIVE_PATH := hw
+LOCAL_INIT_RC := android.hardware.configstore@1.0-service.rc
+LOCAL_SRC_FILES:= service.cpp
+
+LOCAL_SHARED_LIBRARIES := \
+ liblog \
+ libdl \
+ libutils \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ android.hardware.configstore@1.0 \
+
+include $(BUILD_EXECUTABLE)
+
diff --git a/configstore/1.0/default/SurfaceFlingerConfigs.cpp b/configstore/1.0/default/SurfaceFlingerConfigs.cpp
new file mode 100644
index 0000000..fc75182
--- /dev/null
+++ b/configstore/1.0/default/SurfaceFlingerConfigs.cpp
@@ -0,0 +1,33 @@
+#include "SurfaceFlingerConfigs.h"
+
+#include <android-base/logging.h>
+
+namespace android {
+namespace hardware {
+namespace configstore {
+namespace V1_0 {
+namespace implementation {
+
+// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow.
+Return<void> SurfaceFlingerConfigs::vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) {
+#ifdef VSYNC_EVENT_PHASE_OFFSET_NS
+ _hidl_cb({true, VSYNC_EVENT_PHASE_OFFSET_NS});
+ LOG(INFO) << "vsync event phase offset ns = " << VSYNC_EVENT_PHASE_OFFSET_NS;
+#else
+ _hidl_cb({false, 0});
+#endif
+ return Void();
+}
+
+
+// Methods from ::android::hidl::base::V1_0::IBase follow.
+
+ISurfaceFlingerConfigs* HIDL_FETCH_ISurfaceFlingerConfigs(const char* /* name */) {
+ return new SurfaceFlingerConfigs();
+}
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace configstore
+} // namespace hardware
+} // namespace android
diff --git a/configstore/1.0/default/SurfaceFlingerConfigs.h b/configstore/1.0/default/SurfaceFlingerConfigs.h
new file mode 100644
index 0000000..5c754a0
--- /dev/null
+++ b/configstore/1.0/default/SurfaceFlingerConfigs.h
@@ -0,0 +1,41 @@
+#ifndef ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H
+#define ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H
+
+#include <android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h>
+#include <hidl/MQDescriptor.h>
+#include <hidl/Status.h>
+
+namespace android {
+namespace hardware {
+namespace configstore {
+namespace V1_0 {
+namespace implementation {
+
+using ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs;
+using ::android::hardware::configstore::V1_0::OptionalBool;
+using ::android::hidl::base::V1_0::IBase;
+using ::android::hardware::hidl_array;
+using ::android::hardware::hidl_memory;
+using ::android::hardware::hidl_string;
+using ::android::hardware::hidl_vec;
+using ::android::hardware::Return;
+using ::android::hardware::Void;
+using ::android::sp;
+
+struct SurfaceFlingerConfigs : public ISurfaceFlingerConfigs {
+ // Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow.
+ Return<void> vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) override;
+
+ // Methods from ::android::hidl::base::V1_0::IBase follow.
+
+};
+
+extern "C" ISurfaceFlingerConfigs* HIDL_FETCH_ISurfaceFlingerConfigs(const char* name);
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace configstore
+} // namespace hardware
+} // namespace android
+
+#endif // ANDROID_HARDWARE_CONFIGSTORE_V1_0_SURFACEFLINGERCONFIGS_H
diff --git a/configstore/1.0/default/android.hardware.configstore@1.0-service.rc b/configstore/1.0/default/android.hardware.configstore@1.0-service.rc
new file mode 100644
index 0000000..2e303b0
--- /dev/null
+++ b/configstore/1.0/default/android.hardware.configstore@1.0-service.rc
@@ -0,0 +1,4 @@
+service configstore-hal-1-0 /system/bin/hw/android.hardware.configstore@1.0-service
+ class hal
+ user system
+ group system
diff --git a/configstore/1.0/default/service.cpp b/configstore/1.0/default/service.cpp
new file mode 100644
index 0000000..caec0ba
--- /dev/null
+++ b/configstore/1.0/default/service.cpp
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "android.hardware.configstore@1.0-service"
+
+#include <android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h>
+#include <hidl/LegacySupport.h>
+
+using android::hardware::configstore::V1_0::ISurfaceFlingerConfigs;
+using android::hardware::configureRpcThreadpool;
+using android::hardware::registerPassthroughServiceImplementation;
+using android::hardware::joinRpcThreadpool;
+
+int main() {
+ // TODO(b/34857894): tune the max thread count.
+ configureRpcThreadpool(10, true);
+ registerPassthroughServiceImplementation<ISurfaceFlingerConfigs>();
+ // other interface registration comes here
+ joinRpcThreadpool();
+ return 0;
+}
diff --git a/configstore/1.0/default/surfaceflinger.mk b/configstore/1.0/default/surfaceflinger.mk
new file mode 100644
index 0000000..42fa191
--- /dev/null
+++ b/configstore/1.0/default/surfaceflinger.mk
@@ -0,0 +1,6 @@
+
+LOCAL_SRC_FILES += SurfaceFlingerConfigs.cpp
+
+ifneq ($(VSYNC_EVENT_PHASE_OFFSET_NS),)
+ LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=$(VSYNC_EVENT_PHASE_OFFSET_NS)
+endif
diff --git a/configstore/1.0/types.hal b/configstore/1.0/types.hal
new file mode 100644
index 0000000..49e9bef
--- /dev/null
+++ b/configstore/1.0/types.hal
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.hardware.configstore@1.0;
+
+struct OptionalBool {
+ bool specified;
+ bool value;
+};
+
+struct OptionalInt32 {
+ bool specified;
+ int32_t value;
+};
+
+struct OptionalUInt32 {
+ bool specified;
+ uint32_t value;
+};
+
+struct OptionalInt64 {
+ bool specified;
+ int64_t value;
+};
+
+struct OptionalUInt64 {
+ bool specified;
+ uint64_t value;
+};
+
+struct OptionalString {
+ bool specified;
+ string value;
+};
diff --git a/configstore/Android.bp b/configstore/Android.bp
new file mode 100644
index 0000000..bbb3e4b
--- /dev/null
+++ b/configstore/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+ "1.0",
+]
diff --git a/contexthub/1.0/Android.bp b/contexthub/1.0/Android.bp
index 5798306..e25c70d 100644
--- a/contexthub/1.0/Android.bp
+++ b/contexthub/1.0/Android.bp
@@ -62,3 +62,114 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.contexthub.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.contexthub@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+ srcs: [
+ "types.hal",
+ "IContexthub.hal",
+ "IContexthubCallback.hal",
+ ],
+ out: [
+ "android/hardware/contexthub/1.0/types.vts.cpp",
+ "android/hardware/contexthub/1.0/Contexthub.vts.cpp",
+ "android/hardware/contexthub/1.0/ContexthubCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.contexthub.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.contexthub@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+ srcs: [
+ "types.hal",
+ "IContexthub.hal",
+ "IContexthubCallback.hal",
+ ],
+ out: [
+ "android/hardware/contexthub/1.0/types.vts.h",
+ "android/hardware/contexthub/1.0/Contexthub.vts.h",
+ "android/hardware/contexthub/1.0/ContexthubCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.contexthub.vts.driver@1.0",
+ generated_sources: ["android.hardware.contexthub.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.contexthub.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.contexthub.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.contexthub@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.contexthub@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.contexthub@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+ srcs: [
+ "types.hal",
+ "IContexthub.hal",
+ "IContexthubCallback.hal",
+ ],
+ out: [
+ "android/hardware/contexthub/1.0/types.vts.cpp",
+ "android/hardware/contexthub/1.0/Contexthub.vts.cpp",
+ "android/hardware/contexthub/1.0/ContexthubCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.contexthub@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.contexthub@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+ srcs: [
+ "types.hal",
+ "IContexthub.hal",
+ "IContexthubCallback.hal",
+ ],
+ out: [
+ "android/hardware/contexthub/1.0/types.vts.h",
+ "android/hardware/contexthub/1.0/Contexthub.vts.h",
+ "android/hardware/contexthub/1.0/ContexthubCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.contexthub@1.0-vts.profiler",
+ generated_sources: ["android.hardware.contexthub@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.contexthub@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.contexthub@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.contexthub@1.0",
+ ],
+}
diff --git a/contexthub/1.0/vts/Android.mk b/contexthub/1.0/vts/Android.mk
deleted file mode 100644
index 266884b..0000000
--- a/contexthub/1.0/vts/Android.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# Copyright (C) 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-contexthub-vts-path := $(LOCAL_PATH)
-
-include $(contexthub-vts-path)/functional/vts/testcases/hal/contexthub/hidl/target/Android.mk
diff --git a/contexthub/1.0/vts/Contexthub.vts b/contexthub/1.0/vts/Contexthub.vts
index b4e42f5..b06efe6 100644
--- a/contexthub/1.0/vts/Contexthub.vts
+++ b/contexthub/1.0/vts/Contexthub.vts
@@ -6,8 +6,494 @@
import: "android.hardware.contexthub@1.0::IContexthubCallback"
import: "android.hardware.contexthub@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::Result"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OK"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNKNOWN_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAD_PARAMS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NOT_INIT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "TRANSACTION_FAILED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "TRANSACTION_PENDING"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::NanoAppFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SIGNED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ENCRYPTED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::NanoAppBinary"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "appId"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "appVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::contexthub::V1_0::NanoAppFlags"
+ }
+ struct_value: {
+ name: "targetChreApiMajorVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "targetChreApiMinorVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "customBinary"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::SensorType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACCELEROMETER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "GYROSCOPE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "MAGNETOMETER"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAROMETER"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "PROXIMITY_SENSOR"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "AMBIENT_LIGHT_SENSOR"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "STATIONARY_DETECT"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "INSTANT_MOTION_DETECT"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "GPS"
+ scalar_value: {
+ uint32_t: 256
+ }
+ enumerator: "WIFI"
+ scalar_value: {
+ uint32_t: 512
+ }
+ enumerator: "AUDIO"
+ scalar_value: {
+ uint32_t: 768
+ }
+ enumerator: "CAMERA"
+ scalar_value: {
+ uint32_t: 1024
+ }
+ enumerator: "BLE"
+ scalar_value: {
+ uint32_t: 1280
+ }
+ enumerator: "WWAN"
+ scalar_value: {
+ uint32_t: 1536
+ }
+ enumerator: "PRIVATE_SENSOR_BASE"
+ scalar_value: {
+ uint32_t: 65536
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::PhysicalSensor"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sensorType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::contexthub::V1_0::SensorType"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "name"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "vendor"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "fifoReservedCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "fifoMaxCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "minDelayMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "maxDelayMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "peakPowerMw"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::ContextHub"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "name"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "vendor"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "toolchain"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "platformVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "toolchainVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "hubId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peakMips"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "stoppedPowerDrawMw"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "sleepPowerDrawMw"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "peakPowerDrawMw"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "connectedSensors"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::contexthub::V1_0::PhysicalSensor"
+ }
+ }
+ struct_value: {
+ name: "maxSupportedMsgLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "chrePlatformId"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "chreApiMajorVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "chreApiMinorVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "chrePatchVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::HostEndPoint"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint16_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint16_t: 65535
+ }
+ enumerator: "UNSPECIFIED"
+ scalar_value: {
+ uint16_t: 65534
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::ContextHubMsg"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "appName"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "hostEndPoint"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "msgType"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "msg"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::HubMemoryType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MAIN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SECONDARY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TCM"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::HubMemoryFlag"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "READ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WRITE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXEC"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::MemRange"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::contexthub::V1_0::HubMemoryType"
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::contexthub::V1_0::HubMemoryFlag"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::AsyncEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "RESTARTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::TransactionResult"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::HubAppInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "appId"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "memUsage"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::contexthub::V1_0::MemRange"
+ }
+ }
+ struct_value: {
+ name: "enabled"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "getHubs"
return_type_hidl: {
@@ -31,8 +517,7 @@
}
arg: {
type: TYPE_HIDL_CALLBACK
- predefined_type: "IContexthubCallback"
- is_callback: true
+ predefined_type: "::android::hardware::contexthub::V1_0::IContexthubCallback"
}
}
diff --git a/contexthub/1.0/vts/ContexthubCallback.vts b/contexthub/1.0/vts/ContexthubCallback.vts
index c3784e8..7897a83 100644
--- a/contexthub/1.0/vts/ContexthubCallback.vts
+++ b/contexthub/1.0/vts/ContexthubCallback.vts
@@ -5,8 +5,494 @@
package: "android.hardware.contexthub"
import: "android.hardware.contexthub@1.0::types"
+import: "android.hidl.base@1.0::types"
interface: {
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::Result"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "OK"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "UNKNOWN_FAILURE"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "BAD_PARAMS"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "NOT_INIT"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "TRANSACTION_FAILED"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "TRANSACTION_PENDING"
+ scalar_value: {
+ uint32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::NanoAppFlags"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "SIGNED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "ENCRYPTED"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::NanoAppBinary"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "appId"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "appVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::contexthub::V1_0::NanoAppFlags"
+ }
+ struct_value: {
+ name: "targetChreApiMajorVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "targetChreApiMinorVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "customBinary"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::SensorType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "RESERVED"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "ACCELEROMETER"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "GYROSCOPE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "MAGNETOMETER"
+ scalar_value: {
+ uint32_t: 3
+ }
+ enumerator: "BAROMETER"
+ scalar_value: {
+ uint32_t: 4
+ }
+ enumerator: "PROXIMITY_SENSOR"
+ scalar_value: {
+ uint32_t: 5
+ }
+ enumerator: "AMBIENT_LIGHT_SENSOR"
+ scalar_value: {
+ uint32_t: 6
+ }
+ enumerator: "STATIONARY_DETECT"
+ scalar_value: {
+ uint32_t: 7
+ }
+ enumerator: "INSTANT_MOTION_DETECT"
+ scalar_value: {
+ uint32_t: 8
+ }
+ enumerator: "GPS"
+ scalar_value: {
+ uint32_t: 256
+ }
+ enumerator: "WIFI"
+ scalar_value: {
+ uint32_t: 512
+ }
+ enumerator: "AUDIO"
+ scalar_value: {
+ uint32_t: 768
+ }
+ enumerator: "CAMERA"
+ scalar_value: {
+ uint32_t: 1024
+ }
+ enumerator: "BLE"
+ scalar_value: {
+ uint32_t: 1280
+ }
+ enumerator: "WWAN"
+ scalar_value: {
+ uint32_t: 1536
+ }
+ enumerator: "PRIVATE_SENSOR_BASE"
+ scalar_value: {
+ uint32_t: 65536
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::PhysicalSensor"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "sensorType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::contexthub::V1_0::SensorType"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "name"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "vendor"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "fifoReservedCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "fifoMaxCount"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "minDelayMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "maxDelayMs"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "peakPowerMw"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::ContextHub"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "name"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "vendor"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "toolchain"
+ type: TYPE_STRING
+ }
+ struct_value: {
+ name: "platformVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "toolchainVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "hubId"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "peakMips"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "stoppedPowerDrawMw"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "sleepPowerDrawMw"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "peakPowerDrawMw"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "connectedSensors"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::contexthub::V1_0::PhysicalSensor"
+ }
+ }
+ struct_value: {
+ name: "maxSupportedMsgLen"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "chrePlatformId"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "chreApiMajorVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "chreApiMinorVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "chrePatchVersion"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::HostEndPoint"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint16_t"
+
+ enumerator: "BROADCAST"
+ scalar_value: {
+ uint16_t: 65535
+ }
+ enumerator: "UNSPECIFIED"
+ scalar_value: {
+ uint16_t: 65534
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::ContextHubMsg"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "appName"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "hostEndPoint"
+ type: TYPE_SCALAR
+ scalar_type: "uint16_t"
+ }
+ struct_value: {
+ name: "msgType"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "msg"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::HubMemoryType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "MAIN"
+ scalar_value: {
+ uint32_t: 0
+ }
+ enumerator: "SECONDARY"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "TCM"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::HubMemoryFlag"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "READ"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WRITE"
+ scalar_value: {
+ uint32_t: 2
+ }
+ enumerator: "EXEC"
+ scalar_value: {
+ uint32_t: 4
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::MemRange"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "totalBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "freeBytes"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "type"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::contexthub::V1_0::HubMemoryType"
+ }
+ struct_value: {
+ name: "flags"
+ type: TYPE_MASK
+ scalar_type: "uint32_t"
+ predefined_type: "::android::hardware::contexthub::V1_0::HubMemoryFlag"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::AsyncEventType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "RESTARTED"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::TransactionResult"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "SUCCESS"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "FAILURE"
+ scalar_value: {
+ int32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::contexthub::V1_0::HubAppInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "appId"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ struct_value: {
+ name: "version"
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ struct_value: {
+ name: "memUsage"
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::contexthub::V1_0::MemRange"
+ }
+ }
+ struct_value: {
+ name: "enabled"
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hidl::base::V1_0::DebugInfo"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "pid"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "ptr"
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ }
+
api: {
name: "handleClientMsg"
arg: {
diff --git a/contexthub/1.0/vts/functional/vts/testcases/hal/contexthub/hidl/target/Android.mk b/contexthub/1.0/vts/functional/vts/testcases/hal/contexthub/hidl/target/Android.mk
deleted file mode 100644
index a46a0e6..0000000
--- a/contexthub/1.0/vts/functional/vts/testcases/hal/contexthub/hidl/target/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := ContexthubHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/contexthub/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/contexthub/1.0/vts/functional/vts/testcases/hal/contexthub/hidl/target/AndroidTest.xml b/contexthub/1.0/vts/functional/vts/testcases/hal/contexthub/hidl/target/AndroidTest.xml
deleted file mode 100644
index a314d1b..0000000
--- a/contexthub/1.0/vts/functional/vts/testcases/hal/contexthub/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Context Hub HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="ContexthubHidlTargetTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/contexthub_hidl_hal_test/contexthub_hidl_hal_test,
- _64bit::DATA/nativetest64/contexthub_hidl_hal_test/contexthub_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="binary-test-disable-framework" value="true" />
- <option name="test-timeout" value="10m" />
- </test>
-</configuration>
-
diff --git a/contexthub/1.0/vts/types.vts b/contexthub/1.0/vts/types.vts
index 12576b1..4f5dfcf 100644
--- a/contexthub/1.0/vts/types.vts
+++ b/contexthub/1.0/vts/types.vts
@@ -71,6 +71,7 @@
struct_value: {
name: "flags"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::contexthub::V1_0::NanoAppFlags"
}
struct_value: {
@@ -411,6 +412,7 @@
struct_value: {
name: "flags"
type: TYPE_MASK
+ scalar_type: "uint32_t"
predefined_type: "::android::hardware::contexthub::V1_0::HubMemoryFlag"
}
}
diff --git a/drm/1.0/Android.bp b/drm/1.0/Android.bp
index d899114..19060d8 100644
--- a/drm/1.0/Android.bp
+++ b/drm/1.0/Android.bp
@@ -86,3 +86,138 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.drm.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
+ srcs: [
+ "types.hal",
+ "ICryptoFactory.hal",
+ "ICryptoPlugin.hal",
+ "IDrmFactory.hal",
+ "IDrmPlugin.hal",
+ "IDrmPluginListener.hal",
+ ],
+ out: [
+ "android/hardware/drm/1.0/types.vts.cpp",
+ "android/hardware/drm/1.0/CryptoFactory.vts.cpp",
+ "android/hardware/drm/1.0/CryptoPlugin.vts.cpp",
+ "android/hardware/drm/1.0/DrmFactory.vts.cpp",
+ "android/hardware/drm/1.0/DrmPlugin.vts.cpp",
+ "android/hardware/drm/1.0/DrmPluginListener.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.drm.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
+ srcs: [
+ "types.hal",
+ "ICryptoFactory.hal",
+ "ICryptoPlugin.hal",
+ "IDrmFactory.hal",
+ "IDrmPlugin.hal",
+ "IDrmPluginListener.hal",
+ ],
+ out: [
+ "android/hardware/drm/1.0/types.vts.h",
+ "android/hardware/drm/1.0/CryptoFactory.vts.h",
+ "android/hardware/drm/1.0/CryptoPlugin.vts.h",
+ "android/hardware/drm/1.0/DrmFactory.vts.h",
+ "android/hardware/drm/1.0/DrmPlugin.vts.h",
+ "android/hardware/drm/1.0/DrmPluginListener.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.drm.vts.driver@1.0",
+ generated_sources: ["android.hardware.drm.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.drm.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.drm.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.drm@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.drm@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
+ srcs: [
+ "types.hal",
+ "ICryptoFactory.hal",
+ "ICryptoPlugin.hal",
+ "IDrmFactory.hal",
+ "IDrmPlugin.hal",
+ "IDrmPluginListener.hal",
+ ],
+ out: [
+ "android/hardware/drm/1.0/types.vts.cpp",
+ "android/hardware/drm/1.0/CryptoFactory.vts.cpp",
+ "android/hardware/drm/1.0/CryptoPlugin.vts.cpp",
+ "android/hardware/drm/1.0/DrmFactory.vts.cpp",
+ "android/hardware/drm/1.0/DrmPlugin.vts.cpp",
+ "android/hardware/drm/1.0/DrmPluginListener.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.drm@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
+ srcs: [
+ "types.hal",
+ "ICryptoFactory.hal",
+ "ICryptoPlugin.hal",
+ "IDrmFactory.hal",
+ "IDrmPlugin.hal",
+ "IDrmPluginListener.hal",
+ ],
+ out: [
+ "android/hardware/drm/1.0/types.vts.h",
+ "android/hardware/drm/1.0/CryptoFactory.vts.h",
+ "android/hardware/drm/1.0/CryptoPlugin.vts.h",
+ "android/hardware/drm/1.0/DrmFactory.vts.h",
+ "android/hardware/drm/1.0/DrmPlugin.vts.h",
+ "android/hardware/drm/1.0/DrmPluginListener.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.drm@1.0-vts.profiler",
+ generated_sources: ["android.hardware.drm@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.drm@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.drm@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.drm@1.0",
+ ],
+}
diff --git a/dumpstate/1.0/Android.bp b/dumpstate/1.0/Android.bp
index 7255937..24fa1f8 100644
--- a/dumpstate/1.0/Android.bp
+++ b/dumpstate/1.0/Android.bp
@@ -50,3 +50,98 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.dumpstate.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.dumpstate@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+ srcs: [
+ "IDumpstateDevice.hal",
+ ],
+ out: [
+ "android/hardware/dumpstate/1.0/DumpstateDevice.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.dumpstate.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.dumpstate@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+ srcs: [
+ "IDumpstateDevice.hal",
+ ],
+ out: [
+ "android/hardware/dumpstate/1.0/DumpstateDevice.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.dumpstate.vts.driver@1.0",
+ generated_sources: ["android.hardware.dumpstate.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.dumpstate.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.dumpstate.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.dumpstate@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.dumpstate@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.dumpstate@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+ srcs: [
+ "IDumpstateDevice.hal",
+ ],
+ out: [
+ "android/hardware/dumpstate/1.0/DumpstateDevice.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.dumpstate@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.dumpstate@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+ srcs: [
+ "IDumpstateDevice.hal",
+ ],
+ out: [
+ "android/hardware/dumpstate/1.0/DumpstateDevice.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.dumpstate@1.0-vts.profiler",
+ generated_sources: ["android.hardware.dumpstate@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.dumpstate@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.dumpstate@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.dumpstate@1.0",
+ ],
+}
diff --git a/evs/1.0/Android.bp b/evs/1.0/Android.bp
index ed29968..a92caf8 100644
--- a/evs/1.0/Android.bp
+++ b/evs/1.0/Android.bp
@@ -78,3 +78,130 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.evs.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.evs@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/evs/1.0/ $(genDir)/android/hardware/evs/1.0/",
+ srcs: [
+ "types.hal",
+ "IEvsCamera.hal",
+ "IEvsCameraStream.hal",
+ "IEvsDisplay.hal",
+ "IEvsEnumerator.hal",
+ ],
+ out: [
+ "android/hardware/evs/1.0/types.vts.cpp",
+ "android/hardware/evs/1.0/EvsCamera.vts.cpp",
+ "android/hardware/evs/1.0/EvsCameraStream.vts.cpp",
+ "android/hardware/evs/1.0/EvsDisplay.vts.cpp",
+ "android/hardware/evs/1.0/EvsEnumerator.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.evs.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.evs@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/evs/1.0/ $(genDir)/android/hardware/evs/1.0/",
+ srcs: [
+ "types.hal",
+ "IEvsCamera.hal",
+ "IEvsCameraStream.hal",
+ "IEvsDisplay.hal",
+ "IEvsEnumerator.hal",
+ ],
+ out: [
+ "android/hardware/evs/1.0/types.vts.h",
+ "android/hardware/evs/1.0/EvsCamera.vts.h",
+ "android/hardware/evs/1.0/EvsCameraStream.vts.h",
+ "android/hardware/evs/1.0/EvsDisplay.vts.h",
+ "android/hardware/evs/1.0/EvsEnumerator.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.evs.vts.driver@1.0",
+ generated_sources: ["android.hardware.evs.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.evs.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.evs.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.evs@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.evs@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.evs@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/evs/1.0/ $(genDir)/android/hardware/evs/1.0/",
+ srcs: [
+ "types.hal",
+ "IEvsCamera.hal",
+ "IEvsCameraStream.hal",
+ "IEvsDisplay.hal",
+ "IEvsEnumerator.hal",
+ ],
+ out: [
+ "android/hardware/evs/1.0/types.vts.cpp",
+ "android/hardware/evs/1.0/EvsCamera.vts.cpp",
+ "android/hardware/evs/1.0/EvsCameraStream.vts.cpp",
+ "android/hardware/evs/1.0/EvsDisplay.vts.cpp",
+ "android/hardware/evs/1.0/EvsEnumerator.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.evs@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.evs@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/evs/1.0/ $(genDir)/android/hardware/evs/1.0/",
+ srcs: [
+ "types.hal",
+ "IEvsCamera.hal",
+ "IEvsCameraStream.hal",
+ "IEvsDisplay.hal",
+ "IEvsEnumerator.hal",
+ ],
+ out: [
+ "android/hardware/evs/1.0/types.vts.h",
+ "android/hardware/evs/1.0/EvsCamera.vts.h",
+ "android/hardware/evs/1.0/EvsCameraStream.vts.h",
+ "android/hardware/evs/1.0/EvsDisplay.vts.h",
+ "android/hardware/evs/1.0/EvsEnumerator.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.evs@1.0-vts.profiler",
+ generated_sources: ["android.hardware.evs@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.evs@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.evs@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.evs@1.0",
+ ],
+}
diff --git a/evs/1.0/default/EvsCamera.cpp b/evs/1.0/default/EvsCamera.cpp
index c62f7b6..a539b23 100644
--- a/evs/1.0/default/EvsCamera.cpp
+++ b/evs/1.0/default/EvsCamera.cpp
@@ -286,7 +286,7 @@
buffer_handle_t memHandle = nullptr;
status_t result = alloc.allocate(mWidth, mHeight,
mFormat, 1,
- mUsage,
+ mUsage, mUsage,
&memHandle, &mStride, 0, "EvsCamera");
if (result != NO_ERROR) {
ALOGE("Error %d allocating %d x %d graphics buffer", result, mWidth, mHeight);
diff --git a/evs/1.0/default/EvsDisplay.cpp b/evs/1.0/default/EvsDisplay.cpp
index dff4c49..7208395 100644
--- a/evs/1.0/default/EvsDisplay.cpp
+++ b/evs/1.0/default/EvsDisplay.cpp
@@ -149,7 +149,8 @@
GraphicBufferAllocator& alloc(GraphicBufferAllocator::get());
status_t result = alloc.allocate(mBuffer.width, mBuffer.height,
mBuffer.format, 1, mBuffer.usage,
- &handle, &mBuffer.stride,
+ mBuffer.usage, &handle,
+ &mBuffer.stride,
0, "EvsDisplay");
if (result != NO_ERROR) {
ALOGE("Error %d allocating %d x %d graphics buffer",
diff --git a/example/extension/light/2.0/Android.bp b/example/extension/light/2.0/Android.bp
index cc50b83..2289040 100644
--- a/example/extension/light/2.0/Android.bp
+++ b/example/extension/light/2.0/Android.bp
@@ -54,3 +54,106 @@
"android.hardware.light@2.0",
],
}
+
+genrule {
+ name: "android.hardware.example.extension.light.vts.driver@2.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.example.extension.light@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/example/extension/light/2.0/ $(genDir)/android/hardware/example/extension/light/2.0/",
+ srcs: [
+ "types.hal",
+ "IExtLight.hal",
+ ],
+ out: [
+ "android/hardware/example/extension/light/2.0/types.vts.cpp",
+ "android/hardware/example/extension/light/2.0/ExtLight.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.example.extension.light.vts.driver@2.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.example.extension.light@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/example/extension/light/2.0/ $(genDir)/android/hardware/example/extension/light/2.0/",
+ srcs: [
+ "types.hal",
+ "IExtLight.hal",
+ ],
+ out: [
+ "android/hardware/example/extension/light/2.0/types.vts.h",
+ "android/hardware/example/extension/light/2.0/ExtLight.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.example.extension.light.vts.driver@2.0",
+ generated_sources: ["android.hardware.example.extension.light.vts.driver@2.0_genc++"],
+ generated_headers: ["android.hardware.example.extension.light.vts.driver@2.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.example.extension.light.vts.driver@2.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.light@2.0",
+ "android.hardware.example.extension.light@2.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.light@2.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.example.extension.light@2.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.example.extension.light@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/example/extension/light/2.0/ $(genDir)/android/hardware/example/extension/light/2.0/",
+ srcs: [
+ "types.hal",
+ "IExtLight.hal",
+ ],
+ out: [
+ "android/hardware/example/extension/light/2.0/types.vts.cpp",
+ "android/hardware/example/extension/light/2.0/ExtLight.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.example.extension.light@2.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.example.extension.light@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/example/extension/light/2.0/ $(genDir)/android/hardware/example/extension/light/2.0/",
+ srcs: [
+ "types.hal",
+ "IExtLight.hal",
+ ],
+ out: [
+ "android/hardware/example/extension/light/2.0/types.vts.h",
+ "android/hardware/example/extension/light/2.0/ExtLight.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.example.extension.light@2.0-vts.profiler",
+ generated_sources: ["android.hardware.example.extension.light@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.example.extension.light@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.example.extension.light@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.light@2.0",
+ "android.hardware.example.extension.light@2.0",
+ ],
+}
diff --git a/gatekeeper/1.0/Android.bp b/gatekeeper/1.0/Android.bp
index 8ef33ab..9e2203b 100644
--- a/gatekeeper/1.0/Android.bp
+++ b/gatekeeper/1.0/Android.bp
@@ -54,3 +54,106 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.gatekeeper.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gatekeeper@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/gatekeeper/1.0/ $(genDir)/android/hardware/gatekeeper/1.0/",
+ srcs: [
+ "types.hal",
+ "IGatekeeper.hal",
+ ],
+ out: [
+ "android/hardware/gatekeeper/1.0/types.vts.cpp",
+ "android/hardware/gatekeeper/1.0/Gatekeeper.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.gatekeeper.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gatekeeper@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/gatekeeper/1.0/ $(genDir)/android/hardware/gatekeeper/1.0/",
+ srcs: [
+ "types.hal",
+ "IGatekeeper.hal",
+ ],
+ out: [
+ "android/hardware/gatekeeper/1.0/types.vts.h",
+ "android/hardware/gatekeeper/1.0/Gatekeeper.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.gatekeeper.vts.driver@1.0",
+ generated_sources: ["android.hardware.gatekeeper.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.gatekeeper.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.gatekeeper.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.gatekeeper@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.gatekeeper@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gatekeeper@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/gatekeeper/1.0/ $(genDir)/android/hardware/gatekeeper/1.0/",
+ srcs: [
+ "types.hal",
+ "IGatekeeper.hal",
+ ],
+ out: [
+ "android/hardware/gatekeeper/1.0/types.vts.cpp",
+ "android/hardware/gatekeeper/1.0/Gatekeeper.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.gatekeeper@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gatekeeper@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/gatekeeper/1.0/ $(genDir)/android/hardware/gatekeeper/1.0/",
+ srcs: [
+ "types.hal",
+ "IGatekeeper.hal",
+ ],
+ out: [
+ "android/hardware/gatekeeper/1.0/types.vts.h",
+ "android/hardware/gatekeeper/1.0/Gatekeeper.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.gatekeeper@1.0-vts.profiler",
+ generated_sources: ["android.hardware.gatekeeper@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.gatekeeper@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.gatekeeper@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.gatekeeper@1.0",
+ ],
+}
diff --git a/gatekeeper/1.0/vts/Android.mk b/gatekeeper/1.0/vts/Android.mk
deleted file mode 100644
index 58c2dca..0000000
--- a/gatekeeper/1.0/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-LOCAL_PATH := $(call my-dir)
-
-include $(LOCAL_PATH)/functional/vts/testcases/hal/gatekeeper/hidl/Android.mk
diff --git a/gatekeeper/1.0/vts/functional/Android.bp b/gatekeeper/1.0/vts/functional/Android.bp
index 9c72b81..e79e40e 100644
--- a/gatekeeper/1.0/vts/functional/Android.bp
+++ b/gatekeeper/1.0/vts/functional/Android.bp
@@ -31,7 +31,11 @@
],
static_libs: ["libgtest"],
cflags: [
+ "--coverage",
"-O0",
"-g",
],
+ ldflags: [
+ "--coverage"
+ ]
}
diff --git a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/__init__.py b/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/__init__.py
+++ /dev/null
diff --git a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/Android.mk b/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/__init__.py b/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/__init__.py
+++ /dev/null
diff --git a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target/Android.mk b/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target/Android.mk
deleted file mode 100644
index 59bfe17..0000000
--- a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalGatekeeperHidlTargetBasicTest
-VTS_CONFIG_SRC_DIR := testcases/hal/gatekeeper/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target/AndroidTest.xml b/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target/AndroidTest.xml
deleted file mode 100644
index 9256823..0000000
--- a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Gatekeeper HIDL HAL's basic target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalGatekeeperHidlTargetBasicTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/gatekeeper_hidl_hal_test/gatekeeper_hidl_hal_test,
- _64bit::DATA/nativetest64/gatekeeper_hidl_hal_test/gatekeeper_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
diff --git a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target_profiling/Android.mk b/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target_profiling/Android.mk
deleted file mode 100644
index 384b33c..0000000
--- a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalGatekeeperHidlTargetBasicProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/gatekeeper/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target_profiling/AndroidTest.xml b/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index 18bb442..0000000
--- a/gatekeeper/1.0/vts/functional/vts/testcases/hal/gatekeeper/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Gatekeeper HIDL HAL's basic target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalGatekeeperHidlTargetBasicProfilingTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/gatekeeper_hidl_hal_test/gatekeeper_hidl_hal_test,
- _64bit::DATA/nativetest64/gatekeeper_hidl_hal_test/gatekeeper_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="5m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
diff --git a/gnss/1.0/Android.bp b/gnss/1.0/Android.bp
index 4d7e26e..4fc3038 100644
--- a/gnss/1.0/Android.bp
+++ b/gnss/1.0/Android.bp
@@ -206,3 +206,258 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.gnss.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gnss@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+ srcs: [
+ "types.hal",
+ "IAGnss.hal",
+ "IAGnssCallback.hal",
+ "IAGnssRil.hal",
+ "IAGnssRilCallback.hal",
+ "IGnss.hal",
+ "IGnssBatching.hal",
+ "IGnssBatchingCallback.hal",
+ "IGnssCallback.hal",
+ "IGnssConfiguration.hal",
+ "IGnssDebug.hal",
+ "IGnssGeofenceCallback.hal",
+ "IGnssGeofencing.hal",
+ "IGnssMeasurement.hal",
+ "IGnssMeasurementCallback.hal",
+ "IGnssNavigationMessage.hal",
+ "IGnssNavigationMessageCallback.hal",
+ "IGnssNi.hal",
+ "IGnssNiCallback.hal",
+ "IGnssXtra.hal",
+ "IGnssXtraCallback.hal",
+ ],
+ out: [
+ "android/hardware/gnss/1.0/types.vts.cpp",
+ "android/hardware/gnss/1.0/AGnss.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssCallback.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssRil.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssRilCallback.vts.cpp",
+ "android/hardware/gnss/1.0/Gnss.vts.cpp",
+ "android/hardware/gnss/1.0/GnssBatching.vts.cpp",
+ "android/hardware/gnss/1.0/GnssBatchingCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssConfiguration.vts.cpp",
+ "android/hardware/gnss/1.0/GnssDebug.vts.cpp",
+ "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssGeofencing.vts.cpp",
+ "android/hardware/gnss/1.0/GnssMeasurement.vts.cpp",
+ "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNavigationMessage.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNi.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNiCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssXtra.vts.cpp",
+ "android/hardware/gnss/1.0/GnssXtraCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.gnss.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gnss@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+ srcs: [
+ "types.hal",
+ "IAGnss.hal",
+ "IAGnssCallback.hal",
+ "IAGnssRil.hal",
+ "IAGnssRilCallback.hal",
+ "IGnss.hal",
+ "IGnssBatching.hal",
+ "IGnssBatchingCallback.hal",
+ "IGnssCallback.hal",
+ "IGnssConfiguration.hal",
+ "IGnssDebug.hal",
+ "IGnssGeofenceCallback.hal",
+ "IGnssGeofencing.hal",
+ "IGnssMeasurement.hal",
+ "IGnssMeasurementCallback.hal",
+ "IGnssNavigationMessage.hal",
+ "IGnssNavigationMessageCallback.hal",
+ "IGnssNi.hal",
+ "IGnssNiCallback.hal",
+ "IGnssXtra.hal",
+ "IGnssXtraCallback.hal",
+ ],
+ out: [
+ "android/hardware/gnss/1.0/types.vts.h",
+ "android/hardware/gnss/1.0/AGnss.vts.h",
+ "android/hardware/gnss/1.0/AGnssCallback.vts.h",
+ "android/hardware/gnss/1.0/AGnssRil.vts.h",
+ "android/hardware/gnss/1.0/AGnssRilCallback.vts.h",
+ "android/hardware/gnss/1.0/Gnss.vts.h",
+ "android/hardware/gnss/1.0/GnssBatching.vts.h",
+ "android/hardware/gnss/1.0/GnssBatchingCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssConfiguration.vts.h",
+ "android/hardware/gnss/1.0/GnssDebug.vts.h",
+ "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssGeofencing.vts.h",
+ "android/hardware/gnss/1.0/GnssMeasurement.vts.h",
+ "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssNavigationMessage.vts.h",
+ "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssNi.vts.h",
+ "android/hardware/gnss/1.0/GnssNiCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssXtra.vts.h",
+ "android/hardware/gnss/1.0/GnssXtraCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.gnss.vts.driver@1.0",
+ generated_sources: ["android.hardware.gnss.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.gnss.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.gnss.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.gnss@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.gnss@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gnss@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+ srcs: [
+ "types.hal",
+ "IAGnss.hal",
+ "IAGnssCallback.hal",
+ "IAGnssRil.hal",
+ "IAGnssRilCallback.hal",
+ "IGnss.hal",
+ "IGnssBatching.hal",
+ "IGnssBatchingCallback.hal",
+ "IGnssCallback.hal",
+ "IGnssConfiguration.hal",
+ "IGnssDebug.hal",
+ "IGnssGeofenceCallback.hal",
+ "IGnssGeofencing.hal",
+ "IGnssMeasurement.hal",
+ "IGnssMeasurementCallback.hal",
+ "IGnssNavigationMessage.hal",
+ "IGnssNavigationMessageCallback.hal",
+ "IGnssNi.hal",
+ "IGnssNiCallback.hal",
+ "IGnssXtra.hal",
+ "IGnssXtraCallback.hal",
+ ],
+ out: [
+ "android/hardware/gnss/1.0/types.vts.cpp",
+ "android/hardware/gnss/1.0/AGnss.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssCallback.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssRil.vts.cpp",
+ "android/hardware/gnss/1.0/AGnssRilCallback.vts.cpp",
+ "android/hardware/gnss/1.0/Gnss.vts.cpp",
+ "android/hardware/gnss/1.0/GnssBatching.vts.cpp",
+ "android/hardware/gnss/1.0/GnssBatchingCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssConfiguration.vts.cpp",
+ "android/hardware/gnss/1.0/GnssDebug.vts.cpp",
+ "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssGeofencing.vts.cpp",
+ "android/hardware/gnss/1.0/GnssMeasurement.vts.cpp",
+ "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNavigationMessage.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNi.vts.cpp",
+ "android/hardware/gnss/1.0/GnssNiCallback.vts.cpp",
+ "android/hardware/gnss/1.0/GnssXtra.vts.cpp",
+ "android/hardware/gnss/1.0/GnssXtraCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.gnss@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gnss@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+ srcs: [
+ "types.hal",
+ "IAGnss.hal",
+ "IAGnssCallback.hal",
+ "IAGnssRil.hal",
+ "IAGnssRilCallback.hal",
+ "IGnss.hal",
+ "IGnssBatching.hal",
+ "IGnssBatchingCallback.hal",
+ "IGnssCallback.hal",
+ "IGnssConfiguration.hal",
+ "IGnssDebug.hal",
+ "IGnssGeofenceCallback.hal",
+ "IGnssGeofencing.hal",
+ "IGnssMeasurement.hal",
+ "IGnssMeasurementCallback.hal",
+ "IGnssNavigationMessage.hal",
+ "IGnssNavigationMessageCallback.hal",
+ "IGnssNi.hal",
+ "IGnssNiCallback.hal",
+ "IGnssXtra.hal",
+ "IGnssXtraCallback.hal",
+ ],
+ out: [
+ "android/hardware/gnss/1.0/types.vts.h",
+ "android/hardware/gnss/1.0/AGnss.vts.h",
+ "android/hardware/gnss/1.0/AGnssCallback.vts.h",
+ "android/hardware/gnss/1.0/AGnssRil.vts.h",
+ "android/hardware/gnss/1.0/AGnssRilCallback.vts.h",
+ "android/hardware/gnss/1.0/Gnss.vts.h",
+ "android/hardware/gnss/1.0/GnssBatching.vts.h",
+ "android/hardware/gnss/1.0/GnssBatchingCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssConfiguration.vts.h",
+ "android/hardware/gnss/1.0/GnssDebug.vts.h",
+ "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssGeofencing.vts.h",
+ "android/hardware/gnss/1.0/GnssMeasurement.vts.h",
+ "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssNavigationMessage.vts.h",
+ "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssNi.vts.h",
+ "android/hardware/gnss/1.0/GnssNiCallback.vts.h",
+ "android/hardware/gnss/1.0/GnssXtra.vts.h",
+ "android/hardware/gnss/1.0/GnssXtraCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.gnss@1.0-vts.profiler",
+ generated_sources: ["android.hardware.gnss@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.gnss@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.gnss@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.gnss@1.0",
+ ],
+}
diff --git a/gnss/1.0/Android.mk b/gnss/1.0/Android.mk
index 130c14e..98c547c 100644
--- a/gnss/1.0/Android.mk
+++ b/gnss/1.0/Android.mk
@@ -1046,5 +1046,58 @@
include $(BUILD_STATIC_JAVA_LIBRARY)
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.gnss@1.0-java-constants
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+#
+GEN := $(intermediates)/android/hardware/gnss/V1_0/Constants.java
+$(GEN): $(HIDL)
+$(GEN): $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/IAGnss.hal
+$(GEN): $(LOCAL_PATH)/IAGnssCallback.hal
+$(GEN): $(LOCAL_PATH)/IAGnssRil.hal
+$(GEN): $(LOCAL_PATH)/IAGnssRilCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnss.hal
+$(GEN): $(LOCAL_PATH)/IGnssBatching.hal
+$(GEN): $(LOCAL_PATH)/IGnssBatchingCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssConfiguration.hal
+$(GEN): $(LOCAL_PATH)/IGnssDebug.hal
+$(GEN): $(LOCAL_PATH)/IGnssGeofenceCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssGeofencing.hal
+$(GEN): $(LOCAL_PATH)/IGnssMeasurement.hal
+$(GEN): $(LOCAL_PATH)/IGnssMeasurementCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssNavigationMessage.hal
+$(GEN): $(LOCAL_PATH)/IGnssNavigationMessageCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssNi.hal
+$(GEN): $(LOCAL_PATH)/IGnssNiCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssXtra.hal
+$(GEN): $(LOCAL_PATH)/IGnssXtraCallback.hal
+
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava-constants \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.gnss@1.0
+
+$(GEN):
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+# Avoid dependency cycle of framework.jar -> this-library -> framework.jar
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/gnss/1.0/IGnssBatching.hal b/gnss/1.0/IGnssBatching.hal
index 4d5affa..6f2dde6 100644
--- a/gnss/1.0/IGnssBatching.hal
+++ b/gnss/1.0/IGnssBatching.hal
@@ -136,7 +136,8 @@
/**
* Closes the interface. If any batch operations are in progress,
- * they should be stopped.
+ * they must be stopped. If any locations are in the hardware batch, they
+ * must be deleted (and not sent via callback.)
*
* init() may be called again, after this, if the interface is to be restored
*/
diff --git a/gnss/1.0/default/Gnss.cpp b/gnss/1.0/default/Gnss.cpp
index 19e22c2..a2a99a0 100644
--- a/gnss/1.0/default/Gnss.cpp
+++ b/gnss/1.0/default/Gnss.cpp
@@ -28,6 +28,8 @@
std::vector<std::unique_ptr<ThreadFuncArgs>> Gnss::sThreadFuncArgsList;
sp<IGnssCallback> Gnss::sGnssCbIface = nullptr;
bool Gnss::sInterfaceExists = false;
+bool Gnss::sWakelockHeldGnss = false;
+bool Gnss::sWakelockHeldFused = false;
GpsCallbacks Gnss::sGnssCb = {
.size = sizeof(GpsCallbacks),
@@ -253,21 +255,62 @@
}
void Gnss::acquireWakelockCb() {
- if (sGnssCbIface == nullptr) {
- ALOGE("%s: GNSS Callback Interface configured incorrectly", __func__);
- return;
- }
-
- sGnssCbIface->gnssAcquireWakelockCb();
+ acquireWakelockGnss();
}
void Gnss::releaseWakelockCb() {
+ releaseWakelockGnss();
+}
+
+
+void Gnss::acquireWakelockGnss() {
+ sWakelockHeldGnss = true;
+ updateWakelock();
+}
+
+void Gnss::releaseWakelockGnss() {
+ sWakelockHeldGnss = false;
+ updateWakelock();
+}
+
+void Gnss::acquireWakelockFused() {
+ sWakelockHeldFused = true;
+ updateWakelock();
+}
+
+void Gnss::releaseWakelockFused() {
+ sWakelockHeldFused = false;
+ updateWakelock();
+}
+
+void Gnss::updateWakelock() {
+ // Track the state of the last request - in case the wake lock in the layer above is reference
+ // counted.
+ static bool sWakelockHeld = false;
+
if (sGnssCbIface == nullptr) {
ALOGE("%s: GNSS Callback Interface configured incorrectly", __func__);
return;
}
- sGnssCbIface->gnssReleaseWakelockCb();
+ if (sWakelockHeldGnss || sWakelockHeldFused) {
+ if (!sWakelockHeld) {
+ ALOGI("%s: GNSS HAL Wakelock acquired due to gps: %d, fused: %d", __func__,
+ sWakelockHeldGnss, sWakelockHeldFused);
+ sWakelockHeld = true;
+ sGnssCbIface->gnssAcquireWakelockCb();
+ }
+ } else {
+ if (sWakelockHeld) {
+ ALOGI("%s: GNSS HAL Wakelock released", __func__);
+ } else {
+ // To avoid burning power, always release, even if logic got here with sWakelock false
+ // which it shouldn't, unless underlying *.h implementation makes duplicate requests.
+ ALOGW("%s: GNSS HAL Wakelock released, duplicate request", __func__);
+ }
+ sWakelockHeld = false;
+ sGnssCbIface->gnssReleaseWakelockCb();
+ }
}
void Gnss::requestUtcTimeCb() {
@@ -541,8 +584,26 @@
if (mGnssIface == nullptr) {
ALOGE("%s: Gnss interface is unavailable", __func__);
} else {
- // TODO(b/34133439): actually get an flpLocationIface
+ hw_module_t* module;
const FlpLocationInterface* flpLocationIface = nullptr;
+ int err = hw_get_module(FUSED_LOCATION_HARDWARE_MODULE_ID, (hw_module_t const**)&module);
+
+ if (err != 0) {
+ ALOGE("gnss flp hw_get_module failed: %d", err);
+ } else if (module == nullptr) {
+ ALOGE("Fused Location hw_get_module returned null module");
+ } else if (module->methods == nullptr) {
+ ALOGE("Fused Location hw_get_module returned null methods");
+ } else {
+ hw_device_t* device;
+ err = module->methods->open(module, FUSED_LOCATION_HARDWARE_MODULE_ID, &device);
+ if (err != 0) {
+ ALOGE("flpDevice open failed: %d", err);
+ } else {
+ flp_device_t * flpDevice = reinterpret_cast<flp_device_t*>(device);
+ flpLocationIface = flpDevice->get_flp_interface(flpDevice);
+ }
+ }
if (flpLocationIface == nullptr) {
ALOGE("%s: GnssBatching interface is not implemented by HAL", __func__);
@@ -550,7 +611,6 @@
mGnssBatching = new GnssBatching(flpLocationIface);
}
}
-
return mGnssBatching;
}
diff --git a/gnss/1.0/default/Gnss.h b/gnss/1.0/default/Gnss.h
index 36947c1..63614fa 100644
--- a/gnss/1.0/default/Gnss.h
+++ b/gnss/1.0/default/Gnss.h
@@ -53,7 +53,6 @@
* IGnssCallback interface to be passed into the conventional implementation of the GNSS HAL.
*/
struct Gnss : public IGnss {
- // TODO: Add flp_device_t, either in ctor, or later attach?
Gnss(gps_device_t* gnss_device);
~Gnss();
@@ -109,11 +108,27 @@
static void setSystemInfoCb(const LegacyGnssSystemInfo* info);
/*
+ * Wakelock consolidation, only needed for dual use of a gps.h & fused_location.h HAL
+ *
+ * Ensures that if the last call from either legacy .h was to acquire a wakelock, that a
+ * wakelock is held. Otherwise releases it.
+ */
+ static void acquireWakelockFused();
+ static void releaseWakelockFused();
+
+ /*
* Holds function pointers to the callback methods.
*/
static GpsCallbacks sGnssCb;
private:
+ // for wakelock consolidation, see above
+ static void acquireWakelockGnss();
+ static void releaseWakelockGnss();
+ static void updateWakelock();
+ static bool sWakelockHeldGnss;
+ static bool sWakelockHeldFused;
+
sp<GnssXtra> mGnssXtraIface = nullptr;
sp<AGnssRil> mGnssRil = nullptr;
sp<GnssGeofencing> mGnssGeofencingIface = nullptr;
diff --git a/gnss/1.0/default/GnssBatching.cpp b/gnss/1.0/default/GnssBatching.cpp
index 404b5da..95c5e60 100644
--- a/gnss/1.0/default/GnssBatching.cpp
+++ b/gnss/1.0/default/GnssBatching.cpp
@@ -1,4 +1,27 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "GnssHAL_GnssBatchingInterface"
+
#include "GnssBatching.h"
+#include <Gnss.h> // for wakelock consolidation
+#include <GnssUtils.h>
+
+#include <cutils/log.h> // for ALOGE
+#include <vector>
namespace android {
namespace hardware {
@@ -6,38 +29,189 @@
namespace V1_0 {
namespace implementation {
-GnssBatching::GnssBatching(const FlpLocationInterface* flpLocationIface) :
- mFlpLocationIface(flpLocationIface) {}
+sp<IGnssBatchingCallback> GnssBatching::sGnssBatchingCbIface = nullptr;
+bool GnssBatching::sFlpSupportsBatching = false;
+FlpCallbacks GnssBatching::sFlpCb = {
+ .size = sizeof(FlpCallbacks),
+ .location_cb = locationCb,
+ .acquire_wakelock_cb = acquireWakelockCb,
+ .release_wakelock_cb = releaseWakelockCb,
+ .set_thread_event_cb = setThreadEventCb,
+ .flp_capabilities_cb = flpCapabilitiesCb,
+ .flp_status_cb = flpStatusCb,
+};
+
+GnssBatching::GnssBatching(const FlpLocationInterface* flpLocationIface) :
+ mFlpLocationIface(flpLocationIface) {
+}
+
+/*
+ * This enum is used locally by various methods below. It is only used by the default
+ * implementation and is not part of the GNSS interface.
+ */
+enum BatchingValues : uint16_t {
+ // Numbers 0-3 were used in earlier implementations - using 4 to be distinct to the HAL
+ FLP_GNSS_BATCHING_CLIENT_ID = 4,
+ // Tech. mask of GNSS, and sensor aiding, for legacy HAL to fit with GnssBatching API
+ FLP_TECH_MASK_GNSS_AND_SENSORS = FLP_TECH_MASK_GNSS | FLP_TECH_MASK_SENSORS,
+ // Putting a cap to avoid possible memory issues. Unlikely values this high are supported.
+ MAX_LOCATIONS_PER_BATCH = 1000
+};
+
+void GnssBatching::locationCb(int32_t locationsCount, FlpLocation** locations) {
+ if (sGnssBatchingCbIface == nullptr) {
+ ALOGE("%s: GNSS Batching Callback Interface configured incorrectly", __func__);
+ return;
+ }
+
+ if (locations == nullptr) {
+ ALOGE("%s: Invalid locations from GNSS HAL", __func__);
+ return;
+ }
+
+ if (locationsCount < 0) {
+ ALOGE("%s: Negative location count: %d set to 0", __func__, locationsCount);
+ locationsCount = 0;
+ } else if (locationsCount > MAX_LOCATIONS_PER_BATCH) {
+ ALOGW("%s: Unexpected high location count: %d set to %d", __func__, locationsCount,
+ MAX_LOCATIONS_PER_BATCH);
+ locationsCount = MAX_LOCATIONS_PER_BATCH;
+ }
+
+ /**
+ * Note:
+ * Some existing implementations may drop duplicate locations. These could be expanded here
+ * but as there's ambiguity between no-GPS-fix vs. dropped duplicates in that implementation,
+ * and that's not specified by the fused_location.h, that isn't safe to do here.
+ * Fortunately, this shouldn't be a major issue in cases where GNSS batching is typically
+ * used (e.g. when user is likely in vehicle/bicycle.)
+ */
+ std::vector<android::hardware::gnss::V1_0::GnssLocation> gnssLocations;
+ for (int iLocation = 0; iLocation < locationsCount; iLocation++) {
+ if (locations[iLocation] == nullptr) {
+ ALOGE("%s: Null location at slot: %d of %d, skipping", __func__, iLocation,
+ locationsCount);
+ continue;
+ }
+ if ((locations[iLocation]->sources_used & ~FLP_TECH_MASK_GNSS_AND_SENSORS) != 0)
+ {
+ ALOGE("%s: Unrequested location type %d at slot: %d of %d, skipping", __func__,
+ locations[iLocation]->sources_used, iLocation, locationsCount);
+ continue;
+ }
+ gnssLocations.push_back(convertToGnssLocation(locations[iLocation]));
+ }
+
+ sGnssBatchingCbIface->gnssLocationBatchCb(gnssLocations);
+}
+
+void GnssBatching::acquireWakelockCb() {
+ Gnss::acquireWakelockFused();
+}
+
+void GnssBatching::releaseWakelockCb() {
+ Gnss::releaseWakelockFused();
+}
+
+// this can just return success, because threads are now set up on demand in the jni layer
+int32_t GnssBatching::setThreadEventCb(ThreadEvent event) {
+ return FLP_RESULT_SUCCESS;
+}
+
+void GnssBatching::flpCapabilitiesCb(int32_t capabilities) {
+ ALOGD("%s capabilities %d", __func__, capabilities);
+
+ if (capabilities & CAPABILITY_GNSS) {
+ // once callback is received and capabilities high enough, we know version is
+ // high enough for flush()
+ sFlpSupportsBatching = true;
+ }
+}
+
+void GnssBatching::flpStatusCb(int32_t status) {
+ ALOGD("%s (default implementation) not forwarding status: %d", __func__, status);
+}
// Methods from ::android::hardware::gnss::V1_0::IGnssBatching follow.
Return<bool> GnssBatching::init(const sp<IGnssBatchingCallback>& callback) {
- // TODO(b/34133439) implement
- return false;
+ if (mFlpLocationIface == nullptr) {
+ ALOGE("%s: Flp batching is unavailable", __func__);
+ return false;
+ }
+
+ sGnssBatchingCbIface = callback;
+
+ return (mFlpLocationIface->init(&sFlpCb) == 0);
}
Return<uint16_t> GnssBatching::getBatchSize() {
- // TODO(b/34133439) implement
- return 0;
+ if (mFlpLocationIface == nullptr) {
+ ALOGE("%s: Flp batching interface is unavailable", __func__);
+ return 0;
+ }
+
+ return mFlpLocationIface->get_batch_size();
}
Return<bool> GnssBatching::start(const IGnssBatching::Options& options) {
- // TODO(b/34133439) implement
- return false;
+ if (mFlpLocationIface == nullptr) {
+ ALOGE("%s: Flp batching interface is unavailable", __func__);
+ return false;
+ }
+
+ if (!sFlpSupportsBatching) {
+ ALOGE("%s: Flp batching interface not supported, no capabilities callback received",
+ __func__);
+ return false;
+ }
+
+ FlpBatchOptions optionsHw;
+ // Legacy code used 9999 mW for High accuracy, and 21 mW for balanced.
+ // New GNSS API just expects reasonable GNSS chipset behavior - do something efficient
+ // given the interval. This 100 mW limit should be quite sufficient (esp. given legacy code
+ // implementations may not even use this value.)
+ optionsHw.max_power_allocation_mW = 100;
+ optionsHw.sources_to_use = FLP_TECH_MASK_GNSS_AND_SENSORS;
+ optionsHw.flags = 0;
+ if (options.flags & Flag::WAKEUP_ON_FIFO_FULL) {
+ optionsHw.flags |= FLP_BATCH_WAKEUP_ON_FIFO_FULL;
+ }
+ optionsHw.period_ns = options.periodNanos;
+ optionsHw.smallest_displacement_meters = 0; // Zero offset - just use time interval
+
+ return (mFlpLocationIface->start_batching(FLP_GNSS_BATCHING_CLIENT_ID, &optionsHw)
+ == FLP_RESULT_SUCCESS);
}
Return<void> GnssBatching::flush() {
- // TODO(b/34133439) implement
+ if (mFlpLocationIface == nullptr) {
+ ALOGE("%s: Flp batching interface is unavailable", __func__);
+ return Void();
+ }
+
+ mFlpLocationIface->flush_batched_locations();
+
return Void();
}
Return<bool> GnssBatching::stop() {
- // TODO(b/34133439) implement
- return false;
+ if (mFlpLocationIface == nullptr) {
+ ALOGE("%s: Flp batching interface is unavailable", __func__);
+ return false;
+ }
+
+ return (mFlpLocationIface->stop_batching(FLP_GNSS_BATCHING_CLIENT_ID) == FLP_RESULT_SUCCESS);
}
Return<void> GnssBatching::cleanup() {
- // TODO(b/34133439) implement
+ if (mFlpLocationIface == nullptr) {
+ ALOGE("%s: Flp batching interface is unavailable", __func__);
+ return Void();
+ }
+
+ mFlpLocationIface->cleanup();
+
return Void();
}
diff --git a/gnss/1.0/default/GnssBatching.h b/gnss/1.0/default/GnssBatching.h
index ac3aa99..001c27d 100644
--- a/gnss/1.0/default/GnssBatching.h
+++ b/gnss/1.0/default/GnssBatching.h
@@ -6,7 +6,6 @@
#include <hidl/MQDescriptor.h>
#include <hidl/Status.h>
-
namespace android {
namespace hardware {
namespace gnss {
@@ -35,8 +34,26 @@
Return<bool> stop() override;
Return<void> cleanup() override;
+ /*
+ * Callback methods to be passed into the conventional FLP HAL by the default
+ * implementation. These methods are not part of the IGnssBatching base class.
+ */
+ static void locationCb(int32_t locationsCount, FlpLocation** locations);
+ static void acquireWakelockCb();
+ static void releaseWakelockCb();
+ static int32_t setThreadEventCb(ThreadEvent event);
+ static void flpCapabilitiesCb(int32_t capabilities);
+ static void flpStatusCb(int32_t status);
+
+ /*
+ * Holds function pointers to the callback methods.
+ */
+ static FlpCallbacks sFlpCb;
+
private:
const FlpLocationInterface* mFlpLocationIface = nullptr;
+ static sp<IGnssBatchingCallback> sGnssBatchingCbIface;
+ static bool sFlpSupportsBatching;
};
extern "C" IGnssBatching* HIDL_FETCH_IGnssBatching(const char* name);
diff --git a/gnss/1.0/default/GnssUtils.cpp b/gnss/1.0/default/GnssUtils.cpp
index 82a516b..d9956d6 100644
--- a/gnss/1.0/default/GnssUtils.cpp
+++ b/gnss/1.0/default/GnssUtils.cpp
@@ -51,6 +51,28 @@
return gnssLocation;
}
+GnssLocation convertToGnssLocation(FlpLocation* location) {
+ GnssLocation gnssLocation = {};
+ if (location != nullptr) {
+ gnssLocation = {
+ // Bit mask applied (and 0's below) for same reason as above with GpsLocation
+ .gnssLocationFlags = static_cast<uint16_t>(location->flags & 0x1f),
+ .latitudeDegrees = location->latitude,
+ .longitudeDegrees = location->longitude,
+ .altitudeMeters = location->altitude,
+ .speedMetersPerSec = location->speed,
+ .bearingDegrees = location->bearing,
+ .horizontalAccuracyMeters = location->accuracy,
+ .verticalAccuracyMeters = 0,
+ .speedAccuracyMetersPerSecond = 0,
+ .bearingAccuracyDegrees = 0,
+ .timestamp = location->timestamp
+ };
+ }
+
+ return gnssLocation;
+}
+
} // namespace implementation
} // namespace V1_0
} // namespace gnss
diff --git a/gnss/1.0/default/GnssUtils.h b/gnss/1.0/default/GnssUtils.h
index fc2f547..38d4b2d 100644
--- a/gnss/1.0/default/GnssUtils.h
+++ b/gnss/1.0/default/GnssUtils.h
@@ -16,6 +16,7 @@
#ifndef android_hardware_gnss_V1_0_GnssUtil_H_
#define android_hardware_gnss_V1_0_GnssUtil_H_
+#include <hardware/fused_location.h>
#include <hardware/gps.h>
#include <android/hardware/gnss/1.0/types.h>
@@ -31,6 +32,12 @@
*/
GnssLocation convertToGnssLocation(GpsLocation* location);
+/*
+ * This method converts an FlpLocation struct to a GnssLocation
+ * struct.
+ */
+GnssLocation convertToGnssLocation(FlpLocation* location);
+
} // namespace implementation
} // namespace V1_0
} // namespace gnss
diff --git a/graphics/Android.bp b/graphics/Android.bp
index 6d55dd1..eaa47ae 100644
--- a/graphics/Android.bp
+++ b/graphics/Android.bp
@@ -6,6 +6,7 @@
"common/1.0",
"composer/2.1",
"composer/2.1/default",
+ "composer/2.1/vts/functional",
"mapper/2.0",
"mapper/2.0/default",
"mapper/2.0/vts/functional",
diff --git a/graphics/allocator/2.0/Android.bp b/graphics/allocator/2.0/Android.bp
index 48db3e9..16d8f91 100644
--- a/graphics/allocator/2.0/Android.bp
+++ b/graphics/allocator/2.0/Android.bp
@@ -130,84 +130,42 @@
}
genrule {
- name: "android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler_genc++",
+ name: "android.hardware.graphics.allocator@2.0-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.allocator@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
srcs: [
- "IAllocator.hal",
"types.hal",
+ "IAllocator.hal",
+ "IAllocatorClient.hal",
],
out: [
+ "android/hardware/graphics/allocator/2.0/types.vts.cpp",
"android/hardware/graphics/allocator/2.0/Allocator.vts.cpp",
- "android/hardware/graphics/allocator/2.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.allocator@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
- srcs: [
- "IAllocator.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/graphics/allocator/2.0/Allocator.vts.h",
- "android/hardware/graphics/allocator/2.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler",
- generated_sources: ["android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler_genc++"],
- generated_headers: ["android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hardware.graphics.common@1.0",
- "android.hidl.base@1.0",
- "android.hardware.graphics.allocator@2.0",
- ],
-}
-
-genrule {
- name: "android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.allocator@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
- srcs: [
- "IAllocatorClient.hal",
- "types.hal",
- ],
- out: [
"android/hardware/graphics/allocator/2.0/AllocatorClient.vts.cpp",
- "android/hardware/graphics/allocator/2.0/types.vts.cpp",
],
}
genrule {
- name: "android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler_genc++_headers",
+ name: "android.hardware.graphics.allocator@2.0-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.allocator@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
srcs: [
- "IAllocatorClient.hal",
"types.hal",
+ "IAllocator.hal",
+ "IAllocatorClient.hal",
],
out: [
- "android/hardware/graphics/allocator/2.0/AllocatorClient.vts.h",
"android/hardware/graphics/allocator/2.0/types.vts.h",
+ "android/hardware/graphics/allocator/2.0/Allocator.vts.h",
+ "android/hardware/graphics/allocator/2.0/AllocatorClient.vts.h",
],
}
cc_library_shared {
- name: "android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler",
- generated_sources: ["android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler_genc++"],
- generated_headers: ["android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler_genc++_headers"],
+ name: "android.hardware.graphics.allocator@2.0-vts.profiler",
+ generated_sources: ["android.hardware.graphics.allocator@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.graphics.allocator@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.allocator@2.0-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/graphics/allocator/2.0/vts/Android.mk b/graphics/allocator/2.0/vts/Android.mk
deleted file mode 100644
index 00fd344..0000000
--- a/graphics/allocator/2.0/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(LOCAL_PATH)/functional/vts/testcases/hal/graphics/allocator/hidl/target/Android.mk
diff --git a/graphics/allocator/2.0/vts/functional/vts/testcases/hal/graphics/allocator/hidl/target/Android.mk b/graphics/allocator/2.0/vts/functional/vts/testcases/hal/graphics/allocator/hidl/target/Android.mk
deleted file mode 100644
index 2c1617f..0000000
--- a/graphics/allocator/2.0/vts/functional/vts/testcases/hal/graphics/allocator/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalGraphicsAllocatorHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/graphics/allocator/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/graphics/allocator/2.0/vts/functional/vts/testcases/hal/graphics/allocator/hidl/target/AndroidTest.xml b/graphics/allocator/2.0/vts/functional/vts/testcases/hal/graphics/allocator/hidl/target/AndroidTest.xml
deleted file mode 100644
index 4ef2e95..0000000
--- a/graphics/allocator/2.0/vts/functional/vts/testcases/hal/graphics/allocator/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Graphics Allocator HIDL HAL's basic target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalGraphicsAllocatorHidlTargetTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/graphics_allocator_hidl_hal_test/graphics_allocator_hidl_hal_test,
- _64bit::DATA/nativetest64/graphics_allocator_hidl_hal_test/graphics_allocator_hidl_hal_test,
- " />
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
diff --git a/graphics/common/1.0/Android.bp b/graphics/common/1.0/Android.bp
index b67afd1..1d00506 100644
--- a/graphics/common/1.0/Android.bp
+++ b/graphics/common/1.0/Android.bp
@@ -44,3 +44,95 @@
"libutils",
],
}
+
+genrule {
+ name: "android.hardware.graphics.common.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.common@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/graphics/common/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.common.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.common@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/graphics/common/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.common.vts.driver@1.0",
+ generated_sources: ["android.hardware.graphics.common.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.graphics.common.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.common.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.common@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.common@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.common@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/graphics/common/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.common@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.common@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/graphics/common/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.common@1.0-vts.profiler",
+ generated_sources: ["android.hardware.graphics.common@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.graphics.common@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.common@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.common@1.0",
+ ],
+}
diff --git a/graphics/composer/2.1/Android.bp b/graphics/composer/2.1/Android.bp
index 7216c0f..bda8aae 100644
--- a/graphics/composer/2.1/Android.bp
+++ b/graphics/composer/2.1/Android.bp
@@ -72,3 +72,125 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.graphics.composer.vts.driver@2.1_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.composer@2.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+ srcs: [
+ "types.hal",
+ "IComposer.hal",
+ "IComposerCallback.hal",
+ "IComposerClient.hal",
+ ],
+ out: [
+ "android/hardware/graphics/composer/2.1/types.vts.cpp",
+ "android/hardware/graphics/composer/2.1/Composer.vts.cpp",
+ "android/hardware/graphics/composer/2.1/ComposerCallback.vts.cpp",
+ "android/hardware/graphics/composer/2.1/ComposerClient.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.composer.vts.driver@2.1_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.composer@2.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+ srcs: [
+ "types.hal",
+ "IComposer.hal",
+ "IComposerCallback.hal",
+ "IComposerClient.hal",
+ ],
+ out: [
+ "android/hardware/graphics/composer/2.1/types.vts.h",
+ "android/hardware/graphics/composer/2.1/Composer.vts.h",
+ "android/hardware/graphics/composer/2.1/ComposerCallback.vts.h",
+ "android/hardware/graphics/composer/2.1/ComposerClient.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.composer.vts.driver@2.1",
+ generated_sources: ["android.hardware.graphics.composer.vts.driver@2.1_genc++"],
+ generated_headers: ["android.hardware.graphics.composer.vts.driver@2.1_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.composer.vts.driver@2.1_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ "android.hardware.graphics.composer@2.1",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.composer@2.1-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.composer@2.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+ srcs: [
+ "types.hal",
+ "IComposer.hal",
+ "IComposerCallback.hal",
+ "IComposerClient.hal",
+ ],
+ out: [
+ "android/hardware/graphics/composer/2.1/types.vts.cpp",
+ "android/hardware/graphics/composer/2.1/Composer.vts.cpp",
+ "android/hardware/graphics/composer/2.1/ComposerCallback.vts.cpp",
+ "android/hardware/graphics/composer/2.1/ComposerClient.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.composer@2.1-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.composer@2.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+ srcs: [
+ "types.hal",
+ "IComposer.hal",
+ "IComposerCallback.hal",
+ "IComposerClient.hal",
+ ],
+ out: [
+ "android/hardware/graphics/composer/2.1/types.vts.h",
+ "android/hardware/graphics/composer/2.1/Composer.vts.h",
+ "android/hardware/graphics/composer/2.1/ComposerCallback.vts.h",
+ "android/hardware/graphics/composer/2.1/ComposerClient.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.composer@2.1-vts.profiler",
+ generated_sources: ["android.hardware.graphics.composer@2.1-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.graphics.composer@2.1-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.composer@2.1-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ "android.hardware.graphics.composer@2.1",
+ ],
+}
diff --git a/boot/1.0/vts/functional/Android.mk b/graphics/composer/2.1/Android.mk
similarity index 100%
rename from boot/1.0/vts/functional/Android.mk
rename to graphics/composer/2.1/Android.mk
diff --git a/graphics/composer/2.1/IComposer.hal b/graphics/composer/2.1/IComposer.hal
index 771fc7d..553a537 100644
--- a/graphics/composer/2.1/IComposer.hal
+++ b/graphics/composer/2.1/IComposer.hal
@@ -53,6 +53,9 @@
*
* @return capabilities is a list of supported capabilities.
*/
+ @entry
+ @exit
+ @callflow(next="*")
getCapabilities() generates (vec<Capability> capabilities);
/*
@@ -61,6 +64,9 @@
*
* @return debugInfo is a string of debug information.
*/
+ @entry
+ @exit
+ @callflow(next="*")
dumpDebugInfo() generates (string debugInfo);
/*
@@ -73,5 +79,7 @@
* NO_RESOURCES when no more client can be created currently.
* @return client is the newly created client.
*/
+ @entry
+ @callflow(next="*")
createClient() generates (Error error, IComposerClient client);
};
diff --git a/graphics/composer/2.1/IComposerCallback.hal b/graphics/composer/2.1/IComposerCallback.hal
index a8ca168..541d7eb 100644
--- a/graphics/composer/2.1/IComposerCallback.hal
+++ b/graphics/composer/2.1/IComposerCallback.hal
@@ -44,6 +44,7 @@
* @param connected indicates whether the display is connected or
* disconnected.
*/
+ @callflow(next="*")
onHotplug(Display display, Connection connected);
/*
@@ -57,6 +58,7 @@
*
* @param display is the display to refresh.
*/
+ @callflow(next="*")
oneway onRefresh(Display display);
/*
@@ -68,5 +70,6 @@
* @param timestamp is the CLOCK_MONOTONIC time at which the vsync event
* occurred, in nanoseconds.
*/
+ @callflow(next="*")
oneway onVsync(Display display, int64_t timestamp);
};
diff --git a/graphics/composer/2.1/IComposerClient.hal b/graphics/composer/2.1/IComposerClient.hal
index b0bd837..107ac5e 100644
--- a/graphics/composer/2.1/IComposerClient.hal
+++ b/graphics/composer/2.1/IComposerClient.hal
@@ -240,6 +240,8 @@
*
* @param callback is the IComposerCallback object.
*/
+ @entry
+ @callflow(next="*")
registerCallback(IComposerCallback callback);
/*
@@ -250,6 +252,7 @@
*
* @return count is the maximum number of virtual displays supported.
*/
+ @callflow(next="*")
getMaxVirtualDisplayCount() generates (uint32_t count);
/*
@@ -274,6 +277,7 @@
* @return display is the newly-created virtual display.
* @return format is the format of the buffer the device will produce.
*/
+ @callflow(next="*")
createVirtualDisplay(uint32_t width,
uint32_t height,
PixelFormat formatHint,
@@ -293,6 +297,7 @@
* BAD_PARAMETER when the display handle which was passed in does
* not refer to a virtual display.
*/
+ @callflow(next="*")
destroyVirtualDisplay(Display display) generates (Error error);
/*
@@ -306,6 +311,7 @@
* time.
* @return layer is the handle of the new layer.
*/
+ @callflow(next="*")
createLayer(Display display,
uint32_t bufferSlotCount)
generates (Error error,
@@ -320,6 +326,7 @@
* BAD_DISPLAY when an invalid display handle was passed in.
* BAD_LAYER when an invalid layer handle was passed in.
*/
+ @callflow(next="*")
destroyLayer(Display display, Layer layer) generates (Error error);
/*
@@ -336,6 +343,7 @@
* BAD_CONFIG when no configuration is currently active.
* @return config is the currently active display configuration.
*/
+ @callflow(next="*")
getActiveConfig(Display display) generates (Error error, Config config);
/*
@@ -357,6 +365,7 @@
* BAD_DISPLAY when an invalid display handle was passed in.
* UNSUPPORTED when the given configuration is not supported.
*/
+ @callflow(next="*")
getClientTargetSupport(Display display,
uint32_t width,
uint32_t height,
@@ -374,6 +383,7 @@
* BAD_DISPLAY when an invalid display handle was passed in.
* @return modes is an array of color modes.
*/
+ @callflow(next="*")
getColorModes(Display display)
generates (Error error,
vec<ColorMode> modes);
@@ -393,6 +403,7 @@
* UNSUPPORTED when attribute cannot be queried for the config.
* @return value is the value of the attribute.
*/
+ @callflow(next="*")
getDisplayAttribute(Display display,
Config config,
Attribute attribute)
@@ -408,6 +419,7 @@
* BAD_DISPLAY when an invalid display handle was passed in.
* @return configs is an array of configuration handles.
*/
+ @callflow(next="*")
getDisplayConfigs(Display display)
generates (Error error,
vec<Config> configs);
@@ -419,6 +431,7 @@
* BAD_DISPLAY when an invalid display handle was passed in.
* @return name is the name of the display.
*/
+ @callflow(next="*")
getDisplayName(Display display) generates (Error error, string name);
/*
@@ -429,6 +442,7 @@
* BAD_DISPLAY when an invalid display handle was passed in.
* @return type is the type of the display.
*/
+ @callflow(next="*")
getDisplayType(Display display) generates (Error error, DisplayType type);
/*
@@ -443,6 +457,7 @@
* BAD_DISPLAY when an invalid display handle was passed in.
* @return support is true only when the display supports doze modes.
*/
+ @callflow(next="*")
getDozeSupport(Display display) generates (Error error, bool support);
/*
@@ -463,6 +478,7 @@
* @return minLuminance is the desired content minimum luminance for this
* display in cd/m^2.
*/
+ @callflow(next="*")
getHdrCapabilities(Display display)
generates (Error error,
vec<Hdr> types,
@@ -479,6 +495,7 @@
* BAD_DISPLAY when an invalid display handle was passed in.
* NO_RESOURCES when unable to reserve the slots.
*/
+ @callflow(next="*")
setClientTargetSlotCount(Display display,
uint32_t clientTargetSlotCount)
generates (Error error);
@@ -495,6 +512,7 @@
* BAD_CONFIG when the configuration handle passed in is not valid
* for this display.
*/
+ @callflow(next="*")
setActiveConfig(Display display, Config config) generates (Error error);
/*
@@ -513,6 +531,7 @@
* BAD_PARAMETER when mode is not a valid color mode.
* UNSUPPORTED when mode is not supported on this display.
*/
+ @callflow(next="*")
setColorMode(Display display, ColorMode mode) generates (Error error);
/*
@@ -531,6 +550,7 @@
* BAD_PARAMETER when mode was not a valid power mode.
* UNSUPPORTED when mode is not supported on this display.
*/
+ @callflow(next="*")
setPowerMode(Display display, PowerMode mode) generates (Error error);
/*
@@ -545,6 +565,7 @@
* BAD_DISPLAY when an invalid display handle was passed in.
* BAD_PARAMETER when enabled was an invalid value.
*/
+ @callflow(next="*")
setVsyncEnabled(Display display, Vsync enabled) generates (Error error);
/*
@@ -554,6 +575,7 @@
* @return error is NONE upon success. Otherwise,
* NO_RESOURCES when failed to set the queue temporarily.
*/
+ @callflow(next="*")
setInputCommandQueue(fmq_sync<uint32_t> descriptor)
generates (Error error);
@@ -566,6 +588,7 @@
* NO_RESOURCES when failed to get the queue temporarily.
* @return descriptor is the descriptor of the output command queue.
*/
+ @callflow(next="*")
getOutputCommandQueue()
generates (Error error,
fmq_sync<uint32_t> descriptor);
@@ -589,6 +612,7 @@
* @param outHandles is an array of handles referenced by the output
* commands.
*/
+ @callflow(next="*")
executeCommands(uint32_t inLength,
vec<handle> inHandles)
generates (Error error,
diff --git a/graphics/composer/2.1/default/Android.bp b/graphics/composer/2.1/default/Android.bp
index a366fa2..46cd0c4 100644
--- a/graphics/composer/2.1/default/Android.bp
+++ b/graphics/composer/2.1/default/Android.bp
@@ -2,7 +2,6 @@
name: "libhwcomposer-client",
export_include_dirs: ["."],
srcs: ["ComposerClient.cpp"],
- cppflags: ["-DBINDERIZED"],
shared_libs: [
"android.hardware.graphics.allocator@2.0",
"android.hardware.graphics.composer@2.1",
@@ -22,7 +21,8 @@
cc_library_shared {
name: "android.hardware.graphics.composer@2.1-impl",
relative_install_path: "hw",
- srcs: ["Hwc.cpp", "ComposerClient.cpp"],
+ srcs: ["Hwc.cpp"],
+ static_libs: ["libhwcomposer-client"],
shared_libs: [
"android.hardware.graphics.allocator@2.0",
"android.hardware.graphics.composer@2.1",
@@ -42,13 +42,9 @@
cc_binary {
name: "android.hardware.graphics.composer@2.1-service",
relative_install_path: "hw",
- srcs: ["service.cpp", "Hwc.cpp"],
- cppflags: ["-DBINDERIZED"],
+ srcs: ["service.cpp"],
init_rc: ["android.hardware.graphics.composer@2.1-service.rc"],
-
- static_libs: [
- "libhwcomposer-client",
- ],
+ static_libs: ["libhwcomposer-client"],
shared_libs: [
"android.hardware.graphics.allocator@2.0",
"android.hardware.graphics.composer@2.1",
diff --git a/graphics/composer/2.1/default/ComposerClient.cpp b/graphics/composer/2.1/default/ComposerClient.cpp
index 49415ee..7a2cb25 100644
--- a/graphics/composer/2.1/default/ComposerClient.cpp
+++ b/graphics/composer/2.1/default/ComposerClient.cpp
@@ -99,7 +99,6 @@
// Some existing gralloc drivers do not support retaining more than once,
// when we are in passthrough mode.
-#ifdef BINDERIZED
bool openGralloc()
{
const hw_module_t* module = nullptr;
@@ -188,12 +187,6 @@
// gralloc0
const gralloc_module_t* mModule;
-#else
- bool openGralloc() { return true; }
- void closeGralloc() {}
- buffer_handle_t cloneBuffer(buffer_handle_t handle) { return handle; }
- void releaseBuffer(buffer_handle_t) {}
-#endif
};
HandleImporter sHandleImporter;
diff --git a/graphics/composer/2.1/default/service.cpp b/graphics/composer/2.1/default/service.cpp
index c2a2b19..a31decd 100644
--- a/graphics/composer/2.1/default/service.cpp
+++ b/graphics/composer/2.1/default/service.cpp
@@ -14,41 +14,20 @@
* limitations under the License.
*/
-#define LOG_TAG "HWComposerService"
+#define LOG_TAG "android.hardware.graphics.composer@2.1-service"
+
+#include <android/hardware/graphics/composer/2.1/IComposer.h>
#include <binder/ProcessState.h>
-#include <hidl/HidlTransportSupport.h>
-#include <utils/StrongPointer.h>
-#include "Hwc.h"
+#include <hidl/LegacySupport.h>
-using android::hardware::configureRpcThreadpool;
-using android::hardware::joinRpcThreadpool;
-using android::sp;
using android::hardware::graphics::composer::V2_1::IComposer;
-using android::hardware::graphics::composer::V2_1::implementation::HIDL_FETCH_IComposer;
+using android::hardware::defaultPassthroughServiceImplementation;
-int main()
-{
- const char instance[] = "hwcomposer";
-
- ALOGI("Service is starting.");
-
- configureRpcThreadpool(1, true /* callerWillJoin */);
- sp<IComposer> service = HIDL_FETCH_IComposer(instance);
- if (service == nullptr) {
- ALOGI("getService returned NULL");
- return -1;
- }
-
- LOG_FATAL_IF(service->isRemote(), "Service is REMOTE!");
-
- service->registerAsService(instance);
-
+int main() {
// the conventional HAL might start binder services
android::ProcessState::self()->setThreadPoolMaxThreadCount(4);
android::ProcessState::self()->startThreadPool();
- joinRpcThreadpool();
-
- return 0;
+ return defaultPassthroughServiceImplementation<IComposer>("hwcomposer");
}
diff --git a/graphics/composer/2.1/vts/Composer.vts b/graphics/composer/2.1/vts/Composer.vts
new file mode 100644
index 0000000..ee5c650
--- /dev/null
+++ b/graphics/composer/2.1/vts/Composer.vts
@@ -0,0 +1,87 @@
+component_class: HAL_HIDL
+component_type_version: 2.1
+component_name: "IComposer"
+
+package: "android.hardware.graphics.composer"
+
+import: "android.hardware.graphics.composer@2.1::IComposerClient"
+import: "android.hardware.graphics.composer@2.1::types"
+
+interface: {
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposer::Capability"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INVALID"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "SIDEBAND_STREAM"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "SKIP_CLIENT_COLOR_TRANSFORM"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+ }
+
+ api: {
+ name: "getCapabilities"
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::IComposer::Capability"
+ }
+ }
+ callflow: {
+ entry: true
+ }
+ callflow: {
+ exit: true
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "dumpDebugInfo"
+ return_type_hidl: {
+ type: TYPE_STRING
+ }
+ callflow: {
+ entry: true
+ }
+ callflow: {
+ exit: true
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "createClient"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_HIDL_INTERFACE
+ predefined_type: "IComposerClient"
+ is_callback: false
+ }
+ callflow: {
+ entry: true
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+}
diff --git a/graphics/composer/2.1/vts/ComposerCallback.vts b/graphics/composer/2.1/vts/ComposerCallback.vts
new file mode 100644
index 0000000..a5a2aa9
--- /dev/null
+++ b/graphics/composer/2.1/vts/ComposerCallback.vts
@@ -0,0 +1,72 @@
+component_class: HAL_HIDL
+component_type_version: 2.1
+component_name: "IComposerCallback"
+
+package: "android.hardware.graphics.composer"
+
+import: "android.hardware.graphics.composer@2.1::types"
+
+interface: {
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerCallback::Connection"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INVALID"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "CONNECTED"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "DISCONNECTED"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+ }
+
+ api: {
+ name: "onHotplug"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::IComposerCallback::Connection"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "onRefresh"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "onVsync"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int64_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+}
diff --git a/graphics/composer/2.1/vts/ComposerClient.vts b/graphics/composer/2.1/vts/ComposerClient.vts
new file mode 100644
index 0000000..db6b1ff
--- /dev/null
+++ b/graphics/composer/2.1/vts/ComposerClient.vts
@@ -0,0 +1,906 @@
+component_class: HAL_HIDL
+component_type_version: 2.1
+component_name: "IComposerClient"
+
+package: "android.hardware.graphics.composer"
+
+import: "android.hardware.graphics.common@1.0::types"
+import: "android.hardware.graphics.composer@2.1::IComposerCallback"
+import: "android.hardware.graphics.composer@2.1::types"
+
+interface: {
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::Attribute"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INVALID"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "WIDTH"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "HEIGHT"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "VSYNC_PERIOD"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "DPI_X"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "DPI_Y"
+ scalar_value: {
+ int32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::DisplayRequest"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "FLIP_CLIENT_TARGET"
+ scalar_value: {
+ uint32_t: 1
+ }
+ enumerator: "WRITE_CLIENT_TARGET_TO_OUTPUT"
+ scalar_value: {
+ uint32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::LayerRequest"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "uint32_t"
+
+ enumerator: "CLEAR_CLIENT_TARGET"
+ scalar_value: {
+ uint32_t: 1
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::PowerMode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "OFF"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "DOZE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "DOZE_SUSPEND"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "ON"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::Vsync"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INVALID"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "ENABLE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "DISABLE"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::BlendMode"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INVALID"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "PREMULTIPLIED"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "COVERAGE"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::Composition"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INVALID"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "CLIENT"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "DEVICE"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "SOLID_COLOR"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "CURSOR"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "SIDEBAND"
+ scalar_value: {
+ int32_t: 5
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::DisplayType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "INVALID"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "PHYSICAL"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "VIRTUAL"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::HandleIndex"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "EMPTY"
+ scalar_value: {
+ int32_t: -1
+ }
+ enumerator: "CACHED"
+ scalar_value: {
+ int32_t: -2
+ }
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::Rect"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "left"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "top"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "right"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "bottom"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::FRect"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "left"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "top"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "right"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ struct_value: {
+ name: "bottom"
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::Color"
+ type: TYPE_STRUCT
+ struct_value: {
+ name: "r"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "g"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "b"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ struct_value: {
+ name: "a"
+ type: TYPE_SCALAR
+ scalar_type: "uint8_t"
+ }
+ }
+
+ attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::IComposerClient::Command"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "LENGTH_MASK"
+ scalar_value: {
+ int32_t: 65535
+ }
+ enumerator: "OPCODE_SHIFT"
+ scalar_value: {
+ int32_t: 16
+ }
+ enumerator: "OPCODE_MASK"
+ scalar_value: {
+ int32_t: -65536
+ }
+ enumerator: "SELECT_DISPLAY"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "SELECT_LAYER"
+ scalar_value: {
+ int32_t: 65536
+ }
+ enumerator: "SET_ERROR"
+ scalar_value: {
+ int32_t: 16777216
+ }
+ enumerator: "SET_CHANGED_COMPOSITION_TYPES"
+ scalar_value: {
+ int32_t: 16842752
+ }
+ enumerator: "SET_DISPLAY_REQUESTS"
+ scalar_value: {
+ int32_t: 16908288
+ }
+ enumerator: "SET_PRESENT_FENCE"
+ scalar_value: {
+ int32_t: 16973824
+ }
+ enumerator: "SET_RELEASE_FENCES"
+ scalar_value: {
+ int32_t: 17039360
+ }
+ enumerator: "SET_COLOR_TRANSFORM"
+ scalar_value: {
+ int32_t: 33554432
+ }
+ enumerator: "SET_CLIENT_TARGET"
+ scalar_value: {
+ int32_t: 33619968
+ }
+ enumerator: "SET_OUTPUT_BUFFER"
+ scalar_value: {
+ int32_t: 33685504
+ }
+ enumerator: "VALIDATE_DISPLAY"
+ scalar_value: {
+ int32_t: 33751040
+ }
+ enumerator: "ACCEPT_DISPLAY_CHANGES"
+ scalar_value: {
+ int32_t: 33816576
+ }
+ enumerator: "PRESENT_DISPLAY"
+ scalar_value: {
+ int32_t: 33882112
+ }
+ enumerator: "SET_LAYER_CURSOR_POSITION"
+ scalar_value: {
+ int32_t: 50331648
+ }
+ enumerator: "SET_LAYER_BUFFER"
+ scalar_value: {
+ int32_t: 50397184
+ }
+ enumerator: "SET_LAYER_SURFACE_DAMAGE"
+ scalar_value: {
+ int32_t: 50462720
+ }
+ enumerator: "SET_LAYER_BLEND_MODE"
+ scalar_value: {
+ int32_t: 67108864
+ }
+ enumerator: "SET_LAYER_COLOR"
+ scalar_value: {
+ int32_t: 67174400
+ }
+ enumerator: "SET_LAYER_COMPOSITION_TYPE"
+ scalar_value: {
+ int32_t: 67239936
+ }
+ enumerator: "SET_LAYER_DATASPACE"
+ scalar_value: {
+ int32_t: 67305472
+ }
+ enumerator: "SET_LAYER_DISPLAY_FRAME"
+ scalar_value: {
+ int32_t: 67371008
+ }
+ enumerator: "SET_LAYER_PLANE_ALPHA"
+ scalar_value: {
+ int32_t: 67436544
+ }
+ enumerator: "SET_LAYER_SIDEBAND_STREAM"
+ scalar_value: {
+ int32_t: 67502080
+ }
+ enumerator: "SET_LAYER_SOURCE_CROP"
+ scalar_value: {
+ int32_t: 67567616
+ }
+ enumerator: "SET_LAYER_TRANSFORM"
+ scalar_value: {
+ int32_t: 67633152
+ }
+ enumerator: "SET_LAYER_VISIBLE_REGION"
+ scalar_value: {
+ int32_t: 67698688
+ }
+ enumerator: "SET_LAYER_Z_ORDER"
+ scalar_value: {
+ int32_t: 67764224
+ }
+ }
+ }
+
+ api: {
+ name: "registerCallback"
+ arg: {
+ type: TYPE_HIDL_CALLBACK
+ predefined_type: "IComposerCallback"
+ is_callback: true
+ }
+ callflow: {
+ entry: true
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getMaxVirtualDisplayCount"
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "createVirtualDisplay"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::common::V1_0::PixelFormat"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::common::V1_0::PixelFormat"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "destroyVirtualDisplay"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "createLayer"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "destroyLayer"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getActiveConfig"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getClientTargetSupport"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::common::V1_0::PixelFormat"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::common::V1_0::Dataspace"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getColorModes"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::common::V1_0::ColorMode"
+ }
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getDisplayAttribute"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::IComposerClient::Attribute"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getDisplayConfigs"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getDisplayName"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_STRING
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getDisplayType"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::IComposerClient::DisplayType"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getDozeSupport"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getHdrCapabilities"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::common::V1_0::Hdr"
+ }
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "float_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "setClientTargetSlotCount"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "setActiveConfig"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "setColorMode"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::common::V1_0::ColorMode"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "setPowerMode"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::IComposerClient::PowerMode"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "setVsyncEnabled"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint64_t"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::IComposerClient::Vsync"
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "setInputCommandQueue"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ arg: {
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "getOutputCommandQueue"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+ api: {
+ name: "executeCommands"
+ return_type_hidl: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ return_type_hidl: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ return_type_hidl: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_HANDLE
+ }
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "uint32_t"
+ }
+ arg: {
+ type: TYPE_VECTOR
+ vector_value: {
+ type: TYPE_HANDLE
+ }
+ }
+ callflow: {
+ next: "*"
+ }
+ }
+
+}
diff --git a/graphics/composer/2.1/vts/functional/Android.bp b/graphics/composer/2.1/vts/functional/Android.bp
new file mode 100644
index 0000000..c3f7636
--- /dev/null
+++ b/graphics/composer/2.1/vts/functional/Android.bp
@@ -0,0 +1,45 @@
+//
+// Copyright (C) 2016 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+cc_test {
+ name: "graphics_composer_hidl_hal_test",
+ gtest: true,
+ srcs: ["graphics_composer_hidl_hal_test.cpp"],
+ shared_libs: [
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.composer@2.1",
+ "android.hardware.graphics.mapper@2.0",
+ "libbase",
+ "libcutils",
+ "libfmq",
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libnativehelper",
+ "libsync",
+ "libutils",
+ ],
+ static_libs: ["libgtest", "libhwcomposer-command-buffer"],
+ cflags: [
+ "--coverage",
+ "-O0",
+ "-g",
+ ],
+ ldflags: [
+ "--coverage",
+ ],
+}
diff --git a/graphics/composer/2.1/vts/functional/graphics_composer_hidl_hal_test.cpp b/graphics/composer/2.1/vts/functional/graphics_composer_hidl_hal_test.cpp
new file mode 100644
index 0000000..e3e35bb
--- /dev/null
+++ b/graphics/composer/2.1/vts/functional/graphics_composer_hidl_hal_test.cpp
@@ -0,0 +1,1131 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "graphics_composer_hidl_hal_test"
+
+#include <IComposerCommandBuffer.h>
+#include <android-base/logging.h>
+#include <android/hardware/graphics/allocator/2.0/IAllocator.h>
+#include <android/hardware/graphics/composer/2.1/IComposer.h>
+#include <android/hardware/graphics/mapper/2.0/IMapper.h>
+
+#include <gtest/gtest.h>
+#include <unistd.h>
+
+#include <algorithm>
+#include <array>
+#include <memory>
+#include <mutex>
+#include <unordered_set>
+#include <vector>
+
+namespace android {
+namespace hardware {
+namespace graphics {
+namespace composer {
+namespace V2_1 {
+namespace tests {
+namespace {
+
+using android::hardware::graphics::allocator::V2_0::Buffer;
+using android::hardware::graphics::allocator::V2_0::BufferDescriptor;
+using android::hardware::graphics::allocator::V2_0::ConsumerUsage;
+using android::hardware::graphics::allocator::V2_0::IAllocator;
+using android::hardware::graphics::allocator::V2_0::IAllocatorClient;
+using android::hardware::graphics::allocator::V2_0::ProducerUsage;
+using android::hardware::graphics::common::V1_0::ColorMode;
+using android::hardware::graphics::common::V1_0::ColorTransform;
+using android::hardware::graphics::common::V1_0::Dataspace;
+using android::hardware::graphics::common::V1_0::PixelFormat;
+using android::hardware::graphics::common::V1_0::Transform;
+using android::hardware::graphics::mapper::V2_0::IMapper;
+using GrallocError = android::hardware::graphics::allocator::V2_0::Error;
+
+// IComposerCallback to be installed with IComposerClient::registerCallback.
+class GraphicsComposerCallback : public IComposerCallback {
+ public:
+ void setVsyncAllowed(bool allowed) {
+ std::lock_guard<std::mutex> lock(mMutex);
+ mVsyncAllowed = allowed;
+ }
+
+ std::vector<Display> getDisplays() const {
+ std::lock_guard<std::mutex> lock(mMutex);
+ return std::vector<Display>(mDisplays.begin(), mDisplays.end());
+ }
+
+ int getInvalidHotplugCount() const {
+ std::lock_guard<std::mutex> lock(mMutex);
+ return mInvalidHotplugCount;
+ }
+
+ int getInvalidRefreshCount() const {
+ std::lock_guard<std::mutex> lock(mMutex);
+ return mInvalidRefreshCount;
+ }
+
+ int getInvalidVsyncCount() const {
+ std::lock_guard<std::mutex> lock(mMutex);
+ return mInvalidVsyncCount;
+ }
+
+ private:
+ Return<void> onHotplug(Display display, Connection connection) override {
+ std::lock_guard<std::mutex> lock(mMutex);
+
+ if (connection == Connection::CONNECTED) {
+ if (!mDisplays.insert(display).second) {
+ mInvalidHotplugCount++;
+ }
+ } else if (connection == Connection::DISCONNECTED) {
+ if (!mDisplays.erase(display)) {
+ mInvalidHotplugCount++;
+ }
+ }
+
+ return Void();
+ }
+
+ Return<void> onRefresh(Display display) override {
+ std::lock_guard<std::mutex> lock(mMutex);
+
+ if (mDisplays.count(display) == 0) {
+ mInvalidRefreshCount++;
+ }
+
+ return Void();
+ }
+
+ Return<void> onVsync(Display display, int64_t) override {
+ std::lock_guard<std::mutex> lock(mMutex);
+
+ if (!mVsyncAllowed || mDisplays.count(display) == 0) {
+ mInvalidVsyncCount++;
+ }
+
+ return Void();
+ }
+
+ mutable std::mutex mMutex;
+ // the set of all currently connected displays
+ std::unordered_set<Display> mDisplays;
+ // true only when vsync is enabled
+ bool mVsyncAllowed = false;
+
+ // track invalid callbacks
+ int mInvalidHotplugCount = 0;
+ int mInvalidRefreshCount = 0;
+ int mInvalidVsyncCount = 0;
+};
+
+class GraphicsComposerHidlTest : public ::testing::Test {
+ protected:
+ void SetUp() override {
+ mComposer = IComposer::getService("hwcomposer");
+ ASSERT_NE(nullptr, mComposer.get());
+
+ mComposerClient = createClient();
+ ASSERT_NE(nullptr, mComposerClient.get());
+
+ initCapabilities();
+
+ mComposerCallback = new GraphicsComposerCallback;
+ mComposerClient->registerCallback(mComposerCallback);
+
+ // assume the first display is primary and is never removed
+ mPrimaryDisplay = waitForFirstDisplay();
+ }
+
+ void TearDown() override {
+ if (mComposerCallback != nullptr) {
+ EXPECT_EQ(0, mComposerCallback->getInvalidHotplugCount());
+ EXPECT_EQ(0, mComposerCallback->getInvalidRefreshCount());
+ EXPECT_EQ(0, mComposerCallback->getInvalidVsyncCount());
+ }
+ }
+
+ /**
+ * Initialize the set of supported capabilities.
+ */
+ void initCapabilities() {
+ mComposer->getCapabilities([this](const auto& capabilities) {
+ std::vector<IComposer::Capability> caps = capabilities;
+ mCapabilities.insert(caps.cbegin(), caps.cend());
+ });
+ }
+
+ /**
+ * Test whether a capability is supported.
+ */
+ bool hasCapability(IComposer::Capability capability) const {
+ return (mCapabilities.count(capability) > 0);
+ }
+
+ IComposerClient::DisplayType getDisplayType(Display display) {
+ IComposerClient::DisplayType type = IComposerClient::DisplayType::INVALID;
+ mComposerClient->getDisplayType(
+ display, [&](const auto& tmpError, const auto& tmpType) {
+ ASSERT_EQ(Error::NONE, tmpError);
+ type = tmpType;
+ });
+ return type;
+ }
+
+ Error createVirtualDisplay(Display* outDisplay) {
+ auto ret_count = mComposerClient->getMaxVirtualDisplayCount();
+ if (ret_count == 0) {
+ return Error::UNSUPPORTED;
+ }
+
+ Error err = Error::NO_RESOURCES;
+ Display display;
+ mComposerClient->createVirtualDisplay(
+ 64, 64, PixelFormat::IMPLEMENTATION_DEFINED, kBufferSlotCount,
+ [&](const auto& tmpError, const auto& tmpDisplay, const auto&) {
+ err = tmpError;
+ display = tmpDisplay;
+ });
+
+ *outDisplay = display;
+ return err;
+ }
+
+ void destroyVirtualDisplay(Display display) {
+ auto ret = mComposerClient->destroyVirtualDisplay(display);
+ ASSERT_EQ(Error::NONE, static_cast<Error>(ret));
+ }
+
+ Error createLayer(Layer* outLayer) {
+ Error err = Error::NO_RESOURCES;
+ Layer layer;
+ mComposerClient->createLayer(
+ mPrimaryDisplay, kBufferSlotCount,
+ [&](const auto& tmpError, const auto& tmpLayer) {
+ err = tmpError;
+ layer = tmpLayer;
+ });
+
+ *outLayer = layer;
+ return err;
+ }
+
+ void destroyLayer(Layer layer) {
+ auto ret = mComposerClient->destroyLayer(mPrimaryDisplay, layer);
+ ASSERT_EQ(Error::NONE, static_cast<Error>(ret));
+ }
+
+ int32_t getDisplayAttribute(Config config,
+ IComposerClient::Attribute attribute) {
+ int32_t value = -1;
+ mComposerClient->getDisplayAttribute(
+ mPrimaryDisplay, config, attribute,
+ [&](const auto& tmpError, const auto& tmpValue) {
+ ASSERT_EQ(Error::NONE, tmpError);
+ value = tmpValue;
+ });
+ return value;
+ }
+
+ std::vector<Config> getDisplayConfigs() {
+ std::vector<Config> configs;
+ mComposerClient->getDisplayConfigs(
+ mPrimaryDisplay, [&](const auto& tmpError, const auto& tmpConfigs) {
+ ASSERT_EQ(Error::NONE, tmpError);
+
+ configs = tmpConfigs;
+ ASSERT_FALSE(configs.empty());
+ });
+
+ return configs;
+ }
+
+ std::vector<ColorMode> getColorModes() {
+ std::vector<ColorMode> modes;
+ mComposerClient->getColorModes(
+ mPrimaryDisplay, [&](const auto& tmpError, const auto& tmpModes) {
+ ASSERT_EQ(Error::NONE, tmpError);
+
+ modes = tmpModes;
+ ASSERT_NE(modes.end(),
+ std::find(modes.begin(), modes.end(), ColorMode::NATIVE));
+ });
+
+ return modes;
+ }
+
+ std::vector<IComposerClient::PowerMode> getPowerModes() {
+ std::vector<IComposerClient::PowerMode> modes;
+ modes.push_back(IComposerClient::PowerMode::OFF);
+
+ mComposerClient->getDozeSupport(
+ mPrimaryDisplay, [&](const auto& tmpError, const auto& tmpSupport) {
+ ASSERT_EQ(Error::NONE, tmpError);
+ if (tmpSupport) {
+ modes.push_back(IComposerClient::PowerMode::DOZE);
+ modes.push_back(IComposerClient::PowerMode::DOZE_SUSPEND);
+ }
+ });
+
+ // push ON last
+ modes.push_back(IComposerClient::PowerMode::ON);
+
+ return modes;
+ }
+
+ void setActiveConfig(Config config) {
+ auto ret = mComposerClient->setActiveConfig(mPrimaryDisplay, config);
+ ASSERT_EQ(Error::NONE, static_cast<Error>(ret));
+ }
+
+ void setColorMode(ColorMode mode) {
+ auto ret = mComposerClient->setColorMode(mPrimaryDisplay, mode);
+ ASSERT_EQ(Error::NONE, static_cast<Error>(ret));
+ }
+
+ void setPowerMode(IComposerClient::PowerMode mode) {
+ auto ret = mComposerClient->setPowerMode(mPrimaryDisplay, mode);
+ ASSERT_EQ(Error::NONE, static_cast<Error>(ret));
+ }
+
+ void setVsyncEnabled(bool enable) {
+ auto ret = mComposerClient->setVsyncEnabled(
+ mPrimaryDisplay,
+ enable ? IComposerClient::Vsync::ENABLE
+ : IComposerClient::Vsync::DISABLE);
+ ASSERT_EQ(Error::NONE, static_cast<Error>(ret));
+ }
+ // use the slot count usually set by SF
+ static constexpr uint32_t kBufferSlotCount = 64;
+
+ sp<IComposer> mComposer;
+ sp<IComposerClient> mComposerClient;
+ sp<GraphicsComposerCallback> mComposerCallback;
+ // the first display and is assumed never to be removed
+ Display mPrimaryDisplay;
+
+ private:
+ sp<IComposerClient> createClient() {
+ sp<IComposerClient> client;
+ mComposer->createClient([&](const auto& tmpError, const auto& tmpClient) {
+ if (tmpError == Error::NONE) {
+ client = tmpClient;
+ }
+ });
+
+ return client;
+ }
+
+ Display waitForFirstDisplay() {
+ while (true) {
+ std::vector<Display> displays = mComposerCallback->getDisplays();
+ if (displays.empty()) {
+ usleep(5 * 1000);
+ continue;
+ }
+
+ return displays[0];
+ }
+ }
+
+ // the set of all supported capabilities
+ std::unordered_set<IComposer::Capability> mCapabilities;
+};
+
+/**
+ * Test IComposer::getCapabilities.
+ *
+ * Test that IComposer::getCapabilities returns no invalid capabilities.
+ */
+TEST_F(GraphicsComposerHidlTest, GetCapabilities) {
+ mComposer->getCapabilities([](const auto& tmpCapabilities) {
+ std::vector<IComposer::Capability> capabilities = tmpCapabilities;
+ ASSERT_EQ(capabilities.end(),
+ std::find(capabilities.begin(), capabilities.end(),
+ IComposer::Capability::INVALID));
+ });
+}
+
+/**
+ * Test IComposer::dumpDebugInfo.
+ */
+TEST_F(GraphicsComposerHidlTest, DumpDebugInfo) {
+ mComposer->dumpDebugInfo([](const auto&) {
+ // nothing to do
+ });
+}
+
+/**
+ * Test IComposer::createClient.
+ *
+ * Test that IComposerClient is a singleton.
+ */
+TEST_F(GraphicsComposerHidlTest, CreateClientSingleton) {
+ mComposer->createClient([&](const auto& tmpError, const auto&) {
+ EXPECT_EQ(Error::NO_RESOURCES, tmpError);
+ });
+}
+
+/**
+ * Test IComposerClient::createVirtualDisplay and
+ * IComposerClient::destroyVirtualDisplay.
+ *
+ * Test that virtual displays can be created and has the correct display type.
+ */
+TEST_F(GraphicsComposerHidlTest, CreateVirtualDisplay) {
+ Display display;
+ Error err = createVirtualDisplay(&display);
+ if (err == Error::UNSUPPORTED) {
+ GTEST_SUCCEED() << "no virtual display support";
+ return;
+ }
+ ASSERT_EQ(Error::NONE, err);
+
+ // test display type
+ IComposerClient::DisplayType type = getDisplayType(display);
+ EXPECT_EQ(IComposerClient::DisplayType::VIRTUAL, type);
+
+ destroyVirtualDisplay(display);
+}
+
+/**
+ * Test IComposerClient::createLayer and IComposerClient::destroyLayer.
+ *
+ * Test that layers can be created and destroyed.
+ */
+TEST_F(GraphicsComposerHidlTest, CreateLayer) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::getDisplayName.
+ */
+TEST_F(GraphicsComposerHidlTest, GetDisplayName) {
+ mComposerClient->getDisplayName(mPrimaryDisplay,
+ [&](const auto& tmpError, const auto&) {
+ ASSERT_EQ(Error::NONE, tmpError);
+ });
+}
+
+/**
+ * Test IComposerClient::getDisplayType.
+ *
+ * Test that IComposerClient::getDisplayType returns the correct display type
+ * for the primary display.
+ */
+TEST_F(GraphicsComposerHidlTest, GetDisplayType) {
+ IComposerClient::DisplayType type = getDisplayType(mPrimaryDisplay);
+ EXPECT_EQ(IComposerClient::DisplayType::PHYSICAL, type);
+}
+
+/**
+ * Test IComposerClient::getClientTargetSupport.
+ *
+ * Test that IComposerClient::getClientTargetSupport returns true for the
+ * required client targets.
+ */
+TEST_F(GraphicsComposerHidlTest, GetClientTargetSupport) {
+ std::vector<Config> configs = getDisplayConfigs();
+ for (auto config : configs) {
+ int32_t width =
+ getDisplayAttribute(config, IComposerClient::Attribute::WIDTH);
+ int32_t height =
+ getDisplayAttribute(config, IComposerClient::Attribute::HEIGHT);
+ ASSERT_LT(0, width);
+ ASSERT_LT(0, height);
+
+ setActiveConfig(config);
+
+ auto ret = mComposerClient->getClientTargetSupport(
+ mPrimaryDisplay, width, height, PixelFormat::RGBA_8888,
+ Dataspace::UNKNOWN);
+ ASSERT_EQ(Error::NONE, static_cast<Error>(ret));
+ }
+}
+
+/**
+ * Test IComposerClient::getDisplayAttribute.
+ *
+ * Test that IComposerClient::getDisplayAttribute succeeds for the required
+ * formats, and succeeds or fails correctly for optional attributes.
+ */
+TEST_F(GraphicsComposerHidlTest, GetDisplayAttribute) {
+ std::vector<Config> configs = getDisplayConfigs();
+ for (auto config : configs) {
+ const std::array<IComposerClient::Attribute, 3> requiredAttributes = {{
+ IComposerClient::Attribute::WIDTH, IComposerClient::Attribute::HEIGHT,
+ IComposerClient::Attribute::VSYNC_PERIOD,
+ }};
+ for (auto attribute : requiredAttributes) {
+ getDisplayAttribute(config, attribute);
+ }
+
+ const std::array<IComposerClient::Attribute, 2> optionalAttributes = {{
+ IComposerClient::Attribute::DPI_X, IComposerClient::Attribute::DPI_Y,
+ }};
+ for (auto attribute : optionalAttributes) {
+ mComposerClient->getDisplayAttribute(
+ mPrimaryDisplay, config, attribute,
+ [&](const auto& tmpError, const auto&) {
+ EXPECT_TRUE(tmpError == Error::NONE ||
+ tmpError == Error::UNSUPPORTED);
+ });
+ }
+ }
+}
+
+/**
+ * Test IComposerClient::getHdrCapabilities.
+ */
+TEST_F(GraphicsComposerHidlTest, GetHdrCapabilities) {
+ mComposerClient->getHdrCapabilities(
+ mPrimaryDisplay,
+ [&](const auto& tmpError, const auto&, const auto&, const auto&,
+ const auto&) { ASSERT_EQ(Error::NONE, tmpError); });
+}
+
+/**
+ * Test IComposerClient::setClientTargetSlotCount.
+ */
+TEST_F(GraphicsComposerHidlTest, SetClientTargetSlotCount) {
+ auto ret = mComposerClient->setClientTargetSlotCount(mPrimaryDisplay,
+ kBufferSlotCount);
+ ASSERT_EQ(Error::NONE, static_cast<Error>(ret));
+}
+
+/**
+ * Test IComposerClient::setActiveConfig.
+ *
+ * Test that IComposerClient::setActiveConfig succeeds for all display
+ * configs.
+ */
+TEST_F(GraphicsComposerHidlTest, SetActiveConfig) {
+ std::vector<Config> configs = getDisplayConfigs();
+ for (auto config : configs) {
+ setActiveConfig(config);
+
+ mComposerClient->getActiveConfig(
+ mPrimaryDisplay, [&](const auto& tmpError, const auto& tmpConfig) {
+ EXPECT_EQ(Error::NONE, tmpError);
+ EXPECT_EQ(config, tmpConfig);
+ });
+ }
+}
+
+/**
+ * Test IComposerClient::setColorMode.
+ *
+ * Test that IComposerClient::setColorMode succeeds for all color modes.
+ */
+TEST_F(GraphicsComposerHidlTest, SetColorMode) {
+ std::vector<ColorMode> modes = getColorModes();
+ for (auto mode : modes) {
+ setColorMode(mode);
+ }
+}
+
+/**
+ * Test IComposerClient::setPowerMode.
+ *
+ * Test that IComposerClient::setPowerMode succeeds for all power modes.
+ */
+TEST_F(GraphicsComposerHidlTest, SetPowerMode) {
+ std::vector<IComposerClient::PowerMode> modes = getPowerModes();
+ for (auto mode : modes) {
+ setPowerMode(mode);
+ }
+}
+
+/**
+ * Test IComposerClient::setVsyncEnabled.
+ *
+ * Test that IComposerClient::setVsyncEnabled succeeds and there is no
+ * spurious vsync events.
+ */
+TEST_F(GraphicsComposerHidlTest, SetVsyncEnabled) {
+ mComposerCallback->setVsyncAllowed(true);
+
+ setVsyncEnabled(true);
+ usleep(60 * 1000);
+ setVsyncEnabled(false);
+
+ mComposerCallback->setVsyncAllowed(false);
+}
+
+// Tests for IComposerClient::Command.
+class GraphicsComposerHidlCommandTest : public GraphicsComposerHidlTest {
+ protected:
+ void SetUp() override {
+ ASSERT_NO_FATAL_FAILURE(GraphicsComposerHidlTest::SetUp());
+ ASSERT_NO_FATAL_FAILURE(SetUpGralloc());
+
+ mWriter = std::make_unique<CommandWriterBase>(1024);
+ mReader = std::make_unique<CommandReader>();
+ }
+
+ void TearDown() override {
+ ASSERT_NO_FATAL_FAILURE(GraphicsComposerHidlTest::TearDown());
+ }
+
+ const native_handle_t* cloneBuffer(const native_handle_t* handle) {
+ auto clone = native_handle_clone(handle);
+ if (!clone) {
+ return nullptr;
+ }
+
+ GrallocError err = mMapper->retain(clone);
+ if (err != GrallocError::NONE) {
+ native_handle_close(clone);
+ native_handle_delete(const_cast<native_handle_t*>(clone));
+ return nullptr;
+ }
+
+ return clone;
+ }
+
+ const native_handle_t* allocate(
+ const IAllocatorClient::BufferDescriptorInfo& info) {
+ // create descriptor
+ GrallocError err = GrallocError::NO_RESOURCES;
+ BufferDescriptor descriptor;
+ mAllocatorClient->createDescriptor(
+ info, [&](const auto& tmpError, const auto& tmpDescriptor) {
+ err = tmpError;
+ descriptor = tmpDescriptor;
+ });
+ if (err != GrallocError::NONE) {
+ return nullptr;
+ }
+
+ // allocate buffer
+ hidl_vec<BufferDescriptor> descriptors;
+ hidl_vec<Buffer> buffers;
+ descriptors.setToExternal(&descriptor, 1);
+ err = GrallocError::NO_RESOURCES;
+ mAllocatorClient->allocate(
+ descriptors, [&](const auto& tmpError, const auto& tmpBuffers) {
+ err = tmpError;
+ buffers = tmpBuffers;
+ });
+ if ((err != GrallocError::NONE && err != GrallocError::NOT_SHARED) ||
+ buffers.size() != 1) {
+ mAllocatorClient->destroyDescriptor(descriptors[0]);
+ return nullptr;
+ }
+
+ // export handle
+ err = GrallocError::NO_RESOURCES;
+ const native_handle_t* handle = nullptr;
+ mAllocatorClient->exportHandle(
+ descriptors[0], buffers[0],
+ [&](const auto& tmpError, const auto& tmpHandle) {
+ err = tmpError;
+ if (err != GrallocError::NONE) {
+ return;
+ }
+
+ handle = cloneBuffer(tmpHandle.getNativeHandle());
+ if (!handle) {
+ err = GrallocError::NO_RESOURCES;
+ return;
+ }
+ });
+
+ mAllocatorClient->destroyDescriptor(descriptors[0]);
+ mAllocatorClient->free(buffers[0]);
+
+ if (err != GrallocError::NONE) {
+ return nullptr;
+ }
+
+ return handle;
+ }
+
+ const native_handle_t* allocate() {
+ IAllocatorClient::BufferDescriptorInfo info{};
+ info.width = 64;
+ info.height = 64;
+ info.layerCount = 1;
+ info.format = PixelFormat::RGBA_8888;
+ info.producerUsageMask = static_cast<uint64_t>(ProducerUsage::CPU_WRITE);
+ info.consumerUsageMask = static_cast<uint64_t>(ConsumerUsage::CPU_READ);
+
+ return allocate(info);
+ }
+
+ void free(const native_handle_t* handle) {
+ auto ret = mMapper->release(handle);
+ ASSERT_EQ(GrallocError::NONE, static_cast<GrallocError>(ret));
+ }
+
+ void execute() {
+ bool queueChanged = false;
+ uint32_t commandLength = 0;
+ hidl_vec<hidl_handle> commandHandles;
+ ASSERT_TRUE(
+ mWriter->writeQueue(&queueChanged, &commandLength, &commandHandles));
+
+ if (queueChanged) {
+ auto ret =
+ mComposerClient->setInputCommandQueue(*mWriter->getMQDescriptor());
+ ASSERT_EQ(Error::NONE, static_cast<Error>(ret));
+ return;
+ }
+
+ mComposerClient->executeCommands(
+ commandLength, commandHandles,
+ [&](const auto& tmpError, const auto& tmpOutQueueChanged,
+ const auto& tmpOutLength, const auto& tmpOutHandles) {
+ ASSERT_EQ(Error::NONE, tmpError);
+
+ if (tmpOutQueueChanged) {
+ mComposerClient->getOutputCommandQueue(
+ [&](const auto& tmpError, const auto& tmpDescriptor) {
+ ASSERT_EQ(Error::NONE, tmpError);
+ mReader->setMQDescriptor(tmpDescriptor);
+ });
+ }
+
+ ASSERT_TRUE(mReader->readQueue(tmpOutLength, tmpOutHandles));
+ mReader->parse();
+ });
+ }
+
+ // A command parser that checks that no error nor unexpected commands are
+ // returned.
+ class CommandReader : public CommandReaderBase {
+ public:
+ // Parse all commands in the return command queue. Call GTEST_FAIL() for
+ // unexpected errors or commands.
+ void parse() {
+ while (!isEmpty()) {
+ IComposerClient::Command command;
+ uint16_t length;
+ ASSERT_TRUE(beginCommand(&command, &length));
+
+ switch (command) {
+ case IComposerClient::Command::SET_ERROR: {
+ ASSERT_EQ(2, length);
+ auto loc = read();
+ auto err = readSigned();
+ GTEST_FAIL() << "unexpected error " << err << " at location "
+ << loc;
+ } break;
+ case IComposerClient::Command::SELECT_DISPLAY:
+ case IComposerClient::Command::SET_CHANGED_COMPOSITION_TYPES:
+ case IComposerClient::Command::SET_DISPLAY_REQUESTS:
+ case IComposerClient::Command::SET_PRESENT_FENCE:
+ case IComposerClient::Command::SET_RELEASE_FENCES:
+ break;
+ default:
+ GTEST_FAIL() << "unexpected return command " << std::hex
+ << static_cast<int>(command);
+ break;
+ }
+
+ endCommand();
+ }
+ }
+ };
+
+ std::unique_ptr<CommandWriterBase> mWriter;
+ std::unique_ptr<CommandReader> mReader;
+
+ private:
+ void SetUpGralloc() {
+ mAllocator = IAllocator::getService("gralloc");
+ ASSERT_NE(nullptr, mAllocator.get());
+
+ mAllocator->createClient([this](const auto& error, const auto& client) {
+ if (error == GrallocError::NONE) {
+ mAllocatorClient = client;
+ }
+ });
+ ASSERT_NE(nullptr, mAllocatorClient.get());
+
+ mMapper = IMapper::getService("gralloc-mapper");
+ ASSERT_NE(nullptr, mMapper.get());
+ ASSERT_FALSE(mMapper->isRemote());
+ }
+
+ sp<IAllocator> mAllocator;
+ sp<IAllocatorClient> mAllocatorClient;
+ sp<IMapper> mMapper;
+};
+
+/**
+ * Test IComposerClient::Command::SET_COLOR_TRANSFORM.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_COLOR_TRANSFORM) {
+ const std::array<float, 16> identity = {{
+ 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f,
+ }};
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->setColorTransform(identity.data(), ColorTransform::IDENTITY);
+
+ execute();
+}
+
+/**
+ * Test IComposerClient::Command::SET_CLIENT_TARGET.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_CLIENT_TARGET) {
+ mComposerClient->setClientTargetSlotCount(mPrimaryDisplay, kBufferSlotCount);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->setClientTarget(0, nullptr, -1, Dataspace::UNKNOWN,
+ std::vector<IComposerClient::Rect>());
+
+ execute();
+}
+
+/**
+ * Test IComposerClient::Command::SET_OUTPUT_BUFFER.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_OUTPUT_BUFFER) {
+ auto handle = allocate();
+ ASSERT_NE(nullptr, handle);
+
+ Display display;
+ Error err = createVirtualDisplay(&display);
+ if (err == Error::UNSUPPORTED) {
+ GTEST_SUCCEED() << "no virtual display support";
+ return;
+ }
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(display);
+ mWriter->setOutputBuffer(0, handle, -1);
+
+ destroyVirtualDisplay(display);
+ free(handle);
+}
+
+/**
+ * Test IComposerClient::Command::VALIDATE_DISPLAY.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, VALIDATE_DISPLAY) {
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->validateDisplay();
+ execute();
+}
+
+/**
+ * Test IComposerClient::Command::ACCEPT_DISPLAY_CHANGES.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, ACCEPT_DISPLAY_CHANGES) {
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->validateDisplay();
+ mWriter->acceptDisplayChanges();
+ execute();
+}
+
+/**
+ * Test IComposerClient::Command::PRESENT_DISPLAY.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, PRESENT_DISPLAY) {
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->validateDisplay();
+ mWriter->presentDisplay();
+ execute();
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_CURSOR_POSITION.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_CURSOR_POSITION) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerCursorPosition(1, 1);
+ mWriter->setLayerCursorPosition(0, 0);
+ execute();
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_BUFFER.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_BUFFER) {
+ auto handle = allocate();
+ ASSERT_NE(nullptr, handle);
+
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerBuffer(0, handle, -1);
+ execute();
+
+ destroyLayer(layer);
+ free(handle);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_SURFACE_DAMAGE.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_SURFACE_DAMAGE) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ IComposerClient::Rect empty{0, 0, 0, 0};
+ IComposerClient::Rect unit{0, 0, 1, 1};
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerSurfaceDamage(std::vector<IComposerClient::Rect>(1, empty));
+ mWriter->setLayerSurfaceDamage(std::vector<IComposerClient::Rect>(1, unit));
+ mWriter->setLayerSurfaceDamage(std::vector<IComposerClient::Rect>());
+ execute();
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_BLEND_MODE.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_BLEND_MODE) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerBlendMode(IComposerClient::BlendMode::NONE);
+ mWriter->setLayerBlendMode(IComposerClient::BlendMode::PREMULTIPLIED);
+ mWriter->setLayerBlendMode(IComposerClient::BlendMode::COVERAGE);
+ execute();
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_COLOR.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_COLOR) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerColor(IComposerClient::Color{0xff, 0xff, 0xff, 0xff});
+ mWriter->setLayerColor(IComposerClient::Color{0, 0, 0, 0});
+ execute();
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_COMPOSITION_TYPE.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_COMPOSITION_TYPE) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerCompositionType(IComposerClient::Composition::CLIENT);
+ mWriter->setLayerCompositionType(IComposerClient::Composition::DEVICE);
+ mWriter->setLayerCompositionType(IComposerClient::Composition::SOLID_COLOR);
+ mWriter->setLayerCompositionType(IComposerClient::Composition::CURSOR);
+ execute();
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_DATASPACE.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_DATASPACE) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerDataspace(Dataspace::UNKNOWN);
+ execute();
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_DISPLAY_FRAME.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_DISPLAY_FRAME) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerDisplayFrame(IComposerClient::Rect{0, 0, 1, 1});
+ execute();
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_PLANE_ALPHA.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_PLANE_ALPHA) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerPlaneAlpha(0.0f);
+ mWriter->setLayerPlaneAlpha(1.0f);
+ execute();
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_SIDEBAND_STREAM.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_SIDEBAND_STREAM) {
+ if (!hasCapability(IComposer::Capability::SIDEBAND_STREAM)) {
+ GTEST_SUCCEED() << "no sideband stream support";
+ return;
+ }
+
+ auto handle = allocate();
+ ASSERT_NE(nullptr, handle);
+
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerSidebandStream(handle);
+ execute();
+
+ destroyLayer(layer);
+ free(handle);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_SOURCE_CROP.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_SOURCE_CROP) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerSourceCrop(IComposerClient::FRect{0.0f, 0.0f, 1.0f, 1.0f});
+ execute();
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_TRANSFORM.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_TRANSFORM) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerTransform(static_cast<Transform>(0));
+ mWriter->setLayerTransform(Transform::FLIP_H);
+ mWriter->setLayerTransform(Transform::FLIP_V);
+ mWriter->setLayerTransform(Transform::ROT_90);
+ mWriter->setLayerTransform(Transform::ROT_180);
+ mWriter->setLayerTransform(Transform::ROT_270);
+ mWriter->setLayerTransform(
+ static_cast<Transform>(Transform::FLIP_H | Transform::ROT_90));
+ mWriter->setLayerTransform(
+ static_cast<Transform>(Transform::FLIP_V | Transform::ROT_90));
+ execute();
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_VISIBLE_REGION.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_VISIBLE_REGION) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ IComposerClient::Rect empty{0, 0, 0, 0};
+ IComposerClient::Rect unit{0, 0, 1, 1};
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerVisibleRegion(std::vector<IComposerClient::Rect>(1, empty));
+ mWriter->setLayerVisibleRegion(std::vector<IComposerClient::Rect>(1, unit));
+ mWriter->setLayerVisibleRegion(std::vector<IComposerClient::Rect>());
+ execute();
+
+ destroyLayer(layer);
+}
+
+/**
+ * Test IComposerClient::Command::SET_LAYER_Z_ORDER.
+ */
+TEST_F(GraphicsComposerHidlCommandTest, SET_LAYER_Z_ORDER) {
+ Layer layer;
+ Error err = createLayer(&layer);
+ ASSERT_EQ(Error::NONE, err);
+
+ mWriter->selectDisplay(mPrimaryDisplay);
+ mWriter->selectLayer(layer);
+ mWriter->setLayerZOrder(10);
+ mWriter->setLayerZOrder(0);
+ execute();
+
+ destroyLayer(layer);
+}
+
+} // namespace anonymous
+} // namespace tests
+} // namespace V2_1
+} // namespace composer
+} // namespace graphics
+} // namespace hardware
+} // namespace android
+
+int main(int argc, char** argv) {
+ ::testing::InitGoogleTest(&argc, argv);
+
+ int status = RUN_ALL_TESTS();
+ LOG(INFO) << "Test result = " << status;
+
+ return status;
+}
diff --git a/graphics/composer/2.1/vts/types.vts b/graphics/composer/2.1/vts/types.vts
new file mode 100644
index 0000000..ccbd9d8
--- /dev/null
+++ b/graphics/composer/2.1/vts/types.vts
@@ -0,0 +1,48 @@
+component_class: HAL_HIDL
+component_type_version: 2.1
+component_name: "types"
+
+package: "android.hardware.graphics.composer"
+
+
+attribute: {
+ name: "::android::hardware::graphics::composer::V2_1::Error"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "BAD_CONFIG"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "BAD_DISPLAY"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "BAD_LAYER"
+ scalar_value: {
+ int32_t: 3
+ }
+ enumerator: "BAD_PARAMETER"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "NO_RESOURCES"
+ scalar_value: {
+ int32_t: 6
+ }
+ enumerator: "NOT_VALIDATED"
+ scalar_value: {
+ int32_t: 7
+ }
+ enumerator: "UNSUPPORTED"
+ scalar_value: {
+ int32_t: 8
+ }
+ }
+}
+
diff --git a/boot/1.0/vts/functional/Android.mk b/graphics/composer/Android.mk
similarity index 100%
copy from boot/1.0/vts/functional/Android.mk
copy to graphics/composer/Android.mk
diff --git a/graphics/mapper/2.0/Android.bp b/graphics/mapper/2.0/Android.bp
index 4adccb9..938ff8b 100644
--- a/graphics/mapper/2.0/Android.bp
+++ b/graphics/mapper/2.0/Android.bp
@@ -58,3 +58,112 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.graphics.mapper.vts.driver@2.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.mapper@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+ srcs: [
+ "types.hal",
+ "IMapper.hal",
+ ],
+ out: [
+ "android/hardware/graphics/mapper/2.0/types.vts.cpp",
+ "android/hardware/graphics/mapper/2.0/Mapper.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.mapper.vts.driver@2.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.mapper@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+ srcs: [
+ "types.hal",
+ "IMapper.hal",
+ ],
+ out: [
+ "android/hardware/graphics/mapper/2.0/types.vts.h",
+ "android/hardware/graphics/mapper/2.0/Mapper.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.mapper.vts.driver@2.0",
+ generated_sources: ["android.hardware.graphics.mapper.vts.driver@2.0_genc++"],
+ generated_headers: ["android.hardware.graphics.mapper.vts.driver@2.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.mapper.vts.driver@2.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ "android.hardware.graphics.mapper@2.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.mapper@2.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.mapper@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+ srcs: [
+ "types.hal",
+ "IMapper.hal",
+ ],
+ out: [
+ "android/hardware/graphics/mapper/2.0/types.vts.cpp",
+ "android/hardware/graphics/mapper/2.0/Mapper.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.graphics.mapper@2.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.mapper@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+ srcs: [
+ "types.hal",
+ "IMapper.hal",
+ ],
+ out: [
+ "android/hardware/graphics/mapper/2.0/types.vts.h",
+ "android/hardware/graphics/mapper/2.0/Mapper.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.graphics.mapper@2.0-vts.profiler",
+ generated_sources: ["android.hardware.graphics.mapper@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.graphics.mapper@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.graphics.mapper@2.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.allocator@2.0",
+ "android.hardware.graphics.common@1.0",
+ "android.hidl.base@1.0",
+ "android.hardware.graphics.mapper@2.0",
+ ],
+}
diff --git a/graphics/mapper/2.0/vts/Android.mk b/graphics/mapper/2.0/vts/Android.mk
deleted file mode 100644
index 6185ddc..0000000
--- a/graphics/mapper/2.0/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(LOCAL_PATH)/functional/vts/testcases/hal/graphics/mapper/hidl/target/Android.mk
diff --git a/graphics/mapper/2.0/vts/functional/vts/testcases/hal/graphics/mapper/hidl/target/Android.mk b/graphics/mapper/2.0/vts/functional/vts/testcases/hal/graphics/mapper/hidl/target/Android.mk
deleted file mode 100644
index 5f7fae8..0000000
--- a/graphics/mapper/2.0/vts/functional/vts/testcases/hal/graphics/mapper/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalGraphicsMapperHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/graphics/mapper/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/graphics/mapper/2.0/vts/functional/vts/testcases/hal/graphics/mapper/hidl/target/AndroidTest.xml b/graphics/mapper/2.0/vts/functional/vts/testcases/hal/graphics/mapper/hidl/target/AndroidTest.xml
deleted file mode 100644
index b602ec4..0000000
--- a/graphics/mapper/2.0/vts/functional/vts/testcases/hal/graphics/mapper/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Graphics Mapper HIDL HAL's basic target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalGraphicsMapperHidlTargetTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/graphics_mapper_hidl_hal_test/graphics_mapper_hidl_hal_test,
- _64bit::DATA/nativetest64/graphics_mapper_hidl_hal_test/graphics_mapper_hidl_hal_test,
- " />
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
diff --git a/health/1.0/Android.bp b/health/1.0/Android.bp
index b0b9549..4e16231 100644
--- a/health/1.0/Android.bp
+++ b/health/1.0/Android.bp
@@ -54,3 +54,106 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.health.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.health@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+ srcs: [
+ "types.hal",
+ "IHealth.hal",
+ ],
+ out: [
+ "android/hardware/health/1.0/types.vts.cpp",
+ "android/hardware/health/1.0/Health.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.health.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.health@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+ srcs: [
+ "types.hal",
+ "IHealth.hal",
+ ],
+ out: [
+ "android/hardware/health/1.0/types.vts.h",
+ "android/hardware/health/1.0/Health.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.health.vts.driver@1.0",
+ generated_sources: ["android.hardware.health.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.health.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.health.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.health@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.health@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.health@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+ srcs: [
+ "types.hal",
+ "IHealth.hal",
+ ],
+ out: [
+ "android/hardware/health/1.0/types.vts.cpp",
+ "android/hardware/health/1.0/Health.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.health@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.health@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+ srcs: [
+ "types.hal",
+ "IHealth.hal",
+ ],
+ out: [
+ "android/hardware/health/1.0/types.vts.h",
+ "android/hardware/health/1.0/Health.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.health@1.0-vts.profiler",
+ generated_sources: ["android.hardware.health@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.health@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.health@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.health@1.0",
+ ],
+}
diff --git a/ir/1.0/Android.bp b/ir/1.0/Android.bp
index fb9f070..5628952 100644
--- a/ir/1.0/Android.bp
+++ b/ir/1.0/Android.bp
@@ -1,5 +1,13 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.ir@1.0_hal",
+ srcs: [
+ "types.hal",
+ "IConsumerIr.hal",
+ ],
+}
+
genrule {
name: "android.hardware.ir@1.0_genc++",
tools: ["hidl-gen"],
@@ -54,106 +62,3 @@
"android.hidl.base@1.0",
],
}
-
-genrule {
- name: "android.hardware.ir.vts.driver@1.0_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.ir@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/ir/1.0/ $(genDir)/android/hardware/ir/1.0/",
- srcs: [
- "types.hal",
- "IConsumerIr.hal",
- ],
- out: [
- "android/hardware/ir/1.0/types.vts.cpp",
- "android/hardware/ir/1.0/ConsumerIr.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.ir.vts.driver@1.0_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.ir@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/ir/1.0/ $(genDir)/android/hardware/ir/1.0/",
- srcs: [
- "types.hal",
- "IConsumerIr.hal",
- ],
- out: [
- "android/hardware/ir/1.0/types.vts.h",
- "android/hardware/ir/1.0/ConsumerIr.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.ir.vts.driver@1.0",
- generated_sources: ["android.hardware.ir.vts.driver@1.0_genc++"],
- generated_headers: ["android.hardware.ir.vts.driver@1.0_genc++_headers"],
- export_generated_headers: ["android.hardware.ir.vts.driver@1.0_genc++_headers"],
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "libvts_common",
- "libvts_datatype",
- "libvts_measurement",
- "libvts_multidevice_proto",
- "libcamera_metadata",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.ir@1.0",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "android.hidl.base@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.ir@1.0-IConsumerIr-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.ir@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/ir/1.0/ $(genDir)/android/hardware/ir/1.0/",
- srcs: [
- "IConsumerIr.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/ir/1.0/ConsumerIr.vts.cpp",
- "android/hardware/ir/1.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.ir@1.0-IConsumerIr-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.ir@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/ir/1.0/ $(genDir)/android/hardware/ir/1.0/",
- srcs: [
- "IConsumerIr.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/ir/1.0/ConsumerIr.vts.h",
- "android/hardware/ir/1.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.ir@1.0-IConsumerIr-vts.profiler",
- generated_sources: ["android.hardware.ir@1.0-IConsumerIr-vts.profiler_genc++"],
- generated_headers: ["android.hardware.ir@1.0-IConsumerIr-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.ir@1.0-IConsumerIr-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.ir@1.0",
- ],
-}
diff --git a/ir/1.0/vts/Android.mk b/ir/1.0/vts/Android.mk
deleted file mode 100644
index 90c50c8..0000000
--- a/ir/1.0/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(LOCAL_PATH)/functional/vts/testcases/hal/ir/hidl/target/Android.mk
diff --git a/ir/1.0/vts/functional/vts/testcases/hal/ir/hidl/target/Android.mk b/ir/1.0/vts/functional/vts/testcases/hal/ir/hidl/target/Android.mk
deleted file mode 100644
index a69fd08..0000000
--- a/ir/1.0/vts/functional/vts/testcases/hal/ir/hidl/target/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalIrHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/ir/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/ir/1.0/vts/functional/vts/testcases/hal/ir/hidl/target/AndroidTest.xml b/ir/1.0/vts/functional/vts/testcases/hal/ir/hidl/target/AndroidTest.xml
deleted file mode 100644
index bf3d236..0000000
--- a/ir/1.0/vts/functional/vts/testcases/hal/ir/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS IR HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalIrHidlTargetTest"/>
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/ir_hidl_hal_test/ir_hidl_hal_test,
- _64bit::DATA/nativetest64/ir_hidl_hal_test/ir_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="hal_hidl_gtest" />
- <option name="precondition-hwbinder-service" value="android.hardware.ir" />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
diff --git a/keymaster/3.0/Android.bp b/keymaster/3.0/Android.bp
index a8247e1..e9a4985 100644
--- a/keymaster/3.0/Android.bp
+++ b/keymaster/3.0/Android.bp
@@ -54,3 +54,106 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.keymaster.vts.driver@3.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.keymaster@3.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+ srcs: [
+ "types.hal",
+ "IKeymasterDevice.hal",
+ ],
+ out: [
+ "android/hardware/keymaster/3.0/types.vts.cpp",
+ "android/hardware/keymaster/3.0/KeymasterDevice.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.keymaster.vts.driver@3.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.keymaster@3.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+ srcs: [
+ "types.hal",
+ "IKeymasterDevice.hal",
+ ],
+ out: [
+ "android/hardware/keymaster/3.0/types.vts.h",
+ "android/hardware/keymaster/3.0/KeymasterDevice.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.keymaster.vts.driver@3.0",
+ generated_sources: ["android.hardware.keymaster.vts.driver@3.0_genc++"],
+ generated_headers: ["android.hardware.keymaster.vts.driver@3.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.keymaster.vts.driver@3.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.keymaster@3.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.keymaster@3.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.keymaster@3.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+ srcs: [
+ "types.hal",
+ "IKeymasterDevice.hal",
+ ],
+ out: [
+ "android/hardware/keymaster/3.0/types.vts.cpp",
+ "android/hardware/keymaster/3.0/KeymasterDevice.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.keymaster@3.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.keymaster@3.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+ srcs: [
+ "types.hal",
+ "IKeymasterDevice.hal",
+ ],
+ out: [
+ "android/hardware/keymaster/3.0/types.vts.h",
+ "android/hardware/keymaster/3.0/KeymasterDevice.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.keymaster@3.0-vts.profiler",
+ generated_sources: ["android.hardware.keymaster@3.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.keymaster@3.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.keymaster@3.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.keymaster@3.0",
+ ],
+}
diff --git a/light/2.0/Android.bp b/light/2.0/Android.bp
index 118be88..928f1c3 100644
--- a/light/2.0/Android.bp
+++ b/light/2.0/Android.bp
@@ -114,38 +114,38 @@
}
genrule {
- name: "android.hardware.light@2.0-ILight-vts.profiler_genc++",
+ name: "android.hardware.light@2.0-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.light@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/light/2.0/ $(genDir)/android/hardware/light/2.0/",
srcs: [
- "ILight.hal",
"types.hal",
+ "ILight.hal",
],
out: [
- "android/hardware/light/2.0/Light.vts.cpp",
"android/hardware/light/2.0/types.vts.cpp",
+ "android/hardware/light/2.0/Light.vts.cpp",
],
}
genrule {
- name: "android.hardware.light@2.0-ILight-vts.profiler_genc++_headers",
+ name: "android.hardware.light@2.0-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.light@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/light/2.0/ $(genDir)/android/hardware/light/2.0/",
srcs: [
- "ILight.hal",
"types.hal",
+ "ILight.hal",
],
out: [
- "android/hardware/light/2.0/Light.vts.h",
"android/hardware/light/2.0/types.vts.h",
+ "android/hardware/light/2.0/Light.vts.h",
],
}
cc_library_shared {
- name: "android.hardware.light@2.0-ILight-vts.profiler",
- generated_sources: ["android.hardware.light@2.0-ILight-vts.profiler_genc++"],
- generated_headers: ["android.hardware.light@2.0-ILight-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.light@2.0-ILight-vts.profiler_genc++_headers"],
+ name: "android.hardware.light@2.0-vts.profiler",
+ generated_sources: ["android.hardware.light@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.light@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.light@2.0-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/light/2.0/vts/functional/Android.mk b/light/2.0/vts/functional/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/light/2.0/vts/functional/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/light/2.0/vts/functional/vts/Android.mk b/light/2.0/vts/functional/vts/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/light/2.0/vts/functional/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/light/2.0/vts/functional/vts/testcases/Android.mk b/light/2.0/vts/functional/vts/testcases/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/light/2.0/vts/functional/vts/testcases/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/light/2.0/vts/functional/vts/testcases/hal/Android.mk b/light/2.0/vts/functional/vts/testcases/hal/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/light/2.0/vts/functional/vts/testcases/hal/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/light/2.0/vts/functional/vts/testcases/hal/light/Android.mk b/light/2.0/vts/functional/vts/testcases/hal/light/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/light/2.0/vts/functional/vts/testcases/hal/light/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/light/2.0/vts/functional/vts/testcases/hal/light/hidl/Android.mk b/light/2.0/vts/functional/vts/testcases/hal/light/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/light/2.0/vts/functional/vts/testcases/hal/light/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target/Android.mk b/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target/Android.mk
deleted file mode 100644
index 4761a3e..0000000
--- a/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := LightHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/light/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target/AndroidTest.xml b/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target/AndroidTest.xml
deleted file mode 100644
index 240f1f0..0000000
--- a/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Light HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="LightHidlTargetTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/light_hidl_hal_test/light_hidl_hal_test,
- _64bit::DATA/nativetest64/light_hidl_hal_test/light_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
-
diff --git a/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target_profiling/Android.mk b/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target_profiling/Android.mk
deleted file mode 100644
index 939929d..0000000
--- a/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := LightHidlTargetProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/light/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target_profiling/AndroidTest.xml b/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index 455802d..0000000
--- a/light/2.0/vts/functional/vts/testcases/hal/light/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Light HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="LightHidlTargetProfilingTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/light_hidl_hal_test/light_hidl_hal_test,
- _64bit::DATA/nativetest64/light_hidl_hal_test/light_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
-
diff --git a/media/1.0/Android.bp b/media/1.0/Android.bp
index d533e5a..5f81ca0 100644
--- a/media/1.0/Android.bp
+++ b/media/1.0/Android.bp
@@ -46,3 +46,98 @@
"android.hardware.graphics.common@1.0",
],
}
+
+genrule {
+ name: "android.hardware.media.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/media/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.media.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/media/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.media.vts.driver@1.0",
+ generated_sources: ["android.hardware.media.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.media.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.media.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.media@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.graphics.common@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.media@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/media/1.0/types.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.media@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+ srcs: [
+ "types.hal",
+ ],
+ out: [
+ "android/hardware/media/1.0/types.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.media@1.0-vts.profiler",
+ generated_sources: ["android.hardware.media@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.media@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.media@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.media@1.0",
+ ],
+}
diff --git a/media/omx/1.0/Android.bp b/media/omx/1.0/Android.bp
index f79aabb..6a27a34 100644
--- a/media/omx/1.0/Android.bp
+++ b/media/omx/1.0/Android.bp
@@ -54,8 +54,8 @@
"android/hardware/media/omx/1.0/BsOmx.h",
"android/hardware/media/omx/1.0/IOmxBufferProducer.h",
"android/hardware/media/omx/1.0/IHwOmxBufferProducer.h",
- "android/hardware/media/omx/1.0/BnOmxBufferProducer.h",
- "android/hardware/media/omx/1.0/BpOmxBufferProducer.h",
+ "android/hardware/media/omx/1.0/BnHwOmxBufferProducer.h",
+ "android/hardware/media/omx/1.0/BpHwOmxBufferProducer.h",
"android/hardware/media/omx/1.0/BsOmxBufferProducer.h",
"android/hardware/media/omx/1.0/IOmxBufferSource.h",
"android/hardware/media/omx/1.0/IHwOmxBufferSource.h",
@@ -74,8 +74,8 @@
"android/hardware/media/omx/1.0/BsOmxObserver.h",
"android/hardware/media/omx/1.0/IOmxProducerListener.h",
"android/hardware/media/omx/1.0/IHwOmxProducerListener.h",
- "android/hardware/media/omx/1.0/BnOmxProducerListener.h",
- "android/hardware/media/omx/1.0/BpOmxProducerListener.h",
+ "android/hardware/media/omx/1.0/BnHwOmxProducerListener.h",
+ "android/hardware/media/omx/1.0/BpHwOmxProducerListener.h",
"android/hardware/media/omx/1.0/BsOmxProducerListener.h",
],
}
@@ -106,3 +106,160 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.media.omx.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media.omx@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+ srcs: [
+ "types.hal",
+ "IGraphicBufferSource.hal",
+ "IOmx.hal",
+ "IOmxBufferProducer.hal",
+ "IOmxBufferSource.hal",
+ "IOmxNode.hal",
+ "IOmxObserver.hal",
+ "IOmxProducerListener.hal",
+ ],
+ out: [
+ "android/hardware/media/omx/1.0/types.vts.cpp",
+ "android/hardware/media/omx/1.0/GraphicBufferSource.vts.cpp",
+ "android/hardware/media/omx/1.0/Omx.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxBufferProducer.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxBufferSource.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxNode.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxObserver.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxProducerListener.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.media.omx.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media.omx@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+ srcs: [
+ "types.hal",
+ "IGraphicBufferSource.hal",
+ "IOmx.hal",
+ "IOmxBufferProducer.hal",
+ "IOmxBufferSource.hal",
+ "IOmxNode.hal",
+ "IOmxObserver.hal",
+ "IOmxProducerListener.hal",
+ ],
+ out: [
+ "android/hardware/media/omx/1.0/types.vts.h",
+ "android/hardware/media/omx/1.0/GraphicBufferSource.vts.h",
+ "android/hardware/media/omx/1.0/Omx.vts.h",
+ "android/hardware/media/omx/1.0/OmxBufferProducer.vts.h",
+ "android/hardware/media/omx/1.0/OmxBufferSource.vts.h",
+ "android/hardware/media/omx/1.0/OmxNode.vts.h",
+ "android/hardware/media/omx/1.0/OmxObserver.vts.h",
+ "android/hardware/media/omx/1.0/OmxProducerListener.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.media.omx.vts.driver@1.0",
+ generated_sources: ["android.hardware.media.omx.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.media.omx.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.media.omx.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.media@1.0",
+ "android.hidl.base@1.0",
+ "android.hardware.media.omx@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.media@1.0",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.media.omx@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media.omx@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+ srcs: [
+ "types.hal",
+ "IGraphicBufferSource.hal",
+ "IOmx.hal",
+ "IOmxBufferProducer.hal",
+ "IOmxBufferSource.hal",
+ "IOmxNode.hal",
+ "IOmxObserver.hal",
+ "IOmxProducerListener.hal",
+ ],
+ out: [
+ "android/hardware/media/omx/1.0/types.vts.cpp",
+ "android/hardware/media/omx/1.0/GraphicBufferSource.vts.cpp",
+ "android/hardware/media/omx/1.0/Omx.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxBufferProducer.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxBufferSource.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxNode.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxObserver.vts.cpp",
+ "android/hardware/media/omx/1.0/OmxProducerListener.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.media.omx@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media.omx@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+ srcs: [
+ "types.hal",
+ "IGraphicBufferSource.hal",
+ "IOmx.hal",
+ "IOmxBufferProducer.hal",
+ "IOmxBufferSource.hal",
+ "IOmxNode.hal",
+ "IOmxObserver.hal",
+ "IOmxProducerListener.hal",
+ ],
+ out: [
+ "android/hardware/media/omx/1.0/types.vts.h",
+ "android/hardware/media/omx/1.0/GraphicBufferSource.vts.h",
+ "android/hardware/media/omx/1.0/Omx.vts.h",
+ "android/hardware/media/omx/1.0/OmxBufferProducer.vts.h",
+ "android/hardware/media/omx/1.0/OmxBufferSource.vts.h",
+ "android/hardware/media/omx/1.0/OmxNode.vts.h",
+ "android/hardware/media/omx/1.0/OmxObserver.vts.h",
+ "android/hardware/media/omx/1.0/OmxProducerListener.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.media.omx@1.0-vts.profiler",
+ generated_sources: ["android.hardware.media.omx@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.media.omx@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.media.omx@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hardware.graphics.common@1.0",
+ "android.hardware.media@1.0",
+ "android.hidl.base@1.0",
+ "android.hardware.media.omx@1.0",
+ ],
+}
diff --git a/memtrack/1.0/Android.bp b/memtrack/1.0/Android.bp
index 36e7594..3a2db14 100644
--- a/memtrack/1.0/Android.bp
+++ b/memtrack/1.0/Android.bp
@@ -114,38 +114,38 @@
}
genrule {
- name: "android.hardware.memtrack@1.0-IMemtrack-vts.profiler_genc++",
+ name: "android.hardware.memtrack@1.0-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.memtrack@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/memtrack/1.0/ $(genDir)/android/hardware/memtrack/1.0/",
srcs: [
- "IMemtrack.hal",
"types.hal",
+ "IMemtrack.hal",
],
out: [
- "android/hardware/memtrack/1.0/Memtrack.vts.cpp",
"android/hardware/memtrack/1.0/types.vts.cpp",
+ "android/hardware/memtrack/1.0/Memtrack.vts.cpp",
],
}
genrule {
- name: "android.hardware.memtrack@1.0-IMemtrack-vts.profiler_genc++_headers",
+ name: "android.hardware.memtrack@1.0-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.memtrack@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/memtrack/1.0/ $(genDir)/android/hardware/memtrack/1.0/",
srcs: [
- "IMemtrack.hal",
"types.hal",
+ "IMemtrack.hal",
],
out: [
- "android/hardware/memtrack/1.0/Memtrack.vts.h",
"android/hardware/memtrack/1.0/types.vts.h",
+ "android/hardware/memtrack/1.0/Memtrack.vts.h",
],
}
cc_library_shared {
- name: "android.hardware.memtrack@1.0-IMemtrack-vts.profiler",
- generated_sources: ["android.hardware.memtrack@1.0-IMemtrack-vts.profiler_genc++"],
- generated_headers: ["android.hardware.memtrack@1.0-IMemtrack-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.memtrack@1.0-IMemtrack-vts.profiler_genc++_headers"],
+ name: "android.hardware.memtrack@1.0-vts.profiler",
+ generated_sources: ["android.hardware.memtrack@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.memtrack@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.memtrack@1.0-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/memtrack/1.0/vts/Android.mk b/memtrack/1.0/vts/Android.mk
deleted file mode 100644
index fbb5951..0000000
--- a/memtrack/1.0/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(LOCAL_PATH)/functional/vts/testcases/hal/memtrack/hidl/Android.mk
diff --git a/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/Android.mk b/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target/Android.mk b/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target/Android.mk
deleted file mode 100644
index 8dcaabb..0000000
--- a/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalMemtrackHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/memtrack/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target/AndroidTest.xml b/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target/AndroidTest.xml
deleted file mode 100644
index 9b00b4c..0000000
--- a/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Memtrack HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalMemtrackHidlTargetTest"/>
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/memtrack_hidl_hal_test/memtrack_hidl_hal_test,
- _64bit::DATA/nativetest64/memtrack_hidl_hal_test/memtrack_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="5m" />
- </test>
-</configuration>
diff --git a/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target_profiling/Android.mk b/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target_profiling/Android.mk
deleted file mode 100644
index d397621..0000000
--- a/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalMemtrackHidlTargetProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/memtrack/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target_profiling/AndroidTest.xml b/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index d813be1..0000000
--- a/memtrack/1.0/vts/functional/vts/testcases/hal/memtrack/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Memtrack HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalMemtrackHidlTargetProfilingTest"/>
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/memtrack_hidl_hal_test/memtrack_hidl_hal_test,
- _64bit::DATA/nativetest64/memtrack_hidl_hal_test/memtrack_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="5m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
diff --git a/nfc/1.0/Android.bp b/nfc/1.0/Android.bp
index 0fda103..7f228a7 100644
--- a/nfc/1.0/Android.bp
+++ b/nfc/1.0/Android.bp
@@ -1,5 +1,14 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.nfc@1.0_hal",
+ srcs: [
+ "types.hal",
+ "INfc.hal",
+ "INfcClientCallback.hal",
+ ],
+}
+
genrule {
name: "android.hardware.nfc@1.0_genc++",
tools: ["hidl-gen"],
@@ -62,155 +71,3 @@
"android.hidl.base@1.0",
],
}
-
-genrule {
- name: "android.hardware.nfc.vts.driver@1.0_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
- srcs: [
- "types.hal",
- "INfc.hal",
- "INfcClientCallback.hal",
- ],
- out: [
- "android/hardware/nfc/1.0/types.vts.cpp",
- "android/hardware/nfc/1.0/Nfc.vts.cpp",
- "android/hardware/nfc/1.0/NfcClientCallback.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.nfc.vts.driver@1.0_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
- srcs: [
- "types.hal",
- "INfc.hal",
- "INfcClientCallback.hal",
- ],
- out: [
- "android/hardware/nfc/1.0/types.vts.h",
- "android/hardware/nfc/1.0/Nfc.vts.h",
- "android/hardware/nfc/1.0/NfcClientCallback.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.nfc.vts.driver@1.0",
- generated_sources: ["android.hardware.nfc.vts.driver@1.0_genc++"],
- generated_headers: ["android.hardware.nfc.vts.driver@1.0_genc++_headers"],
- export_generated_headers: ["android.hardware.nfc.vts.driver@1.0_genc++_headers"],
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "libvts_common",
- "libvts_datatype",
- "libvts_measurement",
- "libvts_multidevice_proto",
- "libcamera_metadata",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.nfc@1.0",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "android.hidl.base@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.nfc@1.0-INfc-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
- srcs: [
- "INfc.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/nfc/1.0/Nfc.vts.cpp",
- "android/hardware/nfc/1.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.nfc@1.0-INfc-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
- srcs: [
- "INfc.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/nfc/1.0/Nfc.vts.h",
- "android/hardware/nfc/1.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.nfc@1.0-INfc-vts.profiler",
- generated_sources: ["android.hardware.nfc@1.0-INfc-vts.profiler_genc++"],
- generated_headers: ["android.hardware.nfc@1.0-INfc-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.nfc@1.0-INfc-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.nfc@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.nfc@1.0-INfcClientCallback-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
- srcs: [
- "INfcClientCallback.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/nfc/1.0/NfcClientCallback.vts.cpp",
- "android/hardware/nfc/1.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.nfc@1.0-INfcClientCallback-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.nfc@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
- srcs: [
- "INfcClientCallback.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/nfc/1.0/NfcClientCallback.vts.h",
- "android/hardware/nfc/1.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.nfc@1.0-INfcClientCallback-vts.profiler",
- generated_sources: ["android.hardware.nfc@1.0-INfcClientCallback-vts.profiler_genc++"],
- generated_headers: ["android.hardware.nfc@1.0-INfcClientCallback-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.nfc@1.0-INfcClientCallback-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.nfc@1.0",
- ],
-}
diff --git a/nfc/1.0/vts/functional/Android.mk b/nfc/1.0/vts/functional/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/nfc/1.0/vts/functional/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/nfc/1.0/vts/functional/vts/Android.mk b/nfc/1.0/vts/functional/vts/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/nfc/1.0/vts/functional/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/nfc/1.0/vts/functional/vts/testcases/Android.mk b/nfc/1.0/vts/functional/vts/testcases/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/Android.mk b/nfc/1.0/vts/functional/vts/testcases/hal/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/Android.mk b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/__init__.py b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/__init__.py
+++ /dev/null
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/Android.mk b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/__init__.py b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/__init__.py
+++ /dev/null
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/Android.mk b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/NfcHidlBasicTest.py b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/NfcHidlBasicTest.py
deleted file mode 100644
index cb40931..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/NfcHidlBasicTest.py
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/env python3.4
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-import logging
-import time
-
-from vts.runners.host import asserts
-from vts.runners.host import base_test_with_webdb
-from vts.runners.host import test_runner
-from vts.utils.python.controllers import android_device
-from vts.utils.python.coverage import coverage_utils
-
-PASSTHROUGH_MODE_KEY = "passthrough_mode"
-
-
-class NfcHidlBasicTest(base_test_with_webdb.BaseTestWithWebDbClass):
- """A simple testcase for the NFC HIDL HAL."""
-
- def setUpClass(self):
- """Creates a mirror and turns on the framework-layer NFC service."""
- self.dut = self.registerController(android_device)[0]
-
- self.getUserParams(opt_param_names=[PASSTHROUGH_MODE_KEY])
-
- self.dut.shell.InvokeTerminal("one")
- self.dut.shell.one.Execute("setenforce 0") # SELinux permissive mode
- self.dut.shell.one.Execute("svc nfc disable") # Turn off
- time.sleep(5)
-
- if getattr(self, PASSTHROUGH_MODE_KEY, True):
- self.dut.shell.one.Execute(
- "setprop vts.hal.vts.hidl.get_stub true")
- else:
- self.dut.shell.one.Execute(
- "setprop vts.hal.vts.hidl.get_stub false")
-
- self.dut.hal.InitHidlHal(
- target_type="nfc",
- target_basepaths=self.dut.libPaths,
- target_version=1.0,
- target_package="android.hardware.nfc",
- target_component_name="INfc",
- bits=64 if self.dut.is64Bit else 32)
-
- def tearDownClass(self):
- """Turns off the framework-layer NFC service."""
- # Ideally, we would want to store the nfc service's state before
- # turning that off in setUpClass and restore the original state.
- self.dut.shell.one.Execute("svc nfc disable") # make sure it's off
-
- def testBase(self):
- """A simple test case which just calls each registered function."""
- # TODO: extend to make realistic testcases
- # For example, call after CORE_INIT_RSP is received.
- # result = self.dut.hal.nfc.coreInitialized([1])
- # logging.info("coreInitialized result: %s", result)
-
- def send_event(NfcEvent, NfcStatus):
- logging.info("callback send_event")
- logging.info("arg0 %s", NfcEvent)
- logging.info("arg1 %s", NfcStatus)
-
- def send_data(NfcData):
- logging.info("callback send_data")
- logging.info("arg0 %s", NfcData)
-
- client_callback = self.dut.hal.nfc.GetHidlCallbackInterface(
- "INfcClientCallback",
- sendEvent=send_event,
- sendData=send_data)
-
- result = self.dut.hal.nfc.open(client_callback)
- logging.info("open result: %s", result)
-
- result = self.dut.hal.nfc.prediscover()
- logging.info("prediscover result: %s", result)
-
- result = self.dut.hal.nfc.controlGranted()
- logging.info("controlGranted result: %s", result)
-
- result = self.dut.hal.nfc.powerCycle()
- logging.info("powerCycle result: %s", result)
-
- nfc_types = self.dut.hal.nfc.GetHidlTypeInterface("types")
- logging.info("nfc_types: %s", nfc_types)
-
- result = self.dut.hal.nfc.write([0, 1, 2, 3, 4, 5])
- logging.info("write result: %s", result)
-
- result = self.dut.hal.nfc.close()
- logging.info("close result: %s", result)
-
- self.SetCoverageData(coverage_utils.GetGcdaDict(self.dut))
-
-if __name__ == "__main__":
- test_runner.main()
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/__init__.py b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/__init__.py
+++ /dev/null
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/Android.mk b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/Android.mk
deleted file mode 100644
index cd58d32..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := NfcHidlBinderizeBasicTest
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/hidl/host/binderize
-include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/AndroidTest.xml b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/AndroidTest.xml
deleted file mode 100644
index 9671977..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS HAL NFC (Binder Mode) test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="cleanup" value="true" />
- <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/Nfc.vts->/data/local/tmp/spec/Nfc.vts" />
- <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/NfcClientCallback.vts->/data/local/tmp/spec/NfcClientCallback.vts" />
- <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="NfcHidlBinderizeBasicTest" />
- <option name="test-case-path" value="vts/testcases/hal/nfc/hidl/host/NfcHidlBasicTest" />
- <option name="test-config-path" value="vts/testcases/hal/nfc/hidl/host/binderize/NfcHidlBinderizeBasicTest.config" />
- </test>
-</configuration>
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/NfcHidlBinderizeBasicTest.config b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/NfcHidlBinderizeBasicTest.config
deleted file mode 100644
index 5a94c6f..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/NfcHidlBinderizeBasicTest.config
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "passthrough_mode": False
-}
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/__init__.py b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/binderize/__init__.py
+++ /dev/null
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/Android.mk b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/Android.mk
deleted file mode 100644
index e274107..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := NfcHidlPassthroughBasicTest
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/hidl/host/passthrough
-include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/AndroidTest.xml b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/AndroidTest.xml
deleted file mode 100644
index 2f5fdfa..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS HAL NFC (Passthrough) test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="cleanup" value="true" />
- <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/Nfc.vts->/data/local/tmp/spec/Nfc.vts" />
- <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/NfcClientCallback.vts->/data/local/tmp/spec/NfcClientCallback.vts" />
- <option name="push" value="spec/hardware/interfaces/nfc/1.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="NfcHidlPassthroughBasicTest" />
- <option name="test-case-path" value="vts/testcases/hal/nfc/hidl/host/NfcHidlBasicTest" />
- <option name="test-config-path" value="vts/testcases/hal/nfc/hidl/host/passthrough/NfcHidlPassthroughBasicTest.config" />
- </test>
-</configuration>
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/NfcHidlPassthroughBasicTest.config b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/NfcHidlPassthroughBasicTest.config
deleted file mode 100644
index 9173e19..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/host/passthrough/NfcHidlPassthroughBasicTest.config
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "passthrough_mode": true
-}
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/Android.mk b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/Android.mk
deleted file mode 100644
index da9b6af..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalNfcHidlTargetBasicTest
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/AndroidTest.xml b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/AndroidTest.xml
deleted file mode 100644
index 9576183..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS NFC HIDL HAL's basic target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalNfcHidlTargetBasicTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/nfc_hidl_hal_test/nfc_hidl_hal_test,
- _64bit::DATA/nativetest64/nfc_hidl_hal_test/nfc_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="10m" />
- </test>
-</configuration>
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target_profiling/Android.mk b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target_profiling/Android.mk
deleted file mode 100644
index c7bf853..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-## Copyright (C) 2016 The Android Open Source Project
-#
-## Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# # You may obtain a copy of the License at
-# #
-# # http://www.apache.org/licenses/LICENSE-2.0
-# #
-# # Unless required by applicable law or agreed to in writing, software
-# # distributed under the License is distributed on an "AS IS" BASIS,
-# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# # See the License for the specific language governing permissions and
-# # limitations under the License.
-# #
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := NfcHidlTargetProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/nfc/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target_profiling/AndroidTest.xml b/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index 3b570f9..0000000
--- a/nfc/1.0/vts/functional/vts/testcases/hal/nfc/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS NFC HIDL HAL's target-side profiling test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="NfcHidlTargetProfilingTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/nfc_hidl_hal_test/nfc_hidl_hal_test,
- _64bit::DATA/nativetest64/nfc_hidl_hal_test/nfc_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="25m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
diff --git a/power/1.0/Android.bp b/power/1.0/Android.bp
index db8c721..33caa8d 100644
--- a/power/1.0/Android.bp
+++ b/power/1.0/Android.bp
@@ -114,38 +114,38 @@
}
genrule {
- name: "android.hardware.power@1.0-IPower-vts.profiler_genc++",
+ name: "android.hardware.power@1.0-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.power@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/power/1.0/ $(genDir)/android/hardware/power/1.0/",
srcs: [
- "IPower.hal",
"types.hal",
+ "IPower.hal",
],
out: [
- "android/hardware/power/1.0/Power.vts.cpp",
"android/hardware/power/1.0/types.vts.cpp",
+ "android/hardware/power/1.0/Power.vts.cpp",
],
}
genrule {
- name: "android.hardware.power@1.0-IPower-vts.profiler_genc++_headers",
+ name: "android.hardware.power@1.0-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.power@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/power/1.0/ $(genDir)/android/hardware/power/1.0/",
srcs: [
- "IPower.hal",
"types.hal",
+ "IPower.hal",
],
out: [
- "android/hardware/power/1.0/Power.vts.h",
"android/hardware/power/1.0/types.vts.h",
+ "android/hardware/power/1.0/Power.vts.h",
],
}
cc_library_shared {
- name: "android.hardware.power@1.0-IPower-vts.profiler",
- generated_sources: ["android.hardware.power@1.0-IPower-vts.profiler_genc++"],
- generated_headers: ["android.hardware.power@1.0-IPower-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.power@1.0-IPower-vts.profiler_genc++_headers"],
+ name: "android.hardware.power@1.0-vts.profiler",
+ generated_sources: ["android.hardware.power@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.power@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.power@1.0-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/power/1.0/types.hal b/power/1.0/types.hal
index c27242e..debdc35 100644
--- a/power/1.0/types.hal
+++ b/power/1.0/types.hal
@@ -76,15 +76,6 @@
* it has been launched.
*/
LAUNCH = 0x00000008,
-
- /*
- * When device enters some special modes, e.g. theater mode in Android
- * Wear, there is no touch interaction expected between device and user.
- * Touch controller could be disabled in those modes to save power.
- * The data parameter is non-zero when touch could be disabled, and zero
- * when touch needs to be re-enabled.
- */
- DISABLE_TOUCH = 0x00000009
};
enum Feature : uint32_t {
diff --git a/power/1.0/vts/functional/Android.mk b/power/1.0/vts/functional/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/power/1.0/vts/functional/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/power/1.0/vts/functional/power_hidl_hal_test.cpp b/power/1.0/vts/functional/power_hidl_hal_test.cpp
index 3f0ef56..b114944 100644
--- a/power/1.0/vts/functional/power_hidl_hal_test.cpp
+++ b/power/1.0/vts/functional/power_hidl_hal_test.cpp
@@ -62,7 +62,7 @@
PowerHint::VIDEO_ENCODE, PowerHint::VIDEO_DECODE,
PowerHint::LOW_POWER, PowerHint::SUSTAINED_PERFORMANCE,
PowerHint::VR_MODE, PowerHint::LAUNCH,
- PowerHint::DISABLE_TOUCH, badHint};
+ badHint};
Return<void> ret;
for (auto hint : hints) {
ret = power->powerHint(hint, 1);
diff --git a/power/1.0/vts/functional/vts/Android.mk b/power/1.0/vts/functional/vts/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/power/1.0/vts/functional/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/power/1.0/vts/functional/vts/testcases/Android.mk b/power/1.0/vts/functional/vts/testcases/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/power/1.0/vts/functional/vts/testcases/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/power/1.0/vts/functional/vts/testcases/hal/Android.mk b/power/1.0/vts/functional/vts/testcases/hal/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/power/1.0/vts/functional/vts/testcases/hal/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/power/1.0/vts/functional/vts/testcases/hal/power/Android.mk b/power/1.0/vts/functional/vts/testcases/hal/power/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/power/1.0/vts/functional/vts/testcases/hal/power/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/power/1.0/vts/functional/vts/testcases/hal/power/__init__.py b/power/1.0/vts/functional/vts/testcases/hal/power/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/power/1.0/vts/functional/vts/testcases/hal/power/__init__.py
+++ /dev/null
diff --git a/power/1.0/vts/functional/vts/testcases/hal/power/hidl/Android.mk b/power/1.0/vts/functional/vts/testcases/hal/power/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/power/1.0/vts/functional/vts/testcases/hal/power/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target/Android.mk b/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target/Android.mk
deleted file mode 100644
index c66b6fb..0000000
--- a/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target/Android.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalPowerHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/power/hidl/target
-include test/vts/tools/build/Android.host_config.mk
-
diff --git a/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target/AndroidTest.xml b/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target/AndroidTest.xml
deleted file mode 100644
index bb80de2..0000000
--- a/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Power HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalPowerHidlTargetTest"/>
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/power_hidl_hal_test/power_hidl_hal_test,
- _64bit::DATA/nativetest64/power_hidl_hal_test/power_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
diff --git a/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target_profiling/Android.mk b/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target_profiling/Android.mk
deleted file mode 100644
index 6f9e399..0000000
--- a/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalPowerHidlTargetProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/power/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
-
diff --git a/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target_profiling/AndroidTest.xml b/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index 263086c..0000000
--- a/power/1.0/vts/functional/vts/testcases/hal/power/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Power HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalPowerHidlTargetProfilingTest"/>
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/power_hidl_hal_test/power_hidl_hal_test,
- _64bit::DATA/nativetest64/power_hidl_hal_test/power_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
diff --git a/power/1.0/vts/types.vts b/power/1.0/vts/types.vts
index 94c003b..5724946 100644
--- a/power/1.0/vts/types.vts
+++ b/power/1.0/vts/types.vts
@@ -43,10 +43,6 @@
scalar_value: {
uint32_t: 8
}
- enumerator: "DISABLE_TOUCH"
- scalar_value: {
- uint32_t: 9
- }
}
}
diff --git a/radio/1.0/Android.bp b/radio/1.0/Android.bp
index e17d949..d9df910 100644
--- a/radio/1.0/Android.bp
+++ b/radio/1.0/Android.bp
@@ -1,5 +1,17 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.radio@1.0_hal",
+ srcs: [
+ "types.hal",
+ "IRadio.hal",
+ "IRadioIndication.hal",
+ "IRadioResponse.hal",
+ "ISap.hal",
+ "ISapCallback.hal",
+ ],
+}
+
genrule {
name: "android.hardware.radio@1.0_genc++",
tools: ["hidl-gen"],
@@ -86,302 +98,3 @@
"android.hidl.base@1.0",
],
}
-
-genrule {
- name: "android.hardware.radio.vts.driver@1.0_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "types.hal",
- "IRadio.hal",
- "IRadioIndication.hal",
- "IRadioResponse.hal",
- "ISap.hal",
- "ISapCallback.hal",
- ],
- out: [
- "android/hardware/radio/1.0/types.vts.cpp",
- "android/hardware/radio/1.0/Radio.vts.cpp",
- "android/hardware/radio/1.0/RadioIndication.vts.cpp",
- "android/hardware/radio/1.0/RadioResponse.vts.cpp",
- "android/hardware/radio/1.0/Sap.vts.cpp",
- "android/hardware/radio/1.0/SapCallback.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.radio.vts.driver@1.0_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "types.hal",
- "IRadio.hal",
- "IRadioIndication.hal",
- "IRadioResponse.hal",
- "ISap.hal",
- "ISapCallback.hal",
- ],
- out: [
- "android/hardware/radio/1.0/types.vts.h",
- "android/hardware/radio/1.0/Radio.vts.h",
- "android/hardware/radio/1.0/RadioIndication.vts.h",
- "android/hardware/radio/1.0/RadioResponse.vts.h",
- "android/hardware/radio/1.0/Sap.vts.h",
- "android/hardware/radio/1.0/SapCallback.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.radio.vts.driver@1.0",
- generated_sources: ["android.hardware.radio.vts.driver@1.0_genc++"],
- generated_headers: ["android.hardware.radio.vts.driver@1.0_genc++_headers"],
- export_generated_headers: ["android.hardware.radio.vts.driver@1.0_genc++_headers"],
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "libvts_common",
- "libvts_datatype",
- "libvts_measurement",
- "libvts_multidevice_proto",
- "libcamera_metadata",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.radio@1.0",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "android.hidl.base@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.radio@1.0-IRadio-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "IRadio.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/radio/1.0/Radio.vts.cpp",
- "android/hardware/radio/1.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.radio@1.0-IRadio-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "IRadio.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/radio/1.0/Radio.vts.h",
- "android/hardware/radio/1.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.radio@1.0-IRadio-vts.profiler",
- generated_sources: ["android.hardware.radio@1.0-IRadio-vts.profiler_genc++"],
- generated_headers: ["android.hardware.radio@1.0-IRadio-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.radio@1.0-IRadio-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.radio@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.radio@1.0-IRadioIndication-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "IRadioIndication.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/radio/1.0/RadioIndication.vts.cpp",
- "android/hardware/radio/1.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.radio@1.0-IRadioIndication-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "IRadioIndication.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/radio/1.0/RadioIndication.vts.h",
- "android/hardware/radio/1.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.radio@1.0-IRadioIndication-vts.profiler",
- generated_sources: ["android.hardware.radio@1.0-IRadioIndication-vts.profiler_genc++"],
- generated_headers: ["android.hardware.radio@1.0-IRadioIndication-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.radio@1.0-IRadioIndication-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.radio@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.radio@1.0-IRadioResponse-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "IRadioResponse.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/radio/1.0/RadioResponse.vts.cpp",
- "android/hardware/radio/1.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.radio@1.0-IRadioResponse-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "IRadioResponse.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/radio/1.0/RadioResponse.vts.h",
- "android/hardware/radio/1.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.radio@1.0-IRadioResponse-vts.profiler",
- generated_sources: ["android.hardware.radio@1.0-IRadioResponse-vts.profiler_genc++"],
- generated_headers: ["android.hardware.radio@1.0-IRadioResponse-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.radio@1.0-IRadioResponse-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.radio@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.radio@1.0-ISap-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "ISap.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/radio/1.0/Sap.vts.cpp",
- "android/hardware/radio/1.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.radio@1.0-ISap-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "ISap.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/radio/1.0/Sap.vts.h",
- "android/hardware/radio/1.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.radio@1.0-ISap-vts.profiler",
- generated_sources: ["android.hardware.radio@1.0-ISap-vts.profiler_genc++"],
- generated_headers: ["android.hardware.radio@1.0-ISap-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.radio@1.0-ISap-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.radio@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.radio@1.0-ISapCallback-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "ISapCallback.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/radio/1.0/SapCallback.vts.cpp",
- "android/hardware/radio/1.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.radio@1.0-ISapCallback-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.radio@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
- srcs: [
- "ISapCallback.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/radio/1.0/SapCallback.vts.h",
- "android/hardware/radio/1.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.radio@1.0-ISapCallback-vts.profiler",
- generated_sources: ["android.hardware.radio@1.0-ISapCallback-vts.profiler_genc++"],
- generated_headers: ["android.hardware.radio@1.0-ISapCallback-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.radio@1.0-ISapCallback-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.radio@1.0",
- ],
-}
diff --git a/radio/1.0/Android.mk b/radio/1.0/Android.mk
index 059ebcb..82bde55 100644
--- a/radio/1.0/Android.mk
+++ b/radio/1.0/Android.mk
@@ -1214,9 +1214,9 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
-# Build types.hal (DataProfile)
+# Build types.hal (DataProfileId)
#
-GEN := $(intermediates)/android/hardware/radio/V1_0/DataProfile.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataProfileId.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1226,7 +1226,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.radio@1.0::types.DataProfile
+ android.hardware.radio@1.0::types.DataProfileId
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -2828,6 +2828,83 @@
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (MvnoType)
+#
+GEN := $(intermediates)/android/hardware/radio/V1_0/MvnoType.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.radio@1.0::types.MvnoType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (ApnTypes)
+#
+GEN := $(intermediates)/android/hardware/radio/V1_0/ApnTypes.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.radio@1.0::types.ApnTypes
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (IndicationFilter)
+#
+GEN := $(intermediates)/android/hardware/radio/V1_0/IndicationFilter.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.radio@1.0::types.IndicationFilter
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (DeviceStateType)
+#
+GEN := $(intermediates)/android/hardware/radio/V1_0/DeviceStateType.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.radio@1.0::types.DeviceStateType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
#
# Build IRadio.hal
#
@@ -4153,9 +4230,9 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
-# Build types.hal (DataProfile)
+# Build types.hal (DataProfileId)
#
-GEN := $(intermediates)/android/hardware/radio/V1_0/DataProfile.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataProfileId.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4165,7 +4242,7 @@
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
- android.hardware.radio@1.0::types.DataProfile
+ android.hardware.radio@1.0::types.DataProfileId
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
@@ -5768,6 +5845,82 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
+# Build types.hal (MvnoType)
+#
+GEN := $(intermediates)/android/hardware/radio/V1_0/MvnoType.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.radio@1.0::types.MvnoType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (ApnTypes)
+#
+GEN := $(intermediates)/android/hardware/radio/V1_0/ApnTypes.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.radio@1.0::types.ApnTypes
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (IndicationFilter)
+#
+GEN := $(intermediates)/android/hardware/radio/V1_0/IndicationFilter.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.radio@1.0::types.IndicationFilter
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (DeviceStateType)
+#
+GEN := $(intermediates)/android/hardware/radio/V1_0/DeviceStateType.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+ -Ljava \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport \
+ android.hardware.radio@1.0::types.DeviceStateType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
# Build IRadio.hal
#
GEN := $(intermediates)/android/hardware/radio/V1_0/IRadio.java
diff --git a/radio/1.0/IRadio.hal b/radio/1.0/IRadio.hal
index 1cb7040..04d93db 100644
--- a/radio/1.0/IRadio.hal
+++ b/radio/1.0/IRadio.hal
@@ -375,23 +375,16 @@
* number of simultaneous data call contexts.
*
* @param serial Serial number of request.
- * @param radioTechnology Radio technology to use: 0-CDMA, 1-GSM/UMTS, 2...
- * for values above 2 this is RadioTechnology + 2.
- * @param profile is a RadioDataProfile (support is optional)
- * @param apn is the APN to connect to if radio technology is GSM/UMTS. This APN must
- * override the one in the profile. empty string indicates no APN overrride.
- * @param user is the username for APN, or empty string
- * @param password is the password for APN, or empty string
- * @param authType is the PAP / CHAP auth type.
- * @param protocol is the connection type to request must be one of the
- * PDP_type values in TS 27.007 section 10.1.1.
- * For example, "IP", "IPV6", "IPV4V6", or "PPP".
+ * @param radioTechnology Radio technology to use.
+ * @param dataProfileInfo data profile info.
+ * @param modemCognitive Indicating this profile was sent to the modem through setDataProfile
+ * earlier.
+ * @param roamingAllowed Indicating data roaming is allowed or not by the user.
*
* Response function is IRadioResponse.setupDataCallResponse()
*/
- oneway setupDataCall(int32_t serial, int32_t radioTechnology,
- int32_t profile, string apn, string user, string password, ApnAuthType authType,
- string protocol);
+ oneway setupDataCall(int32_t serial, RadioTechnology radioTechnology,
+ DataProfileInfo dataProfileInfo, bool modemCognitive, bool roamingAllowed);
/*
* Request ICC I/O operation.
@@ -847,7 +840,7 @@
* @param serial Serial number of request.
* @param accept true = accept the call setup, false = reject the call setup
*
- * Response callback is IRadioCallback.handleStkCallSetupRequestFromSimResponse()
+ * Response callback is IRadioResponse.handleStkCallSetupRequestFromSimResponse()
*/
oneway handleStkCallSetupRequestFromSim(int32_t serial,
bool accept);
@@ -857,7 +850,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.explicitCallTransferResponse()
+ * Response callback is IRadioResponse.explicitCallTransferResponse()
*/
oneway explicitCallTransfer(int32_t serial);
@@ -868,7 +861,7 @@
* @param serial Serial number of request.
* @param nwType PreferredNetworkType defined in types.hal
*
- * Response callback is IRadioCallback.setPreferredNetworkTypeResponse()
+ * Response callback is IRadioResponse.setPreferredNetworkTypeResponse()
*/
oneway setPreferredNetworkType(int32_t serial,
PreferredNetworkType nwType);
@@ -879,7 +872,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getPreferredNetworkTypeResponse()
+ * Response callback is IRadioResponse.getPreferredNetworkTypeResponse()
*/
oneway getPreferredNetworkType(int32_t serial);
@@ -888,7 +881,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getNeighboringCidsResponse()
+ * Response callback is IRadioResponse.getNeighboringCidsResponse()
*/
oneway getNeighboringCids(int32_t serial);
@@ -902,7 +895,7 @@
* @param serial Serial number of request.
* @param enable true = updates enabled (+CREG=2), false = updates disabled (+CREG=1)
*
- * Response callback is IRadioCallback.setLocationUpdatesResponse()
+ * Response callback is IRadioResponse.setLocationUpdatesResponse()
*/
oneway setLocationUpdates(int32_t serial, bool enable);
@@ -913,7 +906,7 @@
* @param serial Serial number of request.
* @param cdmaSub CdmaSubscriptionSource
*
- * Response callback is IRadioCallback.setCdmaSubscriptionSourceResponse()
+ * Response callback is IRadioResponse.setCdmaSubscriptionSourceResponse()
*/
oneway setCdmaSubscriptionSource(int32_t serial,
CdmaSubscriptionSource cdmaSub);
@@ -924,7 +917,7 @@
* @param serial Serial number of request.
* @param type CdmaRoamingType defined in types.hal
*
- * Response callback is IRadioCallback.setCdmaRoamingPreferenceResponse()
+ * Response callback is IRadioResponse.setCdmaRoamingPreferenceResponse()
*/
oneway setCdmaRoamingPreference(int32_t serial,
CdmaRoamingType type);
@@ -934,7 +927,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getCdmaRoamingPreferenceResponse()
+ * Response callback is IRadioResponse.getCdmaRoamingPreferenceResponse()
*/
oneway getCdmaRoamingPreference(int32_t serial);
@@ -944,7 +937,7 @@
* @param serial Serial number of request.
* @param mode TtyMode
*
- * Response callback is IRadioCallback.setTTYModeResponse()
+ * Response callback is IRadioResponse.setTTYModeResponse()
*/
oneway setTTYMode(int32_t serial, TtyMode mode);
@@ -953,7 +946,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getTTYModeResponse()
+ * Response callback is IRadioResponse.getTTYModeResponse()
*/
oneway getTTYMode(int32_t serial);
@@ -964,7 +957,7 @@
* @param enable false for Standard Privacy Mode (Public Long Code Mask)
* true for Enhanced Privacy Mode (Private Long Code Mask)
*
- * Response callback is IRadioCallback.setPreferredVoicePrivacyResponse()
+ * Response callback is IRadioResponse.setPreferredVoicePrivacyResponse()
*/
oneway setPreferredVoicePrivacy(int32_t serial, bool enable);
@@ -973,7 +966,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getPreferredVoicePrivacyResponse()
+ * Response callback is IRadioResponse.getPreferredVoicePrivacyResponse()
*/
oneway getPreferredVoicePrivacy(int32_t serial);
@@ -983,7 +976,7 @@
* @param serial Serial number of request.
* @param featureCode String associated with Flash command
*
- * Response callback is IRadioCallback.sendCDMAFeatureCodeResponse()
+ * Response callback is IRadioResponse.sendCDMAFeatureCodeResponse()
*/
oneway sendCDMAFeatureCode(int32_t serial, string featureCode);
@@ -995,7 +988,7 @@
* @param on DTMF ON length in milliseconds, or 0 to use default
* @param off is the DTMF OFF length in milliseconds, or 0 to use default
*
- * Response callback is IRadioCallback.sendBurstDtmfResponse()
+ * Response callback is IRadioResponse.sendBurstDtmfResponse()
*/
oneway sendBurstDtmf(int32_t serial, string dtmf, int32_t on, int32_t off);
@@ -1005,7 +998,7 @@
* @param serial Serial number of request.
* @param sms Cdma Sms to be sent described by CdmaSmsMessage in types.hal
*
- * Response callback is IRadioCallback.sendCdmaSmsResponse()
+ * Response callback is IRadioResponse.sendCdmaSmsResponse()
*/
oneway sendCdmaSms(int32_t serial, CdmaSmsMessage sms);
@@ -1016,7 +1009,7 @@
* @param serial Serial number of request.
* @param smsAck Cdma Sms ack to be sent described by CdmaSmsAck in types.hal
*
- * Response callback is IRadioCallback.acknowledgeLastIncomingCdmaSmsResponse()
+ * Response callback is IRadioResponse.acknowledgeLastIncomingCdmaSmsResponse()
*/
oneway acknowledgeLastIncomingCdmaSms(int32_t serial, CdmaSmsAck smsAck);
@@ -1025,7 +1018,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getGsmBroadcastConfigResponse()
+ * Response callback is IRadioResponse.getGsmBroadcastConfigResponse()
*/
oneway getGsmBroadcastConfig(int32_t serial);
@@ -1035,7 +1028,7 @@
* @param serial Serial number of request.
* @param configInfo Setting of GSM/WCDMA Cell broadcast config
*
- * Response callback is IRadioCallback.setGsmBroadcastConfigResponse()
+ * Response callback is IRadioResponse.setGsmBroadcastConfigResponse()
*/
oneway setGsmBroadcastConfig(int32_t serial, vec<GsmBroadcastSmsConfigInfo> configInfo);
@@ -1046,7 +1039,7 @@
* @param activate indicates to activate or turn off the reception of GSM/WCDMA
* Cell Broadcast SMS. true = activate, false = turn off
*
- * Response callback is IRadioCallback.setGsmBroadcastActivationResponse()
+ * Response callback is IRadioResponse.setGsmBroadcastActivationResponse()
*/
oneway setGsmBroadcastActivation(int32_t serial, bool activate);
@@ -1055,7 +1048,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getCdmaBroadcastConfigResponse()
+ * Response callback is IRadioResponse.getCdmaBroadcastConfigResponse()
*/
oneway getCdmaBroadcastConfig(int32_t serial);
@@ -1065,7 +1058,7 @@
* @param serial Serial number of request.
* @param configInfo CDMA Broadcast SMS config to be set.
*
- * Response callback is IRadioCallback.setCdmaBroadcastConfigResponse()
+ * Response callback is IRadioResponse.setCdmaBroadcastConfigResponse()
*/
oneway setCdmaBroadcastConfig(int32_t serial, vec<CdmaBroadcastSmsConfigInfo> configInfo);
@@ -1076,7 +1069,7 @@
* @param activate indicates to activate or turn off the reception of CDMA
* Cell Broadcast SMS. true = activate, false = turn off
*
- * Response callback is IRadioCallback.setCdmaBroadcastActivationResponse()
+ * Response callback is IRadioResponse.setCdmaBroadcastActivationResponse()
*/
oneway setCdmaBroadcastActivation(int32_t serial, bool activate);
@@ -1088,7 +1081,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getCDMASubscriptionResponse()
+ * Response callback is IRadioResponse.getCDMASubscriptionResponse()
*/
oneway getCDMASubscription(int32_t serial);
@@ -1098,7 +1091,7 @@
* @param serial Serial number of request.
* @param cdmaSms CDMA message as defined by CdmaSmsWriteArgs in types.hal
*
- * Response callback is IRadioCallback.writeSmsToRuimResponse()
+ * Response callback is IRadioResponse.writeSmsToRuimResponse()
*/
oneway writeSmsToRuim(int32_t serial, CdmaSmsWriteArgs cdmaSms);
@@ -1108,7 +1101,7 @@
* @param serial Serial number of request.
* @param index record index of the message to delete
*
- * Response callback is IRadioCallback.deleteSmsOnRuimResponse()
+ * Response callback is IRadioResponse.deleteSmsOnRuimResponse()
*/
oneway deleteSmsOnRuim(int32_t serial, int32_t index);
@@ -1120,7 +1113,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getDeviceIdentityResponse()
+ * Response callback is IRadioResponse.getDeviceIdentityResponse()
*/
oneway getDeviceIdentity(int32_t serial);
@@ -1131,7 +1124,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.exitEmergencyCallbackModeResponse()
+ * Response callback is IRadioResponse.exitEmergencyCallbackModeResponse()
*/
oneway exitEmergencyCallbackMode(int32_t serial);
@@ -1140,7 +1133,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getSmscAddressResponse()
+ * Response callback is IRadioResponse.getSmscAddressResponse()
*/
oneway getSmscAddress(int32_t serial);
@@ -1150,7 +1143,7 @@
* @param serial Serial number of request.
* @param smsc Short Message Service Center address to set
*
- * Response callback is IRadioCallback.setSmscAddressResponse()
+ * Response callback is IRadioResponse.setSmscAddressResponse()
*/
oneway setSmscAddress(int32_t serial, string smsc);
@@ -1161,7 +1154,7 @@
* @param available true if memory is available for storing new messages,
* false if memory capacity is exceeded
*
- * Response callback is IRadioCallback.reportSmsMemoryStatusResponse()
+ * Response callback is IRadioResponse.reportSmsMemoryStatusResponse()
*/
oneway reportSmsMemoryStatus(int32_t serial, bool available);
@@ -1171,7 +1164,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.reportStkServiceIsRunningResponse()
+ * Response callback is IRadioResponse.reportStkServiceIsRunningResponse()
*/
oneway reportStkServiceIsRunning(int32_t serial);
@@ -1180,7 +1173,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getCdmaSubscriptionSourceResponse()
+ * Response callback is IRadioResponse.getCdmaSubscriptionSourceResponse()
*/
oneway getCdmaSubscriptionSource(int32_t serial);
@@ -1191,7 +1184,7 @@
* @param serial Serial number of request.
* @param challenge challenge string in Base64 format
*
- * Response callback is IRadioCallback.requestIsimAuthenticationResponse()
+ * Response callback is IRadioResponse.requestIsimAuthenticationResponse()
*/
oneway requestIsimAuthentication(int32_t serial, string challenge);
@@ -1205,7 +1198,7 @@
* false on failed receipt (send RP-ERROR)
* @param ackPdu acknowledgement TPDU in hexadecimal format
*
- * Response callback is IRadioCallback.acknowledgeIncomingGsmSmsWithPduResponse()
+ * Response callback is IRadioResponse.acknowledgeIncomingGsmSmsWithPduResponse()
*/
oneway acknowledgeIncomingGsmSmsWithPdu(int32_t serial, bool success, string ackPdu);
@@ -1224,7 +1217,7 @@
* @param serial Serial number of request.
* @param contents SAT/USAT command in hexadecimal format starting with command tag
*
- * Response callback is IRadioCallback.sendEnvelopeWithStatusResponse()
+ * Response callback is IRadioResponse.sendEnvelopeWithStatusResponse()
*/
oneway sendEnvelopeWithStatus(int32_t serial, string contents);
@@ -1234,7 +1227,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getVoiceRadioTechnologyResponse()
+ * Response callback is IRadioResponse.getVoiceRadioTechnologyResponse()
*/
oneway getVoiceRadioTechnology(int32_t serial);
@@ -1246,7 +1239,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getCellInfoListResponse()
+ * Response callback is IRadioResponse.getCellInfoListResponse()
*/
oneway getCellInfoList(int32_t serial);
@@ -1259,7 +1252,7 @@
* @param serial Serial number of request.
* @param rate minimum time in milliseconds to indicate time between unsolicited cellInfoList()
*
- * Response callback is IRadioCallback.setCellInfoListRateResponse()
+ * Response callback is IRadioResponse.setCellInfoListRateResponse()
*/
oneway setCellInfoListRate(int32_t serial, int32_t rate);
@@ -1267,26 +1260,21 @@
* Set an apn to initial attach network
*
* @param serial Serial number of request.
- * @param apn is the APN to connect to if radio technology is GSM/UMTS. This APN must
- * override the one in the profile. empty string indicates no APN overrride.
- * @param protocol is the connection type to request must be one of the
- * PDP_type values in TS 27.007 section 10.1.1.
- * For example, "IP", "IPV6", "IPV4V6", or "PPP".
- * @param authType is the PAP / CHAP auth type.
- * @param user is the username for APN, or empty string
- * @param password is the password for APN, or empty string
+ * @param dataProfileInfo data profile containing APN settings
+ * @param modemCognitive is indicating the data profile was sent to the modem through
+ * setDataProfile earlier.
*
- * Response callback is IRadioCallback.setInitialAttachApnResponse()
+ * Response callback is IRadioResponse.setInitialAttachApnResponse()
*/
- oneway setInitialAttachApn(int32_t serial, string apn, string protocol, ApnAuthType authType,
- string username, string password);
+ oneway setInitialAttachApn(int32_t serial, DataProfileInfo dataProfileInfo,
+ bool modemCognitive);
/*
* Request current IMS registration state
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getImsRegistrationStateResponse()
+ * Response callback is IRadioResponse.getImsRegistrationStateResponse()
*/
oneway getImsRegistrationState(int32_t serial);
@@ -1299,7 +1287,7 @@
* @param serial Serial number of request.
* @param message ImsSmsMessage as defined in types.hal to be sent
*
- * Response callback is IRadioCallback.sendImsSmsResponse()
+ * Response callback is IRadioResponse.sendImsSmsResponse()
*/
oneway sendImsSms(int32_t serial, ImsSmsMessage message);
@@ -1313,7 +1301,7 @@
* @param serial Serial number of request.
* @param message SimApdu as defined in types.hal to be sent
*
- * Response callback is IRadioCallback.iccTransmitApduBasicChannelResponse()
+ * Response callback is IRadioResponse.iccTransmitApduBasicChannelResponse()
*/
oneway iccTransmitApduBasicChannel(int32_t serial, SimApdu message);
@@ -1324,7 +1312,7 @@
* @param serial Serial number of request.
* @param aid AID value, See ETSI 102.221 and 101.220.
*
- * Response callback is IRadioCallback.iccOpenLogicalChannelResponse()
+ * Response callback is IRadioResponse.iccOpenLogicalChannelResponse()
*/
oneway iccOpenLogicalChannel(int32_t serial, string aid);
@@ -1335,7 +1323,7 @@
* @param serial Serial number of request.
* @param channelId session id of the logical channel (+CCHC).
*
- * Response callback is IRadioCallback.iccCloseLogicalChannelResponse()
+ * Response callback is IRadioResponse.iccCloseLogicalChannelResponse()
*/
oneway iccCloseLogicalChannel(int32_t serial, int32_t channelId);
@@ -1348,7 +1336,7 @@
* @param serial Serial number of request.
* @param message SimApdu as defined in types.hal to be sent
*
- * Response callback is IRadioCallback.iccTransmitApduLogicalChannelResponse()
+ * Response callback is IRadioResponse.iccTransmitApduLogicalChannelResponse()
*/
oneway iccTransmitApduLogicalChannel(int32_t serial, SimApdu message);
@@ -1359,7 +1347,7 @@
* @param serial Serial number of request.
* @param itemId NvItem is radio NV item as defined in types.hal
*
- * Response callback is IRadioCallback.nvReadItemResponse()
+ * Response callback is IRadioResponse.nvReadItemResponse()
*/
oneway nvReadItem(int32_t serial, NvItem itemId);
@@ -1370,7 +1358,7 @@
* @param serial Serial number of request.
* @param item NvWriteItem as defined in types.hal
*
- * Response callback is IRadioCallback.nvWriteItemResponse()
+ * Response callback is IRadioResponse.nvWriteItemResponse()
*/
oneway nvWriteItem(int32_t serial, NvWriteItem item);
@@ -1381,7 +1369,7 @@
* @param serial Serial number of request.
* @param prl PRL as a byte array
*
- * Response callback is IRadioCallback.nvWriteCdmaPrlResponse()
+ * Response callback is IRadioResponse.nvWriteCdmaPrlResponse()
*/
oneway nvWriteCdmaPrl(int32_t serial, vec<uint8_t> prl);
@@ -1392,7 +1380,7 @@
* @param serial Serial number of request.
* @param resetType ResetNvType as defined in types.hal
*
- * Response callback is IRadioCallback.nvResetConfigResponse()
+ * Response callback is IRadioResponse.nvResetConfigResponse()
*/
oneway nvResetConfig(int32_t serial, ResetNvType resetType);
@@ -1402,7 +1390,7 @@
* @param serial Serial number of request.
* @param uiccSub SelectUiccSub as defined in types.hal
*
- * Response callback is IRadioCallback.setUiccSubscriptionResponse()
+ * Response callback is IRadioResponse.setUiccSubscriptionResponse()
*/
oneway setUiccSubscription(int32_t serial, SelectUiccSub uiccSub);
@@ -1412,7 +1400,7 @@
* @param serial Serial number of request.
* @param allow true to allow data calls, false to disallow data calls
*
- * Response callback is IRadioCallback.setDataAllowedResponse()
+ * Response callback is IRadioResponse.setDataAllowedResponse()
*/
oneway setDataAllowed(int32_t serial, bool allow);
@@ -1421,7 +1409,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getHardwareConfigResponse()
+ * Response callback is IRadioResponse.getHardwareConfigResponse()
*/
oneway getHardwareConfig(int32_t serial);
@@ -1434,7 +1422,7 @@
* @param authData the challenge string in Base64 format, see 3GPP TS 31.102 7.1.2
* @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value
*
- * Response callback is IRadioCallback.requestIccSimAuthenticationResponse()
+ * Response callback is IRadioResponse.requestIccSimAuthenticationResponse()
*/
oneway requestIccSimAuthentication(int32_t serial, int32_t authContext, string authData,
string aid);
@@ -1446,7 +1434,7 @@
* @param serial Serial number of request.
* @param profiles Array of DataProfiles to set.
*
- * Response callback is IRadioCallback.setDataProfileResponse()
+ * Response callback is IRadioResponse.setDataProfileResponse()
*/
oneway setDataProfile(int32_t serial, vec<DataProfileInfo> profiles);
@@ -1456,7 +1444,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.requestShutdownResponse()
+ * Response callback is IRadioResponse.requestShutdownResponse()
*/
oneway requestShutdown(int32_t serial);
@@ -1465,7 +1453,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getRadioCapabilityResponse()
+ * Response callback is IRadioResponse.getRadioCapabilityResponse()
*/
oneway getRadioCapability(int32_t serial);
@@ -1478,7 +1466,7 @@
* @param serial Serial number of request.
* @param rc RadioCapability structure to be set
*
- * Response callback is IRadioCallback.setRadioCapabilityResponse()
+ * Response callback is IRadioResponse.setRadioCapabilityResponse()
*/
oneway setRadioCapability(int32_t serial, RadioCapability rc);
@@ -1489,7 +1477,7 @@
* @param reportInterval desired reporting interval (ms).
* @param pullMode LCE service mode. true: PULL; false: PUSH.
*
- * Response callback is IRadioCallback.startLceServiceResponse()
+ * Response callback is IRadioResponse.startLceServiceResponse()
*/
oneway startLceService(int32_t serial, int32_t reportInterval, bool pullMode);
@@ -1499,7 +1487,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.stopLceServiceResponse()
+ * Response callback is IRadioResponse.stopLceServiceResponse()
*/
oneway stopLceService(int32_t serial);
@@ -1508,7 +1496,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.pullLceDataResponse()
+ * Response callback is IRadioResponse.pullLceDataResponse()
*/
oneway pullLceData(int32_t serial);
@@ -1520,7 +1508,7 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getModemActivityInfoResponse()
+ * Response callback is IRadioResponse.getModemActivityInfoResponse()
*/
oneway getModemActivityInfo(int32_t serial);
@@ -1544,7 +1532,7 @@
* @param carriers CarrierRestrictions consisting allowed and excluded carriers as defined
* in types.hal
*
- * Response callback is IRadioCallback.setAllowedCarriersResponse()
+ * Response callback is IRadioResponse.setAllowedCarriersResponse()
*/
oneway setAllowedCarriers(int32_t serial, bool allAllowed, CarrierRestrictions carriers);
@@ -1553,14 +1541,40 @@
*
* @param serial Serial number of request.
*
- * Response callback is IRadioCallback.getAllowedCarriersResponse()
+ * Response callback is IRadioResponse.getAllowedCarriersResponse()
*/
oneway getAllowedCarriers(int32_t serial);
/*
+ * Send the updated device state.
+ * This is providing the device state information for the modem to perform power saving
+ * strategies.
+ *
+ * @param serial Serial number of request.
+ * @param deviceStateType The updated device state type.
+ * @param state The updated state. See the definition of state at DeviceStateType.
+ *
+ * Response callback is IRadioResponse.sendDeviceStateResponse()
+ */
+ oneway sendDeviceState(int32_t serial, DeviceStateType deviceStateType, bool state);
+
+ /*
+ * Set the indication filter.
+ * This is used to prevent unnecessary application processor wake up for power saving purposes
+ * by suppressing the indications in certain scenarios.
+ *
+ * @param serial Serial number of request.
+ * @param indicationFilter 32-bit bitmap of IndicationFilter. Bits set to 1 indicate the
+ * indications are enabled. See IndicationFilter for the definition of each bit.
+ *
+ * Response callback is IRadioResponse.setIndicationFilterResponse()
+ */
+ oneway setIndicationFilter(int32_t serial, bitfield<IndicationFilter> indicationFilter);
+
+ /*
* When response type received from a radio indication or radio response is
* RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively,
- * acknowledge the receipt of those messages by sending reseponeAcknowledgement().
+ * acknowledge the receipt of those messages by sending responseAcknowledgement().
*
*/
oneway responseAcknowledgement();
diff --git a/radio/1.0/IRadioIndication.hal b/radio/1.0/IRadioIndication.hal
index fb8666f..81ac13a 100644
--- a/radio/1.0/IRadioIndication.hal
+++ b/radio/1.0/IRadioIndication.hal
@@ -42,12 +42,13 @@
oneway callStateChanged(RadioIndicationType type);
/*
- * Indicates when voice network state changed
- * Callee must invoke IRadio.getVoiceRegistrationState() and IRadio.getOperator()
+ * Indicates when voice or data network state changed
+ * Callee must invoke IRadio.getVoiceRegistrationState(), IRadio.getDataRegistrationState(),
+ * and IRadio.getOperator()
*
* @param type Type of radio indication
*/
- oneway voiceNetworkStateChanged(RadioIndicationType type);
+ oneway networkStateChanged(RadioIndicationType type);
/*
* Indicates when new SMS is received.
diff --git a/radio/1.0/IRadioResponse.hal b/radio/1.0/IRadioResponse.hal
index 8ff2e24..538c06d 100644
--- a/radio/1.0/IRadioResponse.hal
+++ b/radio/1.0/IRadioResponse.hal
@@ -1939,7 +1939,26 @@
CarrierRestrictions carriers);
/*
- * Acknowldege the receipt of radio request sent to the vendor. This must be sent only for
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ */
+ oneway sendDeviceStateResponse(RadioResponseInfo info);
+
+ /*
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:RADIO_NOT_AVAILABLE
+ */
+ oneway setIndicationFilterResponse(RadioResponseInfo info);
+
+ /*
+ * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for
* radio request which take long time to respond.
* For more details, refer https://source.android.com/devices/tech/connect/ril.html
*
diff --git a/radio/1.0/types.hal b/radio/1.0/types.hal
index c0a6475..91030ef 100644
--- a/radio/1.0/types.hal
+++ b/radio/1.0/types.hal
@@ -540,7 +540,7 @@
LTE_CA = 19,
};
-enum DataProfile : int32_t {
+enum DataProfileId : int32_t {
DEFAULT = 0,
TETHERED = 1,
IMS = 2,
@@ -1059,6 +1059,70 @@
MAX = 1 << 7
};
+enum ApnTypes : int32_t {
+ NONE = 0, // None
+ DEFAULT = 1 << 0, // APN type for default data traffic
+ MMS = 1 << 1, // APN type for MMS traffic
+ SUPL = 1 << 2, // APN type for SUPL assisted GPS
+ DUN = 1 << 3, // APN type for DUN traffic
+ HIPRI = 1 << 4, // APN type for HiPri traffic
+ FOTA = 1 << 5, // APN type for FOTA
+ IMS = 1 << 6, // APN type for IMS
+ CBS = 1 << 7, // APN type for CBS
+ IA = 1 << 8, // APN type for IA Initial Attach APN
+ EMERGENCY = 1 << 9, // APN type for Emergency PDN. This is not an IA apn,
+ // but is used for access to carrier services in an
+ // emergency call situation.
+ ALL = DEFAULT | MMS | SUPL | DUN | HIPRI | FOTA | IMS | CBS | IA | EMERGENCY,
+};
+
+enum IndicationFilter : int32_t {
+ NONE = 0,
+ SIGNAL_STRENGTH = 1 << 0, // When this bit is set, modem should always send the
+ // signal strength update through
+ // IRadioIndication.currentSignalStrength(),
+ // otherwise suppress it.
+ FULL_NETWORK_STATE = 1 << 1, // When this bit is set, modem should always invoke
+ // IRadioIndication.networkStateChanged() when any field
+ // in VoiceRegStateResult or DataRegStateResult changes.
+ // When this bit is not set, modem should suppress
+ // IRadioIndication.networkStateChanged() when there are
+ // only changes from those insignificant fields
+ // (e.g. cell info). Modem should continue invoking
+ // IRadioIndication.networkStateChanged()
+ // when significant fields are updated even when this bit
+ // is not set. The following fields are considered
+ // significant, registration state and radio technology.
+ DATA_CALL_DORMANCY_CHANGED = 1 << 2, // When this bit is set, modem should send the data call
+ // list changed indication
+ // IRadioIndication.dataCallListChanged() whenever any
+ // field in ITypes.SetupDataCallResult changes. Otherwise
+ // modem should suppress the indication when the only
+ // changed field is 'active' (for data dormancy).
+ // For all other fields change, modem should continue
+ // sending IRadioIndication.dataCallListChanged()
+ // regardless this bit is set or not.
+ ALL = SIGNAL_STRENGTH | FULL_NETWORK_STATE | DATA_CALL_DORMANCY_CHANGED,
+};
+
+enum MvnoType : int32_t {
+ NONE, // None
+ IMSI, // The matching data is based on IMSI.
+ GID, // The matching data is based on group id.
+ SPN, // The matching data is based service provider name.
+};
+
+enum DeviceStateType : int32_t {
+ POWER_SAVE_MODE, // Device power save mode (provided by PowerManager)
+ // True indicates the device is in power save mode.
+ CHARGING_STATE, // Device charging state (provided by BatteryManager)
+ // True indicates the device is charging.
+ LOW_DATA_EXPECTED // Low data expected mode. True indicates low data traffic
+ // is expected, for example, when the device is idle
+ // (e.g. not doing tethering in the background). Note
+ // this doesn't mean no data is expected.
+};
+
struct RadioResponseInfo {
RadioResponseType type; // Response type
int32_t serial; // Serial number of the request
@@ -1289,7 +1353,7 @@
// In UMTS, CID is UMTS Cell Identity (see TS 25.331)
// in 28 bits
int32_t rat; // indicates the available voice radio technology,
- // valid values as defined by RIL_RadioTechnology.
+ // valid values as defined by RadioTechnology.
int32_t baseStationId; // Base Station ID. if registered on a CDMA
// system or -1 if not. Base Station ID in decimal format
int32_t baseStationLatitude; // Base Station latitude. if registered on a
@@ -1375,7 +1439,7 @@
int32_t cid; // CID if registered or -1 if not
// valid CID are 0x00000000 - 0x0fffffff
int32_t rat; // indicates the available data radio technology,
- // valid values as defined by RIL_RadioTechnology.
+ // valid values as defined by RadioTechnology.
int32_t reasonDataDenied; // if registration state is 3 (Registration
// denied) this is an enumerated reason why
// registration was denied. See 3GPP TS 24.008,
@@ -1698,14 +1762,17 @@
};
struct DataProfileInfo {
- int32_t profileId; // id of the data profile
+ DataProfileId profileId; // id of the data profile
string apn; // The APN to connect to
string protocol; // One of the PDP_type values in TS 27.007 section 10.1.1.
// For example, "IP", "IPV6", "IPV4V6", or "PPP".
- ApnAuthType authType;
+ string roamingProtocol; // one of the PDP_type values in TS 27.007 section 10.1.1
+ // used on roaming network. For example, "IP", "IPV6",
+ // "IPV4V6", or "PPP".
+ ApnAuthType authType; // APN authentication type
string user; // The username for APN, or empty string
string password; // The password for APN, or empty string
- DataProfileInfoType type;
+ DataProfileInfoType type; // Data profile technology type
int32_t maxConnsTime; // The period in seconds to limit the maximum connections
int32_t maxConns; // The maximum connections during maxConnsTime
int32_t waitTime; // The required wait time in seconds after a successful UE
@@ -1713,6 +1780,17 @@
// the device can send a new PDN connection request for
// that given PDN
bool enabled; // True to enable the profile, false to disable
+ bitfield<ApnTypes> supportedApnTypesBitmap; // Supported APN types bitmap. See ApnTypes for the
+ // value of each bit.
+ bitfield<RadioAccessFamily> bearerBitmap; // The bearer bitmap. See RadioAccessFamily for the
+ // value of each bit.
+ int32_t mtu; // Maximum transmission unit (MTU) size in bytes
+ MvnoType mvnoType; // The MVNO matching data type
+ string mvnoMatchData; // MVNO matching data. This is defined by the carrier.
+ // For example,
+ // SPN like: "A MOBILE", "BEN NL", etc...
+ // IMSI like: "302720x94", "2060188", etc...
+ // GID like: "4E", "33", etc...
};
struct RadioCapability {
@@ -1927,4 +2005,4 @@
// to send all of them.
vec<uint8_t> contents; // Carrier-defined content. It is binary, opaque and
// loosely defined in LTE Layer 3 spec 24.008
-};
+};
\ No newline at end of file
diff --git a/radio/1.0/vts/Android.mk b/radio/1.0/vts/Android.mk
deleted file mode 100644
index 4e1fb84..0000000
--- a/radio/1.0/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(LOCAL_PATH)/functional/vts/testcases/hal/radio/hidl/Android.mk
\ No newline at end of file
diff --git a/radio/1.0/vts/Radio.vts b/radio/1.0/vts/Radio.vts
index c3d998a..05fa462 100644
--- a/radio/1.0/vts/Radio.vts
+++ b/radio/1.0/vts/Radio.vts
@@ -315,28 +315,20 @@
scalar_type: "int32_t"
}
arg: {
- type: TYPE_SCALAR
- scalar_type: "int32_t"
- }
- arg: {
- type: TYPE_SCALAR
- scalar_type: "int32_t"
- }
- arg: {
- type: TYPE_STRING
- }
- arg: {
- type: TYPE_STRING
- }
- arg: {
- type: TYPE_STRING
- }
- arg: {
type: TYPE_ENUM
- predefined_type: "::android::hardware::radio::V1_0::ApnAuthType"
+ predefined_type: "::android::hardware::radio::V1_0::RadioTechnology"
}
arg: {
- type: TYPE_STRING
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::radio::V1_0::DataProfileInfo"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
}
}
@@ -1198,20 +1190,12 @@
scalar_type: "int32_t"
}
arg: {
- type: TYPE_STRING
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::radio::V1_0::DataProfileInfo"
}
arg: {
- type: TYPE_STRING
- }
- arg: {
- type: TYPE_ENUM
- predefined_type: "::android::hardware::radio::V1_0::ApnAuthType"
- }
- arg: {
- type: TYPE_STRING
- }
- arg: {
- type: TYPE_STRING
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
}
}
@@ -1491,6 +1475,35 @@
}
api: {
+ name: "sendDeviceState"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ arg: {
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::radio::V1_0::DeviceStateType"
+ }
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "bool_t"
+ }
+ }
+
+ api: {
+ name: "setIndicationFilter"
+ arg: {
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ arg: {
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::radio::V1_0::IndicationFilter"
+ }
+ }
+
+ api: {
name: "responseAcknowledgement"
}
diff --git a/radio/1.0/vts/RadioIndication.vts b/radio/1.0/vts/RadioIndication.vts
index fac73a9..74a52c6 100644
--- a/radio/1.0/vts/RadioIndication.vts
+++ b/radio/1.0/vts/RadioIndication.vts
@@ -28,7 +28,7 @@
}
api: {
- name: "voiceNetworkStateChanged"
+ name: "networkStateChanged"
arg: {
type: TYPE_ENUM
predefined_type: "::android::hardware::radio::V1_0::RadioIndicationType"
diff --git a/radio/1.0/vts/RadioResponse.vts b/radio/1.0/vts/RadioResponse.vts
index 2884d30..9aed63e 100644
--- a/radio/1.0/vts/RadioResponse.vts
+++ b/radio/1.0/vts/RadioResponse.vts
@@ -1372,6 +1372,22 @@
}
api: {
+ name: "sendDeviceStateResponse"
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::radio::V1_0::RadioResponseInfo"
+ }
+ }
+
+ api: {
+ name: "setIndicationFilterResponse"
+ arg: {
+ type: TYPE_STRUCT
+ predefined_type: "::android::hardware::radio::V1_0::RadioResponseInfo"
+ }
+ }
+
+ api: {
name: "acknowledgeRequest"
arg: {
type: TYPE_SCALAR
diff --git a/radio/1.0/vts/functional/vts/testcases/hal/radio/__init__.py b/radio/1.0/vts/functional/vts/testcases/hal/radio/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/radio/1.0/vts/functional/vts/testcases/hal/radio/__init__.py
+++ /dev/null
diff --git a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/Android.mk b/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/__init__.py b/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/__init__.py
+++ /dev/null
diff --git a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/Android.mk b/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/Android.mk
deleted file mode 100644
index 59f7c85..0000000
--- a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := RadioHidlTest
-VTS_CONFIG_SRC_DIR := testcases/hal/radio/hidl/host
-include test/vts/tools/build/Android.host_config.mk
\ No newline at end of file
diff --git a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/AndroidTest.xml b/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/AndroidTest.xml
deleted file mode 100644
index a826d20..0000000
--- a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/AndroidTest.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS HAL Radio test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="cleanup" value="true" />
- <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/Radio.vts->/data/local/tmp/spec/Radio.vts" />
- <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/RadioIndication.vts->/data/local/tmp/spec/RadioIndication.vts" />
- <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/RadioResponse.vts->/data/local/tmp/spec/RadioResponse.vts" />
- <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/Sap.vts->/data/local/tmp/spec/Sap.vts" />
- <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/SapCallback.vts->/data/local/tmp/spec/SapCallback.vts" />
- <option name="push" value="spec/hardware/interfaces/radio/1.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="RadioHidlTest" />
- <option name="test-case-path" value="vts/testcases/hal/radio/hidl/host/RadioHidlTest" />
- </test>
-</configuration>
diff --git a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/RadioHidlTest.py b/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/RadioHidlTest.py
deleted file mode 100644
index 33dac35..0000000
--- a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/RadioHidlTest.py
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/env python3.4
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-import logging
-import time
-
-from vts.runners.host import asserts
-from vts.runners.host import base_test_with_webdb
-from vts.runners.host import test_runner
-from vts.utils.python.controllers import android_device
-from vts.utils.python.profiling import profiling_utils
-
-
-class VehicleHidlTest(base_test_with_webdb.BaseTestWithWebDbClass):
- """A simple testcase for the VEHICLE HIDL HAL."""
-
- def setUpClass(self):
- """Creates a mirror and init vehicle hal."""
- self.dut = self.registerController(android_device)[0]
-
- self.dut.shell.InvokeTerminal("one")
- self.dut.shell.one.Execute("setenforce 0") # SELinux permissive mode
-
- if self.enable_profiling:
- profiling_utils.EnableVTSProfiling(self.dut.shell.one)
-
- self.dut.hal.InitHidlHal(
- target_type="radio",
- target_basepaths=self.dut.libPaths,
- target_version=1.0,
- target_package="android.hardware.radio",
- target_component_name="IRadio",
- hw_binder_service_name="Radio",
- bits=64 if self.dut.is64Bit else 32)
-
- self.radio = self.dut.hal.radio # shortcut
- self.radio_types = self.dut.hal.radio.GetHidlTypeInterface("types")
- logging.info("Radio types: %s", self.radio_types)
-
- def tearDownClass(self):
- """Disables the profiling.
-
- If profiling is enabled for the test, collect the profiling data
- and disable profiling after the test is done.
- """
- if self.enable_profiling:
- profiling_trace_path = getattr(
- self, self.VTS_PROFILING_TRACING_PATH, "")
- self.ProcessAndUploadTraceData(self.dut, profiling_trace_path)
- profiling_utils.DisableVTSProfiling(self.dut.shell.one)
-
- def testHelloWorld(self):
- logging.info('hello world')
-
-
-if __name__ == "__main__":
- test_runner.main()
diff --git a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/__init__.py b/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/radio/1.0/vts/functional/vts/testcases/hal/radio/hidl/host/__init__.py
+++ /dev/null
diff --git a/radio/1.0/vts/types.vts b/radio/1.0/vts/types.vts
index c11db63..6d42016 100644
--- a/radio/1.0/vts/types.vts
+++ b/radio/1.0/vts/types.vts
@@ -1817,7 +1817,7 @@
}
attribute: {
- name: "::android::hardware::radio::V1_0::DataProfile"
+ name: "::android::hardware::radio::V1_0::DataProfileId"
type: TYPE_ENUM
enum_value: {
scalar_type: "int32_t"
@@ -1859,7 +1859,7 @@
enum_value: {
scalar_type: "int32_t"
- enumerator: "MEMORY_CAPAPCITY_EXCEEDED"
+ enumerator: "MEMORY_CAPACITY_EXCEEDED"
scalar_value: {
int32_t: 211
}
@@ -1913,7 +1913,7 @@
scalar_value: {
int32_t: 1
}
- enumerator: "UNKOWN"
+ enumerator: "UNKNOWN"
scalar_value: {
int32_t: 2
}
@@ -2406,7 +2406,7 @@
scalar_value: {
int32_t: 1
}
- enumerator: "FACORY_RESET"
+ enumerator: "FACTORY_RESET"
scalar_value: {
int32_t: 2
}
@@ -3551,6 +3551,138 @@
}
attribute: {
+ name: "::android::hardware::radio::V1_0::ApnTypes"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "DEFAULT"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "MMS"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "SUPL"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "DUN"
+ scalar_value: {
+ int32_t: 8
+ }
+ enumerator: "HIPRI"
+ scalar_value: {
+ int32_t: 16
+ }
+ enumerator: "FOTA"
+ scalar_value: {
+ int32_t: 32
+ }
+ enumerator: "IMS"
+ scalar_value: {
+ int32_t: 64
+ }
+ enumerator: "CBS"
+ scalar_value: {
+ int32_t: 128
+ }
+ enumerator: "IA"
+ scalar_value: {
+ int32_t: 256
+ }
+ enumerator: "EMERGENCY"
+ scalar_value: {
+ int32_t: 512
+ }
+ enumerator: "ALL"
+ scalar_value: {
+ int32_t: 1023
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::radio::V1_0::IndicationFilter"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "SIGNAL_STRENGTH"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "FULL_NETWORK_STATE"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "DATA_CALL_DORMANCY_CHANGED"
+ scalar_value: {
+ int32_t: 4
+ }
+ enumerator: "ALL"
+ scalar_value: {
+ int32_t: 7
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::radio::V1_0::MvnoType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "NONE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "IMSI"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "GID"
+ scalar_value: {
+ int32_t: 2
+ }
+ enumerator: "SPN"
+ scalar_value: {
+ int32_t: 3
+ }
+ }
+}
+
+attribute: {
+ name: "::android::hardware::radio::V1_0::DeviceStateType"
+ type: TYPE_ENUM
+ enum_value: {
+ scalar_type: "int32_t"
+
+ enumerator: "POWER_SAVE_MODE"
+ scalar_value: {
+ int32_t: 0
+ }
+ enumerator: "CHARGING_STATE"
+ scalar_value: {
+ int32_t: 1
+ }
+ enumerator: "LOW_DATA_EXPECTED"
+ scalar_value: {
+ int32_t: 2
+ }
+ }
+}
+
+attribute: {
name: "::android::hardware::radio::V1_0::RadioResponseInfo"
type: TYPE_STRUCT
struct_value: {
@@ -4528,7 +4660,7 @@
scalar_type: "int32_t"
}
struct_value: {
- name: "basestationId"
+ name: "baseStationId"
type: TYPE_SCALAR
scalar_type: "int32_t"
}
@@ -4956,8 +5088,8 @@
type: TYPE_STRUCT
struct_value: {
name: "profileId"
- type: TYPE_SCALAR
- scalar_type: "int32_t"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::radio::V1_0::DataProfileId"
}
struct_value: {
name: "apn"
@@ -4968,6 +5100,10 @@
type: TYPE_STRING
}
struct_value: {
+ name: "roamingProtocol"
+ type: TYPE_STRING
+ }
+ struct_value: {
name: "authType"
type: TYPE_ENUM
predefined_type: "::android::hardware::radio::V1_0::ApnAuthType"
@@ -5005,6 +5141,32 @@
type: TYPE_SCALAR
scalar_type: "bool_t"
}
+ struct_value: {
+ name: "supportedApnTypesBitmap"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::radio::V1_0::ApnTypes"
+ }
+ struct_value: {
+ name: "bearerBitmap"
+ type: TYPE_MASK
+ scalar_type: "int32_t"
+ predefined_type: "::android::hardware::radio::V1_0::RadioAccessFamily"
+ }
+ struct_value: {
+ name: "mtu"
+ type: TYPE_SCALAR
+ scalar_type: "int32_t"
+ }
+ struct_value: {
+ name: "mvnoType"
+ type: TYPE_ENUM
+ predefined_type: "::android::hardware::radio::V1_0::MvnoType"
+ }
+ struct_value: {
+ name: "mvnoMatchData"
+ type: TYPE_STRING
+ }
}
attribute: {
@@ -5022,7 +5184,8 @@
}
struct_value: {
name: "raf"
- type: TYPE_ENUM
+ type: TYPE_MASK
+ scalar_type: "int32_t"
predefined_type: "::android::hardware::radio::V1_0::RadioAccessFamily"
}
struct_value: {
@@ -5087,8 +5250,8 @@
struct_value: {
name: "txmModetimeMs"
type: TYPE_ARRAY
+ vector_size: 5
vector_value: {
- vector_size: 5
type: TYPE_SCALAR
scalar_type: "uint32_t"
}
@@ -5238,7 +5401,7 @@
predefined_type: "::android::hardware::radio::V1_0::CdmaSignalInfoRecord"
}
struct_value: {
- name: "numbertype"
+ name: "numberType"
type: TYPE_ENUM
predefined_type: "::android::hardware::radio::V1_0::CdmaCallWaitingNumberType"
}
@@ -5477,7 +5640,8 @@
}
struct_value: {
name: "serviceClass"
- type: TYPE_ENUM
+ type: TYPE_MASK
+ scalar_type: "int32_t"
predefined_type: "::android::hardware::radio::V1_0::SuppServiceClass"
}
struct_value: {
diff --git a/sensors/1.0/Android.bp b/sensors/1.0/Android.bp
index 2995504..d4ebe98 100644
--- a/sensors/1.0/Android.bp
+++ b/sensors/1.0/Android.bp
@@ -114,38 +114,38 @@
}
genrule {
- name: "android.hardware.sensors@1.0-ISensors-vts.profiler_genc++",
+ name: "android.hardware.sensors@1.0-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.sensors@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/sensors/1.0/ $(genDir)/android/hardware/sensors/1.0/",
srcs: [
- "ISensors.hal",
"types.hal",
+ "ISensors.hal",
],
out: [
- "android/hardware/sensors/1.0/Sensors.vts.cpp",
"android/hardware/sensors/1.0/types.vts.cpp",
+ "android/hardware/sensors/1.0/Sensors.vts.cpp",
],
}
genrule {
- name: "android.hardware.sensors@1.0-ISensors-vts.profiler_genc++_headers",
+ name: "android.hardware.sensors@1.0-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.sensors@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/sensors/1.0/ $(genDir)/android/hardware/sensors/1.0/",
srcs: [
- "ISensors.hal",
"types.hal",
+ "ISensors.hal",
],
out: [
- "android/hardware/sensors/1.0/Sensors.vts.h",
"android/hardware/sensors/1.0/types.vts.h",
+ "android/hardware/sensors/1.0/Sensors.vts.h",
],
}
cc_library_shared {
- name: "android.hardware.sensors@1.0-ISensors-vts.profiler",
- generated_sources: ["android.hardware.sensors@1.0-ISensors-vts.profiler_genc++"],
- generated_headers: ["android.hardware.sensors@1.0-ISensors-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.sensors@1.0-ISensors-vts.profiler_genc++_headers"],
+ name: "android.hardware.sensors@1.0-vts.profiler",
+ generated_sources: ["android.hardware.sensors@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.sensors@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.sensors@1.0-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/sensors/1.0/vts/Android.mk b/sensors/1.0/vts/Android.mk
deleted file mode 100644
index e22fba7..0000000
--- a/sensors/1.0/vts/Android.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-# include hidl test makefiles
-include $(LOCAL_PATH)/functional/vts/testcases/hal/sensors/hidl/Android.mk
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/__init__.py b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/__init__.py
+++ /dev/null
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/Android.mk b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/__init__.py b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/__init__.py
+++ /dev/null
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/Android.mk b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/Android.mk
deleted file mode 100644
index 79f8f7a..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := SensorsHidlTest
-VTS_CONFIG_SRC_DIR := testcases/hal/sensors/hidl/host
-include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/AndroidTest.xml b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/AndroidTest.xml
deleted file mode 100644
index 6e40610..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/AndroidTest.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS HAL sensors test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="cleanup" value="true" />
- <option name="push" value="spec/hardware/interfaces/sensors/1.0/vts/Sensors.vts->/data/local/tmp/spec/Sensors.vts" />
- <option name="push" value="spec/hardware/interfaces/sensors/1.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="SensorsHidlTest" />
- <option name="test-case-path" value="vts/testcases/hal/sensors/hidl/host/SensorsHidlTest" />
- <option name="test-timeout" value="3m" />
- </test>
-</configuration>
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/SensorsHidlTest.py b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/SensorsHidlTest.py
deleted file mode 100644
index 3c7fbbb..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/SensorsHidlTest.py
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/usr/bin/env python3.4
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-import logging
-import time
-
-from vts.runners.host import asserts
-from vts.runners.host import base_test_with_webdb
-from vts.runners.host import test_runner
-from vts.utils.python.controllers import android_device
-from vts.utils.python.profiling import profiling_utils
-
-
-class SensorsHidlTest(base_test_with_webdb.BaseTestWithWebDbClass):
- """Host testcase class for the SENSORS HIDL HAL.
-
- This class set-up/tear-down the webDB host test framwork and contains host test cases for
- sensors HIDL HAL.
- """
-
- def setUpClass(self):
- """Creates a mirror and turns on the framework-layer SENSORS service."""
- self.dut = self.registerController(android_device)[0]
-
- self.dut.shell.InvokeTerminal("one")
- self.dut.shell.one.Execute("setenforce 0") # SELinux permissive mode
-
- # Test using the binderized mode
- self.dut.shell.one.Execute(
- "setprop vts.hal.vts.hidl.get_stub true")
-
- self.dut.hal.InitHidlHal(
- target_type="sensors",
- target_basepaths=self.dut.libPaths,
- target_version=1.0,
- target_package="android.hardware.sensors",
- target_component_name="ISensors",
- hw_binder_service_name=None,
- bits=64 if self.dut.is64Bit else 32)
-
- def tearDownClass(self):
- """ If profiling is enabled for the test, collect the profiling data
- and disable profiling after the test is done.
- """
- if self.enable_profiling:
- self.ProcessAndUploadTraceData()
-
- def setUpTest(self):
- if self.enable_profiling:
- profiling_utils.EnableVTSProfiling(self.dut.shell.one)
-
- def tearDownTest(self):
- if self.enable_profiling:
- profiling_trace_path = getattr(
- self, self.VTS_PROFILING_TRACING_PATH, "")
- self.ProcessTraceDataForTestCase(self.dut, profiling_trace_path)
- profiling_utils.DisableVTSProfiling(self.dut.shell.one)
-
- def testSensorsBasic(self):
- """Test the basic operation of test framework and sensor HIDL HAL
-
- This test obtains predefined enum values via sensors HIDL HAL host test framework and
- compares them to known values as a sanity check to make sure both sensors HAL
- and the test framework are working properly.
- """
- sensors_types = self.dut.hal.sensors.GetHidlTypeInterface("types")
- logging.info("sensors_types: %s", sensors_types)
- logging.info("OK: %s", sensors_types.OK)
- logging.info("BAD_VALUE: %s", sensors_types.BAD_VALUE)
- logging.info("PERMISSION_DENIED: %s", sensors_types.PERMISSION_DENIED)
- logging.info("INVALID_OPERATION: %s", sensors_types.INVALID_OPERATION)
- asserts.assertEqual(sensors_types.OK, 0);
- asserts.assertEqual(sensors_types.BAD_VALUE, -22);
-
- logging.info("sensor types:")
- logging.info("SENSOR_TYPE_ACCELEROMETER: %s", sensors_types.SENSOR_TYPE_ACCELEROMETER)
- logging.info("SENSOR_TYPE_GEOMAGNETIC_FIELD: %s", sensors_types.SENSOR_TYPE_GEOMAGNETIC_FIELD)
- logging.info("SENSOR_TYPE_GYROSCOPE: %s", sensors_types.SENSOR_TYPE_GYROSCOPE)
- asserts.assertEqual(sensors_types.SENSOR_TYPE_ACCELEROMETER, 1);
- asserts.assertEqual(sensors_types.SENSOR_TYPE_GEOMAGNETIC_FIELD, 2);
- asserts.assertEqual(sensors_types.SENSOR_TYPE_GYROSCOPE, 4);
-
-if __name__ == "__main__":
- test_runner.main()
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/__init__.py b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host/__init__.py
+++ /dev/null
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host_profiling/Android.mk b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host_profiling/Android.mk
deleted file mode 100644
index 6029cc0..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := SensorsHidlProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/sensors/hidl/host_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host_profiling/AndroidTest.xml b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host_profiling/AndroidTest.xml
deleted file mode 100644
index c056d90..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/host_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS HAL sensors test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="cleanup" value="true" />
- <option name="push" value="spec/hardware/interfaces/sensors/1.0/vts/Sensors.vts->/data/local/tmp/spec/Sensors.vts" />
- <option name="push" value="spec/hardware/interfaces/sensors/1.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="SensorsHidlProfilingTest" />
- <option name="test-case-path" value="vts/testcases/hal/sensors/hidl/host/SensorsHidlTest" />
- <option name="test-timeout" value="3m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target/Android.mk b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target/Android.mk
deleted file mode 100644
index c71a661..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := SensorsHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/sensors/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target/AndroidTest.xml b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target/AndroidTest.xml
deleted file mode 100644
index 6329d5d..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS sensors HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="SensorsHidlTargetTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/sensors_hidl_hal_test/sensors_hidl_hal_test,
- _64bit::DATA/nativetest64/sensors_hidl_hal_test/sensors_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="binary-test-disable-framework" value="true" />
- <option name="test-timeout" value="10m" />
- </test>
-</configuration>
-
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target_profiling/Android.mk b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target_profiling/Android.mk
deleted file mode 100644
index 1b81381..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := SensorsHidlTargetProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/sensors/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target_profiling/AndroidTest.xml b/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index 80e46b7..0000000
--- a/sensors/1.0/vts/functional/vts/testcases/hal/sensors/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS sensors HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="SensorsHidlTargetProfilingTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/sensors_hidl_hal_test/sensors_hidl_hal_test,
- _64bit::DATA/nativetest64/sensors_hidl_hal_test/sensors_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="binary-test-disable-framework" value="true" />
- <option name="test-timeout" value="10m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
-
diff --git a/soundtrigger/2.0/Android.bp b/soundtrigger/2.0/Android.bp
index 5b50f39..a11cbe6 100644
--- a/soundtrigger/2.0/Android.bp
+++ b/soundtrigger/2.0/Android.bp
@@ -130,84 +130,42 @@
}
genrule {
- name: "android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler_genc++",
+ name: "android.hardware.soundtrigger@2.0-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.soundtrigger@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
srcs: [
- "ISoundTriggerHw.hal",
"types.hal",
+ "ISoundTriggerHw.hal",
+ "ISoundTriggerHwCallback.hal",
],
out: [
+ "android/hardware/soundtrigger/2.0/types.vts.cpp",
"android/hardware/soundtrigger/2.0/SoundTriggerHw.vts.cpp",
- "android/hardware/soundtrigger/2.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.soundtrigger@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
- srcs: [
- "ISoundTriggerHw.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/soundtrigger/2.0/SoundTriggerHw.vts.h",
- "android/hardware/soundtrigger/2.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler",
- generated_sources: ["android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler_genc++"],
- generated_headers: ["android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hardware.audio.common@2.0",
- "android.hidl.base@1.0",
- "android.hardware.soundtrigger@2.0",
- ],
-}
-
-genrule {
- name: "android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.soundtrigger@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
- srcs: [
- "ISoundTriggerHwCallback.hal",
- "types.hal",
- ],
- out: [
"android/hardware/soundtrigger/2.0/SoundTriggerHwCallback.vts.cpp",
- "android/hardware/soundtrigger/2.0/types.vts.cpp",
],
}
genrule {
- name: "android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler_genc++_headers",
+ name: "android.hardware.soundtrigger@2.0-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.soundtrigger@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
srcs: [
- "ISoundTriggerHwCallback.hal",
"types.hal",
+ "ISoundTriggerHw.hal",
+ "ISoundTriggerHwCallback.hal",
],
out: [
- "android/hardware/soundtrigger/2.0/SoundTriggerHwCallback.vts.h",
"android/hardware/soundtrigger/2.0/types.vts.h",
+ "android/hardware/soundtrigger/2.0/SoundTriggerHw.vts.h",
+ "android/hardware/soundtrigger/2.0/SoundTriggerHwCallback.vts.h",
],
}
cc_library_shared {
- name: "android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler",
- generated_sources: ["android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler_genc++"],
- generated_headers: ["android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler_genc++_headers"],
+ name: "android.hardware.soundtrigger@2.0-vts.profiler",
+ generated_sources: ["android.hardware.soundtrigger@2.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.soundtrigger@2.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.soundtrigger@2.0-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/soundtrigger/2.0/vts/functional/Android.mk b/soundtrigger/2.0/vts/functional/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/soundtrigger/2.0/vts/functional/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/soundtrigger/2.0/vts/functional/vts/Android.mk b/soundtrigger/2.0/vts/functional/vts/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/soundtrigger/2.0/vts/functional/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/soundtrigger/2.0/vts/functional/vts/testcases/Android.mk b/soundtrigger/2.0/vts/functional/vts/testcases/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/soundtrigger/2.0/vts/functional/vts/testcases/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/soundtrigger/2.0/vts/functional/vts/testcases/hal/Android.mk b/soundtrigger/2.0/vts/functional/vts/testcases/hal/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/soundtrigger/2.0/vts/functional/vts/testcases/hal/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/Android.mk b/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/Android.mk b/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target/Android.mk b/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target/Android.mk
deleted file mode 100644
index a99f4ce..0000000
--- a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalSoundTriggerHidlTargetBasicTest
-VTS_CONFIG_SRC_DIR := testcases/hal/soundtrigger/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target/AndroidTest.xml b/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target/AndroidTest.xml
deleted file mode 100644
index 9339165..0000000
--- a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS sound trigger HIDL HAL's basic target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalSoundTriggerHidlTargetBasicTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/soundtrigger_hidl_hal_test/soundtrigger_hidl_hal_test,
- _64bit::DATA/nativetest64/soundtrigger_hidl_hal_test/soundtrigger_hidl_hal_test,
- "/>
- <option name="test-config-path" value="vts/testcases/hal/soundtrigger/hidl/target/HalSoundTriggerHidlTargetBasicTest.config" />
- <option name="binary-test-type" value="hal_hidl_gtest" />
- <option name="precondition-file-path-prefix" value="*/lib/hw/sound_trigger.primary." />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
diff --git a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target/HalSoundTriggerHidlTargetBasicTest.config b/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target/HalSoundTriggerHidlTargetBasicTest.config
deleted file mode 100644
index 5c12d13..0000000
--- a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target/HalSoundTriggerHidlTargetBasicTest.config
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "use_gae_db": true,
- "coverage": true,
- "modules": [
- {
- "module_name": "system/lib/hw/sound_trigger.primary.bullhead",
- "git_project": {
- "name": "platform/vendor/lge/bullhead",
- "path": "vendor/lge/bullhead"
- }
- },
- {
- "module_name": "system/lib/hw/sound_trigger.primary.angler",
- "git_project": {
- "name": "platform/vendor/huawei/angler",
- "path": "vendor/huawei/angler"
- }
- },
- {
- "module_name": "system/lib/hw/sound_trigger.primary.marlin",
- "git_project": {
- "name": "platform/vendor/google_devices/marlin",
- "path": "vendor/google_devices/marlin"
- }
- },
- {
- "module_name": "system/lib/hw/sound_trigger.primary.sailfish",
- "git_project": {
- "name": "platform/vendor/google_devices/marlin",
- "path": "vendor/google_devices/marlin"
- }
- },
- {
- "module_name": "system/lib/hw/android.hardware.soundtrigger@2.0-impl",
- "git_project": {
- "name": "platform/hardware/interfaces",
- "path": "hardware/interfaces"
- }
- }
- ]
-}
diff --git a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target_profiling/Android.mk b/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target_profiling/Android.mk
deleted file mode 100644
index fc0f9c4..0000000
--- a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalSoundTriggerHidlTargetBasicProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/soundtrigger/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target_profiling/AndroidTest.xml b/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index cd95b5f..0000000
--- a/soundtrigger/2.0/vts/functional/vts/testcases/hal/soundtrigger/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS sound trigger HIDL HAL's basic target-side, profiling test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalSoundTriggerHidlTargetBasicProfilingTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/soundtrigger_hidl_hal_test/soundtrigger_hidl_hal_test,
- _64bit::DATA/nativetest64/soundtrigger_hidl_hal_test/soundtrigger_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="hal_hidl_gtest" />
- <option name="precondition-file-path-prefix" value="*/lib/hw/sound_trigger.primary." />
- <option name="test-timeout" value="1m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
diff --git a/tests/bar/1.0/Android.bp b/tests/bar/1.0/Android.bp
index fbec8d1..924b3ab 100644
--- a/tests/bar/1.0/Android.bp
+++ b/tests/bar/1.0/Android.bp
@@ -1,5 +1,17 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.tests.bar@1.0_hal",
+ srcs: [
+ "types.hal",
+ "IBar.hal",
+ "IComplicated.hal",
+ "IFooCallback.hal",
+ "IImportRules.hal",
+ "IImportTypes.hal",
+ ],
+}
+
genrule {
name: "android.hardware.tests.bar@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/tests/baz/1.0/Android.bp b/tests/baz/1.0/Android.bp
index 4106838..1cf71b6 100644
--- a/tests/baz/1.0/Android.bp
+++ b/tests/baz/1.0/Android.bp
@@ -1,5 +1,15 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.tests.baz@1.0_hal",
+ srcs: [
+ "types.hal",
+ "IBase.hal",
+ "IBaz.hal",
+ "IBazCallback.hal",
+ ],
+}
+
genrule {
name: "android.hardware.tests.baz@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/tests/expression/1.0/Android.bp b/tests/expression/1.0/Android.bp
index bb7aedd..1730aba 100644
--- a/tests/expression/1.0/Android.bp
+++ b/tests/expression/1.0/Android.bp
@@ -1,5 +1,13 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.tests.expression@1.0_hal",
+ srcs: [
+ "IExpression.hal",
+ "IExpressionExt.hal",
+ ],
+}
+
genrule {
name: "android.hardware.tests.expression@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/tests/foo/1.0/Android.bp b/tests/foo/1.0/Android.bp
index 8294c65..c65d3cf 100644
--- a/tests/foo/1.0/Android.bp
+++ b/tests/foo/1.0/Android.bp
@@ -1,5 +1,17 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.tests.foo@1.0_hal",
+ srcs: [
+ "types.hal",
+ "IFoo.hal",
+ "IFooCallback.hal",
+ "IMyTypes.hal",
+ "ISimple.hal",
+ "ITheirTypes.hal",
+ ],
+}
+
genrule {
name: "android.hardware.tests.foo@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/tests/inheritance/1.0/Android.bp b/tests/inheritance/1.0/Android.bp
index 4389147..433e9ac 100644
--- a/tests/inheritance/1.0/Android.bp
+++ b/tests/inheritance/1.0/Android.bp
@@ -1,5 +1,15 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.tests.inheritance@1.0_hal",
+ srcs: [
+ "IChild.hal",
+ "IFetcher.hal",
+ "IGrandparent.hal",
+ "IParent.hal",
+ ],
+}
+
genrule {
name: "android.hardware.tests.inheritance@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/tests/libhwbinder/1.0/Android.bp b/tests/libhwbinder/1.0/Android.bp
index 8c27225..1d0b4b5 100644
--- a/tests/libhwbinder/1.0/Android.bp
+++ b/tests/libhwbinder/1.0/Android.bp
@@ -1,5 +1,12 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.tests.libhwbinder@1.0_hal",
+ srcs: [
+ "IBenchmark.hal",
+ ],
+}
+
genrule {
name: "android.hardware.tests.libhwbinder@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/tests/memory/1.0/Android.bp b/tests/memory/1.0/Android.bp
index d8fe811..3f27810 100644
--- a/tests/memory/1.0/Android.bp
+++ b/tests/memory/1.0/Android.bp
@@ -1,5 +1,12 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.tests.memory@1.0_hal",
+ srcs: [
+ "IMemoryTest.hal",
+ ],
+}
+
genrule {
name: "android.hardware.tests.memory@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/tests/msgq/1.0/Android.bp b/tests/msgq/1.0/Android.bp
index 669722e..39fef89 100644
--- a/tests/msgq/1.0/Android.bp
+++ b/tests/msgq/1.0/Android.bp
@@ -1,5 +1,12 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.tests.msgq@1.0_hal",
+ srcs: [
+ "ITestMsgQ.hal",
+ ],
+}
+
genrule {
name: "android.hardware.tests.msgq@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/tests/pointer/1.0/Android.bp b/tests/pointer/1.0/Android.bp
index be7f873..e40003d 100644
--- a/tests/pointer/1.0/Android.bp
+++ b/tests/pointer/1.0/Android.bp
@@ -1,5 +1,13 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.tests.pointer@1.0_hal",
+ srcs: [
+ "IGraph.hal",
+ "IPointer.hal",
+ ],
+}
+
genrule {
name: "android.hardware.tests.pointer@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/thermal/1.0/Android.bp b/thermal/1.0/Android.bp
index e80bedc..fc44ff1 100644
--- a/thermal/1.0/Android.bp
+++ b/thermal/1.0/Android.bp
@@ -114,38 +114,38 @@
}
genrule {
- name: "android.hardware.thermal@1.0-IThermal-vts.profiler_genc++",
+ name: "android.hardware.thermal@1.0-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.thermal@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/thermal/1.0/ $(genDir)/android/hardware/thermal/1.0/",
srcs: [
- "IThermal.hal",
"types.hal",
+ "IThermal.hal",
],
out: [
- "android/hardware/thermal/1.0/Thermal.vts.cpp",
"android/hardware/thermal/1.0/types.vts.cpp",
+ "android/hardware/thermal/1.0/Thermal.vts.cpp",
],
}
genrule {
- name: "android.hardware.thermal@1.0-IThermal-vts.profiler_genc++_headers",
+ name: "android.hardware.thermal@1.0-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.thermal@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/thermal/1.0/ $(genDir)/android/hardware/thermal/1.0/",
srcs: [
- "IThermal.hal",
"types.hal",
+ "IThermal.hal",
],
out: [
- "android/hardware/thermal/1.0/Thermal.vts.h",
"android/hardware/thermal/1.0/types.vts.h",
+ "android/hardware/thermal/1.0/Thermal.vts.h",
],
}
cc_library_shared {
- name: "android.hardware.thermal@1.0-IThermal-vts.profiler",
- generated_sources: ["android.hardware.thermal@1.0-IThermal-vts.profiler_genc++"],
- generated_headers: ["android.hardware.thermal@1.0-IThermal-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.thermal@1.0-IThermal-vts.profiler_genc++_headers"],
+ name: "android.hardware.thermal@1.0-vts.profiler",
+ generated_sources: ["android.hardware.thermal@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.thermal@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.thermal@1.0-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/thermal/1.0/default/service.cpp b/thermal/1.0/default/service.cpp
index ea86de4..b83cbf8 100644
--- a/thermal/1.0/default/service.cpp
+++ b/thermal/1.0/default/service.cpp
@@ -23,5 +23,5 @@
using android::hardware::defaultPassthroughServiceImplementation;
int main() {
- return defaultPassthroughServiceImplementation<IThermal>("thermal");
+ return defaultPassthroughServiceImplementation<IThermal>();
}
diff --git a/thermal/1.0/vts/functional/Android.mk b/thermal/1.0/vts/functional/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/thermal/1.0/vts/functional/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/thermal/1.0/vts/functional/thermal_hidl_hal_test.cpp b/thermal/1.0/vts/functional/thermal_hidl_hal_test.cpp
index 3c887c8..5bdd2c2 100644
--- a/thermal/1.0/vts/functional/thermal_hidl_hal_test.cpp
+++ b/thermal/1.0/vts/functional/thermal_hidl_hal_test.cpp
@@ -40,7 +40,6 @@
using ::android::hardware::Void;
using ::android::sp;
-#define THERMAL_SERVICE_NAME "thermal"
#define MONITORING_OPERATION_NUMBER 10
#define MAX_DEVICE_TEMPERATURE 200
@@ -50,7 +49,7 @@
class ThermalHidlTest : public ::testing::Test {
public:
virtual void SetUp() override {
- thermal_ = IThermal::getService(THERMAL_SERVICE_NAME);
+ thermal_ = IThermal::getService();
ASSERT_NE(thermal_, nullptr);
baseSize_ = 0;
names_.clear();
diff --git a/thermal/1.0/vts/functional/vts/Android.mk b/thermal/1.0/vts/functional/vts/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/thermal/1.0/vts/functional/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/thermal/1.0/vts/functional/vts/testcases/Android.mk b/thermal/1.0/vts/functional/vts/testcases/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/thermal/1.0/vts/functional/vts/testcases/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/thermal/1.0/vts/functional/vts/testcases/hal/Android.mk b/thermal/1.0/vts/functional/vts/testcases/hal/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/thermal/1.0/vts/functional/vts/testcases/hal/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/Android.mk b/thermal/1.0/vts/functional/vts/testcases/hal/thermal/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/__init__.py b/thermal/1.0/vts/functional/vts/testcases/hal/thermal/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/__init__.py
+++ /dev/null
diff --git a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/Android.mk b/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/__init__.py b/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/__init__.py
+++ /dev/null
diff --git a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target/Android.mk b/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target/Android.mk
deleted file mode 100644
index 1c3ceb3..0000000
--- a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := ThermalHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/thermal/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target/AndroidTest.xml b/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target/AndroidTest.xml
deleted file mode 100644
index 169264d..0000000
--- a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS VIBRATOR HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="ThermalHidlTargetTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/thermal_hidl_hal_test/thermal_hidl_hal_test,
- _64bit::DATA/nativetest64/thermal_hidl_hal_test/thermal_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="5m" />
- </test>
-</configuration>
-
diff --git a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target_profiling/Android.mk b/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target_profiling/Android.mk
deleted file mode 100644
index 1f937fa..0000000
--- a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := ThermalHidlTargetProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/thermal/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target_profiling/AndroidTest.xml b/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index 46ae05a..0000000
--- a/thermal/1.0/vts/functional/vts/testcases/hal/thermal/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS THERMAL HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="ThermalHidlTargetProfilingTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/thermal_hidl_hal_test/thermal_hidl_hal_test,
- _64bit::DATA/nativetest64/thermal_hidl_hal_test/thermal_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="5m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
-
diff --git a/tv/cec/1.0/Android.bp b/tv/cec/1.0/Android.bp
index 21233ab..0096589 100644
--- a/tv/cec/1.0/Android.bp
+++ b/tv/cec/1.0/Android.bp
@@ -126,83 +126,42 @@
}
genrule {
- name: "android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler_genc++",
+ name: "android.hardware.tv.cec@1.0-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.cec@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
srcs: [
- "IHdmiCec.hal",
"types.hal",
+ "IHdmiCec.hal",
+ "IHdmiCecCallback.hal",
],
out: [
+ "android/hardware/tv/cec/1.0/types.vts.cpp",
"android/hardware/tv/cec/1.0/HdmiCec.vts.cpp",
- "android/hardware/tv/cec/1.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.cec@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
- srcs: [
- "IHdmiCec.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/tv/cec/1.0/HdmiCec.vts.h",
- "android/hardware/tv/cec/1.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler",
- generated_sources: ["android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler_genc++"],
- generated_headers: ["android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.tv.cec@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.cec@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
- srcs: [
- "IHdmiCecCallback.hal",
- "types.hal",
- ],
- out: [
"android/hardware/tv/cec/1.0/HdmiCecCallback.vts.cpp",
- "android/hardware/tv/cec/1.0/types.vts.cpp",
],
}
genrule {
- name: "android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler_genc++_headers",
+ name: "android.hardware.tv.cec@1.0-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.cec@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
srcs: [
- "IHdmiCecCallback.hal",
"types.hal",
+ "IHdmiCec.hal",
+ "IHdmiCecCallback.hal",
],
out: [
- "android/hardware/tv/cec/1.0/HdmiCecCallback.vts.h",
"android/hardware/tv/cec/1.0/types.vts.h",
+ "android/hardware/tv/cec/1.0/HdmiCec.vts.h",
+ "android/hardware/tv/cec/1.0/HdmiCecCallback.vts.h",
],
}
cc_library_shared {
- name: "android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler",
- generated_sources: ["android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler_genc++"],
- generated_headers: ["android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler_genc++_headers"],
+ name: "android.hardware.tv.cec@1.0-vts.profiler",
+ generated_sources: ["android.hardware.tv.cec@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.tv.cec@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.tv.cec@1.0-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/tv/cec/1.0/vts/Android.mk b/tv/cec/1.0/vts/Android.mk
deleted file mode 100644
index fc636f7..0000000
--- a/tv/cec/1.0/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(LOCAL_PATH)/functional/vts/testcases/hal/tv_cec/hidl/Android.mk
diff --git a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/__init__.py b/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/__init__.py
+++ /dev/null
diff --git a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/Android.mk b/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/__init__.py b/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/__init__.py
+++ /dev/null
diff --git a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/Android.mk b/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/Android.mk
deleted file mode 100644
index 14a57a6..0000000
--- a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := TvCecHidlTest
-VTS_CONFIG_SRC_DIR := testcases/hal/tv_cec/hidl/host
-include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/AndroidTest.xml b/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/AndroidTest.xml
deleted file mode 100644
index 79584d5..0000000
--- a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Tv Input HIDL HAL's host-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/HdmiCec.vts->/data/local/tmp/spec/HdmiCec.vts" />
- <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/HdmiCecCallback.vts->/data/local/tmp/spec/HdmiCecCallback.vts" />
- <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- <option name="cleanup" value="true" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer">
- </target_preparer>
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="TvCecHidlTest" />
- <option name="test-case-path" value="vts/testcases/hal/tv_cec/hidl/host/TvCecHidlTest" />
- </test>
-</configuration>
\ No newline at end of file
diff --git a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/TvCecHidlTest.py b/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/TvCecHidlTest.py
deleted file mode 100644
index 7cb1b06..0000000
--- a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/TvCecHidlTest.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-import logging
-
-from vts.proto import ComponentSpecificationMessage_pb2 as CompSpecMsg
-from vts.runners.host import asserts
-from vts.runners.host import base_test_with_webdb
-from vts.runners.host import const
-from vts.runners.host import keys
-from vts.runners.host import test_runner
-from vts.utils.python.controllers import android_device
-from vts.utils.python.coverage import coverage_utils
-
-
-class TvCecHidlTest(base_test_with_webdb.BaseTestWithWebDbClass):
- """Host testcase class for the TV HDMI_CEC HIDL HAL."""
-
- def setUpClass(self):
- """Creates a mirror and init tv hdmi cec hal service."""
- self.dut = self.registerController(android_device)[0]
-
- self.dut.shell.InvokeTerminal("one")
- self.dut.shell.one.Execute("setenforce 0") # SELinux permissive mode
-
- self.dut.shell.one.Execute(
- "setprop vts.hal.vts.hidl.get_stub true")
-
- if getattr(self, keys.ConfigKeys.IKEY_ENABLE_COVERAGE, False):
- coverage_utils.InitializeDeviceCoverage(self.dut)
-
- self.dut.hal.InitHidlHal(
- target_type="tv_cec",
- target_basepaths=self.dut.libPaths,
- target_version=1.0,
- target_package="android.hardware.tv.cec",
- target_component_name="IHdmiCec",
- hw_binder_service_name="cec-hal-1-0",
- bits=64 if self.dut.is64Bit else 32)
-
- def tearDownClass(self):
- """To be executed when all test cases are finished."""
- if getattr(self, keys.ConfigKeys.IKEY_ENABLE_COVERAGE, False):
- self.SetCoverageData(coverage_utils.GetGcdaDict(self.dut))
-
- def testGetCecVersion1(self):
- """A simple test case which queries the cec version."""
- logging.info('DIR HAL %s', dir(self.dut.hal))
- version = self.dut.hal.tv_cec.getCecVersion()
- logging.info('Cec version: %s', version)
-
- def testSendRandomMessage(self):
- """A test case which sends a random message."""
- self.vtypes = self.dut.hal.tv_cec.GetHidlTypeInterface("types")
- logging.info("tv_cec types: %s", self.vtypes)
-
- cec_message = {
- "initiator": self.vtypes.TV,
- "destination": self.vtypes.PLAYBACK_1,
- "body": [1, 2, 3]
- }
- message = self.vtypes.Py2Pb("CecMessage", cec_message)
- logging.info("message: %s", message)
- result = self.dut.hal.tv_cec.sendMessage(message)
- logging.info('sendMessage result: %s', result)
-
-if __name__ == "__main__":
- test_runner.main()
diff --git a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/__init__.py b/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host/__init__.py
+++ /dev/null
diff --git a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host_profiling/Android.mk b/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host_profiling/Android.mk
deleted file mode 100644
index 40536a5..0000000
--- a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := TvCecHidlProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/tv_cec/hidl/host_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host_profiling/AndroidTest.xml b/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host_profiling/AndroidTest.xml
deleted file mode 100644
index ffd857e..0000000
--- a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Tv Input HIDL HAL's host-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/HdmiCec.vts->/data/local/tmp/spec/HdmiCec.vts" />
- <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/HdmiCecCallback.vts->/data/local/tmp/spec/HdmiCecCallback.vts" />
- <option name="push" value="spec/hardware/interfaces/tv/cec/1.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- <option name="cleanup" value="true" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer">
- </target_preparer>
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="TvCecHidlProfilingTest" />
- <option name="test-case-path" value="vts/testcases/hal/tv_cec/hidl/host/TvCecHidlTest" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
\ No newline at end of file
diff --git a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host_profiling/__init__.py b/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host_profiling/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/tv/cec/1.0/vts/functional/vts/testcases/hal/tv_cec/hidl/host_profiling/__init__.py
+++ /dev/null
diff --git a/tv/input/1.0/Android.bp b/tv/input/1.0/Android.bp
index 6bcb985..a71cdc5 100644
--- a/tv/input/1.0/Android.bp
+++ b/tv/input/1.0/Android.bp
@@ -130,84 +130,42 @@
}
genrule {
- name: "android.hardware.tv.input@1.0-ITvInput-vts.profiler_genc++",
+ name: "android.hardware.tv.input@1.0-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.input@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
srcs: [
- "ITvInput.hal",
"types.hal",
+ "ITvInput.hal",
+ "ITvInputCallback.hal",
],
out: [
+ "android/hardware/tv/input/1.0/types.vts.cpp",
"android/hardware/tv/input/1.0/TvInput.vts.cpp",
- "android/hardware/tv/input/1.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.tv.input@1.0-ITvInput-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.input@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
- srcs: [
- "ITvInput.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/tv/input/1.0/TvInput.vts.h",
- "android/hardware/tv/input/1.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.tv.input@1.0-ITvInput-vts.profiler",
- generated_sources: ["android.hardware.tv.input@1.0-ITvInput-vts.profiler_genc++"],
- generated_headers: ["android.hardware.tv.input@1.0-ITvInput-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.tv.input@1.0-ITvInput-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hardware.audio.common@2.0",
- "android.hidl.base@1.0",
- "android.hardware.tv.input@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.input@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
- srcs: [
- "ITvInputCallback.hal",
- "types.hal",
- ],
- out: [
"android/hardware/tv/input/1.0/TvInputCallback.vts.cpp",
- "android/hardware/tv/input/1.0/types.vts.cpp",
],
}
genrule {
- name: "android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler_genc++_headers",
+ name: "android.hardware.tv.input@1.0-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.input@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
srcs: [
- "ITvInputCallback.hal",
"types.hal",
+ "ITvInput.hal",
+ "ITvInputCallback.hal",
],
out: [
- "android/hardware/tv/input/1.0/TvInputCallback.vts.h",
"android/hardware/tv/input/1.0/types.vts.h",
+ "android/hardware/tv/input/1.0/TvInput.vts.h",
+ "android/hardware/tv/input/1.0/TvInputCallback.vts.h",
],
}
cc_library_shared {
- name: "android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler",
- generated_sources: ["android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler_genc++"],
- generated_headers: ["android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler_genc++_headers"],
+ name: "android.hardware.tv.input@1.0-vts.profiler",
+ generated_sources: ["android.hardware.tv.input@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.tv.input@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.tv.input@1.0-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/tv/input/1.0/default/TvInput.cpp b/tv/input/1.0/default/TvInput.cpp
index 4cd1d40..6fcb2e5 100644
--- a/tv/input/1.0/default/TvInput.cpp
+++ b/tv/input/1.0/default/TvInput.cpp
@@ -98,6 +98,8 @@
++pos;
}
}
+ } else if (ret == -EINVAL) {
+ res = Result::INVALID_ARGUMENTS;
}
cb(res, tvStreamConfigs);
return Void();
diff --git a/tv/input/1.0/vts/Android.mk b/tv/input/1.0/vts/Android.mk
deleted file mode 100644
index e0ad01e..0000000
--- a/tv/input/1.0/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(LOCAL_PATH)/functional/vts/testcases/hal/tv_input/hidl/Android.mk
diff --git a/tv/input/1.0/vts/functional/tv_input_hidl_hal_test.cpp b/tv/input/1.0/vts/functional/tv_input_hidl_hal_test.cpp
index 1279ecd..3747dc5 100644
--- a/tv/input/1.0/vts/functional/tv_input_hidl_hal_test.cpp
+++ b/tv/input/1.0/vts/functional/tv_input_hidl_hal_test.cpp
@@ -22,6 +22,9 @@
#include <android/hardware/tv/input/1.0/ITvInputCallback.h>
#include <gtest/gtest.h>
+#include <utils/KeyedVector.h>
+#include <mutex>
+#include <vector>
using ::android::hardware::tv::input::V1_0::ITvInput;
using ::android::hardware::tv::input::V1_0::ITvInputCallback;
@@ -33,44 +36,158 @@
using ::android::hardware::tv::input::V1_0::TvStreamConfig;
using ::android::hardware::Return;
using ::android::hardware::Void;
+using ::android::hardware::hidl_vec;
using ::android::sp;
+#define WAIT_FOR_EVENT_TIMEOUT 5
+#define DEFAULT_ID INT32_MIN
-// Simple ITvInputCallback used as part of testing.
-class TvInputCallback : public ITvInputCallback {
- public:
- TvInputCallback() {};
-
- virtual ~TvInputCallback() = default;
-
- // notify callback function - currently no-op.
- // TODO: modify it later.
- Return<void> notify(const TvInputEvent& event) override {
- return Void();
- };
-};
-
-
-// The main test class for TV Input HIDL HAL.
+/* The main test class for TV Input HIDL HAL. */
class TvInputHidlTest : public ::testing::Test {
public:
virtual void SetUp() override {
- // currently test passthrough mode only
- tv_input = ITvInput::getService();
- ASSERT_NE(tv_input, nullptr);
-
- tv_input_callback = new TvInputCallback();
- ASSERT_NE(tv_input_callback, nullptr);
+ tv_input_ = ITvInput::getService();
+ ASSERT_NE(tv_input_, nullptr);
+ tv_input_callback_ = new TvInputCallback(*this);
+ ASSERT_NE(tv_input_callback_, nullptr);
+ tv_input_->setCallback(tv_input_callback_);
+ // All events received within the timeout should be handled.
+ sleep(WAIT_FOR_EVENT_TIMEOUT);
}
virtual void TearDown() override {}
- sp<ITvInput> tv_input;
- sp<ITvInputCallback> tv_input_callback;
+ /* Called when a DEVICE_AVAILABLE event is received. */
+ void onDeviceAvailable(const TvInputDeviceInfo& deviceInfo) {
+ device_info_.add(deviceInfo.deviceId, deviceInfo);
+ }
+
+ /* Called when a DEVICE_UNAVAILABLE event is received. */
+ void onDeviceUnavailable(int32_t deviceId) {
+ device_info_.removeItem(deviceId);
+ }
+
+ /* Called when a DEVICE_CONFIGURATIONS_CHANGED event is received. */
+ Result onStreamConfigurationsChanged(int32_t deviceId) {
+ return updateStreamConfigurations(deviceId);
+ }
+
+ /* Gets and updates the stream configurations for a device. */
+ Result updateStreamConfigurations(int32_t deviceId) {
+ stream_config_.removeItem(deviceId);
+ Result result = Result::UNKNOWN;
+ hidl_vec<TvStreamConfig> list;
+ tv_input_->getStreamConfigurations(deviceId,
+ [&result, &list](Result res, hidl_vec<TvStreamConfig> configs) {
+ result = res;
+ if (res == Result::OK) {
+ list = configs;
+ }
+ });
+ if (result == Result::OK) {
+ stream_config_.add(deviceId, list);
+ }
+ return result;
+ }
+
+ /* Gets and updates the stream configurations for all existing devices. */
+ void updateAllStreamConfigurations() {
+ for (size_t i = 0; i < device_info_.size(); i++) {
+ int32_t device_id = device_info_.keyAt(i);
+ updateStreamConfigurations(device_id);
+ }
+ }
+
+ /* Returns a list of indices of stream_config_ whose corresponding values are not empty. */
+ std::vector<size_t> getConfigIndices() {
+ std::vector<size_t> indices;
+ for (size_t i = 0; i < stream_config_.size(); i++) {
+ if (stream_config_.valueAt(i).size() != 0) {
+ indices.push_back(i);
+ }
+ }
+ return indices;
+ }
+
+ /*
+ * Returns DEFAULT_ID if there is no missing integer in the range [0, the size of nums).
+ * Otherwise, returns the smallest missing non-negative integer.
+ */
+ int32_t getNumNotIn(std::vector<int32_t>& nums) {
+ int32_t result = DEFAULT_ID;
+ int32_t size = static_cast<int32_t>(nums.size());
+ for (int32_t i = 0; i < size; i++) {
+ // Put every element to its target position, if possible.
+ int32_t target_pos = nums[i];
+ while (target_pos >= 0 && target_pos < size && i != target_pos && nums[i] != nums[target_pos]) {
+ std::swap(nums[i], nums[target_pos]);
+ target_pos = nums[i];
+ }
+ }
+
+ for (int32_t i = 0; i < size; i++) {
+ if (nums[i] != i) {
+ return i;
+ }
+ }
+ return result;
+ }
+
+ /* A simple test implementation of TvInputCallback for TV Input Events. */
+ class TvInputCallback : public ITvInputCallback {
+ public:
+ TvInputCallback(TvInputHidlTest& parent) : parent_(parent){};
+
+ virtual ~TvInputCallback() = default;
+
+ /*
+ * Notifies the client that an event has occured. For possible event types,
+ * check TvInputEventType.
+ */
+ Return<void> notify(const TvInputEvent& event) override {
+ std::unique_lock<std::mutex> lock(parent_.mutex_);
+ switch(event.type) {
+ case TvInputEventType::DEVICE_AVAILABLE:
+ parent_.onDeviceAvailable(event.deviceInfo);
+ break;
+ case TvInputEventType::DEVICE_UNAVAILABLE:
+ parent_.onDeviceUnavailable(event.deviceInfo.deviceId);
+ break;
+ case TvInputEventType::STREAM_CONFIGURATIONS_CHANGED:
+ parent_.onStreamConfigurationsChanged(event.deviceInfo.deviceId);
+ break;
+ }
+ return Void();
+ };
+ private:
+ /* The test contains this callback instance. */
+ TvInputHidlTest& parent_;
+ };
+
+ /* The TvInput used for the test. */
+ sp<ITvInput> tv_input_;
+
+ /* The TvInputCallback used for the test. */
+ sp<ITvInputCallback> tv_input_callback_;
+
+ /*
+ * A KeyedVector stores device information of every available device.
+ * A key is a device ID and the corresponding value is the TvInputDeviceInfo.
+ */
+ android::KeyedVector<int32_t, TvInputDeviceInfo> device_info_;
+
+ /*
+ * A KeyedVector stores a list of stream configurations of every available device.
+ * A key is a device ID and the corresponding value is the stream configuration list.
+ */
+ android::KeyedVector<int32_t, hidl_vec<TvStreamConfig>> stream_config_;
+
+ /* The mutex controls the access of shared data. */
+ std::mutex mutex_;
};
-// A class for test environment setup.
+/* A class for test environment setup. */
class TvInputHidlEnvironment : public ::testing::Environment {
public:
virtual void SetUp() {}
@@ -79,9 +196,161 @@
private:
};
-// TODO: remove this test and add meaningful tests.
-TEST_F(TvInputHidlTest, DummyTest) {
- EXPECT_NE(tv_input, nullptr);
+/*
+ * GetStreamConfigTest:
+ * Calls updateStreamConfigurations() for each existing device
+ * Checks returned results
+ */
+TEST_F(TvInputHidlTest, GetStreamConfigTest) {
+ std::unique_lock<std::mutex> lock(mutex_);
+ for (size_t i = 0; i < device_info_.size(); i++) {
+ int32_t device_id = device_info_.keyAt(i);
+ Result result = updateStreamConfigurations(device_id);
+ EXPECT_EQ(Result::OK, result);
+ }
+}
+
+/*
+ * OpenAndCloseStreamTest:
+ * Calls openStream() and then closeStream() for each existing stream
+ * Checks returned results
+ */
+TEST_F(TvInputHidlTest, OpenAndCloseStreamTest) {
+ std::unique_lock<std::mutex> lock(mutex_);
+ updateAllStreamConfigurations();
+ for (size_t j = 0; j < stream_config_.size(); j++) {
+ int32_t device_id = stream_config_.keyAt(j);
+ hidl_vec<TvStreamConfig> config = stream_config_.valueAt(j);
+ for (size_t i = 0; i < config.size(); i++) {
+ Result result = Result::UNKNOWN;
+ int32_t stream_id = config[i].streamId;
+ tv_input_->openStream(device_id, stream_id,
+ [&result](Result res, const native_handle_t*) {
+ result = res;
+ });
+ EXPECT_EQ(Result::OK, result);
+
+ result = Result::UNKNOWN;
+ result = tv_input_->closeStream(device_id, stream_id);
+ EXPECT_EQ(Result::OK, result);
+ }
+ }
+}
+
+/*
+ * InvalidDeviceIdTest:
+ * Calls updateStreamConfigurations(), openStream(), and closeStream()
+ * for a non-existing device
+ * Checks returned results
+ * The results should be Result::INVALID_ARGUMENTS
+ */
+TEST_F(TvInputHidlTest, InvalidDeviceIdTest) {
+ std::unique_lock<std::mutex> lock(mutex_);
+
+ std::vector<int32_t> device_ids;
+ for (size_t i = 0; i < device_info_.size(); i++) {
+ device_ids.push_back(device_info_.keyAt(i));
+ }
+ // Get a non-existing device ID.
+ int32_t id = getNumNotIn(device_ids);
+ EXPECT_EQ(Result::INVALID_ARGUMENTS, updateStreamConfigurations(id));
+
+ Result result = Result::UNKNOWN;
+ int32_t stream_id = 0;
+ tv_input_->openStream(id, stream_id,
+ [&result](Result res, const native_handle_t*) {
+ result = res;
+ });
+ EXPECT_EQ(Result::INVALID_ARGUMENTS, result);
+
+ result = Result::UNKNOWN;
+ result = tv_input_->closeStream(id, stream_id);
+ EXPECT_EQ(Result::INVALID_ARGUMENTS, result);
+}
+
+/*
+ * InvalidStreamIdTest:
+ * Calls openStream(), and closeStream() for a non-existing stream
+ * Checks returned results
+ * The results should be Result::INVALID_ARGUMENTS
+ */
+TEST_F(TvInputHidlTest, InvalidStreamIdTest) {
+ std::unique_lock<std::mutex> lock(mutex_);
+ if (device_info_.isEmpty()) {
+ return;
+ }
+ updateAllStreamConfigurations();
+
+ int32_t device_id = device_info_.keyAt(0);
+ // Get a non-existing stream ID.
+ int32_t id = DEFAULT_ID;
+ if (stream_config_.indexOfKey(device_id) >= 0) {
+ std::vector<int32_t> stream_ids;
+ hidl_vec<TvStreamConfig> config = stream_config_.valueFor(device_id);
+ for (size_t i = 0; i < config.size(); i++) {
+ stream_ids.push_back(config[i].streamId);
+ }
+ id = getNumNotIn(stream_ids);
+ }
+
+ Result result = Result::UNKNOWN;
+ tv_input_->openStream(device_id, id,
+ [&result](Result res, const native_handle_t*) {
+ result = res;
+ });
+ EXPECT_EQ(Result::INVALID_ARGUMENTS, result);
+
+ result = Result::UNKNOWN;
+ result = tv_input_->closeStream(device_id, id);
+ EXPECT_EQ(Result::INVALID_ARGUMENTS, result);
+}
+
+/*
+ * OpenAnOpenedStreamsTest:
+ * Calls openStream() twice for a stream (if any)
+ * Checks returned results
+ * The result of the second call should be Result::INVALID_STATE
+ */
+TEST_F(TvInputHidlTest, OpenAnOpenedStreamsTest) {
+ std::unique_lock<std::mutex> lock(mutex_);
+ updateAllStreamConfigurations();
+ std::vector<size_t> indices = getConfigIndices();
+ if (indices.empty()) {
+ return;
+ }
+ int32_t device_id = stream_config_.keyAt(indices[0]);
+ int32_t stream_id = stream_config_.valueAt(indices[0])[0].streamId;
+
+ Result result = Result::UNKNOWN;
+ tv_input_->openStream(device_id, stream_id,
+ [&result](Result res, const native_handle_t*) {
+ result = res;
+ });
+ EXPECT_EQ(Result::OK, result);
+
+ tv_input_->openStream(device_id, stream_id,
+ [&result](Result res, const native_handle_t*) {
+ result = res;
+ });
+ EXPECT_EQ(Result::INVALID_STATE, result);
+}
+
+/*
+ * CloseStreamBeforeOpenTest:
+ * Calls closeStream() without calling openStream() for a stream (if any)
+ * Checks the returned result
+ * The result should be Result::INVALID_STATE
+ */
+TEST_F(TvInputHidlTest, CloseStreamBeforeOpenTest) {
+ std::unique_lock<std::mutex> lock(mutex_);
+ updateAllStreamConfigurations();
+ std::vector<size_t> indices = getConfigIndices();
+ if (indices.empty()) {
+ return;
+ }
+ int32_t device_id = stream_config_.keyAt(indices[0]);
+ int32_t stream_id = stream_config_.valueAt(indices[0])[0].streamId;
+ EXPECT_EQ(Result::INVALID_STATE, tv_input_->closeStream(device_id, stream_id));
}
int main(int argc, char **argv) {
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/__init__.py b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/__init__.py
+++ /dev/null
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/Android.mk b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/__init__.py b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/__init__.py
+++ /dev/null
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/Android.mk b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/Android.mk
deleted file mode 100644
index 1757bfe..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := TvInputHidlTest
-VTS_CONFIG_SRC_DIR := testcases/hal/tv_input/hidl/host
-include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/AndroidTest.xml b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/AndroidTest.xml
deleted file mode 100644
index 8fdd72d..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Tv Input HIDL HAL's host-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/TvInput.vts->/data/local/tmp/spec/TvInput.vts" />
- <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/TvInputCallback.vts->/data/local/tmp/spec/TvInputCallback.vts" />
- <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- <option name="cleanup" value="true" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer">
- </target_preparer>
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="TvInputHidlTest" />
- <option name="test-case-path" value="vts/testcases/hal/tv_input/hidl/host/TvInputHidlTest" />
- </test>
-</configuration>
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/TvInputHidlTest.py b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/TvInputHidlTest.py
deleted file mode 100644
index 828b9dd..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/TvInputHidlTest.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-import logging
-
-from vts.runners.host import asserts
-from vts.runners.host import base_test_with_webdb
-from vts.runners.host import const
-from vts.runners.host import keys
-from vts.runners.host import test_runner
-from vts.utils.python.controllers import android_device
-from vts.utils.python.coverage import coverage_utils
-
-
-class TvInputHidlTest(base_test_with_webdb.BaseTestWithWebDbClass):
- """Two hello world test cases which use the shell driver."""
-
- def setUpClass(self):
- """Creates a mirror and init tv input hal."""
- self.dut = self.registerController(android_device)[0]
-
- self.dut.shell.InvokeTerminal("one")
- self.dut.shell.one.Execute("setenforce 0") # SELinux permissive mode
-
- if getattr(self, keys.ConfigKeys.IKEY_ENABLE_COVERAGE, False):
- coverage_utils.InitializeDeviceCoverage(self.dut)
-
- self.dut.hal.InitHidlHal(target_type="tv_input",
- target_basepaths=["/system/lib64"],
- target_version=1.0,
- target_package="android.hardware.tv.input",
- target_component_name="ITvInput",
- bits=64 if self.dut.is64Bit else 32)
-
- self.dut.shell.InvokeTerminal("one")
-
- def tearDownClass(self):
- """To be executed when all test cases are finished."""
- if getattr(self, keys.ConfigKeys.IKEY_ENABLE_COVERAGE, False):
- self.SetCoverageData(coverage_utils.GetGcdaDict(self.dut))
-
- def testGetStreamConfigurations(self):
- configs = self.dut.hal.tv_input.getStreamConfigurations(0)
- logging.info('return value of getStreamConfigurations(0): %s', configs)
-
-
-if __name__ == "__main__":
- test_runner.main()
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/__init__.py b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host/__init__.py
+++ /dev/null
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host_profiling/Android.mk b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host_profiling/Android.mk
deleted file mode 100644
index 514df20..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := TvInputHidlProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/tv_input/hidl/host_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host_profiling/AndroidTest.xml b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host_profiling/AndroidTest.xml
deleted file mode 100644
index 5b8e6f9..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS Tv Input HIDL HAL's host-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/TvInput.vts->/data/local/tmp/spec/TvInput.vts" />
- <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/TvInputCallback.vts->/data/local/tmp/spec/TvInputCallback.vts" />
- <option name="push" value="spec/hardware/interfaces/tv/input/1.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- <option name="cleanup" value="true" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer">
- </target_preparer>
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="TvInputHidlProfilingTest" />
- <option name="test-case-path" value="vts/testcases/hal/tv_input/hidl/host/TvInputHidlTest" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host_profiling/__init__.py b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host_profiling/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/host_profiling/__init__.py
+++ /dev/null
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/target/Android.mk b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/target/Android.mk
deleted file mode 100644
index 153da0b..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/target/Android.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright (C) 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalTvInputHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/tv_input/hidl/target
-include test/vts/tools/build/Android.host_config.mk
-
diff --git a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/target/AndroidTest.xml b/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/target/AndroidTest.xml
deleted file mode 100644
index 4f98940..0000000
--- a/tv/input/1.0/vts/functional/vts/testcases/hal/tv_input/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS TV Input HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalTvInputHidlTargetTest"/>
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/tv_input_hidl_hal_test/tv_input_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
-
diff --git a/usb/1.0/Android.bp b/usb/1.0/Android.bp
index 8b84a4a..a23f46e 100644
--- a/usb/1.0/Android.bp
+++ b/usb/1.0/Android.bp
@@ -62,3 +62,114 @@
"android.hidl.base@1.0",
],
}
+
+genrule {
+ name: "android.hardware.usb.vts.driver@1.0_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+ srcs: [
+ "types.hal",
+ "IUsb.hal",
+ "IUsbCallback.hal",
+ ],
+ out: [
+ "android/hardware/usb/1.0/types.vts.cpp",
+ "android/hardware/usb/1.0/Usb.vts.cpp",
+ "android/hardware/usb/1.0/UsbCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.usb.vts.driver@1.0_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+ srcs: [
+ "types.hal",
+ "IUsb.hal",
+ "IUsbCallback.hal",
+ ],
+ out: [
+ "android/hardware/usb/1.0/types.vts.h",
+ "android/hardware/usb/1.0/Usb.vts.h",
+ "android/hardware/usb/1.0/UsbCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.usb.vts.driver@1.0",
+ generated_sources: ["android.hardware.usb.vts.driver@1.0_genc++"],
+ generated_headers: ["android.hardware.usb.vts.driver@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.usb.vts.driver@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "libvts_common",
+ "libvts_datatype",
+ "libvts_measurement",
+ "libvts_multidevice_proto",
+ "libcamera_metadata",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.usb@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
+
+genrule {
+ name: "android.hardware.usb@1.0-vts.profiler_genc++",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+ srcs: [
+ "types.hal",
+ "IUsb.hal",
+ "IUsbCallback.hal",
+ ],
+ out: [
+ "android/hardware/usb/1.0/types.vts.cpp",
+ "android/hardware/usb/1.0/Usb.vts.cpp",
+ "android/hardware/usb/1.0/UsbCallback.vts.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.usb@1.0-vts.profiler_genc++_headers",
+ tools: ["hidl-gen", "vtsc"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+ srcs: [
+ "types.hal",
+ "IUsb.hal",
+ "IUsbCallback.hal",
+ ],
+ out: [
+ "android/hardware/usb/1.0/types.vts.h",
+ "android/hardware/usb/1.0/Usb.vts.h",
+ "android/hardware/usb/1.0/UsbCallback.vts.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.usb@1.0-vts.profiler",
+ generated_sources: ["android.hardware.usb@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.usb@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.usb@1.0-vts.profiler_genc++_headers"],
+ shared_libs: [
+ "libbase",
+ "libhidlbase",
+ "libhidltransport",
+ "libvts_profiling",
+ "libvts_multidevice_proto",
+ "libprotobuf-cpp-full",
+ "android.hidl.base@1.0",
+ "android.hardware.usb@1.0",
+ ],
+}
diff --git a/vehicle/2.0/Android.bp b/vehicle/2.0/Android.bp
deleted file mode 100644
index 986fb74..0000000
--- a/vehicle/2.0/Android.bp
+++ /dev/null
@@ -1,216 +0,0 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
-
-genrule {
- name: "android.hardware.vehicle@2.0_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0",
- srcs: [
- "types.hal",
- "IVehicle.hal",
- "IVehicleCallback.hal",
- ],
- out: [
- "android/hardware/vehicle/2.0/types.cpp",
- "android/hardware/vehicle/2.0/VehicleAll.cpp",
- "android/hardware/vehicle/2.0/VehicleCallbackAll.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.vehicle@2.0_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0",
- srcs: [
- "types.hal",
- "IVehicle.hal",
- "IVehicleCallback.hal",
- ],
- out: [
- "android/hardware/vehicle/2.0/types.h",
- "android/hardware/vehicle/2.0/IVehicle.h",
- "android/hardware/vehicle/2.0/IHwVehicle.h",
- "android/hardware/vehicle/2.0/BnHwVehicle.h",
- "android/hardware/vehicle/2.0/BpHwVehicle.h",
- "android/hardware/vehicle/2.0/BsVehicle.h",
- "android/hardware/vehicle/2.0/IVehicleCallback.h",
- "android/hardware/vehicle/2.0/IHwVehicleCallback.h",
- "android/hardware/vehicle/2.0/BnHwVehicleCallback.h",
- "android/hardware/vehicle/2.0/BpHwVehicleCallback.h",
- "android/hardware/vehicle/2.0/BsVehicleCallback.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.vehicle@2.0",
- generated_sources: ["android.hardware.vehicle@2.0_genc++"],
- generated_headers: ["android.hardware.vehicle@2.0_genc++_headers"],
- export_generated_headers: ["android.hardware.vehicle@2.0_genc++_headers"],
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "android.hidl.base@1.0",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "android.hidl.base@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.vehicle.vts.driver@2.0_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
- srcs: [
- "types.hal",
- "IVehicle.hal",
- "IVehicleCallback.hal",
- ],
- out: [
- "android/hardware/vehicle/2.0/types.vts.cpp",
- "android/hardware/vehicle/2.0/Vehicle.vts.cpp",
- "android/hardware/vehicle/2.0/VehicleCallback.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.vehicle.vts.driver@2.0_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
- srcs: [
- "types.hal",
- "IVehicle.hal",
- "IVehicleCallback.hal",
- ],
- out: [
- "android/hardware/vehicle/2.0/types.vts.h",
- "android/hardware/vehicle/2.0/Vehicle.vts.h",
- "android/hardware/vehicle/2.0/VehicleCallback.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.vehicle.vts.driver@2.0",
- generated_sources: ["android.hardware.vehicle.vts.driver@2.0_genc++"],
- generated_headers: ["android.hardware.vehicle.vts.driver@2.0_genc++_headers"],
- export_generated_headers: ["android.hardware.vehicle.vts.driver@2.0_genc++_headers"],
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "libvts_common",
- "libvts_datatype",
- "libvts_measurement",
- "libvts_multidevice_proto",
- "libcamera_metadata",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.vehicle@2.0",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "android.hidl.base@1.0",
- ],
-}
-
-genrule {
- name: "android.hardware.vehicle@2.0-IVehicle-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
- srcs: [
- "IVehicle.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/vehicle/2.0/Vehicle.vts.cpp",
- "android/hardware/vehicle/2.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.vehicle@2.0-IVehicle-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
- srcs: [
- "IVehicle.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/vehicle/2.0/Vehicle.vts.h",
- "android/hardware/vehicle/2.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.vehicle@2.0-IVehicle-vts.profiler",
- generated_sources: ["android.hardware.vehicle@2.0-IVehicle-vts.profiler_genc++"],
- generated_headers: ["android.hardware.vehicle@2.0-IVehicle-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.vehicle@2.0-IVehicle-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.vehicle@2.0",
- ],
-}
-
-genrule {
- name: "android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler_genc++",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
- srcs: [
- "IVehicleCallback.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/vehicle/2.0/VehicleCallback.vts.cpp",
- "android/hardware/vehicle/2.0/types.vts.cpp",
- ],
-}
-
-genrule {
- name: "android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler_genc++_headers",
- tools: ["hidl-gen", "vtsc"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
- srcs: [
- "IVehicleCallback.hal",
- "types.hal",
- ],
- out: [
- "android/hardware/vehicle/2.0/VehicleCallback.vts.h",
- "android/hardware/vehicle/2.0/types.vts.h",
- ],
-}
-
-cc_library_shared {
- name: "android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler",
- generated_sources: ["android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler_genc++"],
- generated_headers: ["android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler_genc++_headers"],
- shared_libs: [
- "libbase",
- "libhidlbase",
- "libhidltransport",
- "libvts_profiling",
- "libvts_multidevice_proto",
- "libprotobuf-cpp-full",
- "android.hidl.base@1.0",
- "android.hardware.vehicle@2.0",
- ],
-}
diff --git a/vehicle/2.0/default/android.hardware.vehicle@2.0-service.rc b/vehicle/2.0/default/android.hardware.vehicle@2.0-service.rc
deleted file mode 100644
index 622cb1e..0000000
--- a/vehicle/2.0/default/android.hardware.vehicle@2.0-service.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-service vehicle-hal-2.0 /system/bin/hw/android.hardware.vehicle@2.0-service
- class hal
- user vehicle_network
- group system
diff --git a/vehicle/2.0/vts/Android.mk b/vehicle/2.0/vts/Android.mk
deleted file mode 100644
index 31fa999..0000000
--- a/vehicle/2.0/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(LOCAL_PATH)/functional/vts/testcases/hal/vehicle/hidl/Android.mk
\ No newline at end of file
diff --git a/vehicle/2.0/vts/Vehicle.vts b/vehicle/2.0/vts/Vehicle.vts
deleted file mode 100644
index 7fecfa9..0000000
--- a/vehicle/2.0/vts/Vehicle.vts
+++ /dev/null
@@ -1,116 +0,0 @@
-component_class: HAL_HIDL
-component_type_version: 2.0
-component_name: "IVehicle"
-
-package: "android.hardware.vehicle"
-
-import: "android.hardware.vehicle@2.0::IVehicleCallback"
-import: "android.hardware.vehicle@2.0::types"
-
-interface: {
- api: {
- name: "getAllPropConfigs"
- return_type_hidl: {
- type: TYPE_VECTOR
- vector_value: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropConfig"
- }
- }
- }
-
- api: {
- name: "getPropConfigs"
- return_type_hidl: {
- type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
- }
- return_type_hidl: {
- type: TYPE_VECTOR
- vector_value: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropConfig"
- }
- }
- arg: {
- type: TYPE_VECTOR
- vector_value: {
- type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
- }
- }
- }
-
- api: {
- name: "get"
- return_type_hidl: {
- type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
- }
- return_type_hidl: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
- }
- arg: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
- }
- }
-
- api: {
- name: "set"
- return_type_hidl: {
- type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
- }
- arg: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
- }
- }
-
- api: {
- name: "subscribe"
- return_type_hidl: {
- type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
- }
- arg: {
- type: TYPE_HIDL_CALLBACK
- predefined_type: "IVehicleCallback"
- is_callback: true
- }
- arg: {
- type: TYPE_VECTOR
- vector_value: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::vehicle::V2_0::SubscribeOptions"
- }
- }
- }
-
- api: {
- name: "unsubscribe"
- return_type_hidl: {
- type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
- }
- arg: {
- type: TYPE_HIDL_CALLBACK
- predefined_type: "IVehicleCallback"
- is_callback: true
- }
- arg: {
- type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
- }
- }
-
- api: {
- name: "debugDump"
- return_type_hidl: {
- type: TYPE_STRING
- }
- }
-
-}
diff --git a/vehicle/2.0/vts/VehicleCallback.vts b/vehicle/2.0/vts/VehicleCallback.vts
deleted file mode 100644
index b5ee152..0000000
--- a/vehicle/2.0/vts/VehicleCallback.vts
+++ /dev/null
@@ -1,45 +0,0 @@
-component_class: HAL_HIDL
-component_type_version: 2.0
-component_name: "IVehicleCallback"
-
-package: "android.hardware.vehicle"
-
-import: "android.hardware.vehicle@2.0::types"
-
-interface: {
- api: {
- name: "onPropertyEvent"
- arg: {
- type: TYPE_VECTOR
- vector_value: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
- }
- }
- }
-
- api: {
- name: "onPropertySet"
- arg: {
- type: TYPE_STRUCT
- predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
- }
- }
-
- api: {
- name: "onPropertySetError"
- arg: {
- type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
- }
- arg: {
- type: TYPE_ENUM
- predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
- }
- arg: {
- type: TYPE_SCALAR
- scalar_type: "int32_t"
- }
- }
-
-}
diff --git a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/__init__.py b/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/__init__.py
+++ /dev/null
diff --git a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/Android.mk b/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/__init__.py b/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/__init__.py
+++ /dev/null
diff --git a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/Android.mk b/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/Android.mk
deleted file mode 100644
index 716a41c..0000000
--- a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := VehicleHidlTest
-VTS_CONFIG_SRC_DIR := testcases/hal/vehicle/hidl/host
-include test/vts/tools/build/Android.host_config.mk
\ No newline at end of file
diff --git a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/AndroidTest.xml b/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/AndroidTest.xml
deleted file mode 100644
index 16b7c29..0000000
--- a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/AndroidTest.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS HAL Vehicle test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="cleanup" value="true" />
- <option name="push" value="spec/hardware/interfaces/vehicle/2.0/vts/Vehicle.vts->/data/local/tmp/spec/Vehicle.vts" />
- <option name="push" value="spec/hardware/interfaces/vehicle/2.0/vts/VehicleCallback.vts->/data/local/tmp/spec/VehicleCallBack.vts" />
- <option name="push" value="spec/hardware/interfaces/vehicle/2.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="VehicleHidlTest" />
- <option name="test-case-path" value="vts/testcases/hal/vehicle/hidl/host/VehicleHidlTest" />
- </test>
-</configuration>
diff --git a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/VehicleHidlTest.py b/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/VehicleHidlTest.py
deleted file mode 100644
index 2c32836..0000000
--- a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/VehicleHidlTest.py
+++ /dev/null
@@ -1,246 +0,0 @@
-#!/usr/bin/env python3.4
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-import logging
-import time
-
-from vts.runners.host import asserts
-from vts.runners.host import base_test_with_webdb
-from vts.runners.host import const
-from vts.runners.host import keys
-from vts.runners.host import test_runner
-from vts.utils.python.controllers import android_device
-from vts.utils.python.profiling import profiling_utils
-from vts.utils.python.coverage import coverage_utils
-
-
-class VehicleHidlTest(base_test_with_webdb.BaseTestWithWebDbClass):
- """A simple testcase for the VEHICLE HIDL HAL."""
-
- def setUpClass(self):
- """Creates a mirror and init vehicle hal."""
- self.dut = self.registerController(android_device)[0]
-
- self.dut.shell.InvokeTerminal("one")
- self.dut.shell.one.Execute("setenforce 0") # SELinux permissive mode
-
- results = self.dut.shell.one.Execute("id -u system")
- system_uid = results[const.STDOUT][0].strip()
- logging.info("system_uid: %s", system_uid)
-
- if getattr(self, keys.ConfigKeys.IKEY_ENABLE_COVERAGE, False):
- coverage_utils.InitializeDeviceCoverage(self.dut)
-
- self.dut.hal.InitHidlHal(
- target_type="vehicle",
- target_basepaths=self.dut.libPaths,
- target_version=2.0,
- target_package="android.hardware.vehicle",
- target_component_name="IVehicle",
- hw_binder_service_name="Vehicle",
- bits=64 if self.dut.is64Bit else 32)
-
- self.vehicle = self.dut.hal.vehicle # shortcut
- self.vehicle.SetCallerUid(system_uid)
- self.vtypes = self.dut.hal.vehicle.GetHidlTypeInterface("types")
- logging.info("vehicle types: %s", self.vtypes)
-
- def tearDownClass(self):
- """Disables the profiling.
-
- If profiling is enabled for the test, collect the profiling data
- and disable profiling after the test is done.
- """
- if self.enable_profiling:
- self.ProcessAndUploadTraceData()
-
- if getattr(self, keys.ConfigKeys.IKEY_ENABLE_COVERAGE, False):
- self.SetCoverageData(coverage_utils.GetGcdaDict(self.dut))
-
- def setUpTest(self):
- if self.enable_profiling:
- profiling_utils.EnableVTSProfiling(self.dut.shell.one)
-
- def tearDownTest(self):
- if self.enable_profiling:
- profiling_trace_path = getattr(
- self, self.VTS_PROFILING_TRACING_PATH, "")
- self.ProcessTraceDataForTestCase(self.dut, profiling_trace_path)
- profiling_utils.DisableVTSProfiling(self.dut.shell.one)
-
- def testListProperties(self):
- """Checks whether some PropConfigs are returned.
-
- Verifies that call to getAllPropConfigs is not failing and
- it returns at least 1 vehicle property config.
- """
- allConfigs = self.vehicle.getAllPropConfigs()
- logging.info("all supported properties: %s", allConfigs)
- asserts.assertLess(0, len(allConfigs))
-
- def testMandatoryProperties(self):
- """Verifies that all mandatory properties are supported."""
- mandatoryProps = set([self.vtypes.DRIVING_STATUS]) # 1 property so far
- logging.info(self.vtypes.DRIVING_STATUS)
- allConfigs = self.dut.hal.vehicle.getAllPropConfigs()
-
- for config in allConfigs:
- mandatoryProps.discard(config['prop'])
-
- asserts.assertEqual(0, len(mandatoryProps))
-
- def getSupportInfo(self):
- """Check whether OBD2_{LIVE|FREEZE}_FRAME is supported."""
- isLiveSupported, isFreezeSupported = False, False
- allConfigs = self.vehicle.getAllPropConfigs()
- for config in allConfigs:
- if config['prop'] == self.vtypes.OBD2_LIVE_FRAME:
- isLiveSupported = True
- elif config['prop'] == self.vtypes.OBD2_FREEZE_FRAME:
- isFreezeSupported = True
- if isLiveSupported and isFreezeSupported:
- break
- return isLiveSupported, isFreezeSupported
-
- def readVhalProperty(self, propertyId, areaId=0):
- """Reads a specified property from Vehicle HAL.
-
- Args:
- propertyId: the numeric identifier of the property to be read.
- areaId: the numeric identifier of the vehicle area to retrieve the
- property for. 0, or omitted, for global.
-
- Returns:
- the value of the property as read from Vehicle HAL, or None
- if it could not read successfully.
- """
- vp_dict = {
- 'prop' : propertyId,
- 'timestamp' : 0,
- 'areaId' : areaId,
- 'value' : {
- 'int32Values' : [],
- 'floatValues' : [],
- 'int64Values' : [],
- 'bytes' : [],
- 'stringValue' : ""
- }
- }
- vp = self.vtypes.Py2Pb("VehiclePropValue", vp_dict)
- status, value = self.vehicle.get(vp)
- if self.vtypes.OK == status:
- return value
- else:
- logging.warning("attempt to read property %s returned error %d",
- propertyId, status)
-
- def testObd2SensorProperties(self):
- """Test reading the live and freeze OBD2 frame properties.
-
- OBD2 (On-Board Diagnostics 2) is the industry standard protocol
- for retrieving diagnostic sensor information from vehicles.
- """
- class CheckRead(object):
- """This class wraps the logic of an actual property read.
-
- Attributes:
- testobject: the test case this object is used on behalf of.
- propertyId: the identifier of the Vehiche HAL property to read.
- name: the engineer-readable name of this test operation.
- """
-
- def __init__(self, testobject, propertyId, name):
- self.testobject = testobject
- self.propertyId = propertyId
- self.name = name
-
- def onReadSuccess(self, propValue):
- """Override this to perform any post-read validation.
-
- Args:
- propValue: the property value obtained from Vehicle HAL.
- """
- pass
-
- def __call__(self):
- """Reads the specified property and validates the result."""
- propValue = self.testobject.readVhalProperty(self.propertyId)
- asserts.assertNotEqual(propValue, None,
- msg="reading %s should not return None" %
- self.name)
- logging.info("%s = %s", self.name, propValue)
- self.onReadSuccess(propValue)
- logging.info("%s pass" % self.name)
-
- def checkLiveFrameRead():
- """Validates reading the OBD2_LIVE_FRAME (if available)."""
- checker = CheckRead(self,
- self.vtypes.OBD2_LIVE_FRAME,
- "OBD2_LIVE_FRAME")
- checker()
-
- def checkFreezeFrameRead():
- """Validates reading the OBD2_FREEZE_FRAME (if available)."""
- checker = CheckRead(self,
- self.vtypes.OBD2_FREEZE_FRAME,
- "OBD2_FREEZE_FRAME")
- checker()
-
- isLiveSupported, isFreezeSupported = self.getSupportInfo()
- logging.info("isLiveSupported = %s, isFreezeSupported = %s",
- isLiveSupported, isFreezeSupported)
- if isLiveSupported:
- checkLiveFrameRead()
- if isFreezeSupported:
- checkFreezeFrameRead()
-
- def createVehiclePropValue(self, propId):
- value = {
- "int32Values" : [],
- "floatValues" : [],
- "int64Values" : [],
- "bytes": [],
- "stringValue": ""
- }
- propValue = {
- "prop": propId,
- "timestamp": 0,
- "areaId": 0,
- "value": value
- }
- return self.vtypes.Py2Pb("VehiclePropValue", propValue)
-
- def testDrivingStatus(self):
- """Checks that DRIVING_STATUS property returns correct result."""
- request = self.createVehiclePropValue(self.vtypes.DRIVING_STATUS)
- logging.info("Driving status request: %s", request)
- response = self.vehicle.get(request)
- logging.info("Driving status response: %s", response)
- status = response[0]
- asserts.assertEqual(self.vtypes.OK, status)
- propValue = response[1]
- assertEqual(1, len(propValue.value.int32Values))
- drivingStatus = propValue.value.int32Values[0]
-
- allStatuses = (self.vtypes.UNRESTRICTED | self.vtypes.NO_VIDEO
- | self.vtypes.NO_KEYBOARD_INPUT | self.vtypes.NO_VOICE_INPUT
- | self.vtypes.NO_CONFIG | self.vtypes.LIMIT_MESSAGE_LEN)
-
- assertEqual(allStatuses, allStatuses | drivingStatus)
-
-if __name__ == "__main__":
- test_runner.main()
diff --git a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/__init__.py b/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/__init__.py
+++ /dev/null
diff --git a/vibrator/1.0/Android.bp b/vibrator/1.0/Android.bp
index 497274b..e752d38 100644
--- a/vibrator/1.0/Android.bp
+++ b/vibrator/1.0/Android.bp
@@ -114,38 +114,38 @@
}
genrule {
- name: "android.hardware.vibrator@1.0-IVibrator-vts.profiler_genc++",
+ name: "android.hardware.vibrator@1.0-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vibrator@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/vibrator/1.0/ $(genDir)/android/hardware/vibrator/1.0/",
srcs: [
- "IVibrator.hal",
"types.hal",
+ "IVibrator.hal",
],
out: [
- "android/hardware/vibrator/1.0/Vibrator.vts.cpp",
"android/hardware/vibrator/1.0/types.vts.cpp",
+ "android/hardware/vibrator/1.0/Vibrator.vts.cpp",
],
}
genrule {
- name: "android.hardware.vibrator@1.0-IVibrator-vts.profiler_genc++_headers",
+ name: "android.hardware.vibrator@1.0-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vibrator@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/vibrator/1.0/ $(genDir)/android/hardware/vibrator/1.0/",
srcs: [
- "IVibrator.hal",
"types.hal",
+ "IVibrator.hal",
],
out: [
- "android/hardware/vibrator/1.0/Vibrator.vts.h",
"android/hardware/vibrator/1.0/types.vts.h",
+ "android/hardware/vibrator/1.0/Vibrator.vts.h",
],
}
cc_library_shared {
- name: "android.hardware.vibrator@1.0-IVibrator-vts.profiler",
- generated_sources: ["android.hardware.vibrator@1.0-IVibrator-vts.profiler_genc++"],
- generated_headers: ["android.hardware.vibrator@1.0-IVibrator-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.vibrator@1.0-IVibrator-vts.profiler_genc++_headers"],
+ name: "android.hardware.vibrator@1.0-vts.profiler",
+ generated_sources: ["android.hardware.vibrator@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.vibrator@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.vibrator@1.0-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/vibrator/1.0/vts/functional/Android.mk b/vibrator/1.0/vts/functional/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vibrator/1.0/vts/functional/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vibrator/1.0/vts/functional/vts/Android.mk b/vibrator/1.0/vts/functional/vts/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vibrator/1.0/vts/functional/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vibrator/1.0/vts/functional/vts/testcases/Android.mk b/vibrator/1.0/vts/functional/vts/testcases/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/Android.mk b/vibrator/1.0/vts/functional/vts/testcases/hal/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/Android.mk b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/__init__.py b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/__init__.py
+++ /dev/null
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/Android.mk b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/__init__.py b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/__init__.py
+++ /dev/null
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/Android.mk b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/Android.mk
deleted file mode 100644
index d005450..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := VibratorHidlTest
-VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/hidl/host
-include test/vts/tools/build/Android.host_config.mk
\ No newline at end of file
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/AndroidTest.xml b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/AndroidTest.xml
deleted file mode 100644
index c5074ee..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/AndroidTest.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS HAL vibrator test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="cleanup" value="true" />
- <option name="push" value="spec/hardware/interfaces/vibrator/1.0/vts/Vibrator.vts->/data/local/tmp/spec/Vibrator.vts" />
- <option name="push" value="spec/hardware/interfaces/vibrator/1.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="VibratorHidlTest" />
- <option name="test-case-path" value="vts/testcases/hal/vibrator/hidl/host/VibratorHidlTest" />
- </test>
-</configuration>
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/VibratorHidlTest.py b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/VibratorHidlTest.py
deleted file mode 100644
index 84f2907..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/VibratorHidlTest.py
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/usr/bin/env python3.4
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-import logging
-import time
-
-from vts.runners.host import asserts
-from vts.runners.host import base_test_with_webdb
-from vts.runners.host import test_runner
-from vts.utils.python.controllers import android_device
-from vts.utils.python.profiling import profiling_utils
-
-
-class VibratorHidlTest(base_test_with_webdb.BaseTestWithWebDbClass):
- """A simple testcase for the VIBRATOR HIDL HAL."""
-
- def setUpClass(self):
- """Creates a mirror and turns on the framework-layer VIBRATOR service."""
- self.dut = self.registerController(android_device)[0]
-
- self.dut.shell.InvokeTerminal("one")
- self.dut.shell.one.Execute("setenforce 0") # SELinux permissive mode
-
- # Test using the binderized mode
- self.dut.shell.one.Execute(
- "setprop vts.hal.vts.hidl.get_stub true")
-
- self.dut.hal.InitHidlHal(
- target_type="vibrator",
- target_basepaths=self.dut.libPaths,
- target_version=1.0,
- target_package="android.hardware.vibrator",
- target_component_name="IVibrator",
- bits=64 if self.dut.is64Bit else 32)
-
- def tearDownClass(self):
- """ If profiling is enabled for the test, collect the profiling data
- and disable profiling after the test is done.
- """
- if self.enable_profiling:
- self.ProcessAndUploadTraceData()
-
- def setUpTest(self):
- if self.enable_profiling:
- profiling_utils.EnableVTSProfiling(self.dut.shell.one)
-
- def tearDownTest(self):
- if self.enable_profiling:
- profiling_trace_path = getattr(
- self, self.VTS_PROFILING_TRACING_PATH, "")
- self.ProcessTraceDataForTestCase(self.dut, profiling_trace_path)
- profiling_utils.DisableVTSProfiling(self.dut.shell.one)
-
- def testVibratorBasic(self):
- """A simple test case which just calls each registered function."""
- vibrator_types = self.dut.hal.vibrator.GetHidlTypeInterface("types")
- logging.info("vibrator_types: %s", vibrator_types)
- logging.info("OK: %s", vibrator_types.OK)
- logging.info("ERR: %s", vibrator_types.ERR)
-
- result = self.dut.hal.vibrator.on(10000)
- logging.info("on result: %s", result)
- asserts.assertEqual(vibrator_types.OK, result)
-
- time.sleep(1)
-
- result = self.dut.hal.vibrator.off()
- logging.info("off result: %s", result)
- asserts.assertEqual(vibrator_types.OK, result)
-
-if __name__ == "__main__":
- test_runner.main()
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/__init__.py b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host/__init__.py
+++ /dev/null
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host_profiling/Android.mk b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host_profiling/Android.mk
deleted file mode 100644
index ec73e06..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := VibratorHidlProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/hidl/host_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host_profiling/AndroidTest.xml b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host_profiling/AndroidTest.xml
deleted file mode 100644
index 54830f0..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/host_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS HAL vibrator test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="cleanup" value="true" />
- <option name="push" value="spec/hardware/interfaces/vibrator/1.0/vts/Vibrator.vts->/data/local/tmp/spec/Vibrator.vts" />
- <option name="push" value="spec/hardware/interfaces/vibrator/1.0/vts/types.vts->/data/local/tmp/spec/types.vts" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="VibratorHidlProfilingTest" />
- <option name="test-case-path" value="vts/testcases/hal/vibrator/hidl/host/VibratorHidlTest" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target/Android.mk b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target/Android.mk
deleted file mode 100644
index 704d985..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := VibratorHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target/AndroidTest.xml b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target/AndroidTest.xml
deleted file mode 100644
index 7948c86..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS VIBRATOR HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="VibratorHidlTargetTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/vibrator_hidl_hal_test/vibrator_hidl_hal_test,
- _64bit::DATA/nativetest64/vibrator_hidl_hal_test/vibrator_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- </test>
-</configuration>
-
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target_profiling/Android.mk b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target_profiling/Android.mk
deleted file mode 100644
index a1f43e4..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := VibratorHidlTargetProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/vibrator/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target_profiling/AndroidTest.xml b/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index 4643e23..0000000
--- a/vibrator/1.0/vts/functional/vts/testcases/hal/vibrator/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS VIBRATOR HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="VibratorHidlTargetProfilingTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/vibrator_hidl_hal_test/vibrator_hidl_hal_test,
- _64bit::DATA/nativetest64/vibrator_hidl_hal_test/vibrator_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
-
diff --git a/vr/1.0/Android.bp b/vr/1.0/Android.bp
index f175610..f0644a1 100644
--- a/vr/1.0/Android.bp
+++ b/vr/1.0/Android.bp
@@ -106,7 +106,7 @@
}
genrule {
- name: "android.hardware.vr@1.0-IVr-vts.profiler_genc++",
+ name: "android.hardware.vr@1.0-vts.profiler_genc++",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vr@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/vr/1.0/ $(genDir)/android/hardware/vr/1.0/",
srcs: [
@@ -118,7 +118,7 @@
}
genrule {
- name: "android.hardware.vr@1.0-IVr-vts.profiler_genc++_headers",
+ name: "android.hardware.vr@1.0-vts.profiler_genc++_headers",
tools: ["hidl-gen", "vtsc"],
cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vr@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/vr/1.0/ $(genDir)/android/hardware/vr/1.0/",
srcs: [
@@ -130,10 +130,10 @@
}
cc_library_shared {
- name: "android.hardware.vr@1.0-IVr-vts.profiler",
- generated_sources: ["android.hardware.vr@1.0-IVr-vts.profiler_genc++"],
- generated_headers: ["android.hardware.vr@1.0-IVr-vts.profiler_genc++_headers"],
- export_generated_headers: ["android.hardware.vr@1.0-IVr-vts.profiler_genc++_headers"],
+ name: "android.hardware.vr@1.0-vts.profiler",
+ generated_sources: ["android.hardware.vr@1.0-vts.profiler_genc++"],
+ generated_headers: ["android.hardware.vr@1.0-vts.profiler_genc++_headers"],
+ export_generated_headers: ["android.hardware.vr@1.0-vts.profiler_genc++_headers"],
shared_libs: [
"libbase",
"libhidlbase",
diff --git a/vr/1.0/default/Android.bp b/vr/1.0/default/Android.bp
index d100570..da8a754 100644
--- a/vr/1.0/default/Android.bp
+++ b/vr/1.0/default/Android.bp
@@ -15,3 +15,20 @@
"android.hardware.vr@1.0",
],
}
+
+cc_binary {
+ relative_install_path: "hw",
+ name: "android.hardware.vr@1.0-service",
+ init_rc: ["android.hardware.vr@1.0-service.rc"],
+ srcs: ["service.cpp"],
+ shared_libs: [
+ "liblog",
+ "libdl",
+ "libutils",
+ "libhardware",
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "android.hardware.vr@1.0",
+ ],
+}
diff --git a/vr/1.0/vts/Android.mk b/vr/1.0/vts/Android.mk
deleted file mode 100644
index e8afa86..0000000
--- a/vr/1.0/vts/Android.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-# include hidl test makefiles
-include $(LOCAL_PATH)/functional/vts/testcases/hal/vr/hidl/Android.mk
diff --git a/vr/1.0/vts/functional/vr_hidl_hal_test.cpp b/vr/1.0/vts/functional/vr_hidl_hal_test.cpp
index 7e85337..29888fd 100644
--- a/vr/1.0/vts/functional/vr_hidl_hal_test.cpp
+++ b/vr/1.0/vts/functional/vr_hidl_hal_test.cpp
@@ -34,7 +34,6 @@
void SetUp() override {
vr = IVr::getService(VR_SERVICE_NAME);
ASSERT_NE(vr, nullptr);
- ASSERT_TRUE(!vr->isRemote());
}
void TearDown() override {}
diff --git a/vr/1.0/vts/functional/vts/Android.mk b/vr/1.0/vts/functional/vts/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vr/1.0/vts/functional/vts/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vr/1.0/vts/functional/vts/testcases/Android.mk b/vr/1.0/vts/functional/vts/testcases/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vr/1.0/vts/functional/vts/testcases/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/Android.mk b/vr/1.0/vts/functional/vts/testcases/hal/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/Android.mk b/vr/1.0/vts/functional/vts/testcases/hal/vr/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/__init__.py b/vr/1.0/vts/functional/vts/testcases/hal/vr/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/__init__.py
+++ /dev/null
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/Android.mk b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/__init__.py b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/__init__.py
+++ /dev/null
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/Android.mk b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/Android.mk
deleted file mode 100644
index 9388b8d..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := VrHidlTest
-VTS_CONFIG_SRC_DIR := testcases/hal/vr/hidl/host
-include test/vts/tools/build/Android.host_config.mk
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/AndroidTest.xml b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/AndroidTest.xml
deleted file mode 100644
index 1cd2a80..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/AndroidTest.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS HAL VR test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- <option name="cleanup" value="true" />
- <option name="push" value="spec/hardware/interfaces/vr/1.0/vts/Vr.vts->/data/local/tmp/spec/Vr.vts" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="VrHidlTest" />
- <option name="test-case-path" value="vts/testcases/hal/vr/hidl/host/VrHidlTest" />
- </test>
-</configuration>
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/VrHidlTest.py b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/VrHidlTest.py
deleted file mode 100644
index d20e9ce..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/VrHidlTest.py
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/usr/bin/env python3.4
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-import logging
-import time
-
-from vts.runners.host import asserts
-from vts.runners.host import base_test_with_webdb
-from vts.runners.host import test_runner
-from vts.utils.python.controllers import android_device
-from vts.utils.python.profiling import profiling_utils
-
-
-class VrHidlTest(base_test_with_webdb.BaseTestWithWebDbClass):
- """A simple testcase for the VR HIDL HAL."""
-
- def setUpClass(self):
- """Creates a mirror and turns on the framework-layer VR service."""
- self.dut = self.registerController(android_device)[0]
-
- self.dut.shell.InvokeTerminal("one")
- self.dut.shell.one.Execute("setenforce 0") # SELinux permissive mode
-
- # Test using the binderized mode
- self.dut.shell.one.Execute(
- "setprop vts.hal.vts.hidl.get_stub true")
-
- self.dut.hal.InitHidlHal(
- target_type="vr",
- target_basepaths=["/system/lib64"],
- target_version=1.0,
- target_package="android.hardware.vr",
- target_component_name="IVr",
- hw_binder_service_name=None,
- bits=64)
-
- def tearDownClass(self):
- """ If profiling is enabled for the test, collect the profiling data
- and disable profiling after the test is done.
- """
- if self.enable_profiling:
- self.ProcessAndUploadTraceData()
-
- def setUpTest(self):
- if self.enable_profiling:
- profiling_utils.EnableVTSProfiling(self.dut.shell.one)
-
- def tearDownTest(self):
- if self.enable_profiling:
- profiling_trace_path = getattr(
- self, self.VTS_PROFILING_TRACING_PATH, "")
- self.ProcessTraceDataForTestCase(self.dut, profiling_trace_path)
- profiling_utils.DisableVTSProfiling(self.dut.shell.one)
-
- def testVrBasic(self):
- """A simple test case which just calls each registered function."""
- result = self.dut.hal.vr.init()
- logging.info("init result: %s", result)
-
- time.sleep(1)
-
- result = self.dut.hal.vr.setVrMode(True)
- logging.info("setVrMode(true) result: %s", result)
-
- time.sleep(1)
-
- result = self.dut.hal.vr.setVrMode(False)
- logging.info("setVrMode(false) result: %s", result)
-
-
-if __name__ == "__main__":
- test_runner.main()
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/__init__.py b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/host/__init__.py
+++ /dev/null
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target/Android.mk b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target/Android.mk
deleted file mode 100644
index 691d1a4..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := VrHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/vr/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target/AndroidTest.xml b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target/AndroidTest.xml
deleted file mode 100644
index 8c7a9b7..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS VR HIDL HAL's target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="VrHidlTargetTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/vr_hidl_hal_test/vr_hidl_hal_test,
- _64bit::DATA/nativetest64/vr_hidl_hal_test/vr_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="hal_hidl_gtest" />
- <!-- Uncomment this and comment 'precondition-feature' to run this test
- only on devices using binderized VR HALs.
- <option name="precondition-hwbinder-service" value="android.hardware.vr" /> -->
- <option name="precondition-feature" value="android.hardware.vr.high_performance" />
- <option name="test-timeout" value="1m" />
- <option name="test-config-path" value="vts/testcases/hal/vr/hidl/target/VrHidlTargetTest.config" />
-</test>
-</configuration>
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target/VrHidlTargetTest.config b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target/VrHidlTargetTest.config
deleted file mode 100644
index ec01b5f..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target/VrHidlTargetTest.config
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "use_gae_db": true,
- "coverage": true,
- "modules": [{
- "module_name": "system/lib64/hw/vr.marlin",
- "git_project": {
- "name": "device/google/marlin",
- "path": "device/google/marlin"
- }
- },
- {
- "module_name": "system/lib64/hw/vr.sailfish",
- "git_project": {
- "name": "device/google/marlin",
- "path": "device/google/marlin"
- }
- },
- {
- "module_name": "system/lib64/hw/android.hardware.vr@1.0-impl",
- "git_project": {
- "name": "platform/hardware/interfaces",
- "path": "hardware/interfaces"
- }
- }]
-}
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target_profiling/Android.mk b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target_profiling/Android.mk
deleted file mode 100644
index 6f60af3..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target_profiling/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := VrHidlTargetProfilingTest
-VTS_CONFIG_SRC_DIR := testcases/hal/vr/hidl/target_profiling
-include test/vts/tools/build/Android.host_config.mk
diff --git a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target_profiling/AndroidTest.xml b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target_profiling/AndroidTest.xml
deleted file mode 100644
index 3bc711a..0000000
--- a/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target_profiling/AndroidTest.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS VR HIDL HAL's target-side, profiling test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="VrHidlTargetTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/vr_hidl_hal_test/vr_hidl_hal_test,
- _64bit::DATA/nativetest64/vr_hidl_hal_test/vr_hidl_hal_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="1m" />
- <option name="enable-profiling" value="true" />
- </test>
-</configuration>
-
diff --git a/wifi/1.0/Android.bp b/wifi/1.0/Android.bp
index 049d5d7..59326d0 100644
--- a/wifi/1.0/Android.bp
+++ b/wifi/1.0/Android.bp
@@ -1,5 +1,25 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.wifi@1.0_hal",
+ srcs: [
+ "types.hal",
+ "IWifi.hal",
+ "IWifiApIface.hal",
+ "IWifiChip.hal",
+ "IWifiChipEventCallback.hal",
+ "IWifiEventCallback.hal",
+ "IWifiIface.hal",
+ "IWifiNanIface.hal",
+ "IWifiNanIfaceEventCallback.hal",
+ "IWifiP2pIface.hal",
+ "IWifiRttController.hal",
+ "IWifiRttControllerEventCallback.hal",
+ "IWifiStaIface.hal",
+ "IWifiStaIfaceEventCallback.hal",
+ ],
+}
+
genrule {
name: "android.hardware.wifi@1.0_genc++",
tools: ["hidl-gen"],
diff --git a/wifi/1.0/IWifiNanIfaceEventCallback.hal b/wifi/1.0/IWifiNanIfaceEventCallback.hal
index 906d673..cb4b043 100644
--- a/wifi/1.0/IWifiNanIfaceEventCallback.hal
+++ b/wifi/1.0/IWifiNanIfaceEventCallback.hal
@@ -162,8 +162,10 @@
* |NanStatusType.INTERNAL_FAILURE|
* |NanStatusType.PROTOCOL_FAILURE|
* |NanStatusType.INVALID_PEER_ID|
+ * @param ndpInstanceId ID of the new data path being negotiated (on successful status).
*/
- oneway notifyInitiateDataPathResponse(CommandIdShort id, WifiNanStatus status);
+ oneway notifyInitiateDataPathResponse(CommandIdShort id, WifiNanStatus status,
+ uint32_t ndpInstanceId );
/**
* Callback invoked in response to a respond to data path indication request
@@ -176,10 +178,8 @@
* |NanStatusType.INTERNAL_FAILURE|
* |NanStatusType.PROTOCOL_FAILURE|
* |NanStatusType.INVALID_NDP_ID|
- * @param ndpInstanceId ID of the new data path being negotiated (on successful status).
*/
- oneway notifyRespondToDataPathIndicationResponse(CommandIdShort id, WifiNanStatus status,
- uint32_t ndpInstanceId);
+ oneway notifyRespondToDataPathIndicationResponse(CommandIdShort id, WifiNanStatus status);
/**
* Callback invoked in response to a terminate data path request |terminateDataPathRequest|.
diff --git a/wifi/1.0/IWifiStaIface.hal b/wifi/1.0/IWifiStaIface.hal
index 2c72ead..96dc54a 100644
--- a/wifi/1.0/IWifiStaIface.hal
+++ b/wifi/1.0/IWifiStaIface.hal
@@ -438,6 +438,19 @@
stopSendingKeepAlivePackets(CommandId cmdId) generates (WifiStatus status);
/**
+ * Set the MAC OUI during scanning.
+ * An OUI {Organizationally Unique Identifier} is a 24-bit number that
+ * uniquely identifies a vendor or manufacturer.
+ *
+ * @return status WifiStatus of the operation.
+ * Possible status codes:
+ * |WifiStatusCode.SUCCESS|,
+ * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
+ * |WifiStatusCode.ERROR_UNKNOWN|
+ */
+ setScanningMacOui(uint8_t[3] oui) generates (WifiStatus status);
+
+ /**
* API to start packet fate monitoring.
* - Once started, monitoring must remain active until HAL is stopped or the
* chip is reconfigured.
diff --git a/wifi/1.0/default/hidl_struct_util.cpp b/wifi/1.0/default/hidl_struct_util.cpp
index 37fcfea..7464b81 100644
--- a/wifi/1.0/default/hidl_struct_util.cpp
+++ b/wifi/1.0/default/hidl_struct_util.cpp
@@ -759,17 +759,17 @@
const NanEnableRequest& hidl_request,
legacy_hal::NanEnableRequest* legacy_request) {
if (!legacy_request) {
+ LOG(ERROR) << "convertHidlNanEnableRequestToLegacy: null legacy_request";
return false;
}
memset(legacy_request, 0, sizeof(legacy_hal::NanEnableRequest));
- // TODO: b/34059183 tracks missing configurations in legacy HAL or uknown defaults
legacy_request->config_2dot4g_support = 1;
legacy_request->support_2dot4g_val = hidl_request.operateInBand[
(size_t) NanBandIndex::NAN_BAND_24GHZ];
legacy_request->config_support_5g = 1;
legacy_request->support_5g_val = hidl_request.operateInBand[(size_t) NanBandIndex::NAN_BAND_5GHZ];
- legacy_request->config_hop_count_limit = 0; // TODO: don't know default yet
+ legacy_request->config_hop_count_limit = 1;
legacy_request->hop_count_limit_val = hidl_request.hopCountMax;
legacy_request->master_pref = hidl_request.configParams.masterPref;
legacy_request->discovery_indication_cfg = 0;
@@ -781,11 +781,12 @@
hidl_request.configParams.disableJoinedClusterIndication ? 0x4 : 0x0;
legacy_request->config_sid_beacon = 1;
if (hidl_request.configParams.numberOfServiceIdsInBeacon > 127) {
+ LOG(ERROR) << "convertHidlNanEnableRequestToLegacy: numberOfServiceIdsInBeacon > 127";
return false;
}
legacy_request->sid_beacon_val = (hidl_request.configParams.includeServiceIdsInBeacon ? 0x1 : 0x0)
| (hidl_request.configParams.numberOfServiceIdsInBeacon << 1);
- legacy_request->config_rssi_window_size = 0; // TODO: don't know default yet
+ legacy_request->config_rssi_window_size = 1;
legacy_request->rssi_window_size_val = hidl_request.configParams.rssiWindowSize;
legacy_request->config_disc_mac_addr_randomization = 1;
legacy_request->disc_mac_addr_rand_interval_sec =
@@ -793,19 +794,23 @@
legacy_request->config_responder_auto_response = 1;
legacy_request->ranging_auto_response_cfg = hidl_request.configParams.acceptRangingRequests ?
legacy_hal::NAN_RANGING_AUTO_RESPONSE_ENABLE : legacy_hal::NAN_RANGING_AUTO_RESPONSE_DISABLE;
- legacy_request->config_2dot4g_rssi_close = 0; // TODO: don't know default yet
+ legacy_request->config_2dot4g_rssi_close = 1;
+ if (hidl_request.configParams.bandSpecificConfig.size() != 2) {
+ LOG(ERROR) << "convertHidlNanEnableRequestToLegacy: bandSpecificConfig.size() != 2";
+ return false;
+ }
legacy_request->rssi_close_2dot4g_val =
hidl_request.configParams.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_24GHZ].rssiClose;
- legacy_request->config_2dot4g_rssi_middle = 0; // TODO: don't know default yet
+ legacy_request->config_2dot4g_rssi_middle = 1;
legacy_request->rssi_middle_2dot4g_val =
hidl_request.configParams.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_24GHZ].rssiMiddle;
- legacy_request->config_2dot4g_rssi_proximity = 0; // TODO: don't know default yet
+ legacy_request->config_2dot4g_rssi_proximity = 1;
legacy_request->rssi_proximity_2dot4g_val =
hidl_request.configParams.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_24GHZ].rssiProximity;
- legacy_request->config_scan_params = 0; // TODO: don't know default yet
+ legacy_request->config_scan_params = 1;
legacy_request->scan_params_val.dwell_time[legacy_hal::NAN_CHANNEL_24G_BAND] =
hidl_request.configParams.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_24GHZ].dwellTimeMs;
@@ -816,15 +821,15 @@
.bandSpecificConfig[(size_t) NanBandIndex::NAN_BAND_24GHZ].validDiscoveryWindowIntervalVal;
legacy_request->config_dw.dw_2dot4g_interval_val = hidl_request.configParams
.bandSpecificConfig[(size_t) NanBandIndex::NAN_BAND_24GHZ].discoveryWindowIntervalVal;
- legacy_request->config_5g_rssi_close = 0; // TODO: don't know default yet
+ legacy_request->config_5g_rssi_close = 1;
legacy_request->rssi_close_5g_val =
hidl_request.configParams.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_5GHZ].rssiClose;
- legacy_request->config_5g_rssi_middle = 0; // TODO: don't know default yet
+ legacy_request->config_5g_rssi_middle = 1;
legacy_request->rssi_middle_5g_val =
hidl_request.configParams.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_5GHZ].rssiMiddle;
- legacy_request->config_5g_rssi_close_proximity = 0; // TODO: don't know default yet
+ legacy_request->config_5g_rssi_close_proximity = 1;
legacy_request->rssi_close_proximity_5g_val =
hidl_request.configParams.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_5GHZ].rssiProximity;
@@ -885,6 +890,7 @@
const NanPublishRequest& hidl_request,
legacy_hal::NanPublishRequest* legacy_request) {
if (!legacy_request) {
+ LOG(ERROR) << "convertHidlNanPublishRequestToLegacy: null legacy_request";
return false;
}
memset(legacy_request, 0, sizeof(legacy_hal::NanPublishRequest));
@@ -895,14 +901,16 @@
legacy_request->publish_count = hidl_request.baseConfigs.discoveryCount;
legacy_request->service_name_len = hidl_request.baseConfigs.serviceName.size();
if (legacy_request->service_name_len > NAN_MAX_SERVICE_NAME_LEN) {
+ LOG(ERROR) << "convertHidlNanPublishRequestToLegacy: service_name_len too large";
return false;
}
- memcpy(legacy_request->service_name, hidl_request.baseConfigs.serviceName.c_str(),
+ memcpy(legacy_request->service_name, hidl_request.baseConfigs.serviceName.data(),
legacy_request->service_name_len);
legacy_request->publish_match_indicator =
(legacy_hal::NanMatchAlg) hidl_request.baseConfigs.discoveryMatchIndicator;
legacy_request->service_specific_info_len = hidl_request.baseConfigs.serviceSpecificInfo.size();
if (legacy_request->service_specific_info_len > NAN_MAX_SERVICE_SPECIFIC_INFO_LEN) {
+ LOG(ERROR) << "convertHidlNanPublishRequestToLegacy: service_specific_info_len too large";
return false;
}
memcpy(legacy_request->service_specific_info,
@@ -910,6 +918,7 @@
legacy_request->service_specific_info_len);
legacy_request->rx_match_filter_len = hidl_request.baseConfigs.rxMatchFilter.size();
if (legacy_request->rx_match_filter_len > NAN_MAX_MATCH_FILTER_LEN) {
+ LOG(ERROR) << "convertHidlNanPublishRequestToLegacy: rx_match_filter_len too large";
return false;
}
memcpy(legacy_request->rx_match_filter,
@@ -917,6 +926,7 @@
legacy_request->rx_match_filter_len);
legacy_request->tx_match_filter_len = hidl_request.baseConfigs.txMatchFilter.size();
if (legacy_request->tx_match_filter_len > NAN_MAX_MATCH_FILTER_LEN) {
+ LOG(ERROR) << "convertHidlNanPublishRequestToLegacy: tx_match_filter_len too large";
return false;
}
memcpy(legacy_request->tx_match_filter,
@@ -933,6 +943,7 @@
legacy_request->cipher_type = hidl_request.baseConfigs.supportedCipherTypes;
legacy_request->pmk_len = hidl_request.baseConfigs.pmk.size();
if (legacy_request->pmk_len > NAN_PMK_INFO_LEN) {
+ LOG(ERROR) << "convertHidlNanPublishRequestToLegacy: pmk_len too large";
return false;
}
memcpy(legacy_request->pmk,
@@ -957,6 +968,7 @@
const NanSubscribeRequest& hidl_request,
legacy_hal::NanSubscribeRequest* legacy_request) {
if (!legacy_request) {
+ LOG(ERROR) << "convertHidlNanSubscribeRequestToLegacy: legacy_request is null";
return false;
}
memset(legacy_request, 0, sizeof(legacy_hal::NanSubscribeRequest));
@@ -967,14 +979,16 @@
legacy_request->subscribe_count = hidl_request.baseConfigs.discoveryCount;
legacy_request->service_name_len = hidl_request.baseConfigs.serviceName.size();
if (legacy_request->service_name_len > NAN_MAX_SERVICE_NAME_LEN) {
+ LOG(ERROR) << "convertHidlNanSubscribeRequestToLegacy: service_name_len too large";
return false;
}
- memcpy(legacy_request->service_name, hidl_request.baseConfigs.serviceName.c_str(),
+ memcpy(legacy_request->service_name, hidl_request.baseConfigs.serviceName.data(),
legacy_request->service_name_len);
legacy_request->subscribe_match_indicator =
(legacy_hal::NanMatchAlg) hidl_request.baseConfigs.discoveryMatchIndicator;
legacy_request->service_specific_info_len = hidl_request.baseConfigs.serviceSpecificInfo.size();
if (legacy_request->service_specific_info_len > NAN_MAX_SERVICE_SPECIFIC_INFO_LEN) {
+ LOG(ERROR) << "convertHidlNanSubscribeRequestToLegacy: service_specific_info_len too large";
return false;
}
memcpy(legacy_request->service_specific_info,
@@ -982,6 +996,7 @@
legacy_request->service_specific_info_len);
legacy_request->rx_match_filter_len = hidl_request.baseConfigs.rxMatchFilter.size();
if (legacy_request->rx_match_filter_len > NAN_MAX_MATCH_FILTER_LEN) {
+ LOG(ERROR) << "convertHidlNanSubscribeRequestToLegacy: rx_match_filter_len too large";
return false;
}
memcpy(legacy_request->rx_match_filter,
@@ -989,6 +1004,7 @@
legacy_request->rx_match_filter_len);
legacy_request->tx_match_filter_len = hidl_request.baseConfigs.txMatchFilter.size();
if (legacy_request->tx_match_filter_len > NAN_MAX_MATCH_FILTER_LEN) {
+ LOG(ERROR) << "convertHidlNanSubscribeRequestToLegacy: tx_match_filter_len too large";
return false;
}
memcpy(legacy_request->tx_match_filter,
@@ -1005,6 +1021,7 @@
legacy_request->cipher_type = hidl_request.baseConfigs.supportedCipherTypes;
legacy_request->pmk_len = hidl_request.baseConfigs.pmk.size();
if (legacy_request->pmk_len > NAN_PMK_INFO_LEN) {
+ LOG(ERROR) << "convertHidlNanSubscribeRequestToLegacy: pmk_len too large";
return false;
}
memcpy(legacy_request->pmk,
@@ -1029,6 +1046,7 @@
legacy_hal::NAN_SSI_REQUIRED_IN_MATCH_IND : legacy_hal::NAN_SSI_NOT_REQUIRED_IN_MATCH_IND;
legacy_request->num_intf_addr_present = hidl_request.intfAddr.size();
if (legacy_request->num_intf_addr_present > NAN_MAX_SUBSCRIBE_MAX_ADDRESS) {
+ LOG(ERROR) << "convertHidlNanSubscribeRequestToLegacy: num_intf_addr_present - too many";
return false;
}
for (int i = 0; i < legacy_request->num_intf_addr_present; i++) {
@@ -1042,6 +1060,7 @@
const NanTransmitFollowupRequest& hidl_request,
legacy_hal::NanTransmitFollowupRequest* legacy_request) {
if (!legacy_request) {
+ LOG(ERROR) << "convertHidlNanTransmitFollowupRequestToLegacy: legacy_request is null";
return false;
}
memset(legacy_request, 0, sizeof(legacy_hal::NanTransmitFollowupRequest));
@@ -1055,6 +1074,7 @@
legacy_hal::NAN_TRANSMIT_IN_DW : legacy_hal::NAN_TRANSMIT_IN_FAW;
legacy_request->service_specific_info_len = hidl_request.message.size();
if (legacy_request->service_specific_info_len > NAN_MAX_SERVICE_SPECIFIC_INFO_LEN) {
+ LOG(ERROR) << "convertHidlNanTransmitFollowupRequestToLegacy: service_specific_info_len too large";
return false;
}
memcpy(legacy_request->service_specific_info,
@@ -1069,6 +1089,7 @@
const NanConfigRequest& hidl_request,
legacy_hal::NanConfigRequest* legacy_request) {
if (!legacy_request) {
+ LOG(ERROR) << "convertHidlNanConfigRequestToLegacy: legacy_request is null";
return false;
}
memset(legacy_request, 0, sizeof(legacy_hal::NanConfigRequest));
@@ -1084,11 +1105,12 @@
hidl_request.disableJoinedClusterIndication ? 0x4 : 0x0;
legacy_request->config_sid_beacon = 1;
if (hidl_request.numberOfServiceIdsInBeacon > 127) {
+ LOG(ERROR) << "convertHidlNanConfigRequestToLegacy: numberOfServiceIdsInBeacon > 127";
return false;
}
legacy_request->sid_beacon = (hidl_request.includeServiceIdsInBeacon ? 0x1 : 0x0)
| (hidl_request.numberOfServiceIdsInBeacon << 1);
- legacy_request->config_rssi_window_size = 0; // TODO: don't know default yet
+ legacy_request->config_rssi_window_size = 1;
legacy_request->rssi_window_size_val = hidl_request.rssiWindowSize;
legacy_request->config_disc_mac_addr_randomization = 1;
legacy_request->disc_mac_addr_rand_interval_sec =
@@ -1097,20 +1119,20 @@
legacy_request->ranging_auto_response_cfg = hidl_request.acceptRangingRequests ?
legacy_hal::NAN_RANGING_AUTO_RESPONSE_ENABLE : legacy_hal::NAN_RANGING_AUTO_RESPONSE_DISABLE;
/* TODO : missing
- legacy_request->config_2dot4g_rssi_close = 0; // TODO: don't know default yet
+ legacy_request->config_2dot4g_rssi_close = 1;
legacy_request->rssi_close_2dot4g_val =
hidl_request.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_24GHZ].rssiClose;
- legacy_request->config_2dot4g_rssi_middle = 0; // TODO: don't know default yet
+ legacy_request->config_2dot4g_rssi_middle = 1;
legacy_request->rssi_middle_2dot4g_val =
hidl_request.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_24GHZ].rssiMiddle;
- legacy_request->config_2dot4g_rssi_proximity = 0; // TODO: don't know default yet
+ legacy_request->config_2dot4g_rssi_proximity = 1;
legacy_request->rssi_proximity_2dot4g_val =
hidl_request.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_24GHZ].rssiProximity;
*/
- legacy_request->config_scan_params = 0; // TODO: don't know default yet
+ legacy_request->config_scan_params = 1;
legacy_request->scan_params_val.dwell_time[legacy_hal::NAN_CHANNEL_24G_BAND] =
hidl_request.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_24GHZ].dwellTimeMs;
@@ -1122,16 +1144,16 @@
legacy_request->config_dw.dw_2dot4g_interval_val = hidl_request
.bandSpecificConfig[(size_t) NanBandIndex::NAN_BAND_24GHZ].discoveryWindowIntervalVal;
/* TODO: missing
- legacy_request->config_5g_rssi_close = 0; // TODO: don't know default yet
+ legacy_request->config_5g_rssi_close = 1;
legacy_request->rssi_close_5g_val =
hidl_request.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_5GHZ].rssiClose;
- legacy_request->config_5g_rssi_middle = 0; // TODO: don't know default yet
+ legacy_request->config_5g_rssi_middle = 1;
legacy_request->rssi_middle_5g_val =
hidl_request.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_5GHZ].rssiMiddle;
*/
- legacy_request->config_5g_rssi_close_proximity = 0; // TODO: don't know default yet
+ legacy_request->config_5g_rssi_close_proximity = 1;
legacy_request->rssi_close_proximity_5g_val =
hidl_request.bandSpecificConfig[
(size_t) NanBandIndex::NAN_BAND_5GHZ].rssiProximity;
@@ -1159,6 +1181,7 @@
const NanBeaconSdfPayloadRequest& hidl_request,
legacy_hal::NanBeaconSdfPayloadRequest* legacy_request) {
if (!legacy_request) {
+ LOG(ERROR) << "convertHidlNanBeaconSdfPayloadRequestToLegacy: legacy_request is null";
return false;
}
memset(legacy_request, 0, sizeof(legacy_hal::NanBeaconSdfPayloadRequest));
@@ -1170,6 +1193,7 @@
legacy_request->vsa.vendor_oui = hidl_request.vendorOui;
legacy_request->vsa.vsa_len = hidl_request.vsa.size();
if (legacy_request->vsa.vsa_len > NAN_MAX_VSA_DATA_LEN) {
+ LOG(ERROR) << "convertHidlNanBeaconSdfPayloadRequestToLegacy: vsa_len too long";
return false;
}
memcpy(legacy_request->vsa.vsa, hidl_request.vsa.data(), legacy_request->vsa.vsa_len);
@@ -1181,6 +1205,7 @@
const NanInitiateDataPathRequest& hidl_request,
legacy_hal::NanDataPathInitiatorRequest* legacy_request) {
if (!legacy_request) {
+ LOG(ERROR) << "convertHidlNanDataPathInitiatorRequestToLegacy: legacy_request is null";
return false;
}
memset(legacy_request, 0, sizeof(legacy_hal::NanDataPathInitiatorRequest));
@@ -1195,6 +1220,7 @@
legacy_hal::NAN_DP_CONFIG_SECURITY : legacy_hal::NAN_DP_CONFIG_NO_SECURITY;
legacy_request->app_info.ndp_app_info_len = hidl_request.appInfo.size();
if (legacy_request->app_info.ndp_app_info_len > NAN_DP_MAX_APP_INFO_LEN) {
+ LOG(ERROR) << "convertHidlNanDataPathInitiatorRequestToLegacy: ndp_app_info_len to large";
return false;
}
memcpy(legacy_request->app_info.ndp_app_info, hidl_request.appInfo.data(),
@@ -1213,6 +1239,7 @@
const NanRespondToDataPathIndicationRequest& hidl_request,
legacy_hal::NanDataPathIndicationResponse* legacy_request) {
if (!legacy_request) {
+ LOG(ERROR) << "convertHidlNanDataPathIndicationResponseToLegacy: legacy_request is null";
return false;
}
memset(legacy_request, 0, sizeof(legacy_hal::NanDataPathIndicationResponse));
@@ -1225,6 +1252,7 @@
legacy_hal::NAN_DP_CONFIG_SECURITY : legacy_hal::NAN_DP_CONFIG_NO_SECURITY;
legacy_request->app_info.ndp_app_info_len = hidl_request.appInfo.size();
if (legacy_request->app_info.ndp_app_info_len > NAN_DP_MAX_APP_INFO_LEN) {
+ LOG(ERROR) << "convertHidlNanDataPathIndicationResponseToLegacy: ndp_app_info_len too large";
return false;
}
memcpy(legacy_request->app_info.ndp_app_info, hidl_request.appInfo.data(),
@@ -1232,6 +1260,7 @@
legacy_request->cipher_type = hidl_request.supportedCipherTypes;
legacy_request->pmk_len = hidl_request.pmk.size();
if (legacy_request->pmk_len > NAN_PMK_INFO_LEN) {
+ LOG(ERROR) << "convertHidlNanDataPathIndicationResponseToLegacy: pmk_len too large";
return false;
}
memcpy(legacy_request->pmk, hidl_request.pmk.data(), legacy_request->pmk_len);
@@ -1243,6 +1272,7 @@
const legacy_hal::NanResponseMsg& legacy_response,
WifiNanStatus* wifiNanStatus) {
if (!wifiNanStatus) {
+ LOG(ERROR) << "convertLegacyNanResponseHeaderToHidl: wifiNanStatus is null";
return false;
}
wifiNanStatus->status = convertLegacyNanStatusTypeToHidl(legacy_response.status);
@@ -1255,6 +1285,7 @@
const legacy_hal::NanCapabilities& legacy_response,
NanCapabilities* hidl_response) {
if (!hidl_response) {
+ LOG(ERROR) << "convertLegacyNanCapabilitiesResponseToHidl: hidl_response is null";
return false;
}
hidl_response->maxConcurrentClusters = legacy_response.max_concurrent_nan_clusters;
@@ -1280,6 +1311,7 @@
const legacy_hal::NanMatchInd& legacy_ind,
NanMatchInd* hidl_ind) {
if (!hidl_ind) {
+ LOG(ERROR) << "convertLegacyNanMatchIndToHidl: hidl_ind is null";
return false;
}
hidl_ind->discoverySessionId = legacy_ind.publish_subscribe_id;
@@ -1307,6 +1339,7 @@
const legacy_hal::NanFollowupInd& legacy_ind,
NanFollowupReceivedInd* hidl_ind) {
if (!hidl_ind) {
+ LOG(ERROR) << "convertLegacyNanFollowupIndToHidl: hidl_ind is null";
return false;
}
hidl_ind->discoverySessionId = legacy_ind.publish_subscribe_id;
@@ -1323,6 +1356,7 @@
const legacy_hal::NanBeaconSdfPayloadInd& legacy_ind,
NanBeaconSdfPayloadInd* hidl_ind) {
if (!hidl_ind) {
+ LOG(ERROR) << "convertLegacyNanBeaconSdfPayloadIndToHidl: hidl_ind is null";
return false;
}
hidl_ind->addr = hidl_array<uint8_t, 6>(legacy_ind.addr);
@@ -1342,6 +1376,7 @@
const legacy_hal::NanDataPathRequestInd& legacy_ind,
NanDataPathRequestInd* hidl_ind) {
if (!hidl_ind) {
+ LOG(ERROR) << "convertLegacyNanDataPathRequestIndToHidl: hidl_ind is null";
return false;
}
hidl_ind->discoverySessionId = legacy_ind.service_instance_id;
@@ -1359,6 +1394,7 @@
const legacy_hal::NanDataPathConfirmInd& legacy_ind,
NanDataPathConfirmInd* hidl_ind) {
if (!hidl_ind) {
+ LOG(ERROR) << "convertLegacyNanDataPathConfirmIndToHidl: hidl_ind is null";
return false;
}
hidl_ind->ndpInstanceId = legacy_ind.ndp_instance_id;
diff --git a/wifi/1.0/default/wifi_legacy_hal.cpp b/wifi/1.0/default/wifi_legacy_hal.cpp
index e4eddcd..b0b0f96 100644
--- a/wifi/1.0/default/wifi_legacy_hal.cpp
+++ b/wifi/1.0/default/wifi_legacy_hal.cpp
@@ -685,6 +685,12 @@
cmd_id, wlan_interface_handle_);
}
+wifi_error WifiLegacyHal::setScanningMacOui(const std::array<uint8_t, 3>& oui) {
+ std::vector<uint8_t> oui_internal(oui.data(), oui.data() + oui.size());
+ return global_func_table_.wifi_set_scanning_mac_oui(wlan_interface_handle_,
+ oui_internal.data());
+}
+
std::pair<wifi_error, uint32_t> WifiLegacyHal::getLoggerSupportedFeatureSet() {
uint32_t supported_features;
wifi_error status = global_func_table_.wifi_get_logger_supported_feature_set(
diff --git a/wifi/1.0/default/wifi_legacy_hal.h b/wifi/1.0/default/wifi_legacy_hal.h
index 1ab74b7..dce4ed4 100644
--- a/wifi/1.0/default/wifi_legacy_hal.h
+++ b/wifi/1.0/default/wifi_legacy_hal.h
@@ -192,6 +192,7 @@
const std::array<uint8_t, 6>& dst_address,
uint32_t period_in_ms);
wifi_error stopSendingOffloadedPacket(uint32_t cmd_id);
+ wifi_error setScanningMacOui(const std::array<uint8_t, 3>& oui);
// Logger/debug functions.
std::pair<wifi_error, uint32_t> getLoggerSupportedFeatureSet();
wifi_error startPktFateMonitoring();
diff --git a/wifi/1.0/default/wifi_nan_iface.cpp b/wifi/1.0/default/wifi_nan_iface.cpp
index 5ac6fa8..333fac7 100644
--- a/wifi/1.0/default/wifi_nan_iface.cpp
+++ b/wifi/1.0/default/wifi_nan_iface.cpp
@@ -60,6 +60,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_RESPONSE_DISABLED: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
@@ -67,6 +68,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_RESPONSE_PUBLISH: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
@@ -75,6 +77,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_RESPONSE_PUBLISH_CANCEL: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
@@ -82,6 +85,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_RESPONSE_TRANSMIT_FOLLOWUP: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
@@ -89,6 +93,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_RESPONSE_SUBSCRIBE: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
@@ -97,6 +102,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_RESPONSE_SUBSCRIBE_CANCEL: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
@@ -104,6 +110,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_RESPONSE_CONFIG: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
@@ -111,6 +118,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_RESPONSE_BEACON_SDF_PAYLOAD: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
@@ -118,6 +126,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_GET_CAPABILITIES: {
NanCapabilities hidl_struct;
@@ -132,6 +141,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_DP_INTERFACE_CREATE: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
@@ -139,6 +149,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_DP_INTERFACE_DELETE: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
@@ -146,18 +157,20 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_DP_INITIATOR_RESPONSE: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
- if (!callback->notifyInitiateDataPathResponse(id, wifiNanStatus).isOk()) {
+ if (!callback->notifyInitiateDataPathResponse(id, wifiNanStatus,
+ msg.body.data_request_response.ndp_instance_id).isOk()) {
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_DP_RESPONDER_RESPONSE: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
- if (!callback->notifyRespondToDataPathIndicationResponse(id, wifiNanStatus,
- msg.body.data_request_response.ndp_instance_id).isOk()) {
+ if (!callback->notifyRespondToDataPathIndicationResponse(id, wifiNanStatus).isOk()) {
LOG(ERROR) << "Failed to invoke the callback";
}
}
@@ -168,6 +181,7 @@
LOG(ERROR) << "Failed to invoke the callback";
}
}
+ break;
}
case legacy_hal::NAN_RESPONSE_TCA:
/* fall through */
diff --git a/wifi/1.0/default/wifi_sta_iface.cpp b/wifi/1.0/default/wifi_sta_iface.cpp
index be2fe37..6cc41db 100644
--- a/wifi/1.0/default/wifi_sta_iface.cpp
+++ b/wifi/1.0/default/wifi_sta_iface.cpp
@@ -250,6 +250,15 @@
cmd_id);
}
+Return<void> WifiStaIface::setScanningMacOui(
+ const hidl_array<uint8_t, 3>& oui, setScanningMacOui_cb hidl_status_cb) {
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiStaIface::setScanningMacOuiInternal,
+ hidl_status_cb,
+ oui);
+}
+
Return<void> WifiStaIface::startDebugPacketFateMonitoring(
startDebugPacketFateMonitoring_cb hidl_status_cb) {
return validateAndCall(this,
@@ -553,6 +562,12 @@
return createWifiStatusFromLegacyError(legacy_status);
}
+WifiStatus WifiStaIface::setScanningMacOuiInternal(const std::array<uint8_t, 3>& oui) {
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->setScanningMacOui(oui);
+ return createWifiStatusFromLegacyError(legacy_status);
+}
+
WifiStatus WifiStaIface::startDebugPacketFateMonitoringInternal() {
legacy_hal::wifi_error legacy_status =
legacy_hal_.lock()->startPktFateMonitoring();
diff --git a/wifi/1.0/default/wifi_sta_iface.h b/wifi/1.0/default/wifi_sta_iface.h
index ca79c5b..bc2d75f 100644
--- a/wifi/1.0/default/wifi_sta_iface.h
+++ b/wifi/1.0/default/wifi_sta_iface.h
@@ -95,6 +95,8 @@
startSendingKeepAlivePackets_cb hidl_status_cb) override;
Return<void> stopSendingKeepAlivePackets(
uint32_t cmd_id, stopSendingKeepAlivePackets_cb hidl_status_cb) override;
+ Return<void> setScanningMacOui(const hidl_array<uint8_t, 3>& oui,
+ setScanningMacOui_cb hidl_status_cb) override;
Return<void> startDebugPacketFateMonitoring(
startDebugPacketFateMonitoring_cb hidl_status_cb) override;
Return<void> getDebugTxPacketFates(
@@ -140,6 +142,7 @@
const std::array<uint8_t, 6>& dst_address,
uint32_t period_in_ms);
WifiStatus stopSendingKeepAlivePacketsInternal(uint32_t cmd_id);
+ WifiStatus setScanningMacOuiInternal(const std::array<uint8_t, 3>& oui);
WifiStatus startDebugPacketFateMonitoringInternal();
std::pair<WifiStatus, std::vector<WifiDebugTxPacketFateReport>>
getDebugTxPacketFatesInternal();
diff --git a/wifi/1.0/types.hal b/wifi/1.0/types.hal
index bb00114..1ec1357 100644
--- a/wifi/1.0/types.hal
+++ b/wifi/1.0/types.hal
@@ -750,19 +750,19 @@
* Frequency in MHz to of the discovery channel in the specified band. Indexed by |NanBandIndex|.
*/
bool validDiscoveryChannelVal;
- vec<WifiChannelInMhz> discoveryChannelMhzVal;
+ WifiChannelInMhz[2] discoveryChannelMhzVal;
/**
* Specifies whether sync/discovery beacons are transmitted in the specified band. Indexed by
* |NanBandIndex|.
*/
bool validUseBeaconsInBandVal;
- vec<bool> useBeaconsInBandVal;
+ bool[2] useBeaconsInBandVal;
/**
* Specified whether SDF (service discovery frames) are transmitted in the specified band. Indexed
* by |NanBandIndex|.
*/
bool validUseSdfInBandVal;
- vec<bool> useSdfInBandVal;
+ bool[2] useSdfInBandVal;
};
/**
@@ -816,7 +816,7 @@
/**
* Additional configuration provided per band: indexed by |NanBandIndex|.
*/
- vec<NanBandSpecificConfig> bandSpecificConfig;
+ NanBandSpecificConfig[2] bandSpecificConfig;
};
/**
@@ -826,7 +826,7 @@
/**
* Enable operation in a specific band: indexed by |NanBandIndex|.
*/
- vec<bool> operateInBand;
+ bool[2] operateInBand;
/**
* Specify extent of cluster by specifying the max hop count.
*/
@@ -888,7 +888,7 @@
* UTF-8 encoded string identifying the service.
* Max length: |NanCapabilities.maxServiceNameLen|.
*/
- string serviceName;
+ vec<uint8_t> serviceName;
/**
* Specifies the matching indication to host: once, continuous, or never.
*/
diff --git a/wifi/1.0/vts/Android.mk b/wifi/1.0/vts/Android.mk
deleted file mode 100644
index d347136..0000000
--- a/wifi/1.0/vts/Android.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-# include hidl test makefiles
-include $(LOCAL_PATH)/functional/vts/testcases/hal/wifi/hidl/Android.mk
diff --git a/wifi/1.0/vts/functional/Android.mk b/wifi/1.0/vts/functional/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/wifi/1.0/vts/functional/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/wifi/1.0/vts/functional/vts/testcases/hal/wifi/__init__.py b/wifi/1.0/vts/functional/vts/testcases/hal/wifi/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/wifi/1.0/vts/functional/vts/testcases/hal/wifi/__init__.py
+++ /dev/null
diff --git a/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/Android.mk b/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/Android.mk
deleted file mode 100644
index f9e3276..0000000
--- a/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/__init__.py b/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/__init__.py
+++ /dev/null
diff --git a/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/target/Android.mk b/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/target/Android.mk
deleted file mode 100644
index 40f154e..0000000
--- a/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/target/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := HalWifiHidlTargetTest
-VTS_CONFIG_SRC_DIR := testcases/hal/wifi/hidl/target
-include test/vts/tools/build/Android.host_config.mk
diff --git a/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/target/AndroidTest.xml b/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/target/AndroidTest.xml
deleted file mode 100644
index 1099a5a..0000000
--- a/wifi/1.0/vts/functional/vts/testcases/hal/wifi/hidl/target/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<configuration description="Config for VTS WiFi HIDL HAL's basic target-side test cases">
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="push-group" value="HidlHalTest.push" />
- </target_preparer>
- <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="HalWifiHidlTargetTest" />
- <option name="binary-test-sources" value="
- _32bit::DATA/nativetest/wifi_hidl_test/wifi_hidl_test,
- _64bit::DATA/nativetest64/wifi_hidl_test/wifi_hidl_test,
- "/>
- <option name="binary-test-type" value="gtest" />
- <option name="test-timeout" value="10m" />
- </test>
-</configuration>
diff --git a/wifi/supplicant/1.0/Android.bp b/wifi/supplicant/1.0/Android.bp
index 261d940..b985a93 100644
--- a/wifi/supplicant/1.0/Android.bp
+++ b/wifi/supplicant/1.0/Android.bp
@@ -1,5 +1,24 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
+filegroup {
+ name: "android.hardware.wifi.supplicant@1.0_hal",
+ srcs: [
+ "types.hal",
+ "ISupplicant.hal",
+ "ISupplicantCallback.hal",
+ "ISupplicantIface.hal",
+ "ISupplicantNetwork.hal",
+ "ISupplicantP2pIface.hal",
+ "ISupplicantP2pIfaceCallback.hal",
+ "ISupplicantP2pNetwork.hal",
+ "ISupplicantP2pNetworkCallback.hal",
+ "ISupplicantStaIface.hal",
+ "ISupplicantStaIfaceCallback.hal",
+ "ISupplicantStaNetwork.hal",
+ "ISupplicantStaNetworkCallback.hal",
+ ],
+}
+
genrule {
name: "android.hardware.wifi.supplicant@1.0_genc++",
tools: ["hidl-gen"],