Merge "tv hdmi vts test init"
diff --git a/audio/2.0/Android.mk b/audio/2.0/Android.mk
index 31001c0..f8767ec 100644
--- a/audio/2.0/Android.mk
+++ b/audio/2.0/Android.mk
@@ -12,7 +12,7 @@
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
-GEN := $(intermediates)/android/hardware/audio/2.0/Constants.java
+GEN := $(intermediates)/android/hardware/audio/V2_0/Constants.java
$(GEN): $(HIDL)
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/IDevice.hal
diff --git a/audio/2.0/IDevice.hal b/audio/2.0/IDevice.hal
index 630a32c..2b5329b 100644
--- a/audio/2.0/IDevice.hal
+++ b/audio/2.0/IDevice.hal
@@ -179,15 +179,15 @@
* As input, 'port' contains the information (type, role, address etc...)
* needed by the HAL to identify the port.
*
- * As output, 'port' contains possible attributes (sampling rates, formats,
- * channel masks, gain controllers...) for this port.
+ * As output, 'resultPort' contains possible attributes (sampling rates,
+ * formats, channel masks, gain controllers...) for this port.
*
* @param port port identifier.
* @return retval operation completion status.
- * @return port port descriptor with all parameters filled up.
+ * @return resultPort port descriptor with all parameters filled up.
*/
getAudioPort(AudioPort port)
- generates (Result retval, AudioPort port);
+ generates (Result retval, AudioPort resultPort);
/*
* Set audio port configuration.
diff --git a/audio/2.0/default/Stream.cpp b/audio/2.0/default/Stream.cpp
index 1b6d593..40f67f0 100644
--- a/audio/2.0/default/Stream.cpp
+++ b/audio/2.0/default/Stream.cpp
@@ -43,8 +43,8 @@
mStream = nullptr;
}
-Result Stream::analyzeStatus(const char* funcName, int status) {
- if (status != 0) {
+Result Stream::analyzeStatus(const char* funcName, int status, int ignoreError) {
+ if (status != 0 && status != -ignoreError) {
ALOGW("Stream %p %s: %s", mStream, funcName, strerror(-status));
}
switch (status) {
diff --git a/audio/2.0/default/Stream.h b/audio/2.0/default/Stream.h
index 2e641d6..0ebd723 100644
--- a/audio/2.0/default/Stream.h
+++ b/audio/2.0/default/Stream.h
@@ -73,7 +73,7 @@
Return<void> debugDump(const hidl_handle& fd) override;
// Utility methods for extending interfaces.
- Result analyzeStatus(const char* funcName, int status);
+ Result analyzeStatus(const char* funcName, int status, int ignoreError = OK);
private:
audio_stream_t *mStream;
diff --git a/audio/2.0/default/StreamOut.cpp b/audio/2.0/default/StreamOut.cpp
index 546b264..913b6ae 100644
--- a/audio/2.0/default/StreamOut.cpp
+++ b/audio/2.0/default/StreamOut.cpp
@@ -262,7 +262,10 @@
struct timespec halTimeStamp;
retval = mStreamCommon->analyzeStatus(
"get_presentation_position",
- mStream->get_presentation_position(mStream, &frames, &halTimeStamp));
+ mStream->get_presentation_position(mStream, &frames, &halTimeStamp),
+ // Don't logspam on EINVAL--it's normal for get_presentation_position
+ // to return it sometimes.
+ EINVAL);
if (retval == Result::OK) {
timeStamp.tvSec = halTimeStamp.tv_sec;
timeStamp.tvNSec = halTimeStamp.tv_nsec;
diff --git a/audio/2.0/default/android.hardware.audio@2.0-service.rc b/audio/2.0/default/android.hardware.audio@2.0-service.rc
index f9fecdb..0a5bfc5 100644
--- a/audio/2.0/default/android.hardware.audio@2.0-service.rc
+++ b/audio/2.0/default/android.hardware.audio@2.0-service.rc
@@ -5,3 +5,7 @@
group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct
ioprio rt 4
writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks
+ # audioflinger restarts itself when it loses connection with the hal
+ # and its .rc file has an "onrestart restart audio-hal" rule, thus
+ # an additional auto-restart from the init process isn't needed.
+ oneshot
diff --git a/audio/common/2.0/Android.mk b/audio/common/2.0/Android.mk
index 05530a8..423fe35 100644
--- a/audio/common/2.0/Android.mk
+++ b/audio/common/2.0/Android.mk
@@ -12,7 +12,7 @@
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
-GEN := $(intermediates)/android/hardware/audio/common/2.0/Constants.java
+GEN := $(intermediates)/android/hardware/audio/common/V2_0/Constants.java
$(GEN): $(HIDL)
$(GEN): $(LOCAL_PATH)/types.hal
diff --git a/audio/common/2.0/types.hal b/audio/common/2.0/types.hal
index d1674e4..13fd19b 100644
--- a/audio/common/2.0/types.hal
+++ b/audio/common/2.0/types.hal
@@ -665,6 +665,7 @@
// data bursts, not PCM.
DIRECT_PCM = 0x2000, // Audio stream containing PCM data that needs
// to pass through compress path for DSP post proc.
+ MMAP_NOIRQ = 0x4000, // output operates in MMAP no IRQ mode.
};
/*
@@ -680,6 +681,7 @@
HW_HOTWORD = 0x2, // prefer an input that captures from hw hotword source
RAW = 0x4, // minimize signal processing
SYNC = 0x8, // synchronize I/O streams
+ MMAP_NOIRQ = 0x10, // input operates in MMAP no IRQ mode.
};
@export(name="audio_usage_t", value_prefix="AUDIO_USAGE_")
diff --git a/audio/effect/2.0/Android.mk b/audio/effect/2.0/Android.mk
index 0f4b5d4..3383efd 100644
--- a/audio/effect/2.0/Android.mk
+++ b/audio/effect/2.0/Android.mk
@@ -12,7 +12,7 @@
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
-GEN := $(intermediates)/android/hardware/audio/effect/2.0/Constants.java
+GEN := $(intermediates)/android/hardware/audio/effect/V2_0/Constants.java
$(GEN): $(HIDL)
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/IAcousticEchoCancelerEffect.hal
diff --git a/bluetooth/1.0/Android.mk b/bluetooth/1.0/Android.mk
index 887cbd6..7924cee 100644
--- a/bluetooth/1.0/Android.mk
+++ b/bluetooth/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (Status)
#
-GEN := $(intermediates)/android/hardware/bluetooth/1.0/Status.java
+GEN := $(intermediates)/android/hardware/bluetooth/V1_0/Status.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build IBluetoothHci.hal
#
-GEN := $(intermediates)/android/hardware/bluetooth/1.0/IBluetoothHci.java
+GEN := $(intermediates)/android/hardware/bluetooth/V1_0/IBluetoothHci.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBluetoothHci.hal
@@ -61,7 +61,7 @@
#
# Build IBluetoothHciCallbacks.hal
#
-GEN := $(intermediates)/android/hardware/bluetooth/1.0/IBluetoothHciCallbacks.java
+GEN := $(intermediates)/android/hardware/bluetooth/V1_0/IBluetoothHciCallbacks.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBluetoothHciCallbacks.hal
@@ -98,7 +98,7 @@
#
# Build types.hal (Status)
#
-GEN := $(intermediates)/android/hardware/bluetooth/1.0/Status.java
+GEN := $(intermediates)/android/hardware/bluetooth/V1_0/Status.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -117,7 +117,7 @@
#
# Build IBluetoothHci.hal
#
-GEN := $(intermediates)/android/hardware/bluetooth/1.0/IBluetoothHci.java
+GEN := $(intermediates)/android/hardware/bluetooth/V1_0/IBluetoothHci.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBluetoothHci.hal
@@ -140,7 +140,7 @@
#
# Build IBluetoothHciCallbacks.hal
#
-GEN := $(intermediates)/android/hardware/bluetooth/1.0/IBluetoothHciCallbacks.java
+GEN := $(intermediates)/android/hardware/bluetooth/V1_0/IBluetoothHciCallbacks.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBluetoothHciCallbacks.hal
diff --git a/boot/1.0/Android.mk b/boot/1.0/Android.mk
index cd7b9e5..6fa5e4b 100644
--- a/boot/1.0/Android.mk
+++ b/boot/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (BoolResult)
#
-GEN := $(intermediates)/android/hardware/boot/1.0/BoolResult.java
+GEN := $(intermediates)/android/hardware/boot/V1_0/BoolResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (CommandResult)
#
-GEN := $(intermediates)/android/hardware/boot/1.0/CommandResult.java
+GEN := $(intermediates)/android/hardware/boot/V1_0/CommandResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build IBootControl.hal
#
-GEN := $(intermediates)/android/hardware/boot/1.0/IBootControl.java
+GEN := $(intermediates)/android/hardware/boot/V1_0/IBootControl.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBootControl.hal
@@ -94,7 +94,7 @@
#
# Build types.hal (BoolResult)
#
-GEN := $(intermediates)/android/hardware/boot/1.0/BoolResult.java
+GEN := $(intermediates)/android/hardware/boot/V1_0/BoolResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -113,7 +113,7 @@
#
# Build types.hal (CommandResult)
#
-GEN := $(intermediates)/android/hardware/boot/1.0/CommandResult.java
+GEN := $(intermediates)/android/hardware/boot/V1_0/CommandResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -132,7 +132,7 @@
#
# Build IBootControl.hal
#
-GEN := $(intermediates)/android/hardware/boot/1.0/IBootControl.java
+GEN := $(intermediates)/android/hardware/boot/V1_0/IBootControl.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBootControl.hal
diff --git a/boot/1.0/vts/Android.bp b/boot/1.0/vts/Android.bp
new file mode 100644
index 0000000..7aef46b
--- /dev/null
+++ b/boot/1.0/vts/Android.bp
@@ -0,0 +1,3 @@
+subdirs = [
+ "*"
+]
diff --git a/boot/1.0/vts/Android.mk b/boot/1.0/vts/Android.mk
index 8a56b27..9b30ef1 100644
--- a/boot/1.0/vts/Android.mk
+++ b/boot/1.0/vts/Android.mk
@@ -77,3 +77,5 @@
LOCAL_PROTOC_OPTIMIZE_TYPE := full
include $(BUILD_SHARED_LIBRARY)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/boot/1.0/vts/functional/Android.bp b/boot/1.0/vts/functional/Android.bp
new file mode 100644
index 0000000..714a18b
--- /dev/null
+++ b/boot/1.0/vts/functional/Android.bp
@@ -0,0 +1,40 @@
+//
+// 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: "boot_hidl_hal_test",
+ gtest: true,
+ srcs: ["boot_hidl_hal_test.cpp"],
+ shared_libs: [
+ "libbase",
+ "liblog",
+ "libcutils",
+ "libhidlbase",
+ "libhwbinder",
+ "libnativehelper",
+ "libutils",
+ "android.hardware.boot@1.0",
+ ],
+ static_libs: ["libgtest"],
+ cflags: [
+ "--coverage",
+ "-O0",
+ "-g",
+ ],
+ ldflags: [
+ "--coverage"
+ ]
+}
diff --git a/boot/1.0/vts/functional/Android.mk b/boot/1.0/vts/functional/Android.mk
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/boot/1.0/vts/functional/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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/boot_hidl_hal_test.cpp b/boot/1.0/vts/functional/boot_hidl_hal_test.cpp
new file mode 100644
index 0000000..7b002b9
--- /dev/null
+++ b/boot/1.0/vts/functional/boot_hidl_hal_test.cpp
@@ -0,0 +1,171 @@
+/*
+ * 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 "boot_hidl_hal_test"
+#include <android-base/logging.h>
+
+#include <cutils/properties.h>
+
+#include <android/hardware/boot/1.0/IBootControl.h>
+
+#include <gtest/gtest.h>
+
+using ::android::hardware::boot::V1_0::IBootControl;
+using ::android::hardware::boot::V1_0::CommandResult;
+using ::android::hardware::boot::V1_0::BoolResult;
+using ::android::hardware::boot::V1_0::Slot;
+using ::android::hardware::hidl_string;
+using ::android::hardware::Return;
+using ::android::sp;
+
+// The main test class for the Boot HIDL HAL.
+class BootHidlTest : public ::testing::Test {
+ public:
+ virtual void SetUp() override {
+ // TODO(b/33385836) Delete copied code
+ bool getStub = false;
+ char getsubProperty[PROPERTY_VALUE_MAX];
+ if (property_get("vts.hidl.get_stub", getsubProperty, "") > 0) {
+ if (!strcmp(getsubProperty, "true") || !strcmp(getsubProperty, "True") ||
+ !strcmp(getsubProperty, "1")) {
+ getStub = true;
+ }
+ }
+ boot = IBootControl::getService("bootctrl", getStub);
+ ASSERT_NE(boot, nullptr);
+ ASSERT_EQ(!getStub, boot->isRemote());
+ }
+
+ virtual void TearDown() override {}
+
+ sp<IBootControl> boot;
+};
+
+auto generate_callback(CommandResult *dest) {
+ return [=](CommandResult cr) { *dest = cr; };
+}
+
+// Sanity check Boot::getNumberSlots().
+TEST_F(BootHidlTest, GetNumberSlots) {
+ uint32_t slots = boot->getNumberSlots();
+ EXPECT_LE((uint32_t)2, slots);
+}
+
+// Sanity check Boot::getCurrentSlot().
+TEST_F(BootHidlTest, GetCurrentSlot) {
+ Slot curSlot = boot->getCurrentSlot();
+ uint32_t slots = boot->getNumberSlots();
+ EXPECT_LT(curSlot, slots);
+}
+
+// Sanity check Boot::markBootSuccessful().
+TEST_F(BootHidlTest, MarkBootSuccessful) {
+ CommandResult cr;
+ Return<void> result = boot->markBootSuccessful(generate_callback(&cr));
+ ASSERT_TRUE(result.getStatus().isOk());
+ if (cr.success) {
+ Slot curSlot = boot->getCurrentSlot();
+ BoolResult ret = boot->isSlotMarkedSuccessful(curSlot);
+ EXPECT_EQ(BoolResult::TRUE, ret);
+ }
+}
+
+// Sanity check Boot::setActiveBootSlot() on good and bad inputs.
+TEST_F(BootHidlTest, SetActiveBootSlot) {
+ for (Slot s = 0; s < 2; s++) {
+ CommandResult cr;
+ Return<void> result = boot->setActiveBootSlot(s, generate_callback(&cr));
+ EXPECT_TRUE(result.getStatus().isOk());
+ }
+ {
+ CommandResult cr;
+ uint32_t slots = boot->getNumberSlots();
+ Return<void> result =
+ boot->setActiveBootSlot(slots, generate_callback(&cr));
+ ASSERT_TRUE(result.getStatus().isOk());
+ EXPECT_EQ(false, cr.success);
+ }
+}
+
+// Sanity check Boot::setSlotAsUnbootable() on good and bad inputs.
+TEST_F(BootHidlTest, SetSlotAsUnbootable) {
+ {
+ CommandResult cr;
+ Slot curSlot = boot->getCurrentSlot();
+ Slot otherSlot = curSlot ? 0 : 1;
+ Return<void> result =
+ boot->setSlotAsUnbootable(otherSlot, generate_callback(&cr));
+ EXPECT_TRUE(result.getStatus().isOk());
+ if (cr.success) {
+ EXPECT_EQ(BoolResult::FALSE, boot->isSlotBootable(otherSlot));
+ boot->setActiveBootSlot(otherSlot, generate_callback(&cr));
+ EXPECT_TRUE(cr.success);
+ }
+ }
+ {
+ CommandResult cr;
+ uint32_t slots = boot->getNumberSlots();
+ Return<void> result =
+ boot->setSlotAsUnbootable(slots, generate_callback(&cr));
+ EXPECT_TRUE(result.getStatus().isOk());
+ EXPECT_EQ(false, cr.success);
+ }
+}
+
+// Sanity check Boot::isSlotBootable() on good and bad inputs.
+TEST_F(BootHidlTest, IsSlotBootable) {
+ for (Slot s = 0; s < 2; s++) {
+ EXPECT_NE(BoolResult::INVALID_SLOT, boot->isSlotBootable(s));
+ }
+ uint32_t slots = boot->getNumberSlots();
+ EXPECT_EQ(BoolResult::INVALID_SLOT, boot->isSlotBootable(slots));
+}
+
+// Sanity check Boot::isSlotMarkedSuccessful() on good and bad inputs.
+TEST_F(BootHidlTest, IsSlotMarkedSuccessful) {
+ for (Slot s = 0; s < 2; s++) {
+ EXPECT_NE(BoolResult::INVALID_SLOT, boot->isSlotMarkedSuccessful(s));
+ }
+ uint32_t slots = boot->getNumberSlots();
+ EXPECT_EQ(BoolResult::INVALID_SLOT, boot->isSlotMarkedSuccessful(slots));
+}
+
+// Sanity check Boot::getSuffix() on good and bad inputs.
+TEST_F(BootHidlTest, GetSuffix) {
+ const char *suffixPtr;
+ auto cb = [&](hidl_string suffix) { suffixPtr = suffix.c_str(); };
+ for (Slot i = 0; i < 2; i++) {
+ CommandResult cr;
+ Return<void> result = boot->getSuffix(i, cb);
+ EXPECT_TRUE(result.getStatus().isOk());
+ char correctSuffix[3];
+ snprintf(correctSuffix, sizeof(correctSuffix), "_%c", 'a' + i);
+ ASSERT_EQ(0, strcmp(suffixPtr, correctSuffix));
+ }
+ {
+ char emptySuffix[] = "";
+ Return<void> result = boot->getSuffix(boot->getNumberSlots(), cb);
+ EXPECT_TRUE(result.getStatus().isOk());
+ ASSERT_EQ(0, strcmp(emptySuffix, suffixPtr));
+ }
+}
+
+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/boot/1.0/vts/functional/vts/Android.mk b/boot/1.0/vts/functional/vts/Android.mk
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/boot/1.0/vts/functional/vts/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/boot/1.0/vts/functional/vts/testcases/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/boot/1.0/vts/functional/vts/testcases/hal/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/boot/1.0/vts/functional/vts/testcases/hal/boot/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..844b93b
--- /dev/null
+++ b/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target/Android.mk
@@ -0,0 +1,25 @@
+#
+# 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
new file mode 100644
index 0000000..6c7809c
--- /dev/null
+++ b/boot/1.0/vts/functional/vts/testcases/hal/boot/hidl/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?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="binary-test-type" value="gtest" />
+ <option name="test-timeout" value="1m" />
+ </test>
+</configuration>
diff --git a/boot/Android.bp b/boot/Android.bp
index bbb3e4b..67af5bb 100644
--- a/boot/Android.bp
+++ b/boot/Android.bp
@@ -1,4 +1,6 @@
// This is an autogenerated file, do not edit.
subdirs = [
"1.0",
+ "1.0/vts",
+ "1.0/vts/functional",
]
diff --git a/boot/Android.mk b/boot/Android.mk
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/boot/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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/camera/common/1.0/Android.mk b/camera/common/1.0/Android.mk
index ea84b70..2e68dc0 100644
--- a/camera/common/1.0/Android.mk
+++ b/camera/common/1.0/Android.mk
@@ -15,7 +15,7 @@
#
# Build types.hal (CameraDeviceStatus)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/CameraDeviceStatus.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/CameraDeviceStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -34,7 +34,7 @@
#
# Build types.hal (CameraMetadataType)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/CameraMetadataType.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/CameraMetadataType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -53,7 +53,7 @@
#
# Build types.hal (CameraResourceCost)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/CameraResourceCost.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/CameraResourceCost.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -72,7 +72,7 @@
#
# Build types.hal (Status)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/Status.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/Status.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -91,7 +91,7 @@
#
# Build types.hal (TagBoundaryId)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/TagBoundaryId.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/TagBoundaryId.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -110,7 +110,7 @@
#
# Build types.hal (TorchMode)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/TorchMode.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/TorchMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -129,7 +129,7 @@
#
# Build types.hal (TorchModeStatus)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/TorchModeStatus.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/TorchModeStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -148,7 +148,7 @@
#
# Build types.hal (VendorTag)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/VendorTag.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/VendorTag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -167,7 +167,7 @@
#
# Build types.hal (VendorTagSection)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/VendorTagSection.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/VendorTagSection.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -198,7 +198,7 @@
#
# Build types.hal (CameraDeviceStatus)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/CameraDeviceStatus.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/CameraDeviceStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -217,7 +217,7 @@
#
# Build types.hal (CameraMetadataType)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/CameraMetadataType.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/CameraMetadataType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -236,7 +236,7 @@
#
# Build types.hal (CameraResourceCost)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/CameraResourceCost.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/CameraResourceCost.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -255,7 +255,7 @@
#
# Build types.hal (Status)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/Status.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/Status.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -274,7 +274,7 @@
#
# Build types.hal (TagBoundaryId)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/TagBoundaryId.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/TagBoundaryId.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -293,7 +293,7 @@
#
# Build types.hal (TorchMode)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/TorchMode.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/TorchMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -312,7 +312,7 @@
#
# Build types.hal (TorchModeStatus)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/TorchModeStatus.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/TorchModeStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -331,7 +331,7 @@
#
# Build types.hal (VendorTag)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/VendorTag.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/VendorTag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -350,7 +350,7 @@
#
# Build types.hal (VendorTagSection)
#
-GEN := $(intermediates)/android/hardware/camera/common/1.0/VendorTagSection.java
+GEN := $(intermediates)/android/hardware/camera/common/V1_0/VendorTagSection.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
diff --git a/camera/metadata/3.2/Android.mk b/camera/metadata/3.2/Android.mk
index b9b1c93..083fb6b 100644
--- a/camera/metadata/3.2/Android.mk
+++ b/camera/metadata/3.2/Android.mk
@@ -15,7 +15,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidBlackLevelLock)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidBlackLevelLock.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidBlackLevelLock.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -34,7 +34,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidColorCorrectionAberrationMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidColorCorrectionAberrationMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidColorCorrectionAberrationMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -53,7 +53,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidColorCorrectionMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidColorCorrectionMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidColorCorrectionMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -72,7 +72,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAeAntibandingMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAeAntibandingMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAeAntibandingMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -91,7 +91,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAeLock)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAeLock.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAeLock.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -110,7 +110,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAeLockAvailable)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAeLockAvailable.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAeLockAvailable.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -129,7 +129,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAeMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAeMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAeMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -148,7 +148,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAePrecaptureTrigger)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAePrecaptureTrigger.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAePrecaptureTrigger.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -167,7 +167,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAeState)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAeState.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAeState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -186,7 +186,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAfMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAfMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAfMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -205,7 +205,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAfState)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAfState.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAfState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -224,7 +224,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAfTrigger)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAfTrigger.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAfTrigger.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -243,7 +243,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAwbLock)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAwbLock.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAwbLock.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -262,7 +262,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAwbLockAvailable)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAwbLockAvailable.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAwbLockAvailable.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -281,7 +281,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAwbMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAwbMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAwbMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -300,7 +300,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAwbState)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAwbState.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAwbState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -319,7 +319,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlCaptureIntent)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlCaptureIntent.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlCaptureIntent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -338,7 +338,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlEffectMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlEffectMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlEffectMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -357,7 +357,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -376,7 +376,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlSceneMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlSceneMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlSceneMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -395,7 +395,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlVideoStabilizationMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlVideoStabilizationMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlVideoStabilizationMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -414,7 +414,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidDemosaicMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidDemosaicMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidDemosaicMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -433,7 +433,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidDepthAvailableDepthStreamConfigurations)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidDepthAvailableDepthStreamConfigurations.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidDepthAvailableDepthStreamConfigurations.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -452,7 +452,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidDepthDepthIsExclusive)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidDepthDepthIsExclusive.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidDepthDepthIsExclusive.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -471,7 +471,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidEdgeMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidEdgeMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidEdgeMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -490,7 +490,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidFlashInfoAvailable)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidFlashInfoAvailable.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidFlashInfoAvailable.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -509,7 +509,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidFlashMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidFlashMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidFlashMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -528,7 +528,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidFlashState)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidFlashState.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidFlashState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -547,7 +547,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidHotPixelMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidHotPixelMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidHotPixelMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -566,7 +566,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidInfoSupportedHardwareLevel)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidInfoSupportedHardwareLevel.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidInfoSupportedHardwareLevel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -585,7 +585,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLedAvailableLeds)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLedAvailableLeds.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLedAvailableLeds.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -604,7 +604,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLedTransmit)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLedTransmit.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLedTransmit.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -623,7 +623,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLensFacing)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLensFacing.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLensFacing.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -642,7 +642,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLensInfoFocusDistanceCalibration)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLensInfoFocusDistanceCalibration.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLensInfoFocusDistanceCalibration.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -661,7 +661,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLensOpticalStabilizationMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLensOpticalStabilizationMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLensOpticalStabilizationMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -680,7 +680,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLensState)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLensState.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLensState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -699,7 +699,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidNoiseReductionMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidNoiseReductionMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidNoiseReductionMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -718,7 +718,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidQuirksPartialResult)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidQuirksPartialResult.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidQuirksPartialResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -737,7 +737,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidRequestAvailableCapabilities)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidRequestAvailableCapabilities.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidRequestAvailableCapabilities.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -756,7 +756,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidRequestMetadataMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidRequestMetadataMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidRequestMetadataMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -775,7 +775,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidRequestType)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidRequestType.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidRequestType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -794,7 +794,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidScalerAvailableFormats)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidScalerAvailableFormats.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidScalerAvailableFormats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -813,7 +813,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidScalerAvailableStreamConfigurations)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidScalerAvailableStreamConfigurations.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidScalerAvailableStreamConfigurations.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -832,7 +832,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidScalerCroppingType)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidScalerCroppingType.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidScalerCroppingType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -851,7 +851,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSensorInfoColorFilterArrangement)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSensorInfoColorFilterArrangement.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSensorInfoColorFilterArrangement.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -870,7 +870,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSensorInfoLensShadingApplied)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSensorInfoLensShadingApplied.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSensorInfoLensShadingApplied.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -889,7 +889,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSensorInfoTimestampSource)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSensorInfoTimestampSource.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSensorInfoTimestampSource.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -908,7 +908,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSensorReferenceIlluminant1)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSensorReferenceIlluminant1.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSensorReferenceIlluminant1.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -927,7 +927,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSensorTestPatternMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSensorTestPatternMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSensorTestPatternMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -946,7 +946,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidShadingMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidShadingMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidShadingMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -965,7 +965,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsFaceDetectMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsFaceDetectMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsFaceDetectMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -984,7 +984,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsHistogramMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsHistogramMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsHistogramMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1003,7 +1003,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsHotPixelMapMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsHotPixelMapMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsHotPixelMapMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1022,7 +1022,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsLensShadingMapMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsLensShadingMapMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsLensShadingMapMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1041,7 +1041,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsSceneFlicker)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsSceneFlicker.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsSceneFlicker.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1060,7 +1060,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsSharpnessMapMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsSharpnessMapMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsSharpnessMapMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1079,7 +1079,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSyncFrameNumber)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSyncFrameNumber.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSyncFrameNumber.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1098,7 +1098,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSyncMaxLatency)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSyncMaxLatency.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSyncMaxLatency.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1117,7 +1117,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidTonemapMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidTonemapMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidTonemapMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1136,7 +1136,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidTonemapPresetCurve)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidTonemapPresetCurve.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidTonemapPresetCurve.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1155,7 +1155,7 @@
#
# Build types.hal (CameraMetadataSection)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataSection.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataSection.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1174,7 +1174,7 @@
#
# Build types.hal (CameraMetadataSectionStart)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataSectionStart.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataSectionStart.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1193,7 +1193,7 @@
#
# Build types.hal (CameraMetadataTag)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataTag.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataTag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1224,7 +1224,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidBlackLevelLock)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidBlackLevelLock.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidBlackLevelLock.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1243,7 +1243,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidColorCorrectionAberrationMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidColorCorrectionAberrationMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidColorCorrectionAberrationMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1262,7 +1262,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidColorCorrectionMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidColorCorrectionMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidColorCorrectionMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1281,7 +1281,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAeAntibandingMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAeAntibandingMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAeAntibandingMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1300,7 +1300,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAeLock)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAeLock.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAeLock.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1319,7 +1319,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAeLockAvailable)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAeLockAvailable.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAeLockAvailable.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1338,7 +1338,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAeMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAeMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAeMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1357,7 +1357,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAePrecaptureTrigger)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAePrecaptureTrigger.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAePrecaptureTrigger.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1376,7 +1376,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAeState)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAeState.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAeState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1395,7 +1395,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAfMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAfMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAfMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1414,7 +1414,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAfState)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAfState.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAfState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1433,7 +1433,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAfTrigger)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAfTrigger.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAfTrigger.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1452,7 +1452,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAwbLock)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAwbLock.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAwbLock.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1471,7 +1471,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAwbLockAvailable)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAwbLockAvailable.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAwbLockAvailable.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1490,7 +1490,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAwbMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAwbMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAwbMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1509,7 +1509,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlAwbState)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlAwbState.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlAwbState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1528,7 +1528,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlCaptureIntent)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlCaptureIntent.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlCaptureIntent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1547,7 +1547,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlEffectMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlEffectMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlEffectMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1566,7 +1566,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1585,7 +1585,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlSceneMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlSceneMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlSceneMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1604,7 +1604,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidControlVideoStabilizationMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidControlVideoStabilizationMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlVideoStabilizationMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1623,7 +1623,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidDemosaicMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidDemosaicMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidDemosaicMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1642,7 +1642,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidDepthAvailableDepthStreamConfigurations)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidDepthAvailableDepthStreamConfigurations.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidDepthAvailableDepthStreamConfigurations.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1661,7 +1661,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidDepthDepthIsExclusive)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidDepthDepthIsExclusive.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidDepthDepthIsExclusive.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1680,7 +1680,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidEdgeMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidEdgeMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidEdgeMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1699,7 +1699,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidFlashInfoAvailable)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidFlashInfoAvailable.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidFlashInfoAvailable.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1718,7 +1718,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidFlashMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidFlashMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidFlashMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1737,7 +1737,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidFlashState)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidFlashState.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidFlashState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1756,7 +1756,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidHotPixelMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidHotPixelMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidHotPixelMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1775,7 +1775,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidInfoSupportedHardwareLevel)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidInfoSupportedHardwareLevel.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidInfoSupportedHardwareLevel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1794,7 +1794,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLedAvailableLeds)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLedAvailableLeds.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLedAvailableLeds.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1813,7 +1813,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLedTransmit)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLedTransmit.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLedTransmit.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1832,7 +1832,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLensFacing)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLensFacing.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLensFacing.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1851,7 +1851,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLensInfoFocusDistanceCalibration)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLensInfoFocusDistanceCalibration.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLensInfoFocusDistanceCalibration.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1870,7 +1870,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLensOpticalStabilizationMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLensOpticalStabilizationMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLensOpticalStabilizationMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1889,7 +1889,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidLensState)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidLensState.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidLensState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1908,7 +1908,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidNoiseReductionMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidNoiseReductionMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidNoiseReductionMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1927,7 +1927,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidQuirksPartialResult)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidQuirksPartialResult.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidQuirksPartialResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1946,7 +1946,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidRequestAvailableCapabilities)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidRequestAvailableCapabilities.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidRequestAvailableCapabilities.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1965,7 +1965,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidRequestMetadataMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidRequestMetadataMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidRequestMetadataMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1984,7 +1984,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidRequestType)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidRequestType.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidRequestType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2003,7 +2003,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidScalerAvailableFormats)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidScalerAvailableFormats.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidScalerAvailableFormats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2022,7 +2022,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidScalerAvailableStreamConfigurations)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidScalerAvailableStreamConfigurations.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidScalerAvailableStreamConfigurations.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2041,7 +2041,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidScalerCroppingType)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidScalerCroppingType.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidScalerCroppingType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2060,7 +2060,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSensorInfoColorFilterArrangement)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSensorInfoColorFilterArrangement.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSensorInfoColorFilterArrangement.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2079,7 +2079,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSensorInfoLensShadingApplied)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSensorInfoLensShadingApplied.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSensorInfoLensShadingApplied.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2098,7 +2098,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSensorInfoTimestampSource)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSensorInfoTimestampSource.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSensorInfoTimestampSource.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2117,7 +2117,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSensorReferenceIlluminant1)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSensorReferenceIlluminant1.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSensorReferenceIlluminant1.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2136,7 +2136,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSensorTestPatternMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSensorTestPatternMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSensorTestPatternMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2155,7 +2155,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidShadingMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidShadingMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidShadingMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2174,7 +2174,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsFaceDetectMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsFaceDetectMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsFaceDetectMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2193,7 +2193,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsHistogramMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsHistogramMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsHistogramMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2212,7 +2212,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsHotPixelMapMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsHotPixelMapMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsHotPixelMapMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2231,7 +2231,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsLensShadingMapMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsLensShadingMapMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsLensShadingMapMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2250,7 +2250,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsSceneFlicker)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsSceneFlicker.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsSceneFlicker.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2269,7 +2269,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidStatisticsSharpnessMapMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidStatisticsSharpnessMapMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidStatisticsSharpnessMapMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2288,7 +2288,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSyncFrameNumber)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSyncFrameNumber.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSyncFrameNumber.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2307,7 +2307,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidSyncMaxLatency)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidSyncMaxLatency.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidSyncMaxLatency.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2326,7 +2326,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidTonemapMode)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidTonemapMode.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidTonemapMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2345,7 +2345,7 @@
#
# Build types.hal (CameraMetadataEnumAndroidTonemapPresetCurve)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataEnumAndroidTonemapPresetCurve.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidTonemapPresetCurve.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2364,7 +2364,7 @@
#
# Build types.hal (CameraMetadataSection)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataSection.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataSection.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2383,7 +2383,7 @@
#
# Build types.hal (CameraMetadataSectionStart)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataSectionStart.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataSectionStart.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2402,7 +2402,7 @@
#
# Build types.hal (CameraMetadataTag)
#
-GEN := $(intermediates)/android/hardware/camera/metadata/3.2/CameraMetadataTag.java
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataTag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
diff --git a/contexthub/1.0/Android.mk b/contexthub/1.0/Android.mk
index e8493f5..1286e66 100644
--- a/contexthub/1.0/Android.mk
+++ b/contexthub/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (AsyncEventType)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/AsyncEventType.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/AsyncEventType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (ContextHub)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/ContextHub.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/ContextHub.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (ContextHubMsg)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/ContextHubMsg.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/ContextHubMsg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build types.hal (HubAppInfo)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/HubAppInfo.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/HubAppInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -95,7 +95,7 @@
#
# Build types.hal (HubMemoryFlag)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/HubMemoryFlag.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/HubMemoryFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -114,7 +114,7 @@
#
# Build types.hal (HubMemoryType)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/HubMemoryType.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/HubMemoryType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -133,7 +133,7 @@
#
# Build types.hal (MemRange)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/MemRange.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/MemRange.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -152,7 +152,7 @@
#
# Build types.hal (NanoAppBinary)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/NanoAppBinary.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/NanoAppBinary.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -171,7 +171,7 @@
#
# Build types.hal (NanoAppFlags)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/NanoAppFlags.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/NanoAppFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -190,7 +190,7 @@
#
# Build types.hal (PhysicalSensor)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/PhysicalSensor.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/PhysicalSensor.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -209,7 +209,7 @@
#
# Build types.hal (Result)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/Result.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/Result.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -228,7 +228,7 @@
#
# Build types.hal (SensorType)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/SensorType.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/SensorType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -247,7 +247,7 @@
#
# Build types.hal (TransactionResult)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/TransactionResult.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/TransactionResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -266,7 +266,7 @@
#
# Build IContexthub.hal
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/IContexthub.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/IContexthub.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IContexthub.hal
@@ -289,7 +289,7 @@
#
# Build IContexthubCallback.hal
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/IContexthubCallback.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/IContexthubCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IContexthubCallback.hal
@@ -326,7 +326,7 @@
#
# Build types.hal (AsyncEventType)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/AsyncEventType.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/AsyncEventType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -345,7 +345,7 @@
#
# Build types.hal (ContextHub)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/ContextHub.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/ContextHub.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -364,7 +364,7 @@
#
# Build types.hal (ContextHubMsg)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/ContextHubMsg.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/ContextHubMsg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -383,7 +383,7 @@
#
# Build types.hal (HubAppInfo)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/HubAppInfo.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/HubAppInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -402,7 +402,7 @@
#
# Build types.hal (HubMemoryFlag)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/HubMemoryFlag.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/HubMemoryFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -421,7 +421,7 @@
#
# Build types.hal (HubMemoryType)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/HubMemoryType.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/HubMemoryType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -440,7 +440,7 @@
#
# Build types.hal (MemRange)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/MemRange.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/MemRange.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -459,7 +459,7 @@
#
# Build types.hal (NanoAppBinary)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/NanoAppBinary.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/NanoAppBinary.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -478,7 +478,7 @@
#
# Build types.hal (NanoAppFlags)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/NanoAppFlags.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/NanoAppFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -497,7 +497,7 @@
#
# Build types.hal (PhysicalSensor)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/PhysicalSensor.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/PhysicalSensor.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -516,7 +516,7 @@
#
# Build types.hal (Result)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/Result.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/Result.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -535,7 +535,7 @@
#
# Build types.hal (SensorType)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/SensorType.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/SensorType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -554,7 +554,7 @@
#
# Build types.hal (TransactionResult)
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/TransactionResult.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/TransactionResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -573,7 +573,7 @@
#
# Build IContexthub.hal
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/IContexthub.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/IContexthub.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IContexthub.hal
@@ -596,7 +596,7 @@
#
# Build IContexthubCallback.hal
#
-GEN := $(intermediates)/android/hardware/contexthub/1.0/IContexthubCallback.java
+GEN := $(intermediates)/android/hardware/contexthub/V1_0/IContexthubCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IContexthubCallback.hal
diff --git a/drm/Android.bp b/drm/Android.bp
new file mode 100644
index 0000000..412e162
--- /dev/null
+++ b/drm/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+ "crypto/1.0",
+ "drm/1.0",
+]
diff --git a/drm/crypto/1.0/Android.bp b/drm/crypto/1.0/Android.bp
new file mode 100644
index 0000000..dd6805d
--- /dev/null
+++ b/drm/crypto/1.0/Android.bp
@@ -0,0 +1,64 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+genrule {
+ name: "android.hardware.drm.crypto@1.0_genc++",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm.crypto@1.0",
+ srcs: [
+ "types.hal",
+ "ICryptoFactory.hal",
+ "ICryptoPlugin.hal",
+ ],
+ out: [
+ "android/hardware/drm/crypto/1.0/types.cpp",
+ "android/hardware/drm/crypto/1.0/CryptoFactoryAll.cpp",
+ "android/hardware/drm/crypto/1.0/CryptoPluginAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.drm.crypto@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.drm.crypto@1.0",
+ srcs: [
+ "types.hal",
+ "ICryptoFactory.hal",
+ "ICryptoPlugin.hal",
+ ],
+ out: [
+ "android/hardware/drm/crypto/1.0/types.h",
+ "android/hardware/drm/crypto/1.0/ICryptoFactory.h",
+ "android/hardware/drm/crypto/1.0/IHwCryptoFactory.h",
+ "android/hardware/drm/crypto/1.0/BnCryptoFactory.h",
+ "android/hardware/drm/crypto/1.0/BpCryptoFactory.h",
+ "android/hardware/drm/crypto/1.0/BsCryptoFactory.h",
+ "android/hardware/drm/crypto/1.0/ICryptoPlugin.h",
+ "android/hardware/drm/crypto/1.0/IHwCryptoPlugin.h",
+ "android/hardware/drm/crypto/1.0/BnCryptoPlugin.h",
+ "android/hardware/drm/crypto/1.0/BpCryptoPlugin.h",
+ "android/hardware/drm/crypto/1.0/BsCryptoPlugin.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.drm.crypto@1.0",
+ generated_sources: ["android.hardware.drm.crypto@1.0_genc++"],
+ generated_headers: ["android.hardware.drm.crypto@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.drm.crypto@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",
+ ],
+}
diff --git a/drm/crypto/1.0/ICryptoFactory.hal b/drm/crypto/1.0/ICryptoFactory.hal
new file mode 100644
index 0000000..58f86df
--- /dev/null
+++ b/drm/crypto/1.0/ICryptoFactory.hal
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+package android.hardware.drm.crypto@1.0;
+
+import ICryptoPlugin;
+
+/**
+ * Ref: frameworks/native/include/media/hardware/CryptoAPI.h:CryptoFactory
+ *
+ * ICryptoFactory is the main entry point for interacting with a vendor's
+ * crypto HAL to create crypto plugins. Crypto plugins create crypto sessions
+ * which are used by a codec to decrypt protected video content.
+ */
+interface ICryptoFactory {
+ /*
+ * Determine if a crypto scheme is supported by this HAL
+ *
+ * @param uuid identifies the crypto scheme in question
+ * @return isSupported must be true only if the scheme is supported
+ */
+ isCryptoSchemeSupported(uint8_t[16] uuid) generates(bool isSupported);
+
+ /*
+ * Create a crypto plugin for the specified uuid and scheme-specific
+ * initialization data.
+ *
+ * @param uuid uniquely identifies the drm scheme. See
+ * http://dashif.org/identifiers/protection for uuid assignments
+ * @param initData scheme-specific init data.
+ * @return the status of the call
+ * @return the created ICryptoPlugin
+ */
+ createPlugin(uint8_t[16] uuid, vec<uint8_t> initData)
+ generates (Status status, ICryptoPlugin cryptoPlugin);
+
+ /*
+ * Destroy a previously created crypto plugin
+ *
+ * @return status the status of the call
+ */
+ destroyPlugin() generates(Status status);
+};
diff --git a/drm/crypto/1.0/ICryptoPlugin.hal b/drm/crypto/1.0/ICryptoPlugin.hal
new file mode 100644
index 0000000..1255fdb
--- /dev/null
+++ b/drm/crypto/1.0/ICryptoPlugin.hal
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ */
+package android.hardware.drm.crypto@1.0;
+
+import android.hardware.drm.crypto@1.0::types;
+
+/**
+ * Ref: frameworks/native/include/media/hardware/CryptoAPI.h:CryptoPlugin
+ *
+ * ICryptoPlugin is the HAL for vendor-provided crypto plugins.
+ * It allows crypto sessions to be opened and operated on, to
+ * load crypto keys for a codec to decrypt protected video content.
+ */
+interface ICryptoPlugin {
+ /*
+ * Check if the specified mime-type requires a secure decoder
+ * component.
+ *
+ * @param mime The content mime-type
+ * @return secureRequired must be true only if a secure decoder is required
+ * for the specified mime-type
+ */
+ requiresSecureDecoderComponent(string mime)
+ generates(bool secureRequired);
+
+ /*
+ * Notify a plugin of the currently configured resolution
+ *
+ * @param width - the display resolutions's width
+ * @param height - the display resolution's height
+ */
+ notifyResolution(uint32_t width, uint32_t height);
+
+ /*
+ * Associate a mediadrm session with this crypto session
+ *
+ * @param sessionId the MediaDrm session ID to associate with this crypto
+ * session
+ * @return the status of the call
+ */
+ setMediaDrmSession(vec<uint8_t> sessionId) generates(Status status);
+
+ /*
+ * Decrypt an array of subsamples from the source memory buffer to the
+ * destination memory buffer.
+ *
+ * @param secure a flag to indicate if a secure decoder is being used. This
+ * enables the plugin to configure buffer modes to work consistently with
+ * a secure decoder.
+ * @param the keyId for the key that should be used to do the
+ * the decryption. The keyId refers to a key in the associated
+ * MediaDrm instance.
+ * @param iv the initialization vector to use
+ * @param mode the crypto mode to use
+ * @param pattern the crypto pattern to use
+ * @param subSamples a vector of subsamples indicating the number
+ * of clear and encrypted bytes to process. This allows the decrypt
+ * call to operate on a range of subsamples in a single call
+ * @param source the input buffer for the decryption
+ * @param destination the output buffer for the decryption
+ * @return status the status of the call
+ * @return bytesWritten the number of bytes output from the decryption
+ * @return detailedError if the error is a vendor-specific error, the
+ * vendor's crypto HAL may provide a detailed error string to help
+ * describe the error.
+ */
+ decrypt(bool secure, uint8_t[16] keyId, uint8_t[16] iv, Mode mode,
+ Pattern pattern, vec<SubSample> subSamples,
+ memory source, DestinationBuffer destination)
+ generates(Status status, uint32_t bytesWritten, string detailedError);
+};
diff --git a/drm/crypto/1.0/types.hal b/drm/crypto/1.0/types.hal
new file mode 100644
index 0000000..7e853b8
--- /dev/null
+++ b/drm/crypto/1.0/types.hal
@@ -0,0 +1,135 @@
+/*
+ * 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.
+ */
+
+package android.hardware.drm.crypto@1.0;
+
+enum Status : uint32_t {
+ /**
+ * The Crypto Plugin must return ERROR_DRM_NO_LICENSE if decryption is
+ * attempted when the license keys have not been loaded into the crypto
+ * session.
+ */
+ ERROR_DRM_NO_LICENSE,
+
+ /**
+ * The Crypto Plugin must return ERROR_DRM_LICENSE_EXPIRED if decryption
+ * is attempted when the license keys have expired and are no longer usable.
+ */
+ ERROR_DRM_LICENSE_EXPIRED,
+
+ /**
+ * The Crypto Plugin must return ERROR_DRM_RESOURCE_BUSY when a required
+ * crypto resource cannot be allocated while attempting decryption.
+ */
+ ERROR_DRM_RESOURCE_BUSY,
+
+ /**
+ * The Crypto Plugin must return ERROR_DRM_INSUFFICIENT_OUTPUT_PROTECTION
+ * when the output protection level enabled on the device is not
+ * sufficient to meet the requirements in the license policy. HDCP is an
+ * example of a form of output protection.
+ */
+ ERROR_DRM_INSUFFICIENT_OUTPUT_PROTECTION,
+
+ /**
+ * The Crypto Plugin must return ERROR_DRM_SESSION_NOT_OPENED when
+ * decryption is attempted on a session that is not opened.
+ */
+ ERROR_DRM_SESSION_NOT_OPENED,
+
+ /**
+ * The Crypto Plugin must return ERROR_DRM_CANNOT_HANDLE when an operation
+ * is attempted that cannot be supported by the crypto system of the device.
+ */
+ ERROR_DRM_CANNOT_HANDLE,
+
+ /**
+ * The Crypto Plugin must return ERROR_UNKNOWN_CRYPTO_EXCEPTION in any
+ * fatal condition that is not covered by the other error messages.
+ */
+ ERROR_UNKNOWN_CRYPTO_EXCEPTION,
+};
+
+/**
+ * Enumerate the supported crypto modes
+ */
+enum Mode : uint32_t {
+ UNENCRYPTED = 0, // Samples are unencrypted
+ AES_CTR = 1, // Samples are encrypted with AES CTR mode
+ AES_CBC_CTS = 2, // Samples are encrypted with AES CBC CTS mode
+ AES_CBC = 3, // Samples are encrypted with AES CBC mode
+};
+
+/**
+ * A subsample consists of some number of bytes of clear (unencrypted)
+ * data followed by a number of bytes of encrypted data.
+ */
+struct SubSample {
+ uint32_t numBytesOfClearData;
+ uint32_t numBytesOfEncryptedData;
+};
+
+/**
+ * A crypto Pattern is a repeating sequence of encrypted and clear blocks
+ * occuring within the bytes indicated by mNumBytesOfEncryptedDatad bytes
+ * of a subsample. Patterns are used to reduce the CPU overhead of
+ * decrypting samples. As an example, HLS uses 1:9 patterns where every
+ * 10th block is encrypted.
+ */
+struct Pattern {
+ /**
+ * The number of blocks to be encrypted in the pattern. If zero,
+ * pattern encryption is inoperative.
+ */
+ uint32_t encryptBlocks;
+
+ /**
+ * The number of blocks to be skipped (left clear) in the pattern. If
+ * zero, pattern encryption is inoperative.
+ */
+ uint32_t skipBlocks;
+};
+
+enum BufferType : uint32_t {
+ SHARED_MEMORY = 0,
+ NATIVE_HANDLE = 1,
+};
+
+
+/**
+ * A decrypt destination buffer can be either normal user-space shared
+ * memory for the non-secure decrypt case, or it can be a secure buffer
+ * which is referenced by a native-handle. The native handle is allocated
+ * by the vendor's buffer allocator.
+ */
+struct DestinationBuffer {
+ /**
+ * The type of the buffer
+ */
+ BufferType type;
+
+ /**
+ * If type == SHARED_MEMORY, the decrypted data must be written
+ * to user-space non-secure shared memory.
+ */
+ memory nonsecureMemory;
+
+ /**
+ * If type == NATIVE_HANDLE, the decrypted data must be written
+ * to secure memory referenced by the vendor's buffer allocator.
+ */
+ handle secureMemory;
+};
diff --git a/drm/drm/1.0/Android.bp b/drm/drm/1.0/Android.bp
new file mode 100644
index 0000000..8f198c7
--- /dev/null
+++ b/drm/drm/1.0/Android.bp
@@ -0,0 +1,72 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+genrule {
+ name: "android.hardware.drm.drm@1.0_genc++",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm.drm@1.0",
+ srcs: [
+ "types.hal",
+ "IDrmFactory.hal",
+ "IDrmPlugin.hal",
+ "IDrmPluginListener.hal",
+ ],
+ out: [
+ "android/hardware/drm/drm/1.0/types.cpp",
+ "android/hardware/drm/drm/1.0/DrmFactoryAll.cpp",
+ "android/hardware/drm/drm/1.0/DrmPluginAll.cpp",
+ "android/hardware/drm/drm/1.0/DrmPluginListenerAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.drm.drm@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.drm.drm@1.0",
+ srcs: [
+ "types.hal",
+ "IDrmFactory.hal",
+ "IDrmPlugin.hal",
+ "IDrmPluginListener.hal",
+ ],
+ out: [
+ "android/hardware/drm/drm/1.0/types.h",
+ "android/hardware/drm/drm/1.0/IDrmFactory.h",
+ "android/hardware/drm/drm/1.0/IHwDrmFactory.h",
+ "android/hardware/drm/drm/1.0/BnDrmFactory.h",
+ "android/hardware/drm/drm/1.0/BpDrmFactory.h",
+ "android/hardware/drm/drm/1.0/BsDrmFactory.h",
+ "android/hardware/drm/drm/1.0/IDrmPlugin.h",
+ "android/hardware/drm/drm/1.0/IHwDrmPlugin.h",
+ "android/hardware/drm/drm/1.0/BnDrmPlugin.h",
+ "android/hardware/drm/drm/1.0/BpDrmPlugin.h",
+ "android/hardware/drm/drm/1.0/BsDrmPlugin.h",
+ "android/hardware/drm/drm/1.0/IDrmPluginListener.h",
+ "android/hardware/drm/drm/1.0/IHwDrmPluginListener.h",
+ "android/hardware/drm/drm/1.0/BnDrmPluginListener.h",
+ "android/hardware/drm/drm/1.0/BpDrmPluginListener.h",
+ "android/hardware/drm/drm/1.0/BsDrmPluginListener.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.drm.drm@1.0",
+ generated_sources: ["android.hardware.drm.drm@1.0_genc++"],
+ generated_headers: ["android.hardware.drm.drm@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.drm.drm@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",
+ ],
+}
diff --git a/drm/drm/1.0/Android.mk b/drm/drm/1.0/Android.mk
new file mode 100644
index 0000000..35d3463
--- /dev/null
+++ b/drm/drm/1.0/Android.mk
@@ -0,0 +1,476 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.drm.drm@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 (EventType)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/EventType.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.drm.drm@1.0::types.EventType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (KeyRequestType)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/KeyRequestType.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.drm.drm@1.0::types.KeyRequestType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (KeyStatus)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/KeyStatus.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.drm.drm@1.0::types.KeyStatus
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (KeyStatusType)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/KeyStatusType.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.drm.drm@1.0::types.KeyStatusType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (KeyType)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/KeyType.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.drm.drm@1.0::types.KeyType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (KeyValue)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/KeyValue.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.drm.drm@1.0::types.KeyValue
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (SecureStop)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/SecureStop.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.drm.drm@1.0::types.SecureStop
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (Status)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/Status.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.drm.drm@1.0::types.Status
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IDrmFactory.hal
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/IDrmFactory.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IDrmFactory.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/IDrmPlugin.hal
+$(GEN): $(LOCAL_PATH)/IDrmPlugin.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.drm.drm@1.0::IDrmFactory
+
+$(GEN): $(LOCAL_PATH)/IDrmFactory.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IDrmPlugin.hal
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/IDrmPlugin.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IDrmPlugin.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/IDrmPluginListener.hal
+$(GEN): $(LOCAL_PATH)/IDrmPluginListener.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.drm.drm@1.0::IDrmPlugin
+
+$(GEN): $(LOCAL_PATH)/IDrmPlugin.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IDrmPluginListener.hal
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/IDrmPluginListener.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IDrmPluginListener.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.drm.drm@1.0::IDrmPluginListener
+
+$(GEN): $(LOCAL_PATH)/IDrmPluginListener.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_JAVA_LIBRARY)
+
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.drm.drm@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 (EventType)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/EventType.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.drm.drm@1.0::types.EventType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (KeyRequestType)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/KeyRequestType.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.drm.drm@1.0::types.KeyRequestType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (KeyStatus)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/KeyStatus.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.drm.drm@1.0::types.KeyStatus
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (KeyStatusType)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/KeyStatusType.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.drm.drm@1.0::types.KeyStatusType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (KeyType)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/KeyType.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.drm.drm@1.0::types.KeyType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (KeyValue)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/KeyValue.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.drm.drm@1.0::types.KeyValue
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (SecureStop)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/SecureStop.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.drm.drm@1.0::types.SecureStop
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (Status)
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/Status.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.drm.drm@1.0::types.Status
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IDrmFactory.hal
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/IDrmFactory.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IDrmFactory.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/IDrmPlugin.hal
+$(GEN): $(LOCAL_PATH)/IDrmPlugin.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.drm.drm@1.0::IDrmFactory
+
+$(GEN): $(LOCAL_PATH)/IDrmFactory.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IDrmPlugin.hal
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/IDrmPlugin.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IDrmPlugin.hal
+$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/IDrmPluginListener.hal
+$(GEN): $(LOCAL_PATH)/IDrmPluginListener.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.drm.drm@1.0::IDrmPlugin
+
+$(GEN): $(LOCAL_PATH)/IDrmPlugin.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IDrmPluginListener.hal
+#
+GEN := $(intermediates)/android/hardware/drm/drm/V1_0/IDrmPluginListener.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IDrmPluginListener.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.drm.drm@1.0::IDrmPluginListener
+
+$(GEN): $(LOCAL_PATH)/IDrmPluginListener.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/drm/drm/1.0/IDrmFactory.hal b/drm/drm/1.0/IDrmFactory.hal
new file mode 100644
index 0000000..a4ee0f1
--- /dev/null
+++ b/drm/drm/1.0/IDrmFactory.hal
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ */
+package android.hardware.drm.drm@1.0;
+
+import IDrmPlugin;
+
+/**
+ * Ref: frameworks/native/include/media/drm/DrmAPI.h:DrmFactory
+ *
+ * IDrmFactory is the main entry point for interacting with a vendor's
+ * drm HAL to create drm plugin instances. A drm plugin instance
+ * creates drm sessions which are used to obtain keys for a crypto
+ * session so it can decrypt* protected video content.
+ */
+
+interface IDrmFactory {
+ /*
+ * Determine if a crypto scheme is supported by this HAL
+ *
+ * @param uuid identifies the crypto scheme in question
+ * @return isSupported must be true only if the scheme is supported
+ */
+ isCryptoSchemeSupported(uint8_t[16] uuid) generates(bool isSupported);
+
+ /*
+ * Create a drm plugin instance for the specified uuid and scheme-specific
+ * initialization data.
+ *
+ * @param uuid uniquely identifies the drm scheme. See
+ * http://dashif.org/identifiers/protection for uuid assignments
+ * @param initData scheme-specific init data.
+ * @return the status of the call
+ * @return the created IDrmPlugin
+ */
+ createPlugin(uint8_t[16] uuid, vec<uint8_t> initData)
+ generates (Status status, IDrmPlugin drmPlugin);
+
+ /*
+ * Destroy a previously created drm plugin
+ * @return status the status of the call
+ */
+ destroyPlugin() generates(Status status);
+};
diff --git a/drm/drm/1.0/IDrmPlugin.hal b/drm/drm/1.0/IDrmPlugin.hal
new file mode 100644
index 0000000..7f396d9
--- /dev/null
+++ b/drm/drm/1.0/IDrmPlugin.hal
@@ -0,0 +1,444 @@
+/**
+ * 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.
+ */
+package android.hardware.drm.drm@1.0;
+
+import IDrmPluginListener;
+
+/**
+ * Ref: frameworks/native/include/media/drm/DrmAPI.h:DrmPlugin
+ *
+ * IDrmPlugin is used to interact with a specific drm plugin that was
+ * created by IDrm::createPlugin. A drm plugin provides methods for
+ * obtaining drm keys that may be used by a codec to decrypt protected
+ * video content.
+ */
+interface IDrmPlugin {
+
+ /**
+ * Open a new session with the DrmPlugin object. A session ID is returned
+ * in the sessionId parameter.
+ * @return status the status of the call
+ */
+ openSession() generates (SessionId sessionId, Status status);
+
+ /**
+ * Close a session on the DrmPlugin object
+ *
+ * @param sessionId the session id the call applies to
+ * @return status the status of the call
+ */
+ closeSession(SessionId sessionId) generates (Status status);
+
+ /**
+ * A key request/response exchange occurs between the app and a License
+ * Server to obtain the keys required to decrypt the content.
+ * getKeyRequest() is used to obtain an opaque key request blob that is
+ * delivered to the license server.
+ *
+ * @param scope may be a sessionId or a keySetId, depending on the
+ * specified keyType. When the keyType is OFFLINE or STREAMING,
+ * scope should be set to the sessionId the keys will be provided to.
+ * When the keyType is RELEASE, scope should be set to the keySetId
+ * of the keys being released.
+ * @param initData container-specific data, its meaning is interpreted
+ * based on the mime type provided in the mimeType parameter. It could
+ * contain, for example, the content ID, key ID or other data obtained
+ * from the content metadata that is required to generate the key request.
+ * initData may be empty when keyType is RELEASE.
+ * @param mimeType identifies the mime type of the content
+ * @param keyType specifies if the keys are to be used for streaming,
+ * offline or a release
+ * @param optionalParameters included in the key request message to
+ * allow a client application to provide additional message parameters to
+ * the server.
+ *
+ * @return request if successful, the opaque key request blob is returned
+ * @return requestType indicates type information about the returned
+ * request. The type may be one of INITIAL, RENEWAL or RELEASE. An
+ * INITIAL request is the first key request for a license. RENEWAL is a
+ * subsequent key request used to refresh the keys in a license. RELEASE
+ * corresponds to a keyType of RELEASE, which indicates keys are being
+ * released.
+ * @return status the status of the call
+ * @return defaultUrl the URL that the request may be sent to, if
+ * provided by the drm HAL. The app may choose to override this
+ * URL.
+ */
+ getKeyRequest(vec<uint8_t> scope, vec<uint8_t> initData,
+ string mimeType, KeyType keyType, KeyedVector optionalParameters)
+ generates (vec<uint8_t> request, KeyRequestType requestType,
+ Status status, string defaultUrl);
+
+ /**
+ * After a key response is received by the app, it is provided to the
+ * Drm plugin using provideKeyResponse.
+ *
+ * @param scope may be a sessionId or a keySetId depending on the type
+ * of the response. Scope should be set to the sessionId when the response
+ * is for either streaming or offline key requests. Scope should be set to
+ * the keySetId when the response is for a release request.
+ * @param response the response from the key server that is being
+ * provided to the drm HAL.
+ *
+ * @return keySetId when the response is for an offline key request, a
+ * keySetId is returned in the keySetId vector parameter that can be used
+ * to later restore the keys to a new session with the method restoreKeys.
+ * When the response is for a streaming or release request, no keySetId is
+ * returned.
+ *
+ * @return status the status of the call
+ */
+ provideKeyResponse(vec<uint8_t> scope,
+ vec<uint8_t> response) generates (vec<uint8_t> keySetId, Status status);
+
+ /**
+ * Remove the current keys from a session
+ *
+ * @param sessionId the session id the call applies to
+ * @return status the status of the call
+ */
+ removeKeys(SessionId sessionId) generates (Status status);
+
+ /**
+ * Restore persisted offline keys into a new session
+ *
+ * @param sessionId the session id the call applies to
+ * @param keySetId identifies the keys to load, obtained from a prior
+ * call to provideKeyResponse().
+ * @return status the status of the call
+ */
+ restoreKeys(SessionId sessionId,
+ vec<uint8_t> keySetId) generates (Status status);
+
+ /*
+ * Request an informative description of the license for the session. The
+ * status is in the form of {name, value} pairs. Since DRM license policies
+ * vary by vendor, the specific status field names are determined by each
+ * DRM vendor. Refer to your DRM provider documentation for definitions of
+ * the field names for a particular drm scheme.
+ *
+ * @param sessionId the session id the call applies to
+ * @return infoList a list of name value pairs describing the license
+ * @return status the status of the call
+ */
+ queryKeyStatus(SessionId sessionId)
+ generates (KeyedVector infoList, Status status);
+
+ /**
+ * A provision request/response exchange occurs between the app and a
+ * provisioning server to retrieve a device certificate. getProvisionRequest
+ * is used to obtain an opaque key request blob that is delivered to the
+ * provisioning server.
+ *
+ * @param certificateType the type of certificate requested, e.g. "X.509"
+ * @param certificateAuthority identifies the certificate authority. A
+ * certificate authority (CA) is an entity which issues digital certificates
+ * for use by other parties. It is an example of a trusted third party
+ * @return if successful the opaque certirequest blob is returned
+ * @return status the status of the call
+ */
+ getProvisionRequest(string certificateType, string certificateAuthority)
+ generates (vec<uint8_t> request, string defaultUrl, Status status);
+
+ /**
+ * After a provision response is received by the app from a provisioning
+ * server, it can be provided to the Drm HAL using provideProvisionResponse.
+ *
+ * @param response the opaque provisioning response received by the
+ * app from a provisioning server
+ * @return certificate the public certificate resulting from the provisioning
+ * operation, if any. An empty vector indicates that no certificate was
+ * returned.
+ * @return wrappedKey an opaque object containing encrypted private key
+ * material to be used by signRSA when computing an RSA signature on a
+ * message, see the signRSA method.
+ * @return status the status of the call
+ */
+ provideProvisionResponse(vec<uint8_t> response)
+ generates (vec<uint8_t> certificate, vec<uint8_t> wrappedKey,
+ Status status);
+
+ /**
+ * SecureStop is a way of enforcing the concurrent stream limit per
+ * subscriber. It can securely monitor the lifetime of sessions across
+ * device reboots by periodically persisting the session lifetime
+ * status in secure storage.
+ *
+ * A signed version of the sessionID is written to persistent storage on the
+ * device when each MediaCrypto object is created and periodically during
+ * playback. The sessionID is signed by the device private key to prevent
+ * tampering.
+ *
+ * When playback is completed the session is destroyed, and the secure
+ * stops are queried by the app. The app then delivers the secure stop
+ * message to a server which verifies the signature to confirm that the
+ * session and its keys have been removed from the device. The persisted
+ * record on the device is removed after receiving and verifying the
+ * signed response from the server.
+ */
+
+ /**
+ * Get all secure stops on the device
+ *
+ * @return secureStops a list of the secure stop opaque objects
+ * @return status the status of the call
+ */
+ getSecureStops() generates
+ (vec<SecureStop> secureStops, Status status);
+
+ /**
+ * Get all secure stops by secure stop ID
+ *
+ * @param secureStopId the ID of the secure stop to return. The
+ * secure stop ID is delivered by the key server as part of the key
+ * response and must also be known by the app.
+ *
+ * @return the secure stop opaque object
+ * @return status the status of the call
+ */
+ getSecureStop(SecureStopId secureStopId)
+ generates (SecureStop secureStop, Status status);
+
+ /**
+ * Release all secure stops on the device
+ *
+ * @return status the status of the call
+ */
+ releaseAllSecureStops() generates (Status status);
+
+ /**
+ * Release a secure stop by secure stop ID
+ *
+ * @param secureStopId the ID of the secure stop to release. The
+ * secure stop ID is delivered by the key server as part of the key
+ * response and must also be known by the app.
+ *
+ * @return status the status of the call
+ */
+ releaseSecureStop(vec<uint8_t> secureStopId) generates (Status status);
+
+ /**
+ * A drm scheme can have properties that are settable and readable
+ * by an app. There are a few forms of property access methods,
+ * depending on the data type of the property.
+ *
+ * Property values defined by the public API are:
+ * "vendor" [string] identifies the maker of the drm scheme
+ * "version" [string] identifies the version of the drm scheme
+ * "description" [string] describes the drm scheme
+ * 'deviceUniqueId' [byte array] The device unique identifier is
+ * established during device provisioning and provides a means of
+ * uniquely identifying each device.
+ *
+ * Since drm scheme properties may vary, additional field names may be
+ * defined by each DRM vendor. Refer to your DRM provider documentation
+ * for definitions of its additional field names.
+ */
+
+ /**
+ * Read a string property value given the property name.
+ *
+ * @param propertyName the name of the property
+ * @return the property value string
+ * @return status the status of the call
+ */
+ getPropertyString(string propertyName)
+ generates (string value, Status status);
+
+ /**
+ * Read a byte array property value given the property name.
+ *
+ * @param propertyName the name of the property
+ * @return the property value byte array
+ * @return status the status of the call
+ */
+ getPropertyByteArray(string propertyName)
+ generates (vec<uint8_t> value, Status status);
+
+ /**
+ * Write a property string value given the property name
+ *
+ * @param propertyName the name of the property
+ * @param value the value to write
+ * @return status the status of the call
+ */
+ setPropertyString(string propertyName, string value )
+ generates (Status status);
+
+ /**
+ * Write a property byte array value given the property name
+ *
+ * @param propertyName the name of the property
+ * @param value the value to write
+ * @return status the status of the call
+ */
+ setPropertyByteArray(string propertyName, vec<uint8_t> value )
+ generates (Status status);
+
+ /**
+ * The following methods implement operations on a CryptoSession to support
+ * encrypt, decrypt, sign verify operations on operator-provided
+ * session keys.
+ */
+
+ /**
+ * Set the cipher algorithm to be used for the specified session.
+ *
+ * @param sessionId the session id the call applies to
+ * @param algorithm the algorithm to use. The string conforms to JCA
+ * Standard Names for Cipher Transforms and is case insensitive. An
+ * example algorithm is "AES/CBC/PKCS5Padding".
+ * @return status the status of the call
+ */
+ setCipherAlgorithm(SessionId sessionId, string algorithm)
+ generates (Status status);
+
+ /**
+ * Set the MAC algorithm to be used for computing hashes in a session.
+ *
+ * @param sessionId the session id the call applies to
+ * @param algorithm the algorithm to use. The string conforms to JCA
+ * Standard Names for Mac Algorithms and is case insensitive. An example MAC
+ * algorithm string is "HmacSHA256".
+ * @return status the status of the call
+ */
+ setMacAlgorithm(SessionId sessionId, string algorithm)
+ generates (Status status);
+
+ /**
+ * Encrypt the provided input buffer with the cipher algorithm specified by
+ * setCipherAlgorithm and the key selected by keyId, and return the
+ * encrypted data.
+ *
+ * @param sessionId the session id the call applies to
+ * @param keyId the ID of the key to use for encryption
+ * @param input the input data to encrypt
+ * @param iv the initialization vector to use for encryption
+ * @return output the decrypted data
+ * @return status the status of the call
+ */
+ encrypt(SessionId sessionId, vec<uint8_t> keyId, vec<uint8_t> input,
+ vec<uint8_t> iv)
+ generates (vec<uint8_t> output, Status status);
+
+ /**
+ * Decrypt the provided input buffer with the cipher algorithm
+ * specified by setCipherAlgorithm and the key selected by keyId,
+ * and return the decrypted data.
+ *
+ * @param sessionId the session id the call applies to
+ * @param keyId the ID of the key to use for decryption
+ * @param input the input data to decrypt
+ * @param iv the initialization vector to use for decryption
+ * @return output the decrypted data
+ * @return status the status of the call
+ */
+ decrypt(SessionId sessionId, vec<uint8_t> keyId, vec<uint8_t> input,
+ vec<uint8_t> iv) generates (vec<uint8_t> output, Status status);
+
+ /**
+ * Compute a signature over the provided message using the mac algorithm
+ * specified by setMacAlgorithm and the key selected by keyId and return
+ * the signature.
+ *
+ * @param sessionId the session id the call applies to
+ * @param keyId the ID of the key to use for decryption
+ * @param message the message to compute a signature over
+ * @return the computed signature
+ * @return status the status of the call
+ */
+ sign(SessionId sessionId, vec<uint8_t> keyId, vec<uint8_t> message)
+ generates (vec<uint8_t> signature, Status status);
+
+ /**
+ * Compute a hash of the provided message using the mac algorithm specified
+ * by setMacAlgorithm and the key selected by keyId, and compare with the
+ * expected result.
+ *
+ * @param sessionId the session id the call applies to
+ * @param keyId the ID of the key to use for decryption
+ * @param message the message to compute a hash of
+ * @return status the status of the call
+ */
+ verify(SessionId sessionId, vec<uint8_t> keyId, vec<uint8_t> message,
+ vec<uint8_t> signature) generates (bool match, Status status);
+
+ /**
+ * Compute an RSA signature on the provided message using the specified
+ * algorithm.
+ *
+ * @param algorithm the signing algorithm, such as "RSASSA-PSS-SHA1"
+ * or "PKCS1-BlockType1"
+ * @param sessionId the session id the call applies to
+ * @param wrappedKey the private key returned during provisioning
+ * as returned by provideProvisionResponse.
+ * @return signature the RSA signature computed over the message
+ * @return status the status of the call
+ */
+ signRSA(SessionId sessionId, string algorithm, vec<uint8_t> message,
+ vec<uint8_t> wrappedkey)
+ generates (vec<uint8_t> signature, Status status);
+
+ /**
+ * Set a listener for a drm session. This allows the drm HAL to
+ * make asynchronous calls back to the client of IDrm.
+ *
+ * @param listener instance of IDrmPluginListener to receive the events
+ */
+ setListener(IDrmPluginListener listener);
+
+ /**
+ * HAL implementations call the following methods to deliver events to the
+ * listener
+ */
+
+ /**
+ * Legacy event sending method, it sends events of various types using a
+ * single overloaded set of parameters. This form is deprecated.
+ *
+ * @param eventType the type of the event
+ * @param sessionId identifies the session the event originated from
+ * @param data event-specific data blob
+ */
+ oneway sendEvent(EventType eventType, SessionId sessionId,
+ vec<uint8_t> data);
+
+ /**
+ * Send a license expiration update to the listener. The expiration
+ * update indicates how long the current keys are valid before they
+ * need to be renewed.
+ *
+ * @param sessionId identifies the session the event originated from
+ * @param expiryTimeInMS the time when the keys need to be renewed.
+ * The time is in milliseconds, relative to the Unix epoch. A time of 0
+ * indicates that the keys never expire.
+ */
+ oneway sendExpirationUpdate(SessionId sessionId, int64_t expiryTimeInMS);
+
+ /**
+ * Send a keys change event to the listener. The keys change event
+ * indicates the status of each key in the session. `Keys can be
+ * indicated as being usable, expired, outputnotallowed or statuspending.
+ *
+ * @param sessionId identifies the session the event originated from
+ * @param keyStatusList indicates the status for each key ID in the
+ * session.
+ * @param hasNewUsableKey indicates if the event includes at least one
+ * key that has become usable.
+ */
+ oneway sendKeysChange(SessionId sessionId, vec<KeyStatus> keyStatusList,
+ bool hasNewUsableKey);
+};
diff --git a/drm/drm/1.0/IDrmPluginListener.hal b/drm/drm/1.0/IDrmPluginListener.hal
new file mode 100644
index 0000000..fe2d998
--- /dev/null
+++ b/drm/drm/1.0/IDrmPluginListener.hal
@@ -0,0 +1,66 @@
+/*
+ * 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.
+ */
+
+package android.hardware.drm.drm@1.0;
+
+import android.hardware.drm.drm@1.0::types;
+
+/**
+ * Ref: frameworks/native/include/media/drm/DrmAPI.h:DrmPluginListener
+ */
+
+/**
+ * IDrmPluginListener is a listener interface for Drm events sent from an
+ * IDrmPlugin instance.
+ */
+interface IDrmPluginListener {
+
+ /**
+ * Legacy event sending method, it sends events of various types using a
+ * single overloaded set of parameters. This form is deprecated.
+ *
+ * @param eventType the type of the event
+ * @param sessionId identifies the session the event originated from
+ * @param data event-specific data blob
+ */
+ sendEvent(EventType eventType, SessionId sessionId, vec<uint8_t> data);
+
+ /**
+ * Send a license expiration update to the listener. The expiration
+ * update indicates how long the current keys are valid before they
+ * need to be renewed.
+ *
+ * @param sessionId identifies the session the event originated from
+ * @param expiryTimeInMS the time when the keys need to be renewed.
+ * The time is in milliseconds, relative to the Unix epoch. A time
+ * of 0 indicates that the keys never expire.
+ */
+ sendExpirationUpdate(SessionId sessionId, int64_t expiryTimeInMS);
+
+ /**
+ * Send a keys change event to the listener. The keys change event
+ * indicates the status of each key in the session. Keys can be
+ * indicated as being usable, expired, outputnotallowed or statuspending.
+ *
+ * @param sessionId identifies the session the event originated from
+ * @param keyStatusList indicates the status for each key ID in the
+ * session.
+ * @param hasNewUsableKey indicates if the event includes at least one
+ * key that has become usable.
+ */
+ sendKeysChange(SessionId sessionId, vec<KeyStatus> keyStatusList,
+ bool hasNewUsableKey);
+};
diff --git a/drm/drm/1.0/types.hal b/drm/drm/1.0/types.hal
new file mode 100644
index 0000000..05101c9
--- /dev/null
+++ b/drm/drm/1.0/types.hal
@@ -0,0 +1,228 @@
+/**
+ * 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.
+ */
+
+package android.hardware.drm.drm@1.0;
+
+enum Status : uint32_t {
+ /**
+ * The DRM plugin must return ERROR_DRM_NO_LICENSE, when decryption is
+ * attempted and no license keys have been provided.
+ */
+ ERROR_DRM_NO_LICENSE,
+
+ /**
+ * ERROR_DRM_LICENSE_EXPIRED must be returned when an attempt is made
+ * to use a license and the keys in that license have expired.
+ */
+ ERROR_DRM_LICENSE_EXPIRED,
+
+ /**
+ * The DRM plugin must return ERROR_DRM_SESSION_NOT_OPENED when an
+ * attempt is made to use a session that has not been opened.
+ */
+ ERROR_DRM_SESSION_NOT_OPENED,
+
+ /**
+ * The DRM plugin must return ERROR_DRM_CANNOT_HANDLE when an unsupported
+ * data format or operation is attempted.
+ */
+ ERROR_DRM_CANNOT_HANDLE,
+
+ /**
+ * ERROR_DRM_INVALID_STATE must be returned when the device is in a state
+ * where it is not able to perform decryption.
+ */
+ ERROR_DRM_INVALID_STATE,
+
+ /**
+ * The Drm plugin must return BAD_VALUE whenever an illegal parameter is
+ * passed to one of the interface functions.
+ */
+ BAD_VALUE,
+
+ /**
+ * The DRM plugin must return ERROR_DRM_NOT_PROVISIONED from getKeyRequest,
+ * openSession or provideKeyResponse when the device has not yet been
+ * provisioned.
+ */
+ ERROR_DRM_NOT_PROVISIONED,
+
+ /**
+ * ERROR_DRM_RESOURCE_BUSY must be returned when resources, such as drm
+ * sessions or secure buffers are not available to perform a requested
+ * operation because they are already in use.
+ */
+ ERROR_DRM_RESOURCE_BUSY,
+
+ /**
+ * The Drm Plugin must return ERROR_DRM_DEVICE_REVOKED from
+ * provideProvisionResponse and provideKeyResponse if the response indicates
+ * that the device has been revoked. Device revocation means that the device
+ * is no longer permitted to play content.
+ */
+ ERROR_DRM_DEVICE_REVOKED,
+
+ /**
+ * ERROR_DRM_UNKNOWN must be returned when a fatal failure occurs and no
+ * other defined error is appropriate.
+ */
+ ERROR_DRM_UNKNOWN,
+};
+
+
+/**
+ * EventType enumerates the events that can be delivered by sendEvent
+ */
+enum EventType : uint32_t {
+ /**
+ * This event type indicates that the app needs to request a certificate
+ * from the provisioning server. The request message data is obtained using
+ * getProvisionRequest().
+ */
+ PROVISION_REQUIRED,
+
+ /**
+ * This event type indicates that the app needs to request keys from a
+ * license server. The request message data is obtained using getKeyRequest.
+ */
+ KEY_NEEDED,
+
+ /**
+ * This event type indicates that the licensed usage duration for keys in a
+ * session has expired. The keys are no longer valid.
+ */
+ KEY_EXPIRED,
+
+ /**
+ * This event may indicate some specific vendor-defined condition, see your
+ * DRM provider documentation for details.
+ */
+ VENDOR_DEFINED,
+
+ /**
+ * This event indicates that a session opened by the app has been reclaimed
+ * by the resource manager.
+ */
+ SESSION_RECLAIMED,
+};
+
+enum KeyType : uint32_t {
+ /**
+ * Drm keys can be for offline content or for online streaming.
+ * Offline keys are persisted on the device and may be used when the device
+ * is disconnected from the network.
+ */
+ OFFLINE,
+
+ /**
+ * Keys for streaming are not persisted and require the device to be
+ * connected to the network for periodic renewal.
+ */
+ STREAMING,
+
+ /**
+ * The Release type is used to request that offline keys be no longer
+ * restricted to offline use.
+ */
+ RELEASE,
+};
+
+/**
+ * Enumerate KeyRequestTypes to allow an app to determine the type of a key
+ * request returned from getKeyRequest.
+ */
+enum KeyRequestType : uint32_t {
+ /**
+ * Key request type is for an initial license request
+ */
+ INITIAL,
+
+ /**
+ * Key request type is for license renewal. Renewal requests are used
+ * to extend the validity period for streaming keys.
+ */
+ RENEWAL,
+
+ /**
+ * Key request type is a release. A key release causes offline keys
+ * to become available for streaming.
+ */
+ RELEASE,
+};
+
+/**
+ * Enumerate KeyStatusTypes which indicate the state of a key
+ */
+enum KeyStatusType : uint32_t {
+ /**
+ * The key is currently usable to decrypt media data.
+ */
+ USABLE,
+
+ /**
+ * The key is no longer usable to decrypt media data because its expiration
+ * time has passed.
+ */
+ EXPIRED,
+
+ /**
+ * The key is not currently usable to decrypt media data because its output
+ * requirements cannot currently be met.
+ */
+ OUTPUTNOTALLOWED,
+
+ /**
+ * The status of the key is not yet known and is being determined.
+ */
+ STATUSPENDING,
+
+ /**
+ * The key is not currently usable to decrypt media data because of an
+ * internal error in processing unrelated to input parameters.
+ */
+ INTERNALERROR,
+};
+
+typedef vec<uint8_t> SessionId;
+
+/**
+ * Used by sendKeysChange to report the usability status of each key to the
+ * app.
+ */
+struct KeyStatus
+{
+ vec<uint8_t> keyId;
+ KeyStatusType type;
+};
+
+/**
+ * Simulates a KeyedVector<String8, String8>
+ */
+struct KeyValue {
+ string key;
+ string value;
+};
+
+typedef vec<KeyValue> KeyedVector;
+
+/**
+ * Encapsulates a secure stop opaque object
+ */
+struct SecureStop {
+ vec<uint8_t> opaqueData;
+};
+
+typedef vec<uint8_t> SecureStopId;
diff --git a/evs/1.0/Android.bp b/evs/1.0/Android.bp
new file mode 100644
index 0000000..86e9c1c
--- /dev/null
+++ b/evs/1.0/Android.bp
@@ -0,0 +1,80 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+genrule {
+ name: "android.hardware.evs@1.0_genc++",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.evs@1.0",
+ srcs: [
+ "types.hal",
+ "IEvsCamera.hal",
+ "IEvsCameraStream.hal",
+ "IEvsDisplay.hal",
+ "IEvsEnumerator.hal",
+ ],
+ out: [
+ "android/hardware/evs/1.0/types.cpp",
+ "android/hardware/evs/1.0/EvsCameraAll.cpp",
+ "android/hardware/evs/1.0/EvsCameraStreamAll.cpp",
+ "android/hardware/evs/1.0/EvsDisplayAll.cpp",
+ "android/hardware/evs/1.0/EvsEnumeratorAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.evs@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.evs@1.0",
+ srcs: [
+ "types.hal",
+ "IEvsCamera.hal",
+ "IEvsCameraStream.hal",
+ "IEvsDisplay.hal",
+ "IEvsEnumerator.hal",
+ ],
+ out: [
+ "android/hardware/evs/1.0/types.h",
+ "android/hardware/evs/1.0/IEvsCamera.h",
+ "android/hardware/evs/1.0/IHwEvsCamera.h",
+ "android/hardware/evs/1.0/BnEvsCamera.h",
+ "android/hardware/evs/1.0/BpEvsCamera.h",
+ "android/hardware/evs/1.0/BsEvsCamera.h",
+ "android/hardware/evs/1.0/IEvsCameraStream.h",
+ "android/hardware/evs/1.0/IHwEvsCameraStream.h",
+ "android/hardware/evs/1.0/BnEvsCameraStream.h",
+ "android/hardware/evs/1.0/BpEvsCameraStream.h",
+ "android/hardware/evs/1.0/BsEvsCameraStream.h",
+ "android/hardware/evs/1.0/IEvsDisplay.h",
+ "android/hardware/evs/1.0/IHwEvsDisplay.h",
+ "android/hardware/evs/1.0/BnEvsDisplay.h",
+ "android/hardware/evs/1.0/BpEvsDisplay.h",
+ "android/hardware/evs/1.0/BsEvsDisplay.h",
+ "android/hardware/evs/1.0/IEvsEnumerator.h",
+ "android/hardware/evs/1.0/IHwEvsEnumerator.h",
+ "android/hardware/evs/1.0/BnEvsEnumerator.h",
+ "android/hardware/evs/1.0/BpEvsEnumerator.h",
+ "android/hardware/evs/1.0/BsEvsEnumerator.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.evs@1.0",
+ generated_sources: ["android.hardware.evs@1.0_genc++"],
+ generated_headers: ["android.hardware.evs@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.evs@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",
+ ],
+}
diff --git a/evs/1.0/IEvsCamera.hal b/evs/1.0/IEvsCamera.hal
new file mode 100644
index 0000000..a2fc565
--- /dev/null
+++ b/evs/1.0/IEvsCamera.hal
@@ -0,0 +1,99 @@
+/*
+ * 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.
+ */
+
+package android.hardware.evs@1.0;
+
+import types;
+import IEvsCameraStream;
+
+
+/**
+ * Represents a single camera and is the primary interface for capturing images.
+ */
+interface IEvsCamera {
+
+ /**
+ * Returns the ID of this camera.
+ *
+ * Returns the string id of this camera. This must be the same value as reported in
+ * the camera_id field of the CameraDesc structure by EvsEnumerator::getCamerList().
+ */
+ getId() generates (string cameraId);
+
+ /**
+ * Specifies the depth of the buffer chain the camera is asked to support.
+ *
+ * Up to this many frames may be held concurrently by the client of IEvsCamera.
+ * If this many frames have been delivered to the receiver without being returned
+ * by doneWithFrame, the stream must skip frames until a buffer is returned for reuse.
+ * It is legal for this call to come at any time, even while streams are already running,
+ * in which case buffers should be added or removed from the chain as appropriate.
+ * If no call is made to this entry point, the IEvsCamera must support at least one
+ * frame by default. More is acceptable.
+ * BUFFER_NOT_AVAILABLE is returned if the implementation cannot support the
+ * requested number of concurrent frames.
+ */
+ setMaxFramesInFlight(uint32_t bufferCount) generates (EvsResult result);
+
+ /**
+ * Request delivery of EVS camera frames from this camera.
+ *
+ * The IEvsCameraStream must begin receiving periodic calls with new image
+ * frames until stopVideoStream() is called.
+ */
+ startVideoStream(IEvsCameraStream receiver) generates (EvsResult result);
+
+ /**
+ * Return a frame that was delivered by to the IEvsCameraStream.
+ *
+ * When done consuming a frame delivered to the IEvsCameraStream
+ * interface, it must be returned to the IEvsCamera for reuse.
+ * A small, finite number of buffers are available (possibly as small
+ * as one), and if the supply is exhausted, no further frames may be
+ * delivered until a buffer is returned.
+ */
+ doneWithFrame(uint32_t frameId, handle bufferHandle) generates (EvsResult result);
+
+ /**
+ * Stop the delivery of EVS camera frames.
+ *
+ * Because delivery is asynchronous, frames may continue to arrive for
+ * some time after this call returns. Each must be returned until the
+ * closure of the stream is signaled to the IEvsCameraStream.
+ * This function cannot fail and is simply ignored if the stream isn't running.
+ */
+ stopVideoStream();
+
+ /**
+ * Request driver specific information from the HAL implementation.
+ *
+ * The values allowed for opaqueIdentifier are driver specific,
+ * but no value passed in may crash the driver. The driver should
+ * return 0 for any unrecognized opaqueIdentifier.
+ */
+ getExtendedInfo(uint32_t opaqueIdentifier) generates (int32_t value);
+
+ /**
+ * Send a driver specific value to the HAL implementation.
+ *
+ * This extension is provided to facilitate car specific
+ * extensions, but no HAL implementation may require this call
+ * in order to function in a default state.
+ * INVALID_ARG is returned if the opaqueValue is not meaningful to
+ * the driver implementation.
+ */
+ setExtendedInfo(uint32_t opaqueIdentifier, int32_t opaqueValue) generates (EvsResult result);
+};
diff --git a/evs/1.0/IEvsCameraStream.hal b/evs/1.0/IEvsCameraStream.hal
new file mode 100644
index 0000000..ef5460f
--- /dev/null
+++ b/evs/1.0/IEvsCameraStream.hal
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+package android.hardware.evs@1.0;
+
+
+/**
+ * Implemented on client side to receive asynchronous video frame deliveries.
+ */
+interface IEvsCameraStream {
+
+ /**
+ * Receives calls from the HAL each time a video frame is ready for inspection.
+ * Buffer handles received by this method must be returned via calls to
+ * IEvsCamera::doneWithFrame(). When the video stream is stopped via a call
+ * to IEvsCamera::stopVideoStream(), this callback may continue to happen for
+ * some time as the pipeline drains. Each frame must still be returned.
+ * When the last frame in the stream has been delivered, a NULL bufferHandle
+ * must be delivered, signifying the end of the stream. No further frame
+ * deliveries may happen thereafter.
+ */
+ oneway deliverFrame(uint32_t frameId, handle bufferHandle);
+};
diff --git a/evs/1.0/IEvsDisplay.hal b/evs/1.0/IEvsDisplay.hal
new file mode 100644
index 0000000..a473872
--- /dev/null
+++ b/evs/1.0/IEvsDisplay.hal
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+
+package android.hardware.evs@1.0;
+
+import types;
+
+
+/**
+ * Represents a single camera and is the primary interface for capturing images.
+ */
+interface IEvsDisplay {
+
+ /**
+ * Returns basic information about the EVS display provided by the system.
+ *
+ * See the description of the DisplayDesc structure below for details.
+ */
+ getDisplayInfo() generates (DisplayDesc info);
+
+
+ /**
+ * Clients may set the display state to express their desired state.
+ *
+ * The HAL implementation must gracefully accept a request for any state while in
+ * any other state, although the response may be to defer or ignore the request. The display
+ * is defined to start in the NOT_VISIBLE state upon initialization. The client is
+ * then expected to request the VISIBLE_ON_NEXT_FRAME state, and then begin providing
+ * video. When the display is no longer required, the client is expected to request
+ * the NOT_VISIBLE state after passing the last video frame.
+ * Returns INVALID_ARG if the requested state is not a recognized value.
+ */
+ setDisplayState(DisplayState state) generates (EvsResult result);
+
+
+ /**
+ * This call requests the current state of the display
+ *
+ * The HAL implementation should report the actual current state, which might
+ * transiently differ from the most recently requested state. Note, however, that
+ * the logic responsible for changing display states should generally live above
+ * the device layer, making it undesirable for the HAL implementation to spontaneously
+ * change display states.
+ */
+ getDisplayState() generates (DisplayState state);
+
+
+ /**
+ * This call returns a handle to a frame buffer associated with the display.
+ *
+ * The returned buffer may be locked and written to by software and/or GL. This buffer
+ * must be returned via a call to returnTargetBufferForDisplay() even if the
+ * display is no longer visible.
+ */
+ getTargetBuffer() generates (handle bufferHandle);
+
+
+ /**
+ * This call tells the display that the buffer is ready for display.
+ *
+ * The buffer is no longer valid for use by the client after this call.
+ * There is no maximum time the caller may hold onto the buffer before making this
+ * call. The buffer may be returned at any time and in any DisplayState, but all
+ * buffers are expected to be returned before the IEvsDisplay interface is destroyed.
+ */
+ returnTargetBufferForDisplay(handle bufferHandle) generates (EvsResult result);
+};
diff --git a/evs/1.0/IEvsEnumerator.hal b/evs/1.0/IEvsEnumerator.hal
new file mode 100644
index 0000000..e3a1382
--- /dev/null
+++ b/evs/1.0/IEvsEnumerator.hal
@@ -0,0 +1,71 @@
+/*
+ * 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.
+ */
+
+package android.hardware.evs@1.0;
+
+import types;
+import IEvsCamera;
+import IEvsDisplay;
+
+
+/**
+ * Provides the mechanism for EVS camera discovery
+ */
+interface IEvsEnumerator {
+
+ /**
+ * Returns a list of all EVS cameras available to the system
+ */
+ getCameraList() generates (vec<CameraDesc> cameras);
+
+
+ /**
+ * Get the IEvsCamera associated with a cameraId from a CameraDesc
+ *
+ * Given a camera's unique cameraId from ca CameraDesc, returns
+ * the ICamera interface assocaited with the specified camera.
+ * When done using the camera, it must be returned by calling
+ * closeCamera on the ICamera interface.
+ */
+ openCamera(string cameraId) generates (IEvsCamera carCamera);
+
+ /**
+ * Return the specified IEvsCamera interface as no longer in use
+ *
+ * When the IEvsCamera object is no longer required, it must be released.
+ * NOTE: Video streaming must be cleanly stopped before making this call.
+ */
+ closeCamera(IEvsCamera carCamera);
+
+
+ /**
+ * Get exclusive access to IEvsDisplay for the system
+ *
+ * There can be at most one EVS display object for the system and this function
+ * requests access to it. If the EVS display is not available or is already in use,
+ * a null pointer is returned.
+ */
+ openDisplay() generates (IEvsDisplay display);
+
+ /**
+ * Return the specified IEvsDisplay interface as no longer in use
+ *
+ * When the IEvsDisplay object is no longer required, it must be released.
+ * NOTE: All buffer must have been returned to the display before making this call.
+ */
+ closeDisplay(IEvsDisplay display);
+};
+
diff --git a/evs/1.0/default/Android.bp b/evs/1.0/default/Android.bp
new file mode 100644
index 0000000..3bda250
--- /dev/null
+++ b/evs/1.0/default/Android.bp
@@ -0,0 +1,26 @@
+cc_binary {
+ name: "android.hardware.evs@1.0-service",
+ relative_install_path: "hw",
+ srcs: [
+ "service.cpp",
+ "EvsCamera.cpp",
+ "EvsEnumerator.cpp",
+ "EvsDisplay.cpp"
+ ],
+ init_rc: ["android.hardware.evs@1.0-service.rc"],
+
+ shared_libs: [
+ "android.hardware.evs@1.0",
+ "android.hardware.graphics.allocator@2.0",
+ "libui",
+ "libbase",
+ "libbinder",
+ "libcutils",
+ "libhardware",
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ ],
+}
diff --git a/evs/1.0/default/EvsCamera.cpp b/evs/1.0/default/EvsCamera.cpp
new file mode 100644
index 0000000..32d4ed7
--- /dev/null
+++ b/evs/1.0/default/EvsCamera.cpp
@@ -0,0 +1,305 @@
+/*
+ * 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 "android.hardware.evs@1.0-service"
+
+#include "EvsCamera.h"
+
+#include <ui/GraphicBufferAllocator.h>
+#include <ui/GraphicBufferMapper.h>
+
+
+namespace android {
+namespace hardware {
+namespace evs {
+namespace V1_0 {
+namespace implementation {
+
+
+// These are the special camera names for which we'll initialize custom test data
+const char EvsCamera::kCameraName_Backup[] = "backup";
+const char EvsCamera::kCameraName_RightTurn[] = "Right Turn";
+
+
+// TODO(b/31632518): Need to get notification when our client dies so we can close the camera.
+// As it stands, if the client dies suddently, the buffer may be stranded.
+// As possible work around would be to give the client a HIDL object to exclusively hold
+// and use it's destructor to perform some work in the server side.
+
+EvsCamera::EvsCamera(const char *id) {
+ ALOGD("EvsCamera instantiated");
+
+ mDescription.cameraId = id;
+ mFrameBusy = false;
+ mStreamState = STOPPED;
+
+ // Set up dummy data for testing
+ if (mDescription.cameraId == kCameraName_Backup) {
+ mDescription.hints = UsageHint::USAGE_HINT_REVERSE;
+ mDescription.vendorFlags = 0xFFFFFFFF; // Arbitrary value
+ mDescription.defaultHorResolution = 320; // 1/2 NTSC/VGA
+ mDescription.defaultVerResolution = 240; // 1/2 NTSC/VGA
+ }
+ else if (mDescription.cameraId == kCameraName_RightTurn) {
+ // Nothing but the name and the usage hint
+ mDescription.hints = UsageHint::USAGE_HINT_RIGHT_TURN;
+ }
+ else {
+ // Leave empty for a minimalist camera description without even a hint
+ }
+}
+
+EvsCamera::~EvsCamera() {
+ ALOGD("EvsCamera being destroyed");
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ // Make sure our output stream is cleaned up
+ // (It really should be already)
+ stopVideoStream();
+
+ // Drop the graphics buffer we've been using
+ if (mBuffer) {
+ // Drop the graphics buffer we've been using
+ GraphicBufferAllocator& alloc(GraphicBufferAllocator::get());
+ alloc.free(mBuffer);
+ }
+
+ ALOGD("EvsCamera destroyed");
+}
+
+
+// Methods from ::android::hardware::evs::V1_0::IEvsCamera follow.
+Return<void> EvsCamera::getId(getId_cb id_cb) {
+ ALOGD("getId");
+
+ id_cb(mDescription.cameraId);
+
+ return Void();
+}
+
+
+Return<EvsResult> EvsCamera::setMaxFramesInFlight(uint32_t bufferCount) {
+ ALOGD("setMaxFramesInFlight");
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ // TODO: Update our stored value
+
+ // TODO: Adjust our buffer count right now if we can. Otherwise, it'll adjust in doneWithFrame
+
+ // For now we support only one!
+ if (bufferCount != 1) {
+ return EvsResult::BUFFER_NOT_AVAILABLE;
+ }
+
+ return EvsResult::OK;
+}
+
+Return<EvsResult> EvsCamera::startVideoStream(const ::android::sp<IEvsCameraStream>& stream) {
+ ALOGD("startVideoStream");
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ // We only support a single stream at a time
+ if (mStreamState != STOPPED) {
+ ALOGE("ignoring startVideoStream call when a stream is already running.");
+ return EvsResult::STREAM_ALREADY_RUNNING;
+ }
+
+ // Record the user's callback for use when we have a frame ready
+ mStream = stream;
+
+ // Allocate a graphics buffer into which we'll put our test images
+ if (!mBuffer) {
+ mWidth = (mDescription.defaultHorResolution) ? mDescription.defaultHorResolution : 640;
+ mHeight = (mDescription.defaultVerResolution) ? mDescription.defaultVerResolution : 480;
+ // TODO: What about stride? Assume no padding for now...
+ mStride = 4* mWidth; // Special cased to assume 4 byte pixels with no padding for now
+
+ ALOGD("Allocating buffer for camera frame");
+ GraphicBufferAllocator &alloc(GraphicBufferAllocator::get());
+ status_t result = alloc.allocate(mWidth, mHeight,
+ HAL_PIXEL_FORMAT_RGBA_8888, 1, GRALLOC_USAGE_HW_TEXTURE,
+ &mBuffer, &mStride, 0, "EvsCamera");
+ if (result != NO_ERROR) {
+ ALOGE("Error %d allocating %d x %d graphics buffer", result, mWidth, mHeight);
+ return EvsResult::BUFFER_NOT_AVAILABLE;
+ }
+ if (!mBuffer) {
+ ALOGE("We didn't get a buffer handle back from the allocator");
+ return EvsResult::BUFFER_NOT_AVAILABLE;
+ }
+ }
+
+ // Start the frame generation thread
+ mStreamState = RUNNING;
+ mCaptureThread = std::thread([this](){GenerateFrames();});
+
+ return EvsResult::OK;
+}
+
+Return<EvsResult> EvsCamera::doneWithFrame(uint32_t frameId, const hidl_handle& bufferHandle) {
+ ALOGD("doneWithFrame");
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ if (!bufferHandle)
+ {
+ ALOGE("ignoring doneWithFrame called with invalid handle");
+ return EvsResult::INVALID_ARG;
+ }
+
+ // TODO: Track which frames we've delivered and validate this is one of them
+
+ // Mark the frame buffer as available for a new frame
+ mFrameBusy = false;
+
+ // TODO: If we currently have too many buffers, drop this one
+
+ return EvsResult::OK;
+}
+
+Return<void> EvsCamera::stopVideoStream() {
+ ALOGD("stopVideoStream");
+
+ bool waitForJoin = false;
+ // Lock scope
+ {
+ std::lock_guard <std::mutex> lock(mAccessLock);
+
+ if (mStreamState == RUNNING) {
+ // Tell the GenerateFrames loop we want it to stop
+ mStreamState = STOPPING;
+
+ // Note that we asked the thread to stop and should wait for it do so
+ waitForJoin = true;
+ }
+ }
+
+ if (waitForJoin) {
+ // Block outside the mutex until the "stop" flag has been acknowledged
+ // NOTE: We won't send any more frames, but the client might still get one already in flight
+ ALOGD("Waiting for stream thread to end...");
+ mCaptureThread.join();
+
+ // Lock scope
+ {
+ std::lock_guard <std::mutex> lock(mAccessLock);
+ mStreamState = STOPPED;
+ }
+ }
+
+ return Void();
+}
+
+Return<int32_t> EvsCamera::getExtendedInfo(uint32_t opaqueIdentifier) {
+ ALOGD("getExtendedInfo");
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ // For any single digit value, return the index itself as a test value
+ if (opaqueIdentifier <= 9) {
+ return opaqueIdentifier;
+ }
+
+ // Return zero by default as required by the spec
+ return 0;
+}
+
+Return<EvsResult> EvsCamera::setExtendedInfo(uint32_t /*opaqueIdentifier*/, int32_t /*opaqueValue*/) {
+ ALOGD("setExtendedInfo");
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ // We don't store any device specific information in this implementation
+ return EvsResult::INVALID_ARG;
+}
+
+
+void EvsCamera::GenerateFrames() {
+ ALOGD("Frame generate loop started");
+
+ uint32_t frameNumber;
+
+ while (true) {
+ bool timeForFrame = false;
+ // Lock scope
+ {
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ // Tick the frame counter -- rollover is tolerated
+ frameNumber = mFrameId++;
+
+ if (mStreamState != RUNNING) {
+ // Break out of our main thread loop
+ break;
+ }
+
+ if (mFrameBusy) {
+ // Can't do anything right now -- skip this frame
+ ALOGW("Skipped a frame because client hasn't returned a buffer\n");
+ }
+ else {
+ // We're going to make the frame busy
+ mFrameBusy = true;
+ timeForFrame = true;
+ }
+ }
+
+ if (timeForFrame) {
+ // Lock our output buffer for writing
+ uint32_t *pixels = nullptr;
+ GraphicBufferMapper &mapper = GraphicBufferMapper::get();
+ mapper.lock(mBuffer,
+ GRALLOC_USAGE_SW_WRITE_OFTEN,
+ android::Rect(mWidth, mHeight),
+ (void **) &pixels);
+
+ // If we failed to lock the pixel buffer, we're about to crash, but log it first
+ if (!pixels) {
+ ALOGE("Camera failed to gain access to image buffer for writing");
+ }
+
+ // Fill in the test pixels
+ for (unsigned row = 0; row < mHeight; row++) {
+ for (unsigned col = 0; col < mWidth; col++) {
+ // Index into the row to set the pixel at this column
+ // (We're making vertical gradient in the green channel, and
+ // horitzontal gradient in the blue channel)
+ pixels[col] = 0xFF0000FF | ((row & 0xFF) << 16) | ((col & 0xFF) << 8);
+ }
+ // Point to the next row
+ pixels = pixels + (mStride / sizeof(*pixels));
+ }
+
+ // Release our output buffer
+ mapper.unlock(mBuffer);
+
+ // Issue the (asynchronous) callback to the client
+ mStream->deliverFrame(frameNumber, mBuffer);
+ ALOGD("Delivered %p as frame %d", mBuffer, frameNumber);
+ }
+
+ // We arbitrarily choose to generate frames at 10 fps (1/10 * uSecPerSec)
+ usleep(100000);
+ }
+
+ // If we've been asked to stop, send one last NULL frame to signal the actual end of stream
+ mStream->deliverFrame(frameNumber, nullptr);
+
+ return;
+}
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace evs
+} // namespace hardware
+} // namespace android
diff --git a/evs/1.0/default/EvsCamera.h b/evs/1.0/default/EvsCamera.h
new file mode 100644
index 0000000..5d29125
--- /dev/null
+++ b/evs/1.0/default/EvsCamera.h
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ */
+
+#ifndef ANDROID_HARDWARE_EVS_V1_0_EVSCAMERA_H
+#define ANDROID_HARDWARE_EVS_V1_0_EVSCAMERA_H
+
+#include <android/hardware/evs/1.0/types.h>
+#include <android/hardware/evs/1.0/IEvsCamera.h>
+#include <ui/GraphicBuffer.h>
+
+#include <thread>
+
+namespace android {
+namespace hardware {
+namespace evs {
+namespace V1_0 {
+namespace implementation {
+
+class EvsCamera : public IEvsCamera {
+public:
+ // Methods from ::android::hardware::evs::V1_0::IEvsCamera follow.
+ Return<void> getId(getId_cb id_cb) override;
+ Return<EvsResult> setMaxFramesInFlight(uint32_t bufferCount) override;
+ Return<EvsResult> startVideoStream(const ::android::sp<IEvsCameraStream>& stream) override;
+ Return<EvsResult> doneWithFrame(uint32_t frameId, const hidl_handle& bufferHandle) override;
+ Return<void> stopVideoStream() override;
+ Return<int32_t> getExtendedInfo(uint32_t opaqueIdentifier) override;
+ Return<EvsResult> setExtendedInfo(uint32_t opaqueIdentifier, int32_t opaqueValue) override;
+
+ // Implementation details
+ EvsCamera(const char* id);
+ virtual ~EvsCamera() override;
+
+ const CameraDesc& getDesc() { return mDescription; };
+ void GenerateFrames();
+
+ static const char kCameraName_Backup[];
+ static const char kCameraName_RightTurn[];
+
+private:
+ CameraDesc mDescription = {}; // The properties of this camera
+
+ buffer_handle_t mBuffer = nullptr; // A graphics buffer into which we'll store images
+ uint32_t mWidth = 0; // number of pixels across the buffer
+ uint32_t mHeight = 0; // number of pixels vertically in the buffer
+ uint32_t mStride = 0; // Bytes per line in the buffer
+
+ sp<IEvsCameraStream> mStream = nullptr; // The callback the user expects when a frame is ready
+
+ std::thread mCaptureThread; // The thread we'll use to synthesize frames
+
+ uint32_t mFrameId; // A frame counter used to identify specific frames
+
+ enum StreamStateValues {
+ STOPPED,
+ RUNNING,
+ STOPPING,
+ };
+ StreamStateValues mStreamState;
+ bool mFrameBusy; // A flag telling us our one buffer is in use
+
+ std::mutex mAccessLock;
+};
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace evs
+} // namespace hardware
+} // namespace android
+
+#endif // ANDROID_HARDWARE_EVS_V1_0_EVSCAMERA_H
diff --git a/evs/1.0/default/EvsDisplay.cpp b/evs/1.0/default/EvsDisplay.cpp
new file mode 100644
index 0000000..9dba6fc
--- /dev/null
+++ b/evs/1.0/default/EvsDisplay.cpp
@@ -0,0 +1,220 @@
+/*
+ * 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 "android.hardware.evs@1.0-service"
+
+#include "EvsDisplay.h"
+
+#include <ui/GraphicBufferAllocator.h>
+#include <ui/GraphicBufferMapper.h>
+
+
+namespace android {
+namespace hardware {
+namespace evs {
+namespace V1_0 {
+namespace implementation {
+
+
+// TODO(b/31632518): Need to get notification when our client dies so we can close the camera.
+// As it stands, if the client dies suddently, the buffer may be stranded.
+// As possible work around would be to give the client a HIDL object to exclusively hold
+// and use it's destructor to perform some work in the server side.
+
+
+EvsDisplay::EvsDisplay() {
+ ALOGD("EvsDisplay instantiated");
+
+ // Set up our self description
+ mInfo.displayId = "Mock Display";
+ mInfo.vendorFlags = 3870;
+ mInfo.defaultHorResolution = 320;
+ mInfo.defaultVerResolution = 240;
+}
+
+
+EvsDisplay::~EvsDisplay() {
+ ALOGD("EvsDisplay being destroyed");
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ // Report if we're going away while a buffer is outstanding. This could be bad.
+ if (mFrameBusy) {
+ ALOGE("EvsDisplay going down while client is holding a buffer\n");
+ }
+
+ // Make sure we release our frame buffer
+ if (mBuffer) {
+ // Drop the graphics buffer we've been using
+ GraphicBufferAllocator& alloc(GraphicBufferAllocator::get());
+ alloc.free(mBuffer);
+ }
+ ALOGD("EvsDisplay destroyed");
+}
+
+
+/**
+ * Returns basic information about the EVS display provided by the system.
+ * See the description of the DisplayDesc structure below for details.
+ */
+Return<void> EvsDisplay::getDisplayInfo(getDisplayInfo_cb _hidl_cb) {
+ ALOGD("getDisplayInfo");
+
+ // Send back our self description
+ _hidl_cb(mInfo);
+ return Void();
+}
+
+
+/**
+ * Clients may set the display state to express their desired state.
+ * The HAL implementation must gracefully accept a request for any state
+ * while in any other state, although the response may be to ignore the request.
+ * The display is defined to start in the NOT_VISIBLE state upon initialization.
+ * The client is then expected to request the VISIBLE_ON_NEXT_FRAME state, and
+ * then begin providing video. When the display is no longer required, the client
+ * is expected to request the NOT_VISIBLE state after passing the last video frame.
+ */
+Return<EvsResult> EvsDisplay::setDisplayState(DisplayState state) {
+ ALOGD("setDisplayState");
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ // Ensure we recognize the requested state so we don't go off the rails
+ if (state < DisplayState::NUM_STATES) {
+ // Record the requested state
+ mRequestedState = state;
+ return EvsResult::OK;
+ }
+ else {
+ // Turn off the display if asked for an unrecognized state
+ mRequestedState = DisplayState::NOT_VISIBLE;
+ return EvsResult::INVALID_ARG;
+ }
+}
+
+
+/**
+ * The HAL implementation should report the actual current state, which might
+ * transiently differ from the most recently requested state. Note, however, that
+ * the logic responsible for changing display states should generally live above
+ * the device layer, making it undesirable for the HAL implementation to
+ * spontaneously change display states.
+ */
+Return<DisplayState> EvsDisplay::getDisplayState() {
+ ALOGD("getDisplayState");
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ // At the moment, we treat the requested state as immediately active
+ DisplayState currentState = mRequestedState;
+
+ return currentState;
+}
+
+
+/**
+ * This call returns a handle to a frame buffer associated with the display.
+ * This buffer may be locked and written to by software and/or GL. This buffer
+ * must be returned via a call to returnTargetBufferForDisplay() even if the
+ * display is no longer visible.
+ */
+// TODO: We need to know if/when our client dies so we can get the buffer back! (blocked b/31632518)
+Return<void> EvsDisplay::getTargetBuffer(getTargetBuffer_cb _hidl_cb) {
+ ALOGD("getTargetBuffer");
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ // If we don't already have a buffer, allocate one now
+ if (!mBuffer) {
+ GraphicBufferAllocator& alloc(GraphicBufferAllocator::get());
+ status_t result = alloc.allocate(mInfo.defaultHorResolution, mInfo.defaultVerResolution,
+ HAL_PIXEL_FORMAT_RGBA_8888, 1,
+ GRALLOC_USAGE_HW_FB | GRALLOC_USAGE_HW_COMPOSER,
+ &mBuffer, &mStride, 0, "EvsDisplay");
+ mFrameBusy = false;
+ ALOGD("Allocated new buffer %p with stride %u", mBuffer, mStride);
+ }
+
+ // Do we have a frame available?
+ if (mFrameBusy) {
+ // This means either we have a 2nd client trying to compete for buffers
+ // (an unsupported mode of operation) or else the client hasn't returned
+ // a previously issues buffer yet (they're behaving badly).
+ // NOTE: We have to make callback even if we have nothing to provide
+ ALOGE("getTargetBuffer called while no buffers available.");
+ _hidl_cb(nullptr);
+ }
+ else {
+ // Mark our buffer as busy
+ mFrameBusy = true;
+
+ // Send the buffer to the client
+ ALOGD("Providing display buffer %p", mBuffer);
+ _hidl_cb(mBuffer);
+ }
+
+ // All done
+ return Void();
+}
+
+
+/**
+ * This call tells the display that the buffer is ready for display.
+ * The buffer is no longer valid for use by the client after this call.
+ */
+Return<EvsResult> EvsDisplay::returnTargetBufferForDisplay(const hidl_handle& bufferHandle) {
+ ALOGD("returnTargetBufferForDisplay %p", bufferHandle.getNativeHandle());
+ std::lock_guard<std::mutex> lock(mAccessLock);
+
+ // This shouldn't happen if we haven't issued the buffer!
+ if (!bufferHandle) {
+ ALOGE ("returnTargetBufferForDisplay called without a valid buffer handle.\n");
+ return EvsResult::INVALID_ARG;
+ }
+ /* TODO(b/33492405): It would be nice to validate we got back the buffer we expect,
+ * but HIDL doesn't support that (yet?)
+ if (bufferHandle != mBuffer) {
+ ALOGE ("Got an unrecognized frame returned.\n");
+ return EvsResult::INVALID_ARG;
+ }
+ */
+ if (!mFrameBusy) {
+ ALOGE ("A frame was returned with no outstanding frames.\n");
+ return EvsResult::BUFFER_NOT_AVAILABLE;
+ }
+
+ mFrameBusy = false;
+
+ // If we were waiting for a new frame, this is it!
+ if (mRequestedState == DisplayState::VISIBLE_ON_NEXT_FRAME) {
+ mRequestedState = DisplayState::VISIBLE;
+ }
+
+ // Validate we're in an expected state
+ if (mRequestedState != DisplayState::VISIBLE) {
+ // We shouldn't get frames back when we're not visible.
+ ALOGE ("Got an unexpected frame returned while not visible - ignoring.\n");
+ }
+ else {
+ // Make this buffer visible
+ // TODO: Add code to put this image on the screen (or validate it somehow?)
+ }
+
+ return EvsResult::OK;
+}
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace evs
+} // namespace hardware
+} // namespace android
diff --git a/evs/1.0/default/EvsDisplay.h b/evs/1.0/default/EvsDisplay.h
new file mode 100644
index 0000000..a2d5d3e
--- /dev/null
+++ b/evs/1.0/default/EvsDisplay.h
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+#ifndef ANDROID_HARDWARE_EVS_V1_0_EVSDISPLAY_H
+#define ANDROID_HARDWARE_EVS_V1_0_EVSDISPLAY_H
+
+#include <android/hardware/evs/1.0/IEvsDisplay.h>
+#include <ui/GraphicBuffer.h>
+
+namespace android {
+namespace hardware {
+namespace evs {
+namespace V1_0 {
+namespace implementation {
+
+class EvsDisplay : public IEvsDisplay {
+public:
+ // Methods from ::android::hardware::evs::V1_0::IEvsDisplay follow.
+ Return<void> getDisplayInfo(getDisplayInfo_cb _hidl_cb) override;
+ Return<EvsResult> setDisplayState(DisplayState state) override;
+ Return<DisplayState> getDisplayState() override;
+ Return<void> getTargetBuffer(getTargetBuffer_cb _hidl_cb) override;
+ Return<EvsResult> returnTargetBufferForDisplay(const hidl_handle& bufferHandle) override;
+
+ // Implementation details
+ EvsDisplay();
+ virtual ~EvsDisplay() override;
+
+private:
+ DisplayDesc mInfo = {};
+ buffer_handle_t mBuffer = nullptr; // A graphics buffer into which we'll store images
+ uint32_t mStride = 0; // Bytes per line in the buffer
+
+ bool mFrameBusy = false; // A flag telling us our buffer is in use
+ DisplayState mRequestedState = DisplayState::NOT_VISIBLE;
+
+ std::mutex mAccessLock;
+};
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace evs
+} // namespace hardware
+} // namespace android
+
+#endif // ANDROID_HARDWARE_EVS_V1_0_EVSDISPLAY_H
diff --git a/evs/1.0/default/EvsEnumerator.cpp b/evs/1.0/default/EvsEnumerator.cpp
new file mode 100644
index 0000000..9f38041
--- /dev/null
+++ b/evs/1.0/default/EvsEnumerator.cpp
@@ -0,0 +1,161 @@
+/*
+ * 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 "android.hardware.evs@1.0-service"
+
+#include "EvsEnumerator.h"
+#include "EvsCamera.h"
+#include "EvsDisplay.h"
+
+namespace android {
+namespace hardware {
+namespace evs {
+namespace V1_0 {
+namespace implementation {
+
+
+EvsEnumerator::EvsEnumerator() {
+ ALOGD("EvsEnumerator created");
+
+ // Add sample camera data to our list of cameras
+ // NOTE: The id strings trigger special initialization inside the EvsCamera constructor
+ mCameraList.emplace_back( new EvsCamera(EvsCamera::kCameraName_Backup), false );
+ mCameraList.emplace_back( new EvsCamera("LaneView"), false );
+ mCameraList.emplace_back( new EvsCamera(EvsCamera::kCameraName_RightTurn), false );
+}
+
+// Methods from ::android::hardware::evs::V1_0::IEvsEnumerator follow.
+Return<void> EvsEnumerator::getCameraList(getCameraList_cb _hidl_cb) {
+ ALOGD("getCameraList");
+
+ const unsigned numCameras = mCameraList.size();
+
+ // Build up a packed array of CameraDesc for return
+ // NOTE: Only has to live until the callback returns
+ std::vector<CameraDesc> descriptions;
+ descriptions.reserve(numCameras);
+ for (const auto& cam : mCameraList) {
+ descriptions.push_back( cam.pCamera->getDesc() );
+ }
+
+ // Encapsulate our camera descriptions in the HIDL vec type
+ hidl_vec<CameraDesc> hidlCameras(descriptions);
+
+ // Send back the results
+ ALOGD("reporting %zu cameras available", hidlCameras.size());
+ _hidl_cb(hidlCameras);
+
+ // HIDL convention says we return Void if we sent our result back via callback
+ return Void();
+}
+
+Return<void> EvsEnumerator::openCamera(const hidl_string& cameraId,
+ openCamera_cb callback) {
+ ALOGD("openCamera");
+
+ // Find the named camera
+ CameraRecord *pRecord = nullptr;
+ for (auto &&cam : mCameraList) {
+ if (cam.pCamera->getDesc().cameraId == cameraId) {
+ // Found a match!
+ pRecord = &cam;
+ break;
+ }
+ }
+
+ if (!pRecord) {
+ ALOGE("Requested camera %s not found", cameraId.c_str());
+ callback(nullptr);
+ }
+ else if (pRecord->inUse) {
+ ALOGE("Cannot open camera %s which is already in use", cameraId.c_str());
+ callback(nullptr);
+ }
+ else {
+ /* TODO(b/33492405): Do this, When HIDL can give us back a recognizable pointer
+ pRecord->inUse = true;
+ */
+ callback(pRecord->pCamera);
+ }
+
+ return Void();
+}
+
+Return<void> EvsEnumerator::closeCamera(const ::android::sp<IEvsCamera>& camera) {
+ ALOGD("closeCamera");
+
+ if (camera == nullptr) {
+ ALOGE("Ignoring call to closeCamera with null camera pointer");
+ }
+ else {
+ // Make sure the camera has stopped streaming
+ camera->stopVideoStream();
+
+ /* TODO(b/33492405): Do this, When HIDL can give us back a recognizable pointer
+ pRecord->inUse = false;
+ */
+ }
+
+ return Void();
+}
+
+Return<void> EvsEnumerator::openDisplay(openDisplay_cb callback) {
+ ALOGD("openDisplay");
+
+ // If we already have a display active, then this request must be denied
+ if (mActiveDisplay != nullptr) {
+ ALOGW("Rejecting openDisplay request the display is already in use.");
+ callback(nullptr);
+ }
+ else {
+ // Create a new display interface and return it
+ mActiveDisplay = new EvsDisplay();
+ ALOGD("Returning new EvsDisplay object %p", mActiveDisplay.get());
+ callback(mActiveDisplay);
+ }
+
+ return Void();
+}
+
+Return<void> EvsEnumerator::closeDisplay(const ::android::sp<IEvsDisplay>& display) {
+ ALOGD("closeDisplay");
+
+ if (mActiveDisplay == nullptr) {
+ ALOGE("Ignoring closeDisplay when display is not active");
+ }
+ else if (display == nullptr) {
+ ALOGE("Ignoring closeDisplay with null display pointer");
+ }
+ else {
+ // Drop the active display
+ // TODO(b/33492405): When HIDL provides recognizable pointers, add validation here.
+ mActiveDisplay = nullptr;
+ }
+
+ return Void();
+}
+
+
+// TODO(b/31632518): Need to get notification when our client dies so we can close the camera.
+// As possible work around would be to give the client a HIDL object to exclusively hold
+// and use it's destructor to perform some work in the server side.
+
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace evs
+} // namespace hardware
+} // namespace android
diff --git a/evs/1.0/default/EvsEnumerator.h b/evs/1.0/default/EvsEnumerator.h
new file mode 100644
index 0000000..69caa17
--- /dev/null
+++ b/evs/1.0/default/EvsEnumerator.h
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+#ifndef ANDROID_HARDWARE_EVS_V1_0_EVSCAMERAENUMERATOR_H
+#define ANDROID_HARDWARE_EVS_V1_0_EVSCAMERAENUMERATOR_H
+
+#include <android/hardware/evs/1.0/IEvsEnumerator.h>
+#include <android/hardware/evs/1.0/IEvsCamera.h>
+
+#include <list>
+
+#include "EvsCamera.h"
+
+namespace android {
+namespace hardware {
+namespace evs {
+namespace V1_0 {
+namespace implementation {
+
+class EvsEnumerator : public IEvsEnumerator {
+public:
+ // Methods from ::android::hardware::evs::V1_0::IEvsEnumerator follow.
+ Return<void> getCameraList(getCameraList_cb _hidl_cb) override;
+ Return<void> openCamera(const hidl_string& cameraId, openCamera_cb callback) override;
+ Return<void> closeCamera(const ::android::sp<IEvsCamera>& carCamera) override;
+ Return<void> openDisplay(openDisplay_cb callback) override;
+ Return<void> closeDisplay(const ::android::sp<IEvsDisplay>& display) override;
+
+ // Implementation details
+ EvsEnumerator();
+
+private:
+ struct CameraRecord {
+ sp<EvsCamera> pCamera;
+ bool inUse;
+ CameraRecord(EvsCamera* p, bool b) : pCamera(p), inUse(b) {}
+ };
+ std::list<CameraRecord> mCameraList;
+
+ sp<IEvsDisplay> mActiveDisplay;
+};
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace evs
+} // namespace hardware
+} // namespace android
+
+#endif // ANDROID_HARDWARE_EVS_V1_0_EVSCAMERAENUMERATOR_H
diff --git a/evs/1.0/default/ServiceNames.h b/evs/1.0/default/ServiceNames.h
new file mode 100644
index 0000000..d20a37f
--- /dev/null
+++ b/evs/1.0/default/ServiceNames.h
@@ -0,0 +1,17 @@
+/*
+ * 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.
+ */
+
+const static char kEnumeratorServiceName[] = "EvsEnumeratorHw-Mock";
diff --git a/evs/1.0/default/android.hardware.evs@1.0-service.rc b/evs/1.0/default/android.hardware.evs@1.0-service.rc
new file mode 100644
index 0000000..be7c9f9
--- /dev/null
+++ b/evs/1.0/default/android.hardware.evs@1.0-service.rc
@@ -0,0 +1,4 @@
+service evs-hal-1-0 /system/bin/hw/android.hardware.evs@1.0-service
+ class hal
+ user cameraserver
+ group camera
diff --git a/evs/1.0/default/service.cpp b/evs/1.0/default/service.cpp
new file mode 100644
index 0000000..6ab2975
--- /dev/null
+++ b/evs/1.0/default/service.cpp
@@ -0,0 +1,75 @@
+/*
+ * 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 "android.hardware.evs@1.0-service"
+
+#include <unistd.h>
+
+#include <hwbinder/IPCThreadState.h>
+#include <hwbinder/ProcessState.h>
+#include <utils/Errors.h>
+#include <utils/StrongPointer.h>
+#include <utils/Log.h>
+
+#include "ServiceNames.h"
+#include "EvsEnumerator.h"
+#include "EvsDisplay.h"
+
+
+// libhwbinder:
+using android::hardware::IPCThreadState;
+using android::hardware::ProcessState;
+
+// Generated HIDL files
+using android::hardware::evs::V1_0::IEvsEnumerator;
+using android::hardware::evs::V1_0::IEvsDisplay;
+
+// The namespace in which all our implementation code lives
+using namespace android::hardware::evs::V1_0::implementation;
+using namespace android;
+
+
+int main() {
+ ALOGI("EVS Hardware Enumerator service is starting");
+ android::sp<IEvsEnumerator> service = new EvsEnumerator();
+
+ // Register our service -- if somebody is already registered by our name,
+ // they will be killed (their thread pool will throw an exception).
+ status_t status = service->registerAsService(kEnumeratorServiceName);
+ if (status == OK) {
+ ALOGD("%s is ready.", kEnumeratorServiceName);
+
+ // Set thread pool size to ensure the API is not called in parallel.
+ // By setting the size to zero, the main thread will be the only one
+ // serving requests once we "joinThreadPool".
+ ProcessState::self()->setThreadPoolMaxThreadCount(0);
+
+ // Note: We don't start the thread pool because it'll add at least one (default)
+ // thread to it, which we don't want. See b/31226656
+ // ProcessState::self()->startThreadPool();
+
+ // Send this main thread to become a permanent part of the thread pool.
+ // This bumps up the thread count by 1 (from zero in this case).
+ // This is not expected to return.
+ IPCThreadState::self()->joinThreadPool();
+ } else {
+ ALOGE("Could not register service %s (%d).", kEnumeratorServiceName, status);
+ }
+
+ // In normal operation, we don't expect the thread pool to exit
+ ALOGE("EVS Hardware Enumerator is shutting down");
+ return 1;
+}
diff --git a/evs/1.0/types.hal b/evs/1.0/types.hal
new file mode 100644
index 0000000..e0051e1
--- /dev/null
+++ b/evs/1.0/types.hal
@@ -0,0 +1,99 @@
+/*
+ * 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.
+ */
+
+package android.hardware.evs@1.0;
+
+
+/*
+ * Bit flags indicating suggested uses for a given EVS camera
+ *
+ * The values in the UsageHint bit field provide a generic expression of how a
+ * given camera is intended to be used. The values for these flags support
+ * existing use cases, and are used by the default EVS application to select
+ * appropriate cameras for display based on observed vehicle state (such as
+ * turn signal activation or selection of reverse gear). When implementing
+ * their own specialized EVS Applications, OEMs are free to use these flags
+ * and/or the opaque vendor_flags to drive their own vehicle specific logic.
+ */
+enum UsageHint : uint32_t {
+ USAGE_HINT_REVERSE = 0x00000001,
+ USAGE_HINT_LEFT_TURN = 0x00000002,
+ USAGE_HINT_RIGHT_TURN = 0x00000004,
+ // remaining bits are reserved for future use
+};
+
+
+/*
+ * Structure describing the basic properties of an EVS camera
+ *
+ * The HAL is responsible for filling out this structure for each
+ * EVS camera in the system. Attention should be given to the field
+ * of view, direction of view, and location parameters as these may
+ * be used to (if available) to project overlay graphics into the
+ * scene by an EVS application.
+ * Any of these values for which the HAL does not have reasonable values
+ * should be set to ZERO.
+ */
+struct CameraDesc {
+ string cameraId;
+ UsageHint hints; // Bit flags (legal to | values together) (TODO: b/31702236)
+ uint32_t vendorFlags; // Opaque value from driver
+ uint32_t defaultHorResolution; // Units of pixels
+ uint32_t defaultVerResolution; // Units of pixels
+};
+
+
+/*
+ * Structure describing the basic properties of an EVS display
+ *
+ * The HAL is responsible for filling out this structure to describe
+ * the EVS display. As an implementation detail, this may be a physical
+ * display or a virtual display that is overlaid or mixed with another
+ * presentation device.
+ */
+struct DisplayDesc {
+ string displayId;
+ uint32_t vendorFlags; // Opaque value from driver
+ uint32_t defaultHorResolution; // Units of pixels
+ uint32_t defaultVerResolution; // Units of pixels
+};
+
+
+/*
+ * States for control of the EVS display
+ *
+ * The DisplayInfo structure describes the basic properties of an EVS display. Any EVS
+ * implementation is required to have one. The HAL is responsible for filling out this
+ * structure to describe the EVS display. As an implementation detail, this may be a
+ * physical display or a virtual display that is overlaid or mixed with another
+ * presentation device.
+ */
+enum DisplayState : uint32_t {
+ NOT_VISIBLE = 0, // Display is inhibited
+ VISIBLE_ON_NEXT_FRAME, // Will become visible with next frame
+ VISIBLE, // Display is currently active
+ NUM_STATES // Must be last
+};
+
+
+/* Error codes used in EVS HAL interface. */
+/* TODO: Adopt a common set of function return codes */
+enum EvsResult : uint32_t {
+ OK = 0,
+ INVALID_ARG,
+ STREAM_ALREADY_RUNNING,
+ BUFFER_NOT_AVAILABLE,
+};
\ No newline at end of file
diff --git a/evs/Android.bp b/evs/Android.bp
new file mode 100644
index 0000000..ba90f2c
--- /dev/null
+++ b/evs/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+ "1.0",
+ "1.0/default",
+]
diff --git a/example/extension/light/2.0/Android.mk b/example/extension/light/2.0/Android.mk
index 2c42dac..deb7a2a 100644
--- a/example/extension/light/2.0/Android.mk
+++ b/example/extension/light/2.0/Android.mk
@@ -20,7 +20,7 @@
#
# Build types.hal (Default)
#
-GEN := $(intermediates)/android/hardware/example/extension/light/2.0/Default.java
+GEN := $(intermediates)/android/hardware/example/extension/light/V2_0/Default.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -39,7 +39,7 @@
#
# Build types.hal (ExtBrightness)
#
-GEN := $(intermediates)/android/hardware/example/extension/light/2.0/ExtBrightness.java
+GEN := $(intermediates)/android/hardware/example/extension/light/V2_0/ExtBrightness.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -58,7 +58,7 @@
#
# Build types.hal (ExtLightState)
#
-GEN := $(intermediates)/android/hardware/example/extension/light/2.0/ExtLightState.java
+GEN := $(intermediates)/android/hardware/example/extension/light/V2_0/ExtLightState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -77,7 +77,7 @@
#
# Build IExtLight.hal
#
-GEN := $(intermediates)/android/hardware/example/extension/light/2.0/IExtLight.java
+GEN := $(intermediates)/android/hardware/example/extension/light/V2_0/IExtLight.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IExtLight.hal
@@ -115,7 +115,7 @@
#
# Build types.hal (Default)
#
-GEN := $(intermediates)/android/hardware/example/extension/light/2.0/Default.java
+GEN := $(intermediates)/android/hardware/example/extension/light/V2_0/Default.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -134,7 +134,7 @@
#
# Build types.hal (ExtBrightness)
#
-GEN := $(intermediates)/android/hardware/example/extension/light/2.0/ExtBrightness.java
+GEN := $(intermediates)/android/hardware/example/extension/light/V2_0/ExtBrightness.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -153,7 +153,7 @@
#
# Build types.hal (ExtLightState)
#
-GEN := $(intermediates)/android/hardware/example/extension/light/2.0/ExtLightState.java
+GEN := $(intermediates)/android/hardware/example/extension/light/V2_0/ExtLightState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -172,7 +172,7 @@
#
# Build IExtLight.hal
#
-GEN := $(intermediates)/android/hardware/example/extension/light/2.0/IExtLight.java
+GEN := $(intermediates)/android/hardware/example/extension/light/V2_0/IExtLight.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IExtLight.hal
diff --git a/gatekeeper/1.0/Android.mk b/gatekeeper/1.0/Android.mk
index 29ffb10..5d66b45 100644
--- a/gatekeeper/1.0/Android.mk
+++ b/gatekeeper/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (GatekeeperResponse)
#
-GEN := $(intermediates)/android/hardware/gatekeeper/1.0/GatekeeperResponse.java
+GEN := $(intermediates)/android/hardware/gatekeeper/V1_0/GatekeeperResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (GatekeeperStatusCode)
#
-GEN := $(intermediates)/android/hardware/gatekeeper/1.0/GatekeeperStatusCode.java
+GEN := $(intermediates)/android/hardware/gatekeeper/V1_0/GatekeeperStatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build IGatekeeper.hal
#
-GEN := $(intermediates)/android/hardware/gatekeeper/1.0/IGatekeeper.java
+GEN := $(intermediates)/android/hardware/gatekeeper/V1_0/IGatekeeper.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGatekeeper.hal
@@ -94,7 +94,7 @@
#
# Build types.hal (GatekeeperResponse)
#
-GEN := $(intermediates)/android/hardware/gatekeeper/1.0/GatekeeperResponse.java
+GEN := $(intermediates)/android/hardware/gatekeeper/V1_0/GatekeeperResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -113,7 +113,7 @@
#
# Build types.hal (GatekeeperStatusCode)
#
-GEN := $(intermediates)/android/hardware/gatekeeper/1.0/GatekeeperStatusCode.java
+GEN := $(intermediates)/android/hardware/gatekeeper/V1_0/GatekeeperStatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -132,7 +132,7 @@
#
# Build IGatekeeper.hal
#
-GEN := $(intermediates)/android/hardware/gatekeeper/1.0/IGatekeeper.java
+GEN := $(intermediates)/android/hardware/gatekeeper/V1_0/IGatekeeper.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGatekeeper.hal
diff --git a/gnss/1.0/Android.mk b/gnss/1.0/Android.mk
index 35a30c3..d2c7fcf 100644
--- a/gnss/1.0/Android.mk
+++ b/gnss/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (GnssConstellationType)
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/GnssConstellationType.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/GnssConstellationType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (GnssLocation)
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/GnssLocation.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/GnssLocation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (GnssMax)
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/GnssMax.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/GnssMax.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build IAGnss.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IAGnss.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IAGnss.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IAGnss.hal
@@ -97,7 +97,7 @@
#
# Build IAGnssCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IAGnssCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IAGnssCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IAGnssCallback.hal
@@ -116,7 +116,7 @@
#
# Build IAGnssRil.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IAGnssRil.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IAGnssRil.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IAGnssRil.hal
@@ -137,7 +137,7 @@
#
# Build IAGnssRilCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IAGnssRilCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IAGnssRilCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IAGnssRilCallback.hal
@@ -156,7 +156,7 @@
#
# Build IGnss.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnss.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnss.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnss.hal
@@ -197,7 +197,7 @@
#
# Build IGnssCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssCallback.hal
@@ -218,7 +218,7 @@
#
# Build IGnssConfiguration.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssConfiguration.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssConfiguration.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssConfiguration.hal
@@ -237,7 +237,7 @@
#
# Build IGnssDebug.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssDebug.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssDebug.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssDebug.hal
@@ -258,7 +258,7 @@
#
# Build IGnssGeofenceCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssGeofenceCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssGeofenceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssGeofenceCallback.hal
@@ -279,7 +279,7 @@
#
# Build IGnssGeofencing.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssGeofencing.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssGeofencing.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssGeofencing.hal
@@ -300,7 +300,7 @@
#
# Build IGnssMeasurement.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssMeasurement.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssMeasurement.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssMeasurement.hal
@@ -321,7 +321,7 @@
#
# Build IGnssMeasurementCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssMeasurementCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssMeasurementCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssMeasurementCallback.hal
@@ -342,7 +342,7 @@
#
# Build IGnssNavigationMessage.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssNavigationMessage.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssNavigationMessage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssNavigationMessage.hal
@@ -363,7 +363,7 @@
#
# Build IGnssNavigationMessageCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssNavigationMessageCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssNavigationMessageCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssNavigationMessageCallback.hal
@@ -382,7 +382,7 @@
#
# Build IGnssNi.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssNi.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssNi.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssNi.hal
@@ -403,7 +403,7 @@
#
# Build IGnssNiCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssNiCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssNiCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssNiCallback.hal
@@ -422,7 +422,7 @@
#
# Build IGnssXtra.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssXtra.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssXtra.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssXtra.hal
@@ -443,7 +443,7 @@
#
# Build IGnssXtraCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssXtraCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssXtraCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssXtraCallback.hal
@@ -478,7 +478,7 @@
#
# Build types.hal (GnssConstellationType)
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/GnssConstellationType.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/GnssConstellationType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -497,7 +497,7 @@
#
# Build types.hal (GnssLocation)
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/GnssLocation.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/GnssLocation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -516,7 +516,7 @@
#
# Build types.hal (GnssMax)
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/GnssMax.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/GnssMax.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -535,7 +535,7 @@
#
# Build IAGnss.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IAGnss.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IAGnss.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IAGnss.hal
@@ -556,7 +556,7 @@
#
# Build IAGnssCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IAGnssCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IAGnssCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IAGnssCallback.hal
@@ -575,7 +575,7 @@
#
# Build IAGnssRil.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IAGnssRil.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IAGnssRil.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IAGnssRil.hal
@@ -596,7 +596,7 @@
#
# Build IAGnssRilCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IAGnssRilCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IAGnssRilCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IAGnssRilCallback.hal
@@ -615,7 +615,7 @@
#
# Build IGnss.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnss.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnss.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnss.hal
@@ -656,7 +656,7 @@
#
# Build IGnssCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssCallback.hal
@@ -677,7 +677,7 @@
#
# Build IGnssConfiguration.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssConfiguration.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssConfiguration.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssConfiguration.hal
@@ -696,7 +696,7 @@
#
# Build IGnssDebug.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssDebug.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssDebug.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssDebug.hal
@@ -717,7 +717,7 @@
#
# Build IGnssGeofenceCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssGeofenceCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssGeofenceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssGeofenceCallback.hal
@@ -738,7 +738,7 @@
#
# Build IGnssGeofencing.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssGeofencing.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssGeofencing.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssGeofencing.hal
@@ -759,7 +759,7 @@
#
# Build IGnssMeasurement.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssMeasurement.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssMeasurement.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssMeasurement.hal
@@ -780,7 +780,7 @@
#
# Build IGnssMeasurementCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssMeasurementCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssMeasurementCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssMeasurementCallback.hal
@@ -801,7 +801,7 @@
#
# Build IGnssNavigationMessage.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssNavigationMessage.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssNavigationMessage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssNavigationMessage.hal
@@ -822,7 +822,7 @@
#
# Build IGnssNavigationMessageCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssNavigationMessageCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssNavigationMessageCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssNavigationMessageCallback.hal
@@ -841,7 +841,7 @@
#
# Build IGnssNi.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssNi.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssNi.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssNi.hal
@@ -862,7 +862,7 @@
#
# Build IGnssNiCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssNiCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssNiCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssNiCallback.hal
@@ -881,7 +881,7 @@
#
# Build IGnssXtra.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssXtra.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssXtra.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssXtra.hal
@@ -902,7 +902,7 @@
#
# Build IGnssXtraCallback.hal
#
-GEN := $(intermediates)/android/hardware/gnss/1.0/IGnssXtraCallback.java
+GEN := $(intermediates)/android/hardware/gnss/V1_0/IGnssXtraCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGnssXtraCallback.hal
diff --git a/graphics/common/1.0/Android.mk b/graphics/common/1.0/Android.mk
index 5049cb3..0fa6dcc 100644
--- a/graphics/common/1.0/Android.mk
+++ b/graphics/common/1.0/Android.mk
@@ -15,7 +15,7 @@
#
# Build types.hal (ColorMode)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/ColorMode.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/ColorMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -34,7 +34,7 @@
#
# Build types.hal (ColorTransform)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/ColorTransform.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/ColorTransform.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -53,7 +53,7 @@
#
# Build types.hal (Dataspace)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/Dataspace.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/Dataspace.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -72,7 +72,7 @@
#
# Build types.hal (Hdr)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/Hdr.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/Hdr.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -91,7 +91,7 @@
#
# Build types.hal (PixelFormat)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/PixelFormat.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/PixelFormat.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -110,7 +110,7 @@
#
# Build types.hal (Transform)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/Transform.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/Transform.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -141,7 +141,7 @@
#
# Build types.hal (ColorMode)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/ColorMode.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/ColorMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -160,7 +160,7 @@
#
# Build types.hal (ColorTransform)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/ColorTransform.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/ColorTransform.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -179,7 +179,7 @@
#
# Build types.hal (Dataspace)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/Dataspace.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/Dataspace.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -198,7 +198,7 @@
#
# Build types.hal (Hdr)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/Hdr.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/Hdr.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -217,7 +217,7 @@
#
# Build types.hal (PixelFormat)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/PixelFormat.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/PixelFormat.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -236,7 +236,7 @@
#
# Build types.hal (Transform)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/Transform.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/Transform.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -264,7 +264,7 @@
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
-GEN := $(intermediates)/android/hardware/graphics/common/1.0/Constants.java
+GEN := $(intermediates)/android/hardware/graphics/common/V1_0/Constants.java
$(GEN): $(HIDL)
$(GEN): $(LOCAL_PATH)/types.hal
diff --git a/graphics/common/1.0/types.hal b/graphics/common/1.0/types.hal
index 9726c3a..67ff353 100644
--- a/graphics/common/1.0/types.hal
+++ b/graphics/common/1.0/types.hal
@@ -40,11 +40,11 @@
/*
* The following formats use a 16bit float per color component.
*/
- RGBA_FP16 = 0x10,
- RGBX_FP16 = 0x11,
+ RGBA_FP16 = 0x16,
+ RGBX_FP16 = 0x17,
/*
- * 0x100 - 0x1FF
+ * 0x101 - 0x1FF
*
* This range is reserved for pixel formats that are specific to the HAL
* implementation. Implementations can use any value in this range to
@@ -422,9 +422,10 @@
FLEX_RGBA_8888 = 0x2A,
/* Legacy formats (deprecated), used by ImageFormat.java */
- YCBCR_422_SP = 0x10, // NV16
- YCRCB_420_SP = 0x11, // NV21
- YCBCR_422_I = 0x14, // YUY2
+ YCBCR_422_SP = 0x10, // NV16
+ YCRCB_420_SP = 0x11, // NV21
+ YCBCR_422_I = 0x14, // YUY2
+ JPEG = 0x100,
};
/**
diff --git a/health/1.0/Android.mk b/health/1.0/Android.mk
index 4254759..f05d227 100644
--- a/health/1.0/Android.mk
+++ b/health/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (BatteryHealth)
#
-GEN := $(intermediates)/android/hardware/health/1.0/BatteryHealth.java
+GEN := $(intermediates)/android/hardware/health/V1_0/BatteryHealth.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (BatteryStatus)
#
-GEN := $(intermediates)/android/hardware/health/1.0/BatteryStatus.java
+GEN := $(intermediates)/android/hardware/health/V1_0/BatteryStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (HealthConfig)
#
-GEN := $(intermediates)/android/hardware/health/1.0/HealthConfig.java
+GEN := $(intermediates)/android/hardware/health/V1_0/HealthConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build types.hal (HealthInfo)
#
-GEN := $(intermediates)/android/hardware/health/1.0/HealthInfo.java
+GEN := $(intermediates)/android/hardware/health/V1_0/HealthInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -95,7 +95,7 @@
#
# Build types.hal (Result)
#
-GEN := $(intermediates)/android/hardware/health/1.0/Result.java
+GEN := $(intermediates)/android/hardware/health/V1_0/Result.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -114,7 +114,7 @@
#
# Build IHealth.hal
#
-GEN := $(intermediates)/android/hardware/health/1.0/IHealth.java
+GEN := $(intermediates)/android/hardware/health/V1_0/IHealth.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IHealth.hal
@@ -151,7 +151,7 @@
#
# Build types.hal (BatteryHealth)
#
-GEN := $(intermediates)/android/hardware/health/1.0/BatteryHealth.java
+GEN := $(intermediates)/android/hardware/health/V1_0/BatteryHealth.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -170,7 +170,7 @@
#
# Build types.hal (BatteryStatus)
#
-GEN := $(intermediates)/android/hardware/health/1.0/BatteryStatus.java
+GEN := $(intermediates)/android/hardware/health/V1_0/BatteryStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -189,7 +189,7 @@
#
# Build types.hal (HealthConfig)
#
-GEN := $(intermediates)/android/hardware/health/1.0/HealthConfig.java
+GEN := $(intermediates)/android/hardware/health/V1_0/HealthConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -208,7 +208,7 @@
#
# Build types.hal (HealthInfo)
#
-GEN := $(intermediates)/android/hardware/health/1.0/HealthInfo.java
+GEN := $(intermediates)/android/hardware/health/V1_0/HealthInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -227,7 +227,7 @@
#
# Build types.hal (Result)
#
-GEN := $(intermediates)/android/hardware/health/1.0/Result.java
+GEN := $(intermediates)/android/hardware/health/V1_0/Result.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -246,7 +246,7 @@
#
# Build IHealth.hal
#
-GEN := $(intermediates)/android/hardware/health/1.0/IHealth.java
+GEN := $(intermediates)/android/hardware/health/V1_0/IHealth.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IHealth.hal
@@ -276,7 +276,7 @@
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
-GEN := $(intermediates)/android/hardware/health/1.0/Constants.java
+GEN := $(intermediates)/android/hardware/health/V1_0/Constants.java
$(GEN): $(HIDL)
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/IHealth.hal
diff --git a/ir/1.0/Android.bp b/ir/1.0/Android.bp
new file mode 100644
index 0000000..9badd6f
--- /dev/null
+++ b/ir/1.0/Android.bp
@@ -0,0 +1,56 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+genrule {
+ name: "android.hardware.ir@1.0_genc++",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.ir@1.0",
+ srcs: [
+ "types.hal",
+ "IConsumerIr.hal",
+ ],
+ out: [
+ "android/hardware/ir/1.0/types.cpp",
+ "android/hardware/ir/1.0/ConsumerIrAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.ir@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.ir@1.0",
+ srcs: [
+ "types.hal",
+ "IConsumerIr.hal",
+ ],
+ out: [
+ "android/hardware/ir/1.0/types.h",
+ "android/hardware/ir/1.0/IConsumerIr.h",
+ "android/hardware/ir/1.0/IHwConsumerIr.h",
+ "android/hardware/ir/1.0/BnConsumerIr.h",
+ "android/hardware/ir/1.0/BpConsumerIr.h",
+ "android/hardware/ir/1.0/BsConsumerIr.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.ir@1.0",
+ generated_sources: ["android.hardware.ir@1.0_genc++"],
+ generated_headers: ["android.hardware.ir@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.ir@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",
+ ],
+}
diff --git a/ir/1.0/Android.mk b/ir/1.0/Android.mk
new file mode 100644
index 0000000..660b32b
--- /dev/null
+++ b/ir/1.0/Android.mk
@@ -0,0 +1,118 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.ir@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 (ConsumerIrFreqRange)
+#
+GEN := $(intermediates)/android/hardware/ir/V1_0/ConsumerIrFreqRange.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.ir@1.0::types.ConsumerIrFreqRange
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IConsumerIr.hal
+#
+GEN := $(intermediates)/android/hardware/ir/V1_0/IConsumerIr.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IConsumerIr.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.ir@1.0::IConsumerIr
+
+$(GEN): $(LOCAL_PATH)/IConsumerIr.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_JAVA_LIBRARY)
+
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.ir@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 (ConsumerIrFreqRange)
+#
+GEN := $(intermediates)/android/hardware/ir/V1_0/ConsumerIrFreqRange.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.ir@1.0::types.ConsumerIrFreqRange
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IConsumerIr.hal
+#
+GEN := $(intermediates)/android/hardware/ir/V1_0/IConsumerIr.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IConsumerIr.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.ir@1.0::IConsumerIr
+
+$(GEN): $(LOCAL_PATH)/IConsumerIr.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/ir/1.0/IConsumerIr.hal b/ir/1.0/IConsumerIr.hal
new file mode 100644
index 0000000..f928c0e
--- /dev/null
+++ b/ir/1.0/IConsumerIr.hal
@@ -0,0 +1,40 @@
+/*
+ * Copyright 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.
+ */
+
+package android.hardware.ir@1.0;
+
+interface IConsumerIr {
+ /*
+ * transmit() sends an IR pattern at a given carrierFreq.
+ *
+ * The pattern is alternating series of carrier on and off periods measured in
+ * microseconds. The carrier should be turned off at the end of a transmit
+ * even if there are and odd number of entries in the pattern array.
+ *
+ * This call must return when the transmit is complete or encounters an error.
+ *
+ * returns: true on success, false on error.
+ */
+ transmit(int32_t carrierFreq, vec<int32_t> pattern, int32_t patternLen) generates (bool success);
+
+ /*
+ * getCarrierFreqs() enumerates which frequencies the IR transmitter supports.
+ *
+ * returns: On success, true and a vector of all supported frequency
+ * ranges. On error, returns false.
+ */
+ getCarrierFreqs() generates (bool success, vec<ConsumerIrFreqRange> ranges);
+};
diff --git a/ir/1.0/default/Android.bp b/ir/1.0/default/Android.bp
new file mode 100644
index 0000000..7c441da
--- /dev/null
+++ b/ir/1.0/default/Android.bp
@@ -0,0 +1,46 @@
+//
+// 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_library_shared {
+ name: "android.hardware.ir@1.0-impl",
+ relative_install_path: "hw",
+ srcs: ["ConsumerIr.cpp"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhardware",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "android.hardware.ir@1.0",
+ ],
+}
+
+cc_binary {
+ relative_install_path: "hw",
+ name: "android.hardware.ir@1.0-service",
+ init_rc: ["android.hardware.ir@1.0-service.rc"],
+ srcs: ["service.cpp"],
+
+ shared_libs: [
+ "liblog",
+ "libhwbinder",
+ "libhardware",
+ "libhidlbase",
+ "libhidltransport",
+ "libutils",
+ "android.hardware.ir@1.0",
+ ],
+
+}
diff --git a/ir/1.0/default/ConsumerIr.cpp b/ir/1.0/default/ConsumerIr.cpp
new file mode 100644
index 0000000..763e09a
--- /dev/null
+++ b/ir/1.0/default/ConsumerIr.cpp
@@ -0,0 +1,85 @@
+/*
+ * 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 "ConsumerIrService"
+#include <android/log.h>
+
+#include <hardware/hardware.h>
+#include <hardware/consumerir.h>
+#include "ConsumerIr.h"
+
+namespace android {
+namespace hardware {
+namespace ir {
+namespace V1_0 {
+namespace implementation {
+
+ConsumerIr::ConsumerIr(consumerir_device_t *device) {
+ mDevice = device;
+}
+
+// Methods from ::android::hardware::consumerir::V1_0::IConsumerIr follow.
+Return<bool> ConsumerIr::transmit(int32_t carrierFreq, const hidl_vec<int32_t>& pattern, int32_t patternLen) {
+ return mDevice->transmit(mDevice, carrierFreq, pattern.data(), patternLen) == 0;
+}
+
+Return<void> ConsumerIr::getCarrierFreqs(getCarrierFreqs_cb _hidl_cb) {
+ int32_t len = mDevice->get_num_carrier_freqs(mDevice);
+ if (len < 0) {
+ _hidl_cb(false, {});
+ return Void();
+ }
+
+ consumerir_freq_range_t *rangeAr = new consumerir_freq_range_t[len];
+ bool success = (mDevice->get_carrier_freqs(mDevice, len, rangeAr) >= 0);
+ if (!success) {
+ _hidl_cb(false, {});
+ return Void();
+ }
+
+ hidl_vec<ConsumerIrFreqRange> rangeVec;
+ rangeVec.resize(len);
+ for (int32_t i = 0; i < len; i++) {
+ rangeVec[i].min = static_cast<uint32_t>(rangeAr[i].min);
+ rangeVec[i].max = static_cast<uint32_t>(rangeAr[i].max);
+ }
+ _hidl_cb(true, rangeVec);
+ return Void();
+}
+
+
+IConsumerIr* HIDL_FETCH_IConsumerIr(const char *name) {
+ consumerir_device_t *dev;
+ const hw_module_t *hw_module = NULL;
+
+ int ret = hw_get_module(name, &hw_module);
+ if (ret != 0) {
+ ALOGE("hw_get_module %s failed: %d", name, ret);
+ return nullptr;
+ }
+ ret = hw_module->methods->open(hw_module, CONSUMERIR_TRANSMITTER, (hw_device_t **) &dev);
+ if (ret < 0) {
+ ALOGE("Can't open consumer IR transmitter, error: %d", ret);
+ return nullptr;
+ }
+ return new ConsumerIr(dev);
+}
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace ir
+} // namespace hardware
+} // namespace android
diff --git a/ir/1.0/default/ConsumerIr.h b/ir/1.0/default/ConsumerIr.h
new file mode 100644
index 0000000..527c577
--- /dev/null
+++ b/ir/1.0/default/ConsumerIr.h
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+#ifndef ANDROID_HARDWARE_IR_V1_0_IR_H
+#define ANDROID_HARDWARE_IR_V1_0_IR_H
+
+#include <android/hardware/ir/1.0/IConsumerIr.h>
+#include <hardware/consumerir.h>
+#include <hidl/MQDescriptor.h>
+#include <hidl/Status.h>
+
+namespace android {
+namespace hardware {
+namespace ir {
+namespace V1_0 {
+namespace implementation {
+
+using ::android::hardware::ir::V1_0::ConsumerIrFreqRange;
+using ::android::hardware::ir::V1_0::IConsumerIr;
+using ::android::hardware::hidl_array;
+using ::android::hardware::hidl_string;
+using ::android::hardware::hidl_vec;
+using ::android::hardware::Return;
+using ::android::hardware::Void;
+using ::android::sp;
+
+struct ConsumerIr : public IConsumerIr {
+ ConsumerIr(consumerir_device_t *device);
+ // Methods from ::android::hardware::ir::V1_0::IConsumerIr follow.
+ Return<bool> transmit(int32_t carrierFreq, const hidl_vec<int32_t>& pattern, int32_t patternLen) override;
+ Return<void> getCarrierFreqs(getCarrierFreqs_cb _hidl_cb) override;
+private:
+ consumerir_device_t *mDevice;
+};
+
+extern "C" IConsumerIr* HIDL_FETCH_IConsumerIr(const char* name);
+
+} // namespace implementation
+} // namespace V1_0
+} // namespace ir
+} // namespace hardware
+} // namespace android
+
+#endif // ANDROID_HARDWARE_IR_V1_0_IR_H
diff --git a/ir/1.0/default/android.hardware.ir@1.0-service.rc b/ir/1.0/default/android.hardware.ir@1.0-service.rc
new file mode 100644
index 0000000..5b05ba2
--- /dev/null
+++ b/ir/1.0/default/android.hardware.ir@1.0-service.rc
@@ -0,0 +1,4 @@
+service ir-hal-1-0 /system/bin/hw/android.hardware.ir@1.0-service
+ class hal
+ user system
+ group system
\ No newline at end of file
diff --git a/ir/1.0/default/service.cpp b/ir/1.0/default/service.cpp
new file mode 100644
index 0000000..237b2c9
--- /dev/null
+++ b/ir/1.0/default/service.cpp
@@ -0,0 +1,27 @@
+/*
+ * Copyright 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 "android.hardware.ir@1.0-service"
+
+#include <android/hardware/ir/1.0/IConsumerIr.h>
+#include <hidl/LegacySupport.h>
+
+using android::hardware::ir::V1_0::IConsumerIr;
+using android::hardware::defaultPassthroughServiceImplementation;
+
+int main() {
+ return defaultPassthroughServiceImplementation<IConsumerIr>("consumerir");
+}
diff --git a/ir/1.0/types.hal b/ir/1.0/types.hal
new file mode 100644
index 0000000..9c65de6
--- /dev/null
+++ b/ir/1.0/types.hal
@@ -0,0 +1,24 @@
+/*
+ * Copyright 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.
+ */
+
+package android.hardware.ir@1.0;
+
+struct ConsumerIrFreqRange {
+ uint32_t min;
+
+ uint32_t max;
+
+};
diff --git a/ir/Android.bp b/ir/Android.bp
new file mode 100644
index 0000000..ba90f2c
--- /dev/null
+++ b/ir/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+ "1.0",
+ "1.0/default",
+]
diff --git a/light/2.0/Android.mk b/light/2.0/Android.mk
index 633f6af..ef19bad 100644
--- a/light/2.0/Android.mk
+++ b/light/2.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (Brightness)
#
-GEN := $(intermediates)/android/hardware/light/2.0/Brightness.java
+GEN := $(intermediates)/android/hardware/light/V2_0/Brightness.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (Flash)
#
-GEN := $(intermediates)/android/hardware/light/2.0/Flash.java
+GEN := $(intermediates)/android/hardware/light/V2_0/Flash.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (LightState)
#
-GEN := $(intermediates)/android/hardware/light/2.0/LightState.java
+GEN := $(intermediates)/android/hardware/light/V2_0/LightState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build types.hal (Status)
#
-GEN := $(intermediates)/android/hardware/light/2.0/Status.java
+GEN := $(intermediates)/android/hardware/light/V2_0/Status.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -95,7 +95,7 @@
#
# Build types.hal (Type)
#
-GEN := $(intermediates)/android/hardware/light/2.0/Type.java
+GEN := $(intermediates)/android/hardware/light/V2_0/Type.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -114,7 +114,7 @@
#
# Build ILight.hal
#
-GEN := $(intermediates)/android/hardware/light/2.0/ILight.java
+GEN := $(intermediates)/android/hardware/light/V2_0/ILight.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ILight.hal
@@ -151,7 +151,7 @@
#
# Build types.hal (Brightness)
#
-GEN := $(intermediates)/android/hardware/light/2.0/Brightness.java
+GEN := $(intermediates)/android/hardware/light/V2_0/Brightness.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -170,7 +170,7 @@
#
# Build types.hal (Flash)
#
-GEN := $(intermediates)/android/hardware/light/2.0/Flash.java
+GEN := $(intermediates)/android/hardware/light/V2_0/Flash.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -189,7 +189,7 @@
#
# Build types.hal (LightState)
#
-GEN := $(intermediates)/android/hardware/light/2.0/LightState.java
+GEN := $(intermediates)/android/hardware/light/V2_0/LightState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -208,7 +208,7 @@
#
# Build types.hal (Status)
#
-GEN := $(intermediates)/android/hardware/light/2.0/Status.java
+GEN := $(intermediates)/android/hardware/light/V2_0/Status.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -227,7 +227,7 @@
#
# Build types.hal (Type)
#
-GEN := $(intermediates)/android/hardware/light/2.0/Type.java
+GEN := $(intermediates)/android/hardware/light/V2_0/Type.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -246,7 +246,7 @@
#
# Build ILight.hal
#
-GEN := $(intermediates)/android/hardware/light/2.0/ILight.java
+GEN := $(intermediates)/android/hardware/light/V2_0/ILight.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ILight.hal
diff --git a/light/2.0/vts/functional/Android.bp b/light/2.0/vts/functional/Android.bp
index b290b59..889457f 100644
--- a/light/2.0/vts/functional/Android.bp
+++ b/light/2.0/vts/functional/Android.bp
@@ -20,14 +20,19 @@
srcs: ["light_hidl_hal_test.cpp"],
shared_libs: [
"libbase",
+ "libhidlbase",
"liblog",
"libutils",
"android.hardware.light@2.0",
],
static_libs: ["libgtest"],
cflags: [
+ "--coverage",
"-O0",
"-g",
],
+ ldflags: [
+ "--coverage"
+ ]
}
diff --git a/memtrack/1.0/Android.mk b/memtrack/1.0/Android.mk
index c4b0c57..eeb67f6 100644
--- a/memtrack/1.0/Android.mk
+++ b/memtrack/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (MemtrackFlag)
#
-GEN := $(intermediates)/android/hardware/memtrack/1.0/MemtrackFlag.java
+GEN := $(intermediates)/android/hardware/memtrack/V1_0/MemtrackFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (MemtrackRecord)
#
-GEN := $(intermediates)/android/hardware/memtrack/1.0/MemtrackRecord.java
+GEN := $(intermediates)/android/hardware/memtrack/V1_0/MemtrackRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (MemtrackStatus)
#
-GEN := $(intermediates)/android/hardware/memtrack/1.0/MemtrackStatus.java
+GEN := $(intermediates)/android/hardware/memtrack/V1_0/MemtrackStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build types.hal (MemtrackType)
#
-GEN := $(intermediates)/android/hardware/memtrack/1.0/MemtrackType.java
+GEN := $(intermediates)/android/hardware/memtrack/V1_0/MemtrackType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -95,7 +95,7 @@
#
# Build IMemtrack.hal
#
-GEN := $(intermediates)/android/hardware/memtrack/1.0/IMemtrack.java
+GEN := $(intermediates)/android/hardware/memtrack/V1_0/IMemtrack.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IMemtrack.hal
@@ -132,7 +132,7 @@
#
# Build types.hal (MemtrackFlag)
#
-GEN := $(intermediates)/android/hardware/memtrack/1.0/MemtrackFlag.java
+GEN := $(intermediates)/android/hardware/memtrack/V1_0/MemtrackFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -151,7 +151,7 @@
#
# Build types.hal (MemtrackRecord)
#
-GEN := $(intermediates)/android/hardware/memtrack/1.0/MemtrackRecord.java
+GEN := $(intermediates)/android/hardware/memtrack/V1_0/MemtrackRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -170,7 +170,7 @@
#
# Build types.hal (MemtrackStatus)
#
-GEN := $(intermediates)/android/hardware/memtrack/1.0/MemtrackStatus.java
+GEN := $(intermediates)/android/hardware/memtrack/V1_0/MemtrackStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -189,7 +189,7 @@
#
# Build types.hal (MemtrackType)
#
-GEN := $(intermediates)/android/hardware/memtrack/1.0/MemtrackType.java
+GEN := $(intermediates)/android/hardware/memtrack/V1_0/MemtrackType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -208,7 +208,7 @@
#
# Build IMemtrack.hal
#
-GEN := $(intermediates)/android/hardware/memtrack/1.0/IMemtrack.java
+GEN := $(intermediates)/android/hardware/memtrack/V1_0/IMemtrack.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IMemtrack.hal
diff --git a/nfc/1.0/Android.bp b/nfc/1.0/Android.bp
index 518b8e3..0c70f10 100644
--- a/nfc/1.0/Android.bp
+++ b/nfc/1.0/Android.bp
@@ -62,3 +62,65 @@
"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) -L vts -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) -L vts -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",
+ ],
+}
diff --git a/nfc/1.0/Android.mk b/nfc/1.0/Android.mk
index f534944..823bde5 100644
--- a/nfc/1.0/Android.mk
+++ b/nfc/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (NfcEvent)
#
-GEN := $(intermediates)/android/hardware/nfc/1.0/NfcEvent.java
+GEN := $(intermediates)/android/hardware/nfc/V1_0/NfcEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (NfcStatus)
#
-GEN := $(intermediates)/android/hardware/nfc/1.0/NfcStatus.java
+GEN := $(intermediates)/android/hardware/nfc/V1_0/NfcStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build INfc.hal
#
-GEN := $(intermediates)/android/hardware/nfc/1.0/INfc.java
+GEN := $(intermediates)/android/hardware/nfc/V1_0/INfc.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/INfc.hal
@@ -80,7 +80,7 @@
#
# Build INfcClientCallback.hal
#
-GEN := $(intermediates)/android/hardware/nfc/1.0/INfcClientCallback.java
+GEN := $(intermediates)/android/hardware/nfc/V1_0/INfcClientCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/INfcClientCallback.hal
@@ -117,7 +117,7 @@
#
# Build types.hal (NfcEvent)
#
-GEN := $(intermediates)/android/hardware/nfc/1.0/NfcEvent.java
+GEN := $(intermediates)/android/hardware/nfc/V1_0/NfcEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -136,7 +136,7 @@
#
# Build types.hal (NfcStatus)
#
-GEN := $(intermediates)/android/hardware/nfc/1.0/NfcStatus.java
+GEN := $(intermediates)/android/hardware/nfc/V1_0/NfcStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -155,7 +155,7 @@
#
# Build INfc.hal
#
-GEN := $(intermediates)/android/hardware/nfc/1.0/INfc.java
+GEN := $(intermediates)/android/hardware/nfc/V1_0/INfc.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/INfc.hal
@@ -178,7 +178,7 @@
#
# Build INfcClientCallback.hal
#
-GEN := $(intermediates)/android/hardware/nfc/1.0/INfcClientCallback.java
+GEN := $(intermediates)/android/hardware/nfc/V1_0/INfcClientCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/INfcClientCallback.hal
@@ -208,7 +208,7 @@
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
-GEN := $(intermediates)/android/hardware/nfc/1.0/Constants.java
+GEN := $(intermediates)/android/hardware/nfc/V1_0/Constants.java
$(GEN): $(HIDL)
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/INfc.hal
diff --git a/nfc/1.0/vts/Android.mk b/nfc/1.0/vts/Android.mk
index b008b63..e7dec14 100644
--- a/nfc/1.0/vts/Android.mk
+++ b/nfc/1.0/vts/Android.mk
@@ -5,7 +5,7 @@
# 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
+# 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,
@@ -16,37 +16,6 @@
LOCAL_PATH := $(call my-dir)
-# build VTS driver for Nfc v1.0.
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libvts_driver_hidl_nfc@1.0
-
-LOCAL_SRC_FILES := \
- Nfc.vts \
- NfcClientCallback.vts \
- types.vts \
-
-LOCAL_SHARED_LIBRARIES += \
- android.hardware.nfc@1.0 \
- libbase \
- libutils \
- libcutils \
- liblog \
- libhidlbase \
- libhidltransport \
- libhwbinder \
- libprotobuf-cpp-full \
- libvts_common \
- libvts_datatype \
- libvts_measurement \
- libvts_multidevice_proto \
-
-LOCAL_PROTOC_OPTIMIZE_TYPE := full
-
-LOCAL_MULTILIB := both
-
-include $(BUILD_SHARED_LIBRARY)
-
# build profiler for Nfc.
include $(CLEAR_VARS)
diff --git a/power/1.0/Android.mk b/power/1.0/Android.mk
index 9d146ca..4e11867 100644
--- a/power/1.0/Android.mk
+++ b/power/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (Feature)
#
-GEN := $(intermediates)/android/hardware/power/1.0/Feature.java
+GEN := $(intermediates)/android/hardware/power/V1_0/Feature.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (PowerHint)
#
-GEN := $(intermediates)/android/hardware/power/1.0/PowerHint.java
+GEN := $(intermediates)/android/hardware/power/V1_0/PowerHint.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (PowerStatePlatformSleepState)
#
-GEN := $(intermediates)/android/hardware/power/1.0/PowerStatePlatformSleepState.java
+GEN := $(intermediates)/android/hardware/power/V1_0/PowerStatePlatformSleepState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build types.hal (PowerStateVoter)
#
-GEN := $(intermediates)/android/hardware/power/1.0/PowerStateVoter.java
+GEN := $(intermediates)/android/hardware/power/V1_0/PowerStateVoter.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -95,7 +95,7 @@
#
# Build types.hal (Status)
#
-GEN := $(intermediates)/android/hardware/power/1.0/Status.java
+GEN := $(intermediates)/android/hardware/power/V1_0/Status.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -114,7 +114,7 @@
#
# Build IPower.hal
#
-GEN := $(intermediates)/android/hardware/power/1.0/IPower.java
+GEN := $(intermediates)/android/hardware/power/V1_0/IPower.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IPower.hal
@@ -151,7 +151,7 @@
#
# Build types.hal (Feature)
#
-GEN := $(intermediates)/android/hardware/power/1.0/Feature.java
+GEN := $(intermediates)/android/hardware/power/V1_0/Feature.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -170,7 +170,7 @@
#
# Build types.hal (PowerHint)
#
-GEN := $(intermediates)/android/hardware/power/1.0/PowerHint.java
+GEN := $(intermediates)/android/hardware/power/V1_0/PowerHint.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -189,7 +189,7 @@
#
# Build types.hal (PowerStatePlatformSleepState)
#
-GEN := $(intermediates)/android/hardware/power/1.0/PowerStatePlatformSleepState.java
+GEN := $(intermediates)/android/hardware/power/V1_0/PowerStatePlatformSleepState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -208,7 +208,7 @@
#
# Build types.hal (PowerStateVoter)
#
-GEN := $(intermediates)/android/hardware/power/1.0/PowerStateVoter.java
+GEN := $(intermediates)/android/hardware/power/V1_0/PowerStateVoter.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -227,7 +227,7 @@
#
# Build types.hal (Status)
#
-GEN := $(intermediates)/android/hardware/power/1.0/Status.java
+GEN := $(intermediates)/android/hardware/power/V1_0/Status.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -246,7 +246,7 @@
#
# Build IPower.hal
#
-GEN := $(intermediates)/android/hardware/power/1.0/IPower.java
+GEN := $(intermediates)/android/hardware/power/V1_0/IPower.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IPower.hal
diff --git a/power/1.0/vts/Android.mk b/power/1.0/vts/Android.mk
index 887b6bf..4164baf 100644
--- a/power/1.0/vts/Android.mk
+++ b/power/1.0/vts/Android.mk
@@ -77,3 +77,5 @@
LOCAL_PROTOC_OPTIMIZE_TYPE := full
include $(BUILD_SHARED_LIBRARY)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/power/1.0/vts/functional/Android.mk b/power/1.0/vts/functional/Android.mk
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/power/1.0/vts/functional/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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 af6eb86..8833c04 100644
--- a/power/1.0/vts/functional/power_hidl_hal_test.cpp
+++ b/power/1.0/vts/functional/power_hidl_hal_test.cpp
@@ -17,6 +17,8 @@
#define LOG_TAG "power_hidl_hal_test"
#include <android-base/logging.h>
+#include <cutils/properties.h>
+
#include <android/hardware/power/1.0/IPower.h>
#include <gtest/gtest.h>
@@ -33,8 +35,18 @@
class PowerHidlTest : public ::testing::Test {
public:
virtual void SetUp() override {
- power = IPower::getService("power");
+ // TODO(b/33385836) Delete copied code
+ bool getStub = false;
+ char getSubProperty[PROPERTY_VALUE_MAX];
+ if (property_get("vts.hidl.get_stub", getSubProperty, "") > 0) {
+ if (!strcmp(getSubProperty, "true") || !strcmp(getSubProperty, "True") ||
+ !strcmp(getSubProperty, "1")) {
+ getStub = true;
+ }
+ }
+ power = IPower::getService("power", getStub);
ASSERT_NE(power, nullptr);
+ ASSERT_EQ(!getStub, power->isRemote());
}
virtual void TearDown() override {}
diff --git a/power/1.0/vts/functional/vts/Android.mk b/power/1.0/vts/functional/vts/Android.mk
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/power/1.0/vts/functional/vts/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/power/1.0/vts/functional/vts/testcases/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/power/1.0/vts/functional/vts/testcases/hal/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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/Android.mk b/radio/1.0/Android.mk
index faed33a..c645657 100644
--- a/radio/1.0/Android.mk
+++ b/radio/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (ActivityStatsInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ActivityStatsInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ActivityStatsInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (ApnAuthType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ApnAuthType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ApnAuthType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (AppState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/AppState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/AppState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build types.hal (AppStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/AppStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/AppStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -95,7 +95,7 @@
#
# Build types.hal (AppType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/AppType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/AppType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -114,7 +114,7 @@
#
# Build types.hal (Call)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/Call.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/Call.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -133,7 +133,7 @@
#
# Build types.hal (CallForwardInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CallForwardInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CallForwardInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -152,7 +152,7 @@
#
# Build types.hal (CallForwardInfoStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CallForwardInfoStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CallForwardInfoStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -171,7 +171,7 @@
#
# Build types.hal (CallPresentation)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CallPresentation.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CallPresentation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -190,7 +190,7 @@
#
# Build types.hal (CallState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CallState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CallState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -209,7 +209,7 @@
#
# Build types.hal (CardState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CardState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CardState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -228,7 +228,7 @@
#
# Build types.hal (CardStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CardStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CardStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -247,7 +247,7 @@
#
# Build types.hal (Carrier)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/Carrier.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/Carrier.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -266,7 +266,7 @@
#
# Build types.hal (CarrierMatchType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CarrierMatchType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CarrierMatchType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -285,7 +285,7 @@
#
# Build types.hal (CarrierRestrictions)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CarrierRestrictions.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CarrierRestrictions.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -304,7 +304,7 @@
#
# Build types.hal (CdmaBroadcastSmsConfigInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaBroadcastSmsConfigInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaBroadcastSmsConfigInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -323,7 +323,7 @@
#
# Build types.hal (CdmaCallWaiting)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaCallWaiting.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaCallWaiting.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -342,7 +342,7 @@
#
# Build types.hal (CdmaCallWaitingNumberPlan)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaCallWaitingNumberPlan.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaCallWaitingNumberPlan.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -361,7 +361,7 @@
#
# Build types.hal (CdmaCallWaitingNumberPresentation)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaCallWaitingNumberPresentation.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaCallWaitingNumberPresentation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -380,7 +380,7 @@
#
# Build types.hal (CdmaCallWaitingNumberType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaCallWaitingNumberType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaCallWaitingNumberType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -399,7 +399,7 @@
#
# Build types.hal (CdmaDisplayInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaDisplayInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaDisplayInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -418,7 +418,7 @@
#
# Build types.hal (CdmaInfoRecName)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaInfoRecName.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaInfoRecName.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -437,7 +437,7 @@
#
# Build types.hal (CdmaInformationRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaInformationRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaInformationRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -456,7 +456,7 @@
#
# Build types.hal (CdmaInformationRecords)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaInformationRecords.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaInformationRecords.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -475,7 +475,7 @@
#
# Build types.hal (CdmaLineControlInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaLineControlInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaLineControlInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -494,7 +494,7 @@
#
# Build types.hal (CdmaNumberInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaNumberInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaNumberInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -513,7 +513,7 @@
#
# Build types.hal (CdmaOtaProvisionStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaOtaProvisionStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaOtaProvisionStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -532,7 +532,7 @@
#
# Build types.hal (CdmaRedirectingNumberInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaRedirectingNumberInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaRedirectingNumberInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -551,7 +551,7 @@
#
# Build types.hal (CdmaRedirectingReason)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaRedirectingReason.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaRedirectingReason.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -570,7 +570,7 @@
#
# Build types.hal (CdmaRoamingType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaRoamingType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaRoamingType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -589,7 +589,7 @@
#
# Build types.hal (CdmaSignalInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSignalInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSignalInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -608,7 +608,7 @@
#
# Build types.hal (CdmaSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -627,7 +627,7 @@
#
# Build types.hal (CdmaSmsAck)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsAck.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsAck.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -646,7 +646,7 @@
#
# Build types.hal (CdmaSmsAddress)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsAddress.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsAddress.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -665,7 +665,7 @@
#
# Build types.hal (CdmaSmsDigitMode)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsDigitMode.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsDigitMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -684,7 +684,7 @@
#
# Build types.hal (CdmaSmsErrorClass)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsErrorClass.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsErrorClass.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -703,7 +703,7 @@
#
# Build types.hal (CdmaSmsMessage)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsMessage.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsMessage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -722,7 +722,7 @@
#
# Build types.hal (CdmaSmsNumberMode)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsNumberMode.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsNumberMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -741,7 +741,7 @@
#
# Build types.hal (CdmaSmsNumberPlan)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsNumberPlan.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsNumberPlan.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -760,7 +760,7 @@
#
# Build types.hal (CdmaSmsNumberType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsNumberType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsNumberType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -779,7 +779,7 @@
#
# Build types.hal (CdmaSmsSubaddress)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsSubaddress.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsSubaddress.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -798,7 +798,7 @@
#
# Build types.hal (CdmaSmsSubaddressType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsSubaddressType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsSubaddressType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -817,7 +817,7 @@
#
# Build types.hal (CdmaSmsWriteArgs)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsWriteArgs.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsWriteArgs.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -836,7 +836,7 @@
#
# Build types.hal (CdmaSmsWriteArgsStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsWriteArgsStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsWriteArgsStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -855,7 +855,7 @@
#
# Build types.hal (CdmaSubscriptionSource)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSubscriptionSource.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSubscriptionSource.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -874,7 +874,7 @@
#
# Build types.hal (CdmaT53AudioControlInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaT53AudioControlInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaT53AudioControlInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -893,7 +893,7 @@
#
# Build types.hal (CdmaT53ClirInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaT53ClirInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaT53ClirInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -912,7 +912,7 @@
#
# Build types.hal (CellIdentityCdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellIdentityCdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellIdentityCdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -931,7 +931,7 @@
#
# Build types.hal (CellIdentityGsm)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellIdentityGsm.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellIdentityGsm.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -950,7 +950,7 @@
#
# Build types.hal (CellIdentityLte)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellIdentityLte.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellIdentityLte.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -969,7 +969,7 @@
#
# Build types.hal (CellIdentityTdscdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellIdentityTdscdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellIdentityTdscdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -988,7 +988,7 @@
#
# Build types.hal (CellIdentityWcdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellIdentityWcdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellIdentityWcdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1007,7 +1007,7 @@
#
# Build types.hal (CellInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1026,7 +1026,7 @@
#
# Build types.hal (CellInfoCdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoCdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoCdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1045,7 +1045,7 @@
#
# Build types.hal (CellInfoGsm)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoGsm.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoGsm.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1064,7 +1064,7 @@
#
# Build types.hal (CellInfoLte)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoLte.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoLte.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1083,7 +1083,7 @@
#
# Build types.hal (CellInfoTdscdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoTdscdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoTdscdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1102,7 +1102,7 @@
#
# Build types.hal (CellInfoType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1121,7 +1121,7 @@
#
# Build types.hal (CellInfoWcdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoWcdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoWcdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1140,7 +1140,7 @@
#
# Build types.hal (CfData)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CfData.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CfData.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1159,7 +1159,7 @@
#
# Build types.hal (ClipStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ClipStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ClipStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1178,7 +1178,7 @@
#
# Build types.hal (Clir)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/Clir.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/Clir.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1197,7 +1197,7 @@
#
# Build types.hal (DataCallFailCause)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/DataCallFailCause.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataCallFailCause.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1216,7 +1216,7 @@
#
# Build types.hal (DataProfile)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/DataProfile.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataProfile.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1235,7 +1235,7 @@
#
# Build types.hal (DataProfileInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/DataProfileInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataProfileInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1254,7 +1254,7 @@
#
# Build types.hal (DataProfileInfoType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/DataProfileInfoType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataProfileInfoType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1273,7 +1273,7 @@
#
# Build types.hal (DataRegStateResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/DataRegStateResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataRegStateResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1292,7 +1292,7 @@
#
# Build types.hal (Dial)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/Dial.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/Dial.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1311,7 +1311,7 @@
#
# Build types.hal (EvdoSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/EvdoSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/EvdoSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1330,7 +1330,7 @@
#
# Build types.hal (GsmBroadcastSmsConfigInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/GsmBroadcastSmsConfigInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/GsmBroadcastSmsConfigInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1349,7 +1349,7 @@
#
# Build types.hal (GsmSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/GsmSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/GsmSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1368,7 +1368,7 @@
#
# Build types.hal (GsmSmsMessage)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/GsmSmsMessage.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/GsmSmsMessage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1387,7 +1387,7 @@
#
# Build types.hal (HardwareConfig)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/HardwareConfig.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/HardwareConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1406,7 +1406,7 @@
#
# Build types.hal (HardwareConfigModem)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/HardwareConfigModem.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/HardwareConfigModem.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1425,7 +1425,7 @@
#
# Build types.hal (HardwareConfigSim)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/HardwareConfigSim.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/HardwareConfigSim.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1444,7 +1444,7 @@
#
# Build types.hal (HardwareConfigState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/HardwareConfigState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/HardwareConfigState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1463,7 +1463,7 @@
#
# Build types.hal (HardwareConfigType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/HardwareConfigType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/HardwareConfigType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1482,7 +1482,7 @@
#
# Build types.hal (IccIo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/IccIo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/IccIo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1501,7 +1501,7 @@
#
# Build types.hal (IccIoResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/IccIoResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/IccIoResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1520,7 +1520,7 @@
#
# Build types.hal (ImsSmsMessage)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ImsSmsMessage.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ImsSmsMessage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1539,7 +1539,7 @@
#
# Build types.hal (LastCallFailCause)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/LastCallFailCause.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/LastCallFailCause.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1558,7 +1558,7 @@
#
# Build types.hal (LceDataInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/LceDataInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/LceDataInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1577,7 +1577,7 @@
#
# Build types.hal (LceStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/LceStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/LceStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1596,7 +1596,7 @@
#
# Build types.hal (LceStatusInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/LceStatusInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/LceStatusInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1615,7 +1615,7 @@
#
# Build types.hal (LteSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/LteSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/LteSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1634,7 +1634,7 @@
#
# Build types.hal (NeighboringCell)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/NeighboringCell.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/NeighboringCell.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1653,7 +1653,7 @@
#
# Build types.hal (NvItem)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/NvItem.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/NvItem.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1672,7 +1672,7 @@
#
# Build types.hal (NvWriteItem)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/NvWriteItem.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/NvWriteItem.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1691,7 +1691,7 @@
#
# Build types.hal (OperatorInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/OperatorInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/OperatorInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1710,7 +1710,7 @@
#
# Build types.hal (OperatorStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/OperatorStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/OperatorStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1729,7 +1729,7 @@
#
# Build types.hal (PcoDataInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/PcoDataInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/PcoDataInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1748,7 +1748,7 @@
#
# Build types.hal (PersoSubstate)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/PersoSubstate.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/PersoSubstate.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1767,7 +1767,7 @@
#
# Build types.hal (PhoneRestrictedState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/PhoneRestrictedState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/PhoneRestrictedState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1786,7 +1786,7 @@
#
# Build types.hal (PinState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/PinState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/PinState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1805,7 +1805,7 @@
#
# Build types.hal (PreferredNetworkType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/PreferredNetworkType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/PreferredNetworkType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1824,7 +1824,7 @@
#
# Build types.hal (RadioAccessFamily)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioAccessFamily.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioAccessFamily.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1843,7 +1843,7 @@
#
# Build types.hal (RadioBandMode)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioBandMode.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioBandMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1862,7 +1862,7 @@
#
# Build types.hal (RadioCapability)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioCapability.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioCapability.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1881,7 +1881,7 @@
#
# Build types.hal (RadioCapabilityPhase)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioCapabilityPhase.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioCapabilityPhase.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1900,7 +1900,7 @@
#
# Build types.hal (RadioCapabilityStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioCapabilityStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioCapabilityStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1919,7 +1919,7 @@
#
# Build types.hal (RadioCdmaSmsConst)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioCdmaSmsConst.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioCdmaSmsConst.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1938,7 +1938,7 @@
#
# Build types.hal (RadioConst)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioConst.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioConst.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1957,7 +1957,7 @@
#
# Build types.hal (RadioError)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioError.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioError.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1976,7 +1976,7 @@
#
# Build types.hal (RadioIndicationType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioIndicationType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioIndicationType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1995,7 +1995,7 @@
#
# Build types.hal (RadioResponseInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioResponseInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioResponseInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2014,7 +2014,7 @@
#
# Build types.hal (RadioResponseType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioResponseType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioResponseType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2033,7 +2033,7 @@
#
# Build types.hal (RadioState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2052,7 +2052,7 @@
#
# Build types.hal (RadioTechnology)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioTechnology.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioTechnology.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2071,7 +2071,7 @@
#
# Build types.hal (RadioTechnologyFamily)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioTechnologyFamily.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioTechnologyFamily.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2090,7 +2090,7 @@
#
# Build types.hal (RegState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RegState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RegState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2109,7 +2109,7 @@
#
# Build types.hal (ResetNvType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ResetNvType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ResetNvType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2128,7 +2128,7 @@
#
# Build types.hal (RestrictedState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RestrictedState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RestrictedState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2147,7 +2147,7 @@
#
# Build types.hal (SapApduType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapApduType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapApduType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2166,7 +2166,7 @@
#
# Build types.hal (SapConnectRsp)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapConnectRsp.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapConnectRsp.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2185,7 +2185,7 @@
#
# Build types.hal (SapDisconnectType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapDisconnectType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapDisconnectType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2204,7 +2204,7 @@
#
# Build types.hal (SapResultCode)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapResultCode.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapResultCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2223,7 +2223,7 @@
#
# Build types.hal (SapStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2242,7 +2242,7 @@
#
# Build types.hal (SapTransferProtocol)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapTransferProtocol.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapTransferProtocol.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2261,7 +2261,7 @@
#
# Build types.hal (SelectUiccSub)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SelectUiccSub.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SelectUiccSub.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2280,7 +2280,7 @@
#
# Build types.hal (SendSmsResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SendSmsResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SendSmsResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2299,7 +2299,7 @@
#
# Build types.hal (SetupDataCallResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SetupDataCallResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SetupDataCallResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2318,7 +2318,7 @@
#
# Build types.hal (SignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2337,7 +2337,7 @@
#
# Build types.hal (SimApdu)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SimApdu.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SimApdu.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2356,7 +2356,7 @@
#
# Build types.hal (SimRefreshResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SimRefreshResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SimRefreshResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2375,7 +2375,7 @@
#
# Build types.hal (SimRefreshType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SimRefreshType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SimRefreshType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2394,7 +2394,7 @@
#
# Build types.hal (SmsAcknowledgeFailCause)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SmsAcknowledgeFailCause.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SmsAcknowledgeFailCause.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2413,7 +2413,7 @@
#
# Build types.hal (SmsWriteArgs)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SmsWriteArgs.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SmsWriteArgs.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2432,7 +2432,7 @@
#
# Build types.hal (SmsWriteArgsStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SmsWriteArgsStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SmsWriteArgsStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2451,7 +2451,7 @@
#
# Build types.hal (SrvccState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SrvccState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SrvccState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2470,7 +2470,7 @@
#
# Build types.hal (SsInfoData)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SsInfoData.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SsInfoData.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2489,7 +2489,7 @@
#
# Build types.hal (SsRequestType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SsRequestType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SsRequestType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2508,7 +2508,7 @@
#
# Build types.hal (SsServiceType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SsServiceType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SsServiceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2527,7 +2527,7 @@
#
# Build types.hal (SsTeleserviceType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SsTeleserviceType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SsTeleserviceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2546,7 +2546,7 @@
#
# Build types.hal (StkCcUnsolSsResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/StkCcUnsolSsResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/StkCcUnsolSsResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2565,7 +2565,7 @@
#
# Build types.hal (SubscriptionType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SubscriptionType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SubscriptionType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2584,7 +2584,7 @@
#
# Build types.hal (SuppServiceClass)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SuppServiceClass.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SuppServiceClass.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2603,7 +2603,7 @@
#
# Build types.hal (SuppSvcNotification)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SuppSvcNotification.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SuppSvcNotification.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2622,7 +2622,7 @@
#
# Build types.hal (TdScdmaSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/TdScdmaSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/TdScdmaSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2641,7 +2641,7 @@
#
# Build types.hal (TimeStampType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/TimeStampType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/TimeStampType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2660,7 +2660,7 @@
#
# Build types.hal (TtyMode)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/TtyMode.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/TtyMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2679,7 +2679,7 @@
#
# Build types.hal (UiccSubActStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/UiccSubActStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/UiccSubActStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2698,7 +2698,7 @@
#
# Build types.hal (UssdModeType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/UssdModeType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/UssdModeType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2717,7 +2717,7 @@
#
# Build types.hal (UusDcs)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/UusDcs.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/UusDcs.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2736,7 +2736,7 @@
#
# Build types.hal (UusInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/UusInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/UusInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2755,7 +2755,7 @@
#
# Build types.hal (UusType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/UusType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/UusType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2774,7 +2774,7 @@
#
# Build types.hal (VoiceRegStateResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/VoiceRegStateResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/VoiceRegStateResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2793,7 +2793,7 @@
#
# Build types.hal (WcdmaSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/WcdmaSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/WcdmaSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2812,7 +2812,7 @@
#
# Build IRadio.hal
#
-GEN := $(intermediates)/android/hardware/radio/1.0/IRadio.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/IRadio.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IRadio.hal
@@ -2837,7 +2837,7 @@
#
# Build IRadioIndication.hal
#
-GEN := $(intermediates)/android/hardware/radio/1.0/IRadioIndication.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/IRadioIndication.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IRadioIndication.hal
@@ -2858,7 +2858,7 @@
#
# Build IRadioResponse.hal
#
-GEN := $(intermediates)/android/hardware/radio/1.0/IRadioResponse.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/IRadioResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IRadioResponse.hal
@@ -2879,7 +2879,7 @@
#
# Build ISap.hal
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ISap.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ISap.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISap.hal
@@ -2902,7 +2902,7 @@
#
# Build ISapCallback.hal
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ISapCallback.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ISapCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISapCallback.hal
@@ -2939,7 +2939,7 @@
#
# Build types.hal (ActivityStatsInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ActivityStatsInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ActivityStatsInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2958,7 +2958,7 @@
#
# Build types.hal (ApnAuthType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ApnAuthType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ApnAuthType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2977,7 +2977,7 @@
#
# Build types.hal (AppState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/AppState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/AppState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2996,7 +2996,7 @@
#
# Build types.hal (AppStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/AppStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/AppStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3015,7 +3015,7 @@
#
# Build types.hal (AppType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/AppType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/AppType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3034,7 +3034,7 @@
#
# Build types.hal (Call)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/Call.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/Call.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3053,7 +3053,7 @@
#
# Build types.hal (CallForwardInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CallForwardInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CallForwardInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3072,7 +3072,7 @@
#
# Build types.hal (CallForwardInfoStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CallForwardInfoStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CallForwardInfoStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3091,7 +3091,7 @@
#
# Build types.hal (CallPresentation)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CallPresentation.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CallPresentation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3110,7 +3110,7 @@
#
# Build types.hal (CallState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CallState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CallState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3129,7 +3129,7 @@
#
# Build types.hal (CardState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CardState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CardState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3148,7 +3148,7 @@
#
# Build types.hal (CardStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CardStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CardStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3167,7 +3167,7 @@
#
# Build types.hal (Carrier)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/Carrier.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/Carrier.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3186,7 +3186,7 @@
#
# Build types.hal (CarrierMatchType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CarrierMatchType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CarrierMatchType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3205,7 +3205,7 @@
#
# Build types.hal (CarrierRestrictions)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CarrierRestrictions.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CarrierRestrictions.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3224,7 +3224,7 @@
#
# Build types.hal (CdmaBroadcastSmsConfigInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaBroadcastSmsConfigInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaBroadcastSmsConfigInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3243,7 +3243,7 @@
#
# Build types.hal (CdmaCallWaiting)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaCallWaiting.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaCallWaiting.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3262,7 +3262,7 @@
#
# Build types.hal (CdmaCallWaitingNumberPlan)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaCallWaitingNumberPlan.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaCallWaitingNumberPlan.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3281,7 +3281,7 @@
#
# Build types.hal (CdmaCallWaitingNumberPresentation)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaCallWaitingNumberPresentation.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaCallWaitingNumberPresentation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3300,7 +3300,7 @@
#
# Build types.hal (CdmaCallWaitingNumberType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaCallWaitingNumberType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaCallWaitingNumberType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3319,7 +3319,7 @@
#
# Build types.hal (CdmaDisplayInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaDisplayInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaDisplayInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3338,7 +3338,7 @@
#
# Build types.hal (CdmaInfoRecName)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaInfoRecName.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaInfoRecName.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3357,7 +3357,7 @@
#
# Build types.hal (CdmaInformationRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaInformationRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaInformationRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3376,7 +3376,7 @@
#
# Build types.hal (CdmaInformationRecords)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaInformationRecords.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaInformationRecords.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3395,7 +3395,7 @@
#
# Build types.hal (CdmaLineControlInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaLineControlInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaLineControlInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3414,7 +3414,7 @@
#
# Build types.hal (CdmaNumberInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaNumberInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaNumberInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3433,7 +3433,7 @@
#
# Build types.hal (CdmaOtaProvisionStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaOtaProvisionStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaOtaProvisionStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3452,7 +3452,7 @@
#
# Build types.hal (CdmaRedirectingNumberInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaRedirectingNumberInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaRedirectingNumberInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3471,7 +3471,7 @@
#
# Build types.hal (CdmaRedirectingReason)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaRedirectingReason.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaRedirectingReason.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3490,7 +3490,7 @@
#
# Build types.hal (CdmaRoamingType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaRoamingType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaRoamingType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3509,7 +3509,7 @@
#
# Build types.hal (CdmaSignalInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSignalInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSignalInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3528,7 +3528,7 @@
#
# Build types.hal (CdmaSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3547,7 +3547,7 @@
#
# Build types.hal (CdmaSmsAck)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsAck.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsAck.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3566,7 +3566,7 @@
#
# Build types.hal (CdmaSmsAddress)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsAddress.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsAddress.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3585,7 +3585,7 @@
#
# Build types.hal (CdmaSmsDigitMode)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsDigitMode.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsDigitMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3604,7 +3604,7 @@
#
# Build types.hal (CdmaSmsErrorClass)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsErrorClass.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsErrorClass.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3623,7 +3623,7 @@
#
# Build types.hal (CdmaSmsMessage)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsMessage.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsMessage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3642,7 +3642,7 @@
#
# Build types.hal (CdmaSmsNumberMode)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsNumberMode.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsNumberMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3661,7 +3661,7 @@
#
# Build types.hal (CdmaSmsNumberPlan)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsNumberPlan.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsNumberPlan.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3680,7 +3680,7 @@
#
# Build types.hal (CdmaSmsNumberType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsNumberType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsNumberType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3699,7 +3699,7 @@
#
# Build types.hal (CdmaSmsSubaddress)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsSubaddress.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsSubaddress.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3718,7 +3718,7 @@
#
# Build types.hal (CdmaSmsSubaddressType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsSubaddressType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsSubaddressType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3737,7 +3737,7 @@
#
# Build types.hal (CdmaSmsWriteArgs)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsWriteArgs.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsWriteArgs.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3756,7 +3756,7 @@
#
# Build types.hal (CdmaSmsWriteArgsStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSmsWriteArgsStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSmsWriteArgsStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3775,7 +3775,7 @@
#
# Build types.hal (CdmaSubscriptionSource)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaSubscriptionSource.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaSubscriptionSource.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3794,7 +3794,7 @@
#
# Build types.hal (CdmaT53AudioControlInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaT53AudioControlInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaT53AudioControlInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3813,7 +3813,7 @@
#
# Build types.hal (CdmaT53ClirInfoRecord)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CdmaT53ClirInfoRecord.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CdmaT53ClirInfoRecord.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3832,7 +3832,7 @@
#
# Build types.hal (CellIdentityCdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellIdentityCdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellIdentityCdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3851,7 +3851,7 @@
#
# Build types.hal (CellIdentityGsm)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellIdentityGsm.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellIdentityGsm.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3870,7 +3870,7 @@
#
# Build types.hal (CellIdentityLte)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellIdentityLte.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellIdentityLte.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3889,7 +3889,7 @@
#
# Build types.hal (CellIdentityTdscdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellIdentityTdscdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellIdentityTdscdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3908,7 +3908,7 @@
#
# Build types.hal (CellIdentityWcdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellIdentityWcdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellIdentityWcdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3927,7 +3927,7 @@
#
# Build types.hal (CellInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3946,7 +3946,7 @@
#
# Build types.hal (CellInfoCdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoCdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoCdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3965,7 +3965,7 @@
#
# Build types.hal (CellInfoGsm)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoGsm.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoGsm.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3984,7 +3984,7 @@
#
# Build types.hal (CellInfoLte)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoLte.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoLte.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4003,7 +4003,7 @@
#
# Build types.hal (CellInfoTdscdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoTdscdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoTdscdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4022,7 +4022,7 @@
#
# Build types.hal (CellInfoType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4041,7 +4041,7 @@
#
# Build types.hal (CellInfoWcdma)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CellInfoWcdma.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CellInfoWcdma.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4060,7 +4060,7 @@
#
# Build types.hal (CfData)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/CfData.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/CfData.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4079,7 +4079,7 @@
#
# Build types.hal (ClipStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ClipStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ClipStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4098,7 +4098,7 @@
#
# Build types.hal (Clir)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/Clir.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/Clir.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4117,7 +4117,7 @@
#
# Build types.hal (DataCallFailCause)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/DataCallFailCause.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataCallFailCause.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4136,7 +4136,7 @@
#
# Build types.hal (DataProfile)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/DataProfile.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataProfile.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4155,7 +4155,7 @@
#
# Build types.hal (DataProfileInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/DataProfileInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataProfileInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4174,7 +4174,7 @@
#
# Build types.hal (DataProfileInfoType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/DataProfileInfoType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataProfileInfoType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4193,7 +4193,7 @@
#
# Build types.hal (DataRegStateResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/DataRegStateResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/DataRegStateResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4212,7 +4212,7 @@
#
# Build types.hal (Dial)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/Dial.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/Dial.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4231,7 +4231,7 @@
#
# Build types.hal (EvdoSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/EvdoSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/EvdoSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4250,7 +4250,7 @@
#
# Build types.hal (GsmBroadcastSmsConfigInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/GsmBroadcastSmsConfigInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/GsmBroadcastSmsConfigInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4269,7 +4269,7 @@
#
# Build types.hal (GsmSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/GsmSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/GsmSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4288,7 +4288,7 @@
#
# Build types.hal (GsmSmsMessage)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/GsmSmsMessage.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/GsmSmsMessage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4307,7 +4307,7 @@
#
# Build types.hal (HardwareConfig)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/HardwareConfig.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/HardwareConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4326,7 +4326,7 @@
#
# Build types.hal (HardwareConfigModem)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/HardwareConfigModem.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/HardwareConfigModem.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4345,7 +4345,7 @@
#
# Build types.hal (HardwareConfigSim)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/HardwareConfigSim.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/HardwareConfigSim.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4364,7 +4364,7 @@
#
# Build types.hal (HardwareConfigState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/HardwareConfigState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/HardwareConfigState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4383,7 +4383,7 @@
#
# Build types.hal (HardwareConfigType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/HardwareConfigType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/HardwareConfigType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4402,7 +4402,7 @@
#
# Build types.hal (IccIo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/IccIo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/IccIo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4421,7 +4421,7 @@
#
# Build types.hal (IccIoResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/IccIoResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/IccIoResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4440,7 +4440,7 @@
#
# Build types.hal (ImsSmsMessage)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ImsSmsMessage.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ImsSmsMessage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4459,7 +4459,7 @@
#
# Build types.hal (LastCallFailCause)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/LastCallFailCause.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/LastCallFailCause.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4478,7 +4478,7 @@
#
# Build types.hal (LceDataInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/LceDataInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/LceDataInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4497,7 +4497,7 @@
#
# Build types.hal (LceStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/LceStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/LceStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4516,7 +4516,7 @@
#
# Build types.hal (LceStatusInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/LceStatusInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/LceStatusInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4535,7 +4535,7 @@
#
# Build types.hal (LteSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/LteSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/LteSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4554,7 +4554,7 @@
#
# Build types.hal (NeighboringCell)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/NeighboringCell.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/NeighboringCell.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4573,7 +4573,7 @@
#
# Build types.hal (NvItem)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/NvItem.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/NvItem.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4592,7 +4592,7 @@
#
# Build types.hal (NvWriteItem)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/NvWriteItem.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/NvWriteItem.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4611,7 +4611,7 @@
#
# Build types.hal (OperatorInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/OperatorInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/OperatorInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4630,7 +4630,7 @@
#
# Build types.hal (OperatorStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/OperatorStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/OperatorStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4649,7 +4649,7 @@
#
# Build types.hal (PcoDataInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/PcoDataInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/PcoDataInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4668,7 +4668,7 @@
#
# Build types.hal (PersoSubstate)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/PersoSubstate.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/PersoSubstate.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4687,7 +4687,7 @@
#
# Build types.hal (PhoneRestrictedState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/PhoneRestrictedState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/PhoneRestrictedState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4706,7 +4706,7 @@
#
# Build types.hal (PinState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/PinState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/PinState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4725,7 +4725,7 @@
#
# Build types.hal (PreferredNetworkType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/PreferredNetworkType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/PreferredNetworkType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4744,7 +4744,7 @@
#
# Build types.hal (RadioAccessFamily)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioAccessFamily.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioAccessFamily.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4763,7 +4763,7 @@
#
# Build types.hal (RadioBandMode)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioBandMode.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioBandMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4782,7 +4782,7 @@
#
# Build types.hal (RadioCapability)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioCapability.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioCapability.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4801,7 +4801,7 @@
#
# Build types.hal (RadioCapabilityPhase)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioCapabilityPhase.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioCapabilityPhase.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4820,7 +4820,7 @@
#
# Build types.hal (RadioCapabilityStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioCapabilityStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioCapabilityStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4839,7 +4839,7 @@
#
# Build types.hal (RadioCdmaSmsConst)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioCdmaSmsConst.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioCdmaSmsConst.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4858,7 +4858,7 @@
#
# Build types.hal (RadioConst)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioConst.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioConst.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4877,7 +4877,7 @@
#
# Build types.hal (RadioError)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioError.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioError.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4896,7 +4896,7 @@
#
# Build types.hal (RadioIndicationType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioIndicationType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioIndicationType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4915,7 +4915,7 @@
#
# Build types.hal (RadioResponseInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioResponseInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioResponseInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4934,7 +4934,7 @@
#
# Build types.hal (RadioResponseType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioResponseType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioResponseType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4953,7 +4953,7 @@
#
# Build types.hal (RadioState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4972,7 +4972,7 @@
#
# Build types.hal (RadioTechnology)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioTechnology.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioTechnology.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4991,7 +4991,7 @@
#
# Build types.hal (RadioTechnologyFamily)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RadioTechnologyFamily.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RadioTechnologyFamily.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5010,7 +5010,7 @@
#
# Build types.hal (RegState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RegState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RegState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5029,7 +5029,7 @@
#
# Build types.hal (ResetNvType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ResetNvType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ResetNvType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5048,7 +5048,7 @@
#
# Build types.hal (RestrictedState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/RestrictedState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/RestrictedState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5067,7 +5067,7 @@
#
# Build types.hal (SapApduType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapApduType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapApduType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5086,7 +5086,7 @@
#
# Build types.hal (SapConnectRsp)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapConnectRsp.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapConnectRsp.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5105,7 +5105,7 @@
#
# Build types.hal (SapDisconnectType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapDisconnectType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapDisconnectType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5124,7 +5124,7 @@
#
# Build types.hal (SapResultCode)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapResultCode.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapResultCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5143,7 +5143,7 @@
#
# Build types.hal (SapStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5162,7 +5162,7 @@
#
# Build types.hal (SapTransferProtocol)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SapTransferProtocol.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SapTransferProtocol.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5181,7 +5181,7 @@
#
# Build types.hal (SelectUiccSub)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SelectUiccSub.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SelectUiccSub.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5200,7 +5200,7 @@
#
# Build types.hal (SendSmsResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SendSmsResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SendSmsResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5219,7 +5219,7 @@
#
# Build types.hal (SetupDataCallResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SetupDataCallResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SetupDataCallResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5238,7 +5238,7 @@
#
# Build types.hal (SignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5257,7 +5257,7 @@
#
# Build types.hal (SimApdu)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SimApdu.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SimApdu.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5276,7 +5276,7 @@
#
# Build types.hal (SimRefreshResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SimRefreshResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SimRefreshResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5295,7 +5295,7 @@
#
# Build types.hal (SimRefreshType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SimRefreshType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SimRefreshType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5314,7 +5314,7 @@
#
# Build types.hal (SmsAcknowledgeFailCause)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SmsAcknowledgeFailCause.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SmsAcknowledgeFailCause.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5333,7 +5333,7 @@
#
# Build types.hal (SmsWriteArgs)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SmsWriteArgs.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SmsWriteArgs.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5352,7 +5352,7 @@
#
# Build types.hal (SmsWriteArgsStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SmsWriteArgsStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SmsWriteArgsStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5371,7 +5371,7 @@
#
# Build types.hal (SrvccState)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SrvccState.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SrvccState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5390,7 +5390,7 @@
#
# Build types.hal (SsInfoData)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SsInfoData.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SsInfoData.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5409,7 +5409,7 @@
#
# Build types.hal (SsRequestType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SsRequestType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SsRequestType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5428,7 +5428,7 @@
#
# Build types.hal (SsServiceType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SsServiceType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SsServiceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5447,7 +5447,7 @@
#
# Build types.hal (SsTeleserviceType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SsTeleserviceType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SsTeleserviceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5466,7 +5466,7 @@
#
# Build types.hal (StkCcUnsolSsResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/StkCcUnsolSsResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/StkCcUnsolSsResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5485,7 +5485,7 @@
#
# Build types.hal (SubscriptionType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SubscriptionType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SubscriptionType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5504,7 +5504,7 @@
#
# Build types.hal (SuppServiceClass)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SuppServiceClass.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SuppServiceClass.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5523,7 +5523,7 @@
#
# Build types.hal (SuppSvcNotification)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/SuppSvcNotification.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/SuppSvcNotification.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5542,7 +5542,7 @@
#
# Build types.hal (TdScdmaSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/TdScdmaSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/TdScdmaSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5561,7 +5561,7 @@
#
# Build types.hal (TimeStampType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/TimeStampType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/TimeStampType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5580,7 +5580,7 @@
#
# Build types.hal (TtyMode)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/TtyMode.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/TtyMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5599,7 +5599,7 @@
#
# Build types.hal (UiccSubActStatus)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/UiccSubActStatus.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/UiccSubActStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5618,7 +5618,7 @@
#
# Build types.hal (UssdModeType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/UssdModeType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/UssdModeType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5637,7 +5637,7 @@
#
# Build types.hal (UusDcs)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/UusDcs.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/UusDcs.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5656,7 +5656,7 @@
#
# Build types.hal (UusInfo)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/UusInfo.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/UusInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5675,7 +5675,7 @@
#
# Build types.hal (UusType)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/UusType.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/UusType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5694,7 +5694,7 @@
#
# Build types.hal (VoiceRegStateResult)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/VoiceRegStateResult.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/VoiceRegStateResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5713,7 +5713,7 @@
#
# Build types.hal (WcdmaSignalStrength)
#
-GEN := $(intermediates)/android/hardware/radio/1.0/WcdmaSignalStrength.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/WcdmaSignalStrength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -5732,7 +5732,7 @@
#
# Build IRadio.hal
#
-GEN := $(intermediates)/android/hardware/radio/1.0/IRadio.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/IRadio.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IRadio.hal
@@ -5757,7 +5757,7 @@
#
# Build IRadioIndication.hal
#
-GEN := $(intermediates)/android/hardware/radio/1.0/IRadioIndication.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/IRadioIndication.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IRadioIndication.hal
@@ -5778,7 +5778,7 @@
#
# Build IRadioResponse.hal
#
-GEN := $(intermediates)/android/hardware/radio/1.0/IRadioResponse.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/IRadioResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IRadioResponse.hal
@@ -5799,7 +5799,7 @@
#
# Build ISap.hal
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ISap.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ISap.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISap.hal
@@ -5822,7 +5822,7 @@
#
# Build ISapCallback.hal
#
-GEN := $(intermediates)/android/hardware/radio/1.0/ISapCallback.java
+GEN := $(intermediates)/android/hardware/radio/V1_0/ISapCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISapCallback.hal
diff --git a/radio/1.0/types.hal b/radio/1.0/types.hal
index 9c4b453..5b853b4 100644
--- a/radio/1.0/types.hal
+++ b/radio/1.0/types.hal
@@ -51,6 +51,7 @@
};
enum RadioError : int32_t {
+ INVALID_RESPONSE = -1, // Response from vendor had invalid data
NONE = 0, // Success
RADIO_NOT_AVAILABLE = 1, // If radio did not start or is resetting
GENERIC_FAILURE = 2,
diff --git a/sensors/1.0/Android.mk b/sensors/1.0/Android.mk
index 21d8fe1..5784916 100644
--- a/sensors/1.0/Android.mk
+++ b/sensors/1.0/Android.mk
@@ -12,7 +12,7 @@
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
-GEN := $(intermediates)/android/hardware/sensors/1.0/Constants.java
+GEN := $(intermediates)/android/hardware/sensors/V1_0/Constants.java
$(GEN): $(HIDL)
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/ISensors.hal
diff --git a/sensors/1.0/default/Android.bp b/sensors/1.0/default/Android.bp
index 7fbe117..994febe 100644
--- a/sensors/1.0/default/Android.bp
+++ b/sensors/1.0/default/Android.bp
@@ -8,7 +8,6 @@
"libhardware",
"libhwbinder",
"libbase",
- "libcutils",
"libutils",
"libhidlbase",
"libhidltransport",
@@ -16,6 +15,7 @@
],
static_libs: [
"android.hardware.sensors@1.0-convert",
+ "multihal",
],
local_include_dirs: ["include/sensors"],
}
@@ -30,7 +30,6 @@
"libhardware",
"libhwbinder",
"libbase",
- "libcutils",
"libutils",
"libhidlbase",
"libhidltransport",
diff --git a/sensors/1.0/default/Android.mk b/sensors/1.0/default/Android.mk
index b2b2c60..f37c3cb 100644
--- a/sensors/1.0/default/Android.mk
+++ b/sensors/1.0/default/Android.mk
@@ -5,21 +5,21 @@
LOCAL_MODULE := android.hardware.sensors@1.0-service
LOCAL_INIT_RC := android.hardware.sensors@1.0-service.rc
LOCAL_SRC_FILES := \
- service.cpp \
+ service.cpp \
LOCAL_SHARED_LIBRARIES := \
- liblog \
- libcutils \
- libdl \
- libbase \
- libutils \
- libhardware_legacy \
- libhardware \
+ liblog \
+ libcutils \
+ libdl \
+ libbase \
+ libutils \
+ libhardware_legacy \
+ libhardware \
LOCAL_SHARED_LIBRARIES += \
- libhwbinder \
- libhidlbase \
- libhidltransport \
- android.hardware.sensors@1.0 \
+ libhwbinder \
+ libhidlbase \
+ libhidltransport \
+ android.hardware.sensors@1.0 \
include $(BUILD_EXECUTABLE)
diff --git a/sensors/1.0/default/Sensors.cpp b/sensors/1.0/default/Sensors.cpp
index ef052c3..c76369f 100644
--- a/sensors/1.0/default/Sensors.cpp
+++ b/sensors/1.0/default/Sensors.cpp
@@ -15,17 +15,29 @@
*/
#include "Sensors.h"
-
#include "convert.h"
+#include "multihal.h"
#include <android-base/logging.h>
+#include <sys/stat.h>
+
namespace android {
namespace hardware {
namespace sensors {
namespace V1_0 {
namespace implementation {
+/*
+ * If a multi-hal configuration file exists in the proper location,
+ * return true indicating we need to use multi-hal functionality.
+ */
+static bool UseMultiHal() {
+ const std::string& name = MULTI_HAL_CONFIG_FILE_PATH;
+ struct stat buffer;
+ return (stat (name.c_str(), &buffer) == 0);
+}
+
static Result ResultFromStatus(status_t err) {
switch (err) {
case OK:
@@ -43,10 +55,14 @@
: mInitCheck(NO_INIT),
mSensorModule(nullptr),
mSensorDevice(nullptr) {
- status_t err = hw_get_module(
+ status_t err = OK;
+ if (UseMultiHal()) {
+ mSensorModule = ::get_multi_hal_module_info();
+ } else {
+ err = hw_get_module(
SENSORS_HARDWARE_MODULE_ID,
(hw_module_t const **)&mSensorModule);
-
+ }
if (mSensorModule == NULL) {
err = UNKNOWN_ERROR;
}
diff --git a/sensors/Android.bp b/sensors/Android.bp
index 9c84fed..ed19a37 100644
--- a/sensors/Android.bp
+++ b/sensors/Android.bp
@@ -2,5 +2,5 @@
subdirs = [
"1.0",
"1.0/default",
- "1.0/vts/functional"
+ "1.0/vts/functional",
]
diff --git a/tests/bar/1.0/default/Bar.cpp b/tests/bar/1.0/default/Bar.cpp
index a9b6c25..a750fe4 100644
--- a/tests/bar/1.0/default/Bar.cpp
+++ b/tests/bar/1.0/default/Bar.cpp
@@ -122,36 +122,10 @@
return Void();
}
-// TODO: remove after b/33173166 is fixed.
-struct Simple : public ISimple {
- Simple(int32_t cookie)
- : mCookie(cookie) {
- }
-
- Return<int32_t> getCookie() override {
- return mCookie;
- }
-
-private:
- int32_t mCookie;
-};
-
-// TODO: use _hidl_cb(in) after b/33173166 is fixed.
Return<void> Bar::haveAVectorOfGenericInterfaces(
const hidl_vec<sp<android::hidl::base::V1_0::IBase> > &in,
haveAVectorOfGenericInterfaces_cb _hidl_cb) {
- // _hidl_cb(in);
- hidl_vec<sp<android::hidl::base::V1_0::IBase> > out;
- out.resize(in.size());
- for (size_t i = 0; i < in.size(); ++i) {
- sp<ISimple> s = ISimple::castFrom(in[i]);
- if (s.get() == nullptr) {
- out[i] = new Simple(-1);
- } else {
- out[i] = new Simple(s->getCookie());
- }
- }
- _hidl_cb(out);
+ _hidl_cb(in);
return Void();
}
diff --git a/tests/baz/1.0/Android.mk b/tests/baz/1.0/Android.mk
index a27de71..82ba3cb 100644
--- a/tests/baz/1.0/Android.mk
+++ b/tests/baz/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build IBase.hal
#
-GEN := $(intermediates)/android/hardware/tests/baz/1.0/IBase.java
+GEN := $(intermediates)/android/hardware/tests/baz/V1_0/IBase.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBase.hal
@@ -38,7 +38,7 @@
#
# Build IBaz.hal
#
-GEN := $(intermediates)/android/hardware/tests/baz/1.0/IBaz.java
+GEN := $(intermediates)/android/hardware/tests/baz/V1_0/IBaz.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBaz.hal
@@ -61,7 +61,7 @@
#
# Build IBazCallback.hal
#
-GEN := $(intermediates)/android/hardware/tests/baz/1.0/IBazCallback.java
+GEN := $(intermediates)/android/hardware/tests/baz/V1_0/IBazCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBazCallback.hal
@@ -96,7 +96,7 @@
#
# Build IBase.hal
#
-GEN := $(intermediates)/android/hardware/tests/baz/1.0/IBase.java
+GEN := $(intermediates)/android/hardware/tests/baz/V1_0/IBase.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBase.hal
@@ -115,7 +115,7 @@
#
# Build IBaz.hal
#
-GEN := $(intermediates)/android/hardware/tests/baz/1.0/IBaz.java
+GEN := $(intermediates)/android/hardware/tests/baz/V1_0/IBaz.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBaz.hal
@@ -138,7 +138,7 @@
#
# Build IBazCallback.hal
#
-GEN := $(intermediates)/android/hardware/tests/baz/1.0/IBazCallback.java
+GEN := $(intermediates)/android/hardware/tests/baz/V1_0/IBazCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBazCallback.hal
diff --git a/tests/baz/1.0/IBaz.hal b/tests/baz/1.0/IBaz.hal
index c8fe2b6..3e1e2b9 100644
--- a/tests/baz/1.0/IBaz.hal
+++ b/tests/baz/1.0/IBaz.hal
@@ -55,4 +55,8 @@
haveAStringVec(vec<string> vector) generates (vec<string> result);
returnABunchOfStrings() generates (string a, string b, string c);
+
+ returnABitField() generates (bitfield<BitField> good);
+
+ size(uint32_t size) generates (uint32_t size);
};
diff --git a/tests/expression/1.0/Android.mk b/tests/expression/1.0/Android.mk
index 640978f..1c7da4b 100644
--- a/tests/expression/1.0/Android.mk
+++ b/tests/expression/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build IExpression.hal
#
-GEN := $(intermediates)/android/hardware/tests/expression/1.0/IExpression.java
+GEN := $(intermediates)/android/hardware/tests/expression/V1_0/IExpression.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IExpression.hal
@@ -38,7 +38,7 @@
#
# Build IExpressionExt.hal
#
-GEN := $(intermediates)/android/hardware/tests/expression/1.0/IExpressionExt.java
+GEN := $(intermediates)/android/hardware/tests/expression/V1_0/IExpressionExt.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IExpressionExt.hal
@@ -75,7 +75,7 @@
#
# Build IExpression.hal
#
-GEN := $(intermediates)/android/hardware/tests/expression/1.0/IExpression.java
+GEN := $(intermediates)/android/hardware/tests/expression/V1_0/IExpression.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IExpression.hal
@@ -94,7 +94,7 @@
#
# Build IExpressionExt.hal
#
-GEN := $(intermediates)/android/hardware/tests/expression/1.0/IExpressionExt.java
+GEN := $(intermediates)/android/hardware/tests/expression/V1_0/IExpressionExt.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IExpressionExt.hal
diff --git a/tests/inheritance/1.0/Android.mk b/tests/inheritance/1.0/Android.mk
index 17d2930..8c1b1c8 100644
--- a/tests/inheritance/1.0/Android.mk
+++ b/tests/inheritance/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build IChild.hal
#
-GEN := $(intermediates)/android/hardware/tests/inheritance/1.0/IChild.java
+GEN := $(intermediates)/android/hardware/tests/inheritance/V1_0/IChild.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IChild.hal
@@ -40,7 +40,7 @@
#
# Build IFetcher.hal
#
-GEN := $(intermediates)/android/hardware/tests/inheritance/1.0/IFetcher.java
+GEN := $(intermediates)/android/hardware/tests/inheritance/V1_0/IFetcher.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IFetcher.hal
@@ -65,7 +65,7 @@
#
# Build IGrandparent.hal
#
-GEN := $(intermediates)/android/hardware/tests/inheritance/1.0/IGrandparent.java
+GEN := $(intermediates)/android/hardware/tests/inheritance/V1_0/IGrandparent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGrandparent.hal
@@ -84,7 +84,7 @@
#
# Build IParent.hal
#
-GEN := $(intermediates)/android/hardware/tests/inheritance/1.0/IParent.java
+GEN := $(intermediates)/android/hardware/tests/inheritance/V1_0/IParent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IParent.hal
@@ -121,7 +121,7 @@
#
# Build IChild.hal
#
-GEN := $(intermediates)/android/hardware/tests/inheritance/1.0/IChild.java
+GEN := $(intermediates)/android/hardware/tests/inheritance/V1_0/IChild.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IChild.hal
@@ -142,7 +142,7 @@
#
# Build IFetcher.hal
#
-GEN := $(intermediates)/android/hardware/tests/inheritance/1.0/IFetcher.java
+GEN := $(intermediates)/android/hardware/tests/inheritance/V1_0/IFetcher.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IFetcher.hal
@@ -167,7 +167,7 @@
#
# Build IGrandparent.hal
#
-GEN := $(intermediates)/android/hardware/tests/inheritance/1.0/IGrandparent.java
+GEN := $(intermediates)/android/hardware/tests/inheritance/V1_0/IGrandparent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IGrandparent.hal
@@ -186,7 +186,7 @@
#
# Build IParent.hal
#
-GEN := $(intermediates)/android/hardware/tests/inheritance/1.0/IParent.java
+GEN := $(intermediates)/android/hardware/tests/inheritance/V1_0/IParent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IParent.hal
diff --git a/tests/libhwbinder/1.0/Android.mk b/tests/libhwbinder/1.0/Android.mk
index 32a4fed..ae873af 100644
--- a/tests/libhwbinder/1.0/Android.mk
+++ b/tests/libhwbinder/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build IBenchmark.hal
#
-GEN := $(intermediates)/android/hardware/tests/libhwbinder/1.0/IBenchmark.java
+GEN := $(intermediates)/android/hardware/tests/libhwbinder/V1_0/IBenchmark.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBenchmark.hal
@@ -54,7 +54,7 @@
#
# Build IBenchmark.hal
#
-GEN := $(intermediates)/android/hardware/tests/libhwbinder/1.0/IBenchmark.java
+GEN := $(intermediates)/android/hardware/tests/libhwbinder/V1_0/IBenchmark.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBenchmark.hal
diff --git a/tests/libhwbinder/aidl/Android.mk b/tests/libhwbinder/aidl/Android.mk
index ea25e80..1c175d8 100644
--- a/tests/libhwbinder/aidl/Android.mk
+++ b/tests/libhwbinder/aidl/Android.mk
@@ -10,6 +10,4 @@
libbinder \
libutils \
-LOCAL_STATIC_LIBRARIES := libtestUtil
-
include $(BUILD_SHARED_LIBRARY)
diff --git a/thermal/1.0/Android.mk b/thermal/1.0/Android.mk
index 6d664ed..b88bb81 100644
--- a/thermal/1.0/Android.mk
+++ b/thermal/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (CoolingDevice)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/CoolingDevice.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/CoolingDevice.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (CoolingType)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/CoolingType.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/CoolingType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (CpuUsage)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/CpuUsage.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/CpuUsage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build types.hal (Temperature)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/Temperature.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/Temperature.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -95,7 +95,7 @@
#
# Build types.hal (TemperatureType)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/TemperatureType.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/TemperatureType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -114,7 +114,7 @@
#
# Build types.hal (ThermalStatus)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/ThermalStatus.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/ThermalStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -133,7 +133,7 @@
#
# Build types.hal (ThermalStatusCode)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/ThermalStatusCode.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/ThermalStatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -152,7 +152,7 @@
#
# Build IThermal.hal
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/IThermal.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/IThermal.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IThermal.hal
@@ -189,7 +189,7 @@
#
# Build types.hal (CoolingDevice)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/CoolingDevice.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/CoolingDevice.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -208,7 +208,7 @@
#
# Build types.hal (CoolingType)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/CoolingType.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/CoolingType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -227,7 +227,7 @@
#
# Build types.hal (CpuUsage)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/CpuUsage.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/CpuUsage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -246,7 +246,7 @@
#
# Build types.hal (Temperature)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/Temperature.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/Temperature.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -265,7 +265,7 @@
#
# Build types.hal (TemperatureType)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/TemperatureType.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/TemperatureType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -284,7 +284,7 @@
#
# Build types.hal (ThermalStatus)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/ThermalStatus.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/ThermalStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -303,7 +303,7 @@
#
# Build types.hal (ThermalStatusCode)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/ThermalStatusCode.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/ThermalStatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -322,7 +322,7 @@
#
# Build IThermal.hal
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/IThermal.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/IThermal.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IThermal.hal
@@ -352,7 +352,7 @@
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
#
-GEN := $(intermediates)/android/hardware/thermal/1.0/Constants.java
+GEN := $(intermediates)/android/hardware/thermal/V1_0/Constants.java
$(GEN): $(HIDL)
$(GEN): $(LOCAL_PATH)/types.hal
$(GEN): $(LOCAL_PATH)/IThermal.hal
diff --git a/tv/cec/1.0/Android.mk b/tv/cec/1.0/Android.mk
index 536c2b9..efa71a1 100644
--- a/tv/cec/1.0/Android.mk
+++ b/tv/cec/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (AbortReason)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/AbortReason.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/AbortReason.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (CecDeviceType)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/CecDeviceType.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/CecDeviceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (CecLogicalAddress)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/CecLogicalAddress.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/CecLogicalAddress.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build types.hal (CecMessage)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/CecMessage.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/CecMessage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -95,7 +95,7 @@
#
# Build types.hal (CecMessageType)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/CecMessageType.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/CecMessageType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -114,7 +114,7 @@
#
# Build types.hal (HdmiPortInfo)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/HdmiPortInfo.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/HdmiPortInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -133,7 +133,7 @@
#
# Build types.hal (HdmiPortType)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/HdmiPortType.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/HdmiPortType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -152,7 +152,7 @@
#
# Build types.hal (HotplugEvent)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/HotplugEvent.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/HotplugEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -171,7 +171,7 @@
#
# Build types.hal (MaxLength)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/MaxLength.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/MaxLength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -190,7 +190,7 @@
#
# Build types.hal (OptionKey)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/OptionKey.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/OptionKey.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -209,7 +209,7 @@
#
# Build types.hal (Result)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/Result.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/Result.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -228,7 +228,7 @@
#
# Build types.hal (SendMessageResult)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/SendMessageResult.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/SendMessageResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -247,7 +247,7 @@
#
# Build IHdmiCec.hal
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/IHdmiCec.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/IHdmiCec.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IHdmiCec.hal
@@ -270,7 +270,7 @@
#
# Build IHdmiCecCallback.hal
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/IHdmiCecCallback.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/IHdmiCecCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IHdmiCecCallback.hal
@@ -307,7 +307,7 @@
#
# Build types.hal (AbortReason)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/AbortReason.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/AbortReason.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -326,7 +326,7 @@
#
# Build types.hal (CecDeviceType)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/CecDeviceType.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/CecDeviceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -345,7 +345,7 @@
#
# Build types.hal (CecLogicalAddress)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/CecLogicalAddress.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/CecLogicalAddress.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -364,7 +364,7 @@
#
# Build types.hal (CecMessage)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/CecMessage.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/CecMessage.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -383,7 +383,7 @@
#
# Build types.hal (CecMessageType)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/CecMessageType.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/CecMessageType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -402,7 +402,7 @@
#
# Build types.hal (HdmiPortInfo)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/HdmiPortInfo.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/HdmiPortInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -421,7 +421,7 @@
#
# Build types.hal (HdmiPortType)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/HdmiPortType.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/HdmiPortType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -440,7 +440,7 @@
#
# Build types.hal (HotplugEvent)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/HotplugEvent.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/HotplugEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -459,7 +459,7 @@
#
# Build types.hal (MaxLength)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/MaxLength.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/MaxLength.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -478,7 +478,7 @@
#
# Build types.hal (OptionKey)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/OptionKey.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/OptionKey.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -497,7 +497,7 @@
#
# Build types.hal (Result)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/Result.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/Result.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -516,7 +516,7 @@
#
# Build types.hal (SendMessageResult)
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/SendMessageResult.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/SendMessageResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -535,7 +535,7 @@
#
# Build IHdmiCec.hal
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/IHdmiCec.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/IHdmiCec.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IHdmiCec.hal
@@ -558,7 +558,7 @@
#
# Build IHdmiCecCallback.hal
#
-GEN := $(intermediates)/android/hardware/tv/cec/1.0/IHdmiCecCallback.java
+GEN := $(intermediates)/android/hardware/tv/cec/V1_0/IHdmiCecCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IHdmiCecCallback.hal
diff --git a/update-base-files.sh b/update-base-files.sh
new file mode 100755
index 0000000..e2331f5
--- /dev/null
+++ b/update-base-files.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+if [ ! -d hardware/interfaces ] ; then
+ echo "Where is hardware/interfaces?";
+ exit 1;
+fi
+
+if [ ! -d system/libhidl/transport ] ; then
+ echo "Where is system/libhidl/transport?";
+ exit 1;
+fi
+
+echo "WARNING: This script changes files in many places."
+
+# These files only exist to facilitate the easy transition to hidl.
+
+options="-Lexport-header \
+ -randroid.hardware:hardware/interfaces \
+ -randroid.hidl:system/libhidl/transport"
+
+# hardware/libhardware
+hidl-gen $options \
+ -o hardware/libhardware/include/hardware/sensors-base.h \
+ android.hardware.sensors@1.0
+hidl-gen $options \
+ -o hardware/libhardware/include/hardware/nfc-base.h \
+ android.hardware.nfc@1.0
+
+# system/core
+hidl-gen $options \
+ -o system/core/include/system/graphics-base.h \
+ android.hardware.graphics.common@1.0
+
+# system/media
+hidl-gen $options \
+ -o system/media/audio/include/system/audio-base.h \
+ android.hardware.audio.common@2.0
+hidl-gen $options \
+ -o system/media/audio/include/system/audio_effect-base.h \
+ android.hardware.audio.effect@2.0
diff --git a/update-makefiles.sh b/update-makefiles.sh
index 0f89dfc..f153a84 100755
--- a/update-makefiles.sh
+++ b/update-makefiles.sh
@@ -5,6 +5,11 @@
exit 1;
fi
+if [ ! -d system/libhidl/transport ] ; then
+ echo "Where is system/libhidl/transport?";
+ exit 1;
+fi
+
packages=$(pushd hardware/interfaces > /dev/null; \
find . -type f -name \*.hal -exec dirname {} \; | sort -u | \
cut -c3- | \
diff --git a/vehicle/2.0/Android.mk b/vehicle/2.0/Android.mk
index 3c12643..dc4d25c 100644
--- a/vehicle/2.0/Android.mk
+++ b/vehicle/2.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (StatusCode)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/StatusCode.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/StatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (SubscribeFlags)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/SubscribeFlags.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (SubscribeOptions)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/SubscribeOptions.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeOptions.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build types.hal (VehicleApPowerBootupReason)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerBootupReason.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerBootupReason.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -95,7 +95,7 @@
#
# Build types.hal (VehicleApPowerSetState)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerSetState.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerSetState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -114,7 +114,7 @@
#
# Build types.hal (VehicleApPowerState)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerState.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -133,7 +133,7 @@
#
# Build types.hal (VehicleApPowerStateConfigFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerStateConfigFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateConfigFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -152,7 +152,7 @@
#
# Build types.hal (VehicleApPowerStateIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerStateIndex.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -171,7 +171,7 @@
#
# Build types.hal (VehicleApPowerStateShutdownParam)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerStateShutdownParam.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateShutdownParam.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -190,7 +190,7 @@
#
# Build types.hal (VehicleArea)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleArea.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleArea.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -209,7 +209,7 @@
#
# Build types.hal (VehicleAreaConfig)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaConfig.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -228,7 +228,7 @@
#
# Build types.hal (VehicleAreaDoor)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaDoor.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaDoor.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -247,7 +247,7 @@
#
# Build types.hal (VehicleAreaMirror)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaMirror.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaMirror.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -266,7 +266,7 @@
#
# Build types.hal (VehicleAreaSeat)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaSeat.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaSeat.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -285,7 +285,7 @@
#
# Build types.hal (VehicleAreaWindow)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaWindow.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaWindow.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -304,7 +304,7 @@
#
# Build types.hal (VehicleAreaZone)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaZone.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaZone.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -323,7 +323,7 @@
#
# Build types.hal (VehicleAudioContextFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioContextFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioContextFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -342,7 +342,7 @@
#
# Build types.hal (VehicleAudioExtFocusFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioExtFocusFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioExtFocusFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -361,7 +361,7 @@
#
# Build types.hal (VehicleAudioFocusIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioFocusIndex.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -380,7 +380,7 @@
#
# Build types.hal (VehicleAudioFocusRequest)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioFocusRequest.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -399,7 +399,7 @@
#
# Build types.hal (VehicleAudioFocusState)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioFocusState.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -418,7 +418,7 @@
#
# Build types.hal (VehicleAudioHwVariantConfigFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioHwVariantConfigFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioHwVariantConfigFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -437,7 +437,7 @@
#
# Build types.hal (VehicleAudioRoutingPolicyIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioRoutingPolicyIndex.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioRoutingPolicyIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -456,7 +456,7 @@
#
# Build types.hal (VehicleAudioStream)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioStream.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStream.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -475,7 +475,7 @@
#
# Build types.hal (VehicleAudioStreamFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioStreamFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStreamFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -494,7 +494,7 @@
#
# Build types.hal (VehicleAudioVolumeCapabilityFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioVolumeCapabilityFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeCapabilityFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -513,7 +513,7 @@
#
# Build types.hal (VehicleAudioVolumeIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioVolumeIndex.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -532,7 +532,7 @@
#
# Build types.hal (VehicleAudioVolumeLimitIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioVolumeLimitIndex.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeLimitIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -551,7 +551,7 @@
#
# Build types.hal (VehicleAudioVolumeState)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioVolumeState.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -570,7 +570,7 @@
#
# Build types.hal (VehicleDisplay)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleDisplay.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDisplay.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -589,7 +589,7 @@
#
# Build types.hal (VehicleDrivingStatus)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleDrivingStatus.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDrivingStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -608,7 +608,7 @@
#
# Build types.hal (VehicleGear)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleGear.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleGear.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -627,7 +627,7 @@
#
# Build types.hal (VehicleHvacFanDirection)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleHvacFanDirection.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHvacFanDirection.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -646,7 +646,7 @@
#
# Build types.hal (VehicleHwKeyInputAction)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleHwKeyInputAction.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHwKeyInputAction.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -665,7 +665,7 @@
#
# Build types.hal (VehicleInstrumentClusterType)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleInstrumentClusterType.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleInstrumentClusterType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -684,7 +684,7 @@
#
# Build types.hal (VehiclePermissionModel)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePermissionModel.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePermissionModel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -703,7 +703,7 @@
#
# Build types.hal (VehiclePropConfig)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropConfig.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -722,7 +722,7 @@
#
# Build types.hal (VehiclePropValue)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropValue.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropValue.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -741,7 +741,7 @@
#
# Build types.hal (VehicleProperty)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleProperty.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleProperty.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -760,7 +760,7 @@
#
# Build types.hal (VehiclePropertyAccess)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropertyAccess.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyAccess.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -779,7 +779,7 @@
#
# Build types.hal (VehiclePropertyChangeMode)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropertyChangeMode.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyChangeMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -798,7 +798,7 @@
#
# Build types.hal (VehiclePropertyGroup)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropertyGroup.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyGroup.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -817,7 +817,7 @@
#
# Build types.hal (VehiclePropertyOperation)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropertyOperation.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyOperation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -836,7 +836,7 @@
#
# Build types.hal (VehiclePropertyType)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropertyType.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -855,7 +855,7 @@
#
# Build types.hal (VehicleRadioConstants)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleRadioConstants.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleRadioConstants.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -874,7 +874,7 @@
#
# Build types.hal (VehicleTurnSignal)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleTurnSignal.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleTurnSignal.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -893,7 +893,7 @@
#
# Build types.hal (VehicleUnit)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleUnit.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleUnit.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -912,7 +912,7 @@
#
# Build IVehicle.hal
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/IVehicle.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicle.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicle.hal
@@ -935,7 +935,7 @@
#
# Build IVehicleCallback.hal
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/IVehicleCallback.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicleCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicleCallback.hal
@@ -972,7 +972,7 @@
#
# Build types.hal (StatusCode)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/StatusCode.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/StatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -991,7 +991,7 @@
#
# Build types.hal (SubscribeFlags)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/SubscribeFlags.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1010,7 +1010,7 @@
#
# Build types.hal (SubscribeOptions)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/SubscribeOptions.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeOptions.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1029,7 +1029,7 @@
#
# Build types.hal (VehicleApPowerBootupReason)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerBootupReason.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerBootupReason.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1048,7 +1048,7 @@
#
# Build types.hal (VehicleApPowerSetState)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerSetState.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerSetState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1067,7 +1067,7 @@
#
# Build types.hal (VehicleApPowerState)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerState.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1086,7 +1086,7 @@
#
# Build types.hal (VehicleApPowerStateConfigFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerStateConfigFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateConfigFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1105,7 +1105,7 @@
#
# Build types.hal (VehicleApPowerStateIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerStateIndex.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1124,7 +1124,7 @@
#
# Build types.hal (VehicleApPowerStateShutdownParam)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleApPowerStateShutdownParam.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateShutdownParam.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1143,7 +1143,7 @@
#
# Build types.hal (VehicleArea)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleArea.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleArea.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1162,7 +1162,7 @@
#
# Build types.hal (VehicleAreaConfig)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaConfig.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1181,7 +1181,7 @@
#
# Build types.hal (VehicleAreaDoor)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaDoor.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaDoor.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1200,7 +1200,7 @@
#
# Build types.hal (VehicleAreaMirror)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaMirror.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaMirror.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1219,7 +1219,7 @@
#
# Build types.hal (VehicleAreaSeat)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaSeat.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaSeat.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1238,7 +1238,7 @@
#
# Build types.hal (VehicleAreaWindow)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaWindow.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaWindow.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1257,7 +1257,7 @@
#
# Build types.hal (VehicleAreaZone)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAreaZone.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaZone.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1276,7 +1276,7 @@
#
# Build types.hal (VehicleAudioContextFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioContextFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioContextFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1295,7 +1295,7 @@
#
# Build types.hal (VehicleAudioExtFocusFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioExtFocusFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioExtFocusFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1314,7 +1314,7 @@
#
# Build types.hal (VehicleAudioFocusIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioFocusIndex.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1333,7 +1333,7 @@
#
# Build types.hal (VehicleAudioFocusRequest)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioFocusRequest.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1352,7 +1352,7 @@
#
# Build types.hal (VehicleAudioFocusState)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioFocusState.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1371,7 +1371,7 @@
#
# Build types.hal (VehicleAudioHwVariantConfigFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioHwVariantConfigFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioHwVariantConfigFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1390,7 +1390,7 @@
#
# Build types.hal (VehicleAudioRoutingPolicyIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioRoutingPolicyIndex.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioRoutingPolicyIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1409,7 +1409,7 @@
#
# Build types.hal (VehicleAudioStream)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioStream.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStream.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1428,7 +1428,7 @@
#
# Build types.hal (VehicleAudioStreamFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioStreamFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStreamFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1447,7 +1447,7 @@
#
# Build types.hal (VehicleAudioVolumeCapabilityFlag)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioVolumeCapabilityFlag.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeCapabilityFlag.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1466,7 +1466,7 @@
#
# Build types.hal (VehicleAudioVolumeIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioVolumeIndex.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1485,7 +1485,7 @@
#
# Build types.hal (VehicleAudioVolumeLimitIndex)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioVolumeLimitIndex.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeLimitIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1504,7 +1504,7 @@
#
# Build types.hal (VehicleAudioVolumeState)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleAudioVolumeState.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeState.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1523,7 +1523,7 @@
#
# Build types.hal (VehicleDisplay)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleDisplay.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDisplay.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1542,7 +1542,7 @@
#
# Build types.hal (VehicleDrivingStatus)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleDrivingStatus.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDrivingStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1561,7 +1561,7 @@
#
# Build types.hal (VehicleGear)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleGear.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleGear.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1580,7 +1580,7 @@
#
# Build types.hal (VehicleHvacFanDirection)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleHvacFanDirection.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHvacFanDirection.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1599,7 +1599,7 @@
#
# Build types.hal (VehicleHwKeyInputAction)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleHwKeyInputAction.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHwKeyInputAction.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1618,7 +1618,7 @@
#
# Build types.hal (VehicleInstrumentClusterType)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleInstrumentClusterType.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleInstrumentClusterType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1637,7 +1637,7 @@
#
# Build types.hal (VehiclePermissionModel)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePermissionModel.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePermissionModel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1656,7 +1656,7 @@
#
# Build types.hal (VehiclePropConfig)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropConfig.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1675,7 +1675,7 @@
#
# Build types.hal (VehiclePropValue)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropValue.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropValue.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1694,7 +1694,7 @@
#
# Build types.hal (VehicleProperty)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleProperty.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleProperty.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1713,7 +1713,7 @@
#
# Build types.hal (VehiclePropertyAccess)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropertyAccess.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyAccess.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1732,7 +1732,7 @@
#
# Build types.hal (VehiclePropertyChangeMode)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropertyChangeMode.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyChangeMode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1751,7 +1751,7 @@
#
# Build types.hal (VehiclePropertyGroup)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropertyGroup.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyGroup.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1770,7 +1770,7 @@
#
# Build types.hal (VehiclePropertyOperation)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropertyOperation.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyOperation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1789,7 +1789,7 @@
#
# Build types.hal (VehiclePropertyType)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehiclePropertyType.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1808,7 +1808,7 @@
#
# Build types.hal (VehicleRadioConstants)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleRadioConstants.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleRadioConstants.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1827,7 +1827,7 @@
#
# Build types.hal (VehicleTurnSignal)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleTurnSignal.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleTurnSignal.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1846,7 +1846,7 @@
#
# Build types.hal (VehicleUnit)
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/VehicleUnit.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleUnit.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1865,7 +1865,7 @@
#
# Build IVehicle.hal
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/IVehicle.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicle.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicle.hal
@@ -1888,7 +1888,7 @@
#
# Build IVehicleCallback.hal
#
-GEN := $(intermediates)/android/hardware/vehicle/2.0/IVehicleCallback.java
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicleCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicleCallback.hal
diff --git a/vehicle/2.0/default/Android.mk b/vehicle/2.0/default/Android.mk
index e61aaa3..4a27eeb 100644
--- a/vehicle/2.0/default/Android.mk
+++ b/vehicle/2.0/default/Android.mk
@@ -25,13 +25,15 @@
vehicle_hal_manager/AccessControlConfigParser.cpp \
vehicle_hal_manager/SubscriptionManager.cpp \
vehicle_hal_manager/VehicleHalManager.cpp \
+ vehicle_hal_manager/VehicleObjectPool.cpp \
+ vehicle_hal_manager/VehicleUtils.cpp \
LOCAL_SHARED_LIBRARIES := \
- liblog \
libbinder \
libhidlbase \
libhidltransport \
libhwbinder \
+ liblog \
libutils \
$(module_prefix) \
@@ -47,11 +49,11 @@
impl/DefaultVehicleHal.cpp \
LOCAL_SHARED_LIBRARIES := \
- liblog \
libbinder \
libhidlbase \
libhidltransport \
libhwbinder \
+ liblog \
libutils \
$(module_prefix) \
@@ -69,17 +71,17 @@
LOCAL_SRC_FILES:= \
tests/AccessControlConfigParser_test.cpp \
- tests/VehicleObjectPool_test.cpp \
- tests/VehiclePropConfigIndex_test.cpp \
tests/SubscriptionManager_test.cpp \
tests/VehicleHalManager_test.cpp \
+ tests/VehicleObjectPool_test.cpp \
+ tests/VehiclePropConfigIndex_test.cpp \
LOCAL_SHARED_LIBRARIES := \
- liblog \
libbinder \
libhidlbase \
libhidltransport \
libhwbinder \
+ liblog \
libutils \
$(module_prefix) \
@@ -105,11 +107,11 @@
$(module_prefix)-default-impl-lib \
LOCAL_SHARED_LIBRARIES := \
- liblog \
libbinder \
libhidlbase \
libhidltransport \
libhwbinder \
+ liblog \
libutils \
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
index 7c96da6..622cb1e 100644
--- a/vehicle/2.0/default/android.hardware.vehicle@2.0-service.rc
+++ b/vehicle/2.0/default/android.hardware.vehicle@2.0-service.rc
@@ -1,4 +1,4 @@
service vehicle-hal-2.0 /system/bin/hw/android.hardware.vehicle@2.0-service
class hal
- user system
+ user vehicle_network
group system
diff --git a/vehicle/2.0/default/impl/DefaultConfig.h b/vehicle/2.0/default/impl/DefaultConfig.h
index b1c49c8..e4ca5ca 100644
--- a/vehicle/2.0/default/impl/DefaultConfig.h
+++ b/vehicle/2.0/default/impl/DefaultConfig.h
@@ -83,12 +83,13 @@
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.permissionModel = VehiclePermissionModel::NO_RESTRICTION,
.supportedAreas = toInt(VehicleAreaZone::ROW_1),
- .areaConfigs = init_hidl_vec({
- VehicleAreaConfig {
- .areaId = toInt(VehicleAreaZone::ROW_1),
- .minInt32Value = 1,
- .maxInt32Value = 7
- }})
+ .areaConfigs = {
+ VehicleAreaConfig {
+ .areaId = toInt(VehicleAreaZone::ROW_1),
+ .minInt32Value = 1,
+ .maxInt32Value = 7
+ }
+ }
},
{
@@ -107,7 +108,7 @@
.supportedAreas =
VehicleAreaZone::ROW_1_LEFT
| VehicleAreaZone::ROW_1_RIGHT,
- .areaConfigs = init_hidl_vec({
+ .areaConfigs = {
VehicleAreaConfig {
.areaId = toInt(VehicleAreaZone::ROW_1_LEFT),
.minFloatValue = 16,
@@ -117,7 +118,8 @@
.areaId = toInt(VehicleAreaZone::ROW_1_RIGHT),
.minFloatValue = 16,
.maxFloatValue = 32,
- }})
+ }
+ }
},
{
@@ -146,12 +148,12 @@
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.permissionModel = VehiclePermissionModel::OEM_ONLY,
- .areaConfigs = init_hidl_vec({
- VehicleAreaConfig {
- .minFloatValue = 0,
- .maxFloatValue = 1.0
- }
- })
+ .areaConfigs = {
+ VehicleAreaConfig {
+ .minFloatValue = 0,
+ .maxFloatValue = 1.0
+ }
+ }
},
{
@@ -159,12 +161,12 @@
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.permissionModel = VehiclePermissionModel::OEM_ONLY,
- .areaConfigs = init_hidl_vec({
- VehicleAreaConfig {
- .minInt32Value = 0,
- .maxInt32Value = 10
- }
- })
+ .areaConfigs = {
+ VehicleAreaConfig {
+ .minInt32Value = 0,
+ .maxInt32Value = 10
+ }
+ }
}
};
diff --git a/vehicle/2.0/default/tests/SubscriptionManager_test.cpp b/vehicle/2.0/default/tests/SubscriptionManager_test.cpp
index 171a692..863142e 100644
--- a/vehicle/2.0/default/tests/SubscriptionManager_test.cpp
+++ b/vehicle/2.0/default/tests/SubscriptionManager_test.cpp
@@ -43,35 +43,32 @@
sp<IVehicleCallback> cb2 = new MockedVehicleCallback();
sp<IVehicleCallback> cb3 = new MockedVehicleCallback();
- hidl_vec<SubscribeOptions> subscrToProp1 = init_hidl_vec(
- {
- SubscribeOptions {
- .propId = PROP1,
- .vehicleAreas = toInt(VehicleAreaZone::ROW_1_LEFT),
- .flags = SubscribeFlags::HAL_EVENT
- },
- });
+ hidl_vec<SubscribeOptions> subscrToProp1 = {
+ SubscribeOptions {
+ .propId = PROP1,
+ .vehicleAreas = toInt(VehicleAreaZone::ROW_1_LEFT),
+ .flags = SubscribeFlags::HAL_EVENT
+ },
+ };
- hidl_vec<SubscribeOptions> subscrToProp2 = init_hidl_vec(
- {
- SubscribeOptions {
- .propId = PROP2,
- .flags = SubscribeFlags::HAL_EVENT
- },
- });
+ hidl_vec<SubscribeOptions> subscrToProp2 = {
+ SubscribeOptions {
+ .propId = PROP2,
+ .flags = SubscribeFlags::HAL_EVENT
+ },
+ };
- hidl_vec<SubscribeOptions> subscrToProp1and2 = init_hidl_vec(
- {
- SubscribeOptions {
- .propId = PROP1,
- .vehicleAreas = toInt(VehicleAreaZone::ROW_1_LEFT),
- .flags = SubscribeFlags::HAL_EVENT
- },
- SubscribeOptions {
- .propId = PROP2,
- .flags = SubscribeFlags::HAL_EVENT
- },
- });
+ hidl_vec<SubscribeOptions> subscrToProp1and2 = {
+ SubscribeOptions {
+ .propId = PROP1,
+ .vehicleAreas = toInt(VehicleAreaZone::ROW_1_LEFT),
+ .flags = SubscribeFlags::HAL_EVENT
+ },
+ SubscribeOptions {
+ .propId = PROP2,
+ .flags = SubscribeFlags::HAL_EVENT
+ },
+ };
static std::list<sp<IVehicleCallback>> extractCallbacks(
const std::list<sp<HalClient>>& clients) {
@@ -144,14 +141,13 @@
// Same property, but different zone, to make sure we didn't unsubscribe
// from previous zone.
- manager.addOrUpdateSubscription(cb1, init_hidl_vec(
- {
- SubscribeOptions {
+ manager.addOrUpdateSubscription(cb1, {
+ SubscribeOptions {
.propId = PROP1,
.vehicleAreas = toInt(VehicleAreaZone::ROW_2),
.flags = SubscribeFlags::DEFAULT
}
- }));
+ });
clients = manager.getSubscribedClients(PROP1,
toInt(VehicleAreaZone::ROW_1_LEFT),
diff --git a/vehicle/2.0/default/tests/VehicleHalManager_test.cpp b/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
index d06f6f4..964c7c8 100644
--- a/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
+++ b/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
@@ -182,8 +182,8 @@
};
TEST_F(VehicleHalManagerTest, getPropConfigs) {
- hidl_vec<VehicleProperty> properties = init_hidl_vec(
- { VehicleProperty::HVAC_FAN_SPEED,VehicleProperty::INFO_MAKE} );
+ hidl_vec<VehicleProperty> properties =
+ { VehicleProperty::HVAC_FAN_SPEED, VehicleProperty::INFO_MAKE };
bool called = false;
manager->getPropConfigs(properties,
@@ -197,7 +197,7 @@
ASSERT_TRUE(called); // Verify callback received.
called = false;
- manager->getPropConfigs(init_hidl_vec({VehicleProperty::HVAC_FAN_SPEED}),
+ manager->getPropConfigs({ VehicleProperty::HVAC_FAN_SPEED },
[&called] (StatusCode status,
const hidl_vec<VehiclePropConfig>& c) {
ASSERT_EQ(StatusCode::OK, status);
@@ -230,13 +230,12 @@
sp<MockedVehicleCallback> cb = new MockedVehicleCallback();
- hidl_vec<SubscribeOptions> options = init_hidl_vec(
- {
- SubscribeOptions {
- .propId = PROP,
- .flags = SubscribeFlags::DEFAULT
- },
- });
+ hidl_vec<SubscribeOptions> options = {
+ SubscribeOptions {
+ .propId = PROP,
+ .flags = SubscribeFlags::DEFAULT
+ },
+ };
StatusCode res = manager->subscribe(cb, options);
ASSERT_EQ(StatusCode::OK, res);
@@ -249,13 +248,12 @@
sp<MockedVehicleCallback> cb = new MockedVehicleCallback();
- hidl_vec<SubscribeOptions> options = init_hidl_vec(
- {
- SubscribeOptions {
- .propId = PROP,
- .flags = SubscribeFlags::DEFAULT
- },
- });
+ hidl_vec<SubscribeOptions> options = {
+ SubscribeOptions {
+ .propId = PROP,
+ .flags = SubscribeFlags::DEFAULT
+ }
+ };
StatusCode res = manager->subscribe(cb, options);
ASSERT_EQ(StatusCode::OK, res);
@@ -291,13 +289,12 @@
sp<MockedVehicleCallback> cb = new MockedVehicleCallback();
- hidl_vec<SubscribeOptions> options = init_hidl_vec(
- {
- SubscribeOptions {
- .propId = PROP,
- .flags = SubscribeFlags::HAL_EVENT
- },
- });
+ hidl_vec<SubscribeOptions> options = {
+ SubscribeOptions {
+ .propId = PROP,
+ .flags = SubscribeFlags::HAL_EVENT
+ },
+ };
StatusCode res = manager->subscribe(cb, options);
// Unable to subscribe on Hal Events for write-only properties.
diff --git a/vehicle/2.0/default/tests/VehicleHalTestUtils.h b/vehicle/2.0/default/tests/VehicleHalTestUtils.h
index 16d0be9..586b5ab 100644
--- a/vehicle/2.0/default/tests/VehicleHalTestUtils.h
+++ b/vehicle/2.0/default/tests/VehicleHalTestUtils.h
@@ -43,17 +43,17 @@
.permissionModel = VehiclePermissionModel::NO_RESTRICTION,
.supportedAreas = static_cast<int32_t>(
VehicleAreaZone::ROW_1_LEFT | VehicleAreaZone::ROW_1_RIGHT),
- .areaConfigs = init_hidl_vec({
- VehicleAreaConfig {
- .areaId = toInt(VehicleAreaZone::ROW_1_LEFT),
- .minInt32Value = 1,
- .maxInt32Value = 7},
- VehicleAreaConfig {
- .areaId = toInt(VehicleAreaZone::ROW_1_RIGHT),
- .minInt32Value = 1,
- .maxInt32Value = 5,
- }
- }),
+ .areaConfigs = {
+ VehicleAreaConfig {
+ .areaId = toInt(VehicleAreaZone::ROW_1_LEFT),
+ .minInt32Value = 1,
+ .maxInt32Value = 7},
+ VehicleAreaConfig {
+ .areaId = toInt(VehicleAreaZone::ROW_1_RIGHT),
+ .minInt32Value = 1,
+ .maxInt32Value = 5,
+ }
+ }
},
// Write-only property
@@ -64,17 +64,17 @@
.permissionModel = VehiclePermissionModel::NO_RESTRICTION,
.supportedAreas = static_cast<int32_t>(
VehicleAreaZone::ROW_1_LEFT | VehicleAreaZone::ROW_1_RIGHT),
- .areaConfigs = init_hidl_vec({
- VehicleAreaConfig {
- .areaId = toInt(VehicleAreaZone::ROW_1_LEFT),
- .minInt32Value = 64,
- .maxInt32Value = 80},
- VehicleAreaConfig {
- .areaId = toInt(VehicleAreaZone::ROW_1_RIGHT),
- .minInt32Value = 64,
- .maxInt32Value = 80,
- }
- }),
+ .areaConfigs = {
+ VehicleAreaConfig {
+ .areaId = toInt(VehicleAreaZone::ROW_1_LEFT),
+ .minInt32Value = 64,
+ .maxInt32Value = 80},
+ VehicleAreaConfig {
+ .areaId = toInt(VehicleAreaZone::ROW_1_RIGHT),
+ .minInt32Value = 64,
+ .maxInt32Value = 80,
+ }
+ }
},
{
@@ -82,12 +82,12 @@
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.permissionModel = VehiclePermissionModel::OEM_ONLY,
- .areaConfigs = init_hidl_vec({
- VehicleAreaConfig {
- .minFloatValue = 0,
- .maxFloatValue = 1.0
- }
- })
+ .areaConfigs = {
+ VehicleAreaConfig {
+ .minFloatValue = 0,
+ .maxFloatValue = 1.0
+ }
+ }
},
{
@@ -95,12 +95,12 @@
.access = VehiclePropertyAccess::READ_WRITE,
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.permissionModel = VehiclePermissionModel::OEM_ONLY,
- .areaConfigs = init_hidl_vec({
- VehicleAreaConfig {
- .minInt32Value = 0,
- .maxInt32Value = 10
- }
- })
+ .areaConfigs = {
+ VehicleAreaConfig {
+ .minInt32Value = 0,
+ .maxInt32Value = 10
+ }
+ }
},
{
diff --git a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp b/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
index 1d436c5..d6458c2 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
+++ b/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
@@ -15,13 +15,14 @@
*/
#define LOG_TAG "android.hardware.vehicle@2.0-impl"
-#include <android/log.h>
+
+#include "AccessControlConfigParser.h"
#include <fstream>
#include <sstream>
#include <iostream>
-#include "AccessControlConfigParser.h"
+#include <android/log.h>
namespace android {
namespace hardware {
diff --git a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h b/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
index 17cbbd6..5cd0c3e 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
+++ b/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
@@ -21,6 +21,7 @@
#include <vector>
#include <unordered_map>
#include <list>
+
#include <android/hardware/vehicle/2.0/types.h>
namespace android {
diff --git a/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp b/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
index 910413e..c190c71 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
+++ b/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
@@ -16,12 +16,13 @@
#define LOG_TAG "android.hardware.vehicle@2.0-impl"
+#include "SubscriptionManager.h"
+
#include <cmath>
-#include <utils/Errors.h>
+#include <android/log.h>
#include "VehicleUtils.h"
-#include "SubscriptionManager.h"
namespace android {
namespace hardware {
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp b/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
index 267c515..b4eb484 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
+++ b/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
@@ -13,19 +13,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
#define LOG_TAG "android.hardware.vehicle@2.0-impl"
-#include <cmath>
+#include "VehicleHalManager.h"
-#include <utils/Errors.h>
-#include <android/log.h>
-#include <hidl/Status.h>
-#include <future>
-#include <bitset>
#include <fstream>
+
+#include <android/log.h>
#include <private/android_filesystem_config.h>
-#include "VehicleHalManager.h"
+#include "VehicleUtils.h"
namespace android {
namespace hardware {
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h b/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
index cb846c9..519b09b 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
+++ b/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
@@ -17,24 +17,24 @@
#ifndef android_hardware_vehicle_V2_0_VehicleHalManager_H_
#define android_hardware_vehicle_V2_0_VehicleHalManager_H_
-#include <stdint.h>
#include <inttypes.h>
+#include <stdint.h>
#include <sys/types.h>
-#include <memory>
-#include <map>
-#include <set>
-#include <list>
-#include <hwbinder/IPCThreadState.h>
+#include <list>
+#include <map>
+#include <memory>
+#include <set>
#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <hwbinder/IPCThreadState.h>
#include "AccessControlConfigParser.h"
#include "ConcurrentQueue.h"
#include "SubscriptionManager.h"
#include "VehicleHal.h"
-#include "VehiclePropConfigIndex.h"
#include "VehicleObjectPool.h"
+#include "VehiclePropConfigIndex.h"
namespace android {
namespace hardware {
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp b/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
new file mode 100644
index 0000000..70b93e7
--- /dev/null
+++ b/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
@@ -0,0 +1,157 @@
+/*
+ * 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 "android.hardware.vehicle@2.0-impl"
+
+#include "VehicleObjectPool.h"
+
+#include <android/log.h>
+
+#include "VehicleUtils.h"
+
+namespace android {
+namespace hardware {
+namespace vehicle {
+namespace V2_0 {
+
+VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtain(
+ VehiclePropertyType type, size_t vecSize) {
+ return isDisposable(type, vecSize)
+ ? obtainDisposable(type, vecSize)
+ : obtainRecylable(type, vecSize);
+}
+
+VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtain(
+ const VehiclePropValue& src) {
+ if (src.prop == VehicleProperty::INVALID) {
+ ALOGE("Unable to obtain an object from pool for unknown property");
+ return RecyclableType();
+ }
+ VehiclePropertyType type = getPropType(src.prop);
+ size_t vecSize = getVehicleRawValueVectorSize(src.value, type);;
+ auto dest = obtain(type, vecSize);
+
+ dest->prop = src.prop;
+ dest->areaId = src.areaId;
+ dest->timestamp = src.timestamp;
+ copyVehicleRawValue(&dest->value, src.value);
+
+ return dest;
+}
+
+VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtainInt32(
+ int32_t value) {
+ auto val = obtain(VehiclePropertyType::INT32);
+ val->value.int32Values[0] = value;
+ return val;
+}
+
+VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtainInt64(
+ int64_t value) {
+ auto val = obtain(VehiclePropertyType::INT64);
+ val->value.int64Values[0] = value;
+ return val;
+}
+
+VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtainFloat(
+ float value) {
+ auto val = obtain(VehiclePropertyType::FLOAT);
+ val->value.floatValues[0] = value;
+ return val;
+}
+
+VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtainString(
+ const char* cstr) {
+ auto val = obtain(VehiclePropertyType::STRING);
+ val->value.stringValue = cstr;
+ return val;
+}
+
+VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtainRecylable(
+ VehiclePropertyType type, size_t vecSize) {
+ // VehiclePropertyType is not overlapping with vectorSize.
+ int32_t key = static_cast<int32_t>(type)
+ | static_cast<int32_t>(vecSize);
+
+ std::lock_guard<std::mutex> g(mLock);
+ auto it = mValueTypePools.find(key);
+
+ if (it == mValueTypePools.end()) {
+ auto newPool(std::make_unique<InternalPool>(type, vecSize));
+ it = mValueTypePools.emplace(key, std::move(newPool)).first;
+ }
+ return it->second->obtain();
+}
+
+VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtainBoolean(
+ bool value) {
+ return obtainInt32(value);
+}
+
+VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtainDisposable(
+ VehiclePropertyType valueType, size_t vectorSize) const {
+ return RecyclableType {
+ createVehiclePropValue(valueType, vectorSize).release(),
+ mDisposableDeleter
+ };
+}
+
+VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtain(
+ VehiclePropertyType type) {
+ return obtain(type, 1);
+}
+
+
+void VehiclePropValuePool::InternalPool::recycle(VehiclePropValue* o) {
+ if (o == nullptr) {
+ ALOGE("Attempt to recycle nullptr");
+ return;
+ }
+
+ if (!check(&o->value)) {
+ ALOGE("Discarding value for prop 0x%x because it contains "
+ "data that is not consistent with this pool. "
+ "Expected type: %d, vector size: %d",
+ o->prop, mPropType, mVectorSize);
+ delete o;
+ } else {
+ ObjectPool<VehiclePropValue>::recycle(o);
+ }
+}
+
+bool VehiclePropValuePool::InternalPool::check(VehiclePropValue::RawValue* v) {
+ return check(&v->int32Values,
+ (VehiclePropertyType::INT32 == mPropType
+ || VehiclePropertyType::INT32_VEC == mPropType
+ || VehiclePropertyType::BOOLEAN == mPropType))
+ && check(&v->floatValues,
+ (VehiclePropertyType::FLOAT == mPropType
+ || VehiclePropertyType::FLOAT_VEC == mPropType))
+ && check(&v->int64Values,
+ VehiclePropertyType::INT64 == mPropType)
+ && check(&v->bytes,
+ VehiclePropertyType::BYTES == mPropType)
+ && v->stringValue.size() == 0;
+}
+
+VehiclePropValue* VehiclePropValuePool::InternalPool::createObject() {
+ return createVehiclePropValue(mPropType, mVectorSize).release();
+}
+
+} // namespace V2_0
+} // namespace vehicle
+} // namespace hardware
+} // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h b/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
index 0029380..1ca9211 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
+++ b/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
@@ -18,19 +18,10 @@
#ifndef android_hardware_vehicle_V2_0_VehicleObjectPool_H_
#define android_hardware_vehicle_V2_0_VehicleObjectPool_H_
-#include "VehicleUtils.h" // defines LOG_TAG and includes <android/log.h>
-
-#include <iostream>
-#include <memory>
#include <deque>
-#include <string>
#include <map>
#include <mutex>
-#ifndef LOG_TAG
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
-#endif
-#include <android/log.h>
#include <android/hardware/vehicle/2.0/types.h>
namespace android {
@@ -38,8 +29,6 @@
namespace vehicle {
namespace V2_0 {
-using android::hardware::hidl_vec;
-
// Handy metric mostly for unit tests and debug.
#define INC_METRIC_IF_DEBUG(val) PoolStats::instance()->val++;
struct PoolStats {
@@ -53,6 +42,29 @@
}
};
+template<typename T>
+struct Deleter {
+ using OnDeleteFunc = std::function<void(T*)>;
+
+ Deleter(const OnDeleteFunc& f) : mOnDelete(f) {};
+
+ Deleter() = default;
+ Deleter(const Deleter&) = default;
+
+ void operator()(T* o) {
+ mOnDelete(o);
+ }
+private:
+ OnDeleteFunc mOnDelete;
+};
+
+/**
+ * This is std::unique_ptr<> with custom delete operation that typically moves
+ * the pointer it holds back to ObjectPool.
+ */
+template <typename T>
+using recyclable_ptr = typename std::unique_ptr<T, Deleter<T>>;
+
/**
* Generic abstract object pool class. Users of this class must implement
* #createObject method.
@@ -68,24 +80,7 @@
ObjectPool() = default;
virtual ~ObjectPool() = default;
- struct Deleter {
- using OnDeleteFunc = std::function<void(T*)>;
-
- Deleter(const OnDeleteFunc& f) : mOnDelete(f) {};
-
- Deleter() = default;
- Deleter(const Deleter&) = default;
-
- void operator()(T* o) {
- mOnDelete(o);
- }
- private:
- OnDeleteFunc mOnDelete;
- };
-
- using RecyclableType = std::unique_ptr<T, Deleter>;
-
- virtual RecyclableType obtain() {
+ virtual recyclable_ptr<T> obtain() {
std::lock_guard<std::mutex> g(mLock);
INC_METRIC_IF_DEBUG(Obtained)
if (mObjects.empty()) {
@@ -112,34 +107,26 @@
}
private:
- const Deleter& getDeleter() {
+ const Deleter<T>& getDeleter() {
if (!mDeleter.get()) {
- Deleter *d = new Deleter(std::bind(&ObjectPool::recycle,
- this,
- std::placeholders::_1));
+ Deleter<T> *d = new Deleter<T>(std::bind(
+ &ObjectPool::recycle, this, std::placeholders::_1));
mDeleter.reset(d);
}
return *mDeleter.get();
}
- RecyclableType wrap(T* raw) {
- return RecyclableType { raw, getDeleter() };
+ recyclable_ptr<T> wrap(T* raw) {
+ return recyclable_ptr<T> { raw, getDeleter() };
}
private:
mutable std::mutex mLock;
std::deque<std::unique_ptr<T>> mObjects;
- std::unique_ptr<Deleter> mDeleter;
+ std::unique_ptr<Deleter<T>> mDeleter;
};
/**
- * This is std::unique_ptr<> with custom delete operation that typically moves
- * the pointer it holds back to ObectPool.
- */
-template <typename T>
-using recyclable_ptr = typename ObjectPool<T>::RecyclableType;
-
-/**
* This class provides a pool of recycable VehiclePropertyValue objects.
*
* It has only one overloaded public method - obtain(...), users must call this
@@ -186,66 +173,20 @@
*
*/
VehiclePropValuePool(size_t maxRecyclableVectorSize = 4) :
- mMaxRecyclableVectorSize(maxRecyclableVectorSize) { };
+ mMaxRecyclableVectorSize(maxRecyclableVectorSize) {};
- RecyclableType obtain(VehiclePropertyType type) {
- return obtain(type, 1);
- }
+ RecyclableType obtain(VehiclePropertyType type);
- RecyclableType obtain(VehiclePropertyType type, size_t vecSize) {
- return isDisposable(type, vecSize)
- ? obtainDisposable(type, vecSize)
- : obtainRecylable(type, vecSize);
- }
-
- RecyclableType obtain(const VehiclePropValue& src) {
- if (src.prop == VehicleProperty::INVALID) {
- ALOGE("Unable to obtain an object from pool for unknown property");
- return RecyclableType();
- }
- VehiclePropertyType type = getPropType(src.prop);
- size_t vecSize = getVehicleRawValueVectorSize(src.value, type);;
- auto dest = obtain(type, vecSize);
-
- dest->prop = src.prop;
- dest->areaId = src.areaId;
- dest->timestamp = src.timestamp;
- copyVehicleRawValue(&dest->value, src.value);
-
- return dest;
- }
-
- RecyclableType obtainBoolean(bool value) {
- return obtainInt32(value);
- }
-
- RecyclableType obtainInt32(int32_t value) {
- auto val = obtain(VehiclePropertyType::INT32);
- val->value.int32Values[0] = value;
- return val;
- }
-
- RecyclableType obtainInt64(int64_t value) {
- auto val = obtain(VehiclePropertyType::INT64);
- val->value.int64Values[0] = value;
- return val;
- }
-
- RecyclableType obtainFloat(float value) {
- auto val = obtain(VehiclePropertyType::FLOAT);
- val->value.floatValues[0] = value;
- return val;
- }
-
- RecyclableType obtainString(const char* cstr) {
- auto val = obtain(VehiclePropertyType::STRING);
- val->value.stringValue = cstr;
- return val;
- }
+ RecyclableType obtain(VehiclePropertyType type, size_t vecSize);
+ RecyclableType obtain(const VehiclePropValue& src);
+ RecyclableType obtainBoolean(bool value);
+ RecyclableType obtainInt32(int32_t value);
+ RecyclableType obtainInt64(int64_t value);
+ RecyclableType obtainFloat(float value);
+ RecyclableType obtainString(const char* cstr);
VehiclePropValuePool(VehiclePropValuePool& ) = delete;
VehiclePropValuePool& operator=(VehiclePropValuePool&) = delete;
-
private:
bool isDisposable(VehiclePropertyType type, size_t vecSize) const {
return vecSize > mMaxRecyclableVectorSize ||
@@ -253,70 +194,23 @@
}
RecyclableType obtainDisposable(VehiclePropertyType valueType,
- size_t vectorSize) const {
- return RecyclableType {
- createVehiclePropValue(valueType, vectorSize).release(),
- mDisposableDeleter
- };
- }
-
- RecyclableType obtainRecylable(VehiclePropertyType type, size_t vecSize) {
- // VehiclePropertyType is not overlapping with vectorSize.
- int32_t key = static_cast<int32_t>(type)
- | static_cast<int32_t>(vecSize);
-
- std::lock_guard<std::mutex> g(mLock);
- auto it = mValueTypePools.find(key);
-
- if (it == mValueTypePools.end()) {
- auto newPool(std::make_unique<InternalPool>(type, vecSize));
- it = mValueTypePools.emplace(key, std::move(newPool)).first;
- }
- return it->second->obtain();
- }
+ size_t vectorSize) const;
+ RecyclableType obtainRecylable(VehiclePropertyType type,
+ size_t vecSize);
class InternalPool: public ObjectPool<VehiclePropValue> {
public:
InternalPool(VehiclePropertyType type, size_t vectorSize)
- : mPropType(type), mVectorSize(vectorSize) {
- }
+ : mPropType(type), mVectorSize(vectorSize) {}
RecyclableType obtain() {
return ObjectPool<VehiclePropValue>::obtain();
}
protected:
- VehiclePropValue* createObject() override {
- return createVehiclePropValue(mPropType, mVectorSize).release();
- }
-
- void recycle(VehiclePropValue* o) override {
- ALOGE_IF(o == nullptr, "Attempt to recycle nullptr");
-
- if (!check(&o->value)) {
- ALOGE("Discarding value for prop 0x%x because it contains "
- "data that is not consistent with this pool. "
- "Expected type: %d, vector size: %d",
- o->prop, mPropType, mVectorSize);
- delete o;
- }
- ObjectPool<VehiclePropValue>::recycle(o);
- }
-
+ VehiclePropValue* createObject() override;
+ void recycle(VehiclePropValue* o) override;
private:
- bool check(VehiclePropValue::RawValue* v) {
- return check(&v->int32Values,
- (VehiclePropertyType::INT32 == mPropType
- || VehiclePropertyType::INT32_VEC == mPropType
- || VehiclePropertyType::BOOLEAN == mPropType))
- && check(&v->floatValues,
- (VehiclePropertyType::FLOAT == mPropType
- || VehiclePropertyType::FLOAT_VEC == mPropType))
- && check(&v->int64Values,
- VehiclePropertyType::INT64 == mPropType)
- && check(&v->bytes,
- VehiclePropertyType::BYTES == mPropType)
- && v->stringValue.size() == 0;
- }
+ bool check(VehiclePropValue::RawValue* v);
template <typename VecType>
bool check(hidl_vec<VecType>* vec, bool expected) {
@@ -328,7 +222,7 @@
};
private:
- const ObjectPool<VehiclePropValue>::Deleter mDisposableDeleter {
+ const Deleter<VehiclePropValue> mDisposableDeleter {
[] (VehiclePropValue* v) {
delete v;
}
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp b/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
new file mode 100644
index 0000000..c461833
--- /dev/null
+++ b/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
@@ -0,0 +1,127 @@
+/*
+ * 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 "android.hardware.vehicle@2.0-impl"
+
+#include "VehicleUtils.h"
+
+#include <android/log.h>
+
+namespace android {
+namespace hardware {
+namespace vehicle {
+namespace V2_0 {
+
+//namespace utils {
+
+std::unique_ptr<VehiclePropValue> createVehiclePropValue(
+ VehiclePropertyType type, size_t vecSize) {
+ auto val = std::unique_ptr<VehiclePropValue>(new VehiclePropValue);
+ switch (type) {
+ case VehiclePropertyType::INT32: // fall through
+ case VehiclePropertyType::INT32_VEC: // fall through
+ case VehiclePropertyType::BOOLEAN:
+ val->value.int32Values.resize(vecSize);
+ break;
+ case VehiclePropertyType::FLOAT: // fall through
+ case VehiclePropertyType::FLOAT_VEC:
+ val->value.floatValues.resize(vecSize);
+ break;
+ case VehiclePropertyType::INT64:
+ val->value.int64Values.resize(vecSize);
+ break;
+ case VehiclePropertyType::BYTES:
+ val->value.bytes.resize(vecSize);
+ break;
+ case VehiclePropertyType::STRING:
+ break; // Valid, but nothing to do.
+ default:
+ ALOGE("createVehiclePropValue: unknown type: %d", type);
+ val.reset(nullptr);
+ }
+ return val;
+}
+
+size_t getVehicleRawValueVectorSize(
+ const VehiclePropValue::RawValue& value, VehiclePropertyType type) {
+ switch (type) {
+ case VehiclePropertyType::INT32: // fall through
+ case VehiclePropertyType::INT32_VEC: // fall through
+ case VehiclePropertyType::BOOLEAN:
+ return value.int32Values.size();
+ case VehiclePropertyType::FLOAT: // fall through
+ case VehiclePropertyType::FLOAT_VEC:
+ return value.floatValues.size();
+ case VehiclePropertyType::INT64:
+ return value.int64Values.size();
+ case VehiclePropertyType::BYTES:
+ return value.bytes.size();
+ default:
+ return 0;
+ }
+}
+
+template<typename T>
+inline void copyHidlVec(hidl_vec <T>* dest, const hidl_vec <T>& src) {
+ for (size_t i = 0; i < std::min(dest->size(), src.size()); i++) {
+ (*dest)[i] = src[i];
+ }
+}
+
+void copyVehicleRawValue(VehiclePropValue::RawValue* dest,
+ const VehiclePropValue::RawValue& src) {
+ dest->int32Values = src.int32Values;
+ dest->floatValues = src.floatValues;
+ dest->int64Values = src.int64Values;
+ dest->bytes = src.bytes;
+ dest->stringValue = src.stringValue;
+}
+
+template<typename T>
+void shallowCopyHidlVec(hidl_vec <T>* dest, const hidl_vec <T>& src) {
+ if (src.size() > 0) {
+ dest->setToExternal(const_cast<T*>(&src[0]), src.size());
+ } else if (dest->size() > 0) {
+ dest->resize(0);
+ }
+}
+
+void shallowCopyHidlStr(hidl_string* dest, const hidl_string& src) {
+ if (!src.empty()) {
+ dest->setToExternal(src.c_str(), src.size());
+ } else if (dest->size() > 0) {
+ dest->setToExternal(0, 0);
+ }
+}
+
+void shallowCopy(VehiclePropValue* dest, const VehiclePropValue& src) {
+ dest->prop = src.prop;
+ dest->areaId = src.areaId;
+ dest->timestamp = src.timestamp;
+ shallowCopyHidlVec(&dest->value.int32Values, src.value.int32Values);
+ shallowCopyHidlVec(&dest->value.int64Values, src.value.int64Values);
+ shallowCopyHidlVec(&dest->value.floatValues, src.value.floatValues);
+ shallowCopyHidlVec(&dest->value.bytes, src.value.bytes);
+ shallowCopyHidlStr(&dest->value.stringValue, src.value.stringValue);
+}
+
+
+//} // namespace utils
+
+} // namespace V2_0
+} // namespace vehicle
+} // namespace hardware
+} // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h b/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
index f06e97e..1177ddd 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
+++ b/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
@@ -17,11 +17,6 @@
#ifndef android_hardware_vehicle_V2_0_VehicleUtils_H_
#define android_hardware_vehicle_V2_0_VehicleUtils_H_
-#ifndef LOG_TAG
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
-#endif
-#include <android/log.h>
-
#include <memory>
#include <hidl/HidlSupport.h>
@@ -36,43 +31,22 @@
/** Represents all supported areas for a property. Can be used is */
constexpr int32_t kAllSupportedAreas = 0;
-template <typename T>
-inline hidl_vec<T> init_hidl_vec(std::initializer_list<const T> values) {
- hidl_vec<T> vector;
- vector.resize(values.size());
- size_t i = 0;
- for (auto& c : values) {
- vector[i++] = c;
- }
- return vector;
-}
-
-/**
- * Logical 'and' operator for class enums. The return type will be enum's
- * underline type
- */
-template <typename ENUM>
-inline typename std::underlying_type<ENUM>::type operator &(ENUM v1, ENUM v2) {
- return static_cast<typename std::underlying_type<ENUM>::type>(v1)
- & static_cast<typename std::underlying_type<ENUM>::type>(v2);
-}
-
/** Returns underlying (integer) value for given enum. */
-template <typename ENUM>
+template<typename ENUM>
inline 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) {
return static_cast<VehiclePropertyType>(
- static_cast<int32_t>(prop)
- & static_cast<int32_t>(VehiclePropertyType::MASK));
+ static_cast<int32_t>(prop)
+ & static_cast<int32_t>(VehiclePropertyType::MASK));
}
inline VehiclePropertyGroup getPropGroup(VehicleProperty prop) {
return static_cast<VehiclePropertyGroup>(
- static_cast<int32_t>(prop)
- & static_cast<int32_t>(VehiclePropertyGroup::MASK));
+ static_cast<int32_t>(prop)
+ & static_cast<int32_t>(VehiclePropertyGroup::MASK));
}
inline VehicleArea getPropArea(VehicleProperty prop) {
@@ -84,106 +58,25 @@
return getPropArea(prop) == VehicleArea::GLOBAL;
}
-inline bool checkPropType(VehicleProperty prop, VehiclePropertyType type) {
- return getPropType(prop) == type;
-}
-
inline bool isSystemProperty(VehicleProperty prop) {
return VehiclePropertyGroup::SYSTEM == getPropGroup(prop);
}
-inline std::unique_ptr<VehiclePropValue> createVehiclePropValue(
- VehiclePropertyType type, size_t vecSize) {
- auto val = std::unique_ptr<VehiclePropValue>(new VehiclePropValue);
- switch (type) {
- case VehiclePropertyType::INT32: // fall through
- case VehiclePropertyType::INT32_VEC: // fall through
- case VehiclePropertyType::BOOLEAN:
- val->value.int32Values.resize(vecSize);
- break;
- case VehiclePropertyType::FLOAT:
- case VehiclePropertyType::FLOAT_VEC: // fall through
- val->value.floatValues.resize(vecSize);
- break;
- case VehiclePropertyType::INT64:
- val->value.int64Values.resize(vecSize);
- break;
- case VehiclePropertyType::BYTES:
- val->value.bytes.resize(vecSize);
- break;
- case VehiclePropertyType::STRING:
- break; // Valid, but nothing to do.
- default:
- ALOGE("createVehiclePropValue: unknown type: %d", type);
- val.reset(nullptr);
- }
- return val;
-}
+std::unique_ptr<VehiclePropValue> createVehiclePropValue(
+ VehiclePropertyType type, size_t vecSize);
-inline size_t getVehicleRawValueVectorSize(
- const VehiclePropValue::RawValue& value, VehiclePropertyType type) {
- switch (type) {
- case VehiclePropertyType::INT32: // fall through
- case VehiclePropertyType::INT32_VEC: // fall through
- case VehiclePropertyType::BOOLEAN:
- return value.int32Values.size();
- case VehiclePropertyType::FLOAT: // fall through
- case VehiclePropertyType::FLOAT_VEC:
- return value.floatValues.size();
- case VehiclePropertyType::INT64:
- return value.int64Values.size();
- case VehiclePropertyType::BYTES:
- return value.bytes.size();
- default:
- return 0;
- }
-}
+size_t getVehicleRawValueVectorSize(
+ const VehiclePropValue::RawValue& value, VehiclePropertyType type);
-/** Copies vector src to dest, dest should have enough space. */
-template <typename T>
-inline void copyHidlVec(hidl_vec<T>* dest, const hidl_vec<T>& src) {
- for (size_t i = 0; i < std::min(dest->size(), src.size()); i++) {
- (*dest)[i] = src[i];
- }
-}
+void copyVehicleRawValue(VehiclePropValue::RawValue* dest,
+ const VehiclePropValue::RawValue& src);
-inline void copyVehicleRawValue(VehiclePropValue::RawValue* dest,
- const VehiclePropValue::RawValue& src) {
- copyHidlVec(&dest->int32Values, src.int32Values);
- copyHidlVec(&dest->floatValues, src.floatValues);
- copyHidlVec(&dest->int64Values, src.int64Values);
- copyHidlVec(&dest->bytes, src.bytes);
- dest->stringValue = src.stringValue;
-}
+template<typename T>
+void shallowCopyHidlVec(hidl_vec<T>* dest, const hidl_vec<T>& src);
-template <typename T>
-inline void shallowCopyHidlVec(hidl_vec<T>* dest, const hidl_vec<T>& src) {
- if (src.size() > 0) {
- dest->setToExternal(const_cast<T*>(&src[0]), src.size());
- } else if (dest->size() > 0) {
- dest->resize(0);
- }
-}
+void shallowCopyHidlStr(hidl_string* dest, const hidl_string& src);
-inline void shallowCopyHidlStr(hidl_string* dest, const hidl_string& src ) {
- if (!src.empty()) {
- dest->setToExternal(src.c_str(), src.size());
- } else if (dest->size() > 0) {
- dest->setToExternal(0, 0);
- }
-}
-
-inline void shallowCopy(VehiclePropValue* dest,
- const VehiclePropValue& src) {
- dest->prop = src.prop;
- dest->areaId = src.areaId;
- dest->timestamp = src.timestamp;
- shallowCopyHidlVec(&dest->value.int32Values, src.value.int32Values);
- shallowCopyHidlVec(&dest->value.int64Values, src.value.int64Values);
- shallowCopyHidlVec(&dest->value.floatValues, src.value.floatValues);
- shallowCopyHidlVec(&dest->value.bytes, src.value.bytes);
- shallowCopyHidlStr(&dest->value.stringValue, src.value.stringValue);
-}
+void shallowCopy(VehiclePropValue* dest, const VehiclePropValue& src);
} // namespace V2_0
} // namespace vehicle
diff --git a/vibrator/1.0/Android.mk b/vibrator/1.0/Android.mk
index 182ddb7..1437d44 100644
--- a/vibrator/1.0/Android.mk
+++ b/vibrator/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (Status)
#
-GEN := $(intermediates)/android/hardware/vibrator/1.0/Status.java
+GEN := $(intermediates)/android/hardware/vibrator/V1_0/Status.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build IVibrator.hal
#
-GEN := $(intermediates)/android/hardware/vibrator/1.0/IVibrator.java
+GEN := $(intermediates)/android/hardware/vibrator/V1_0/IVibrator.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVibrator.hal
@@ -75,7 +75,7 @@
#
# Build types.hal (Status)
#
-GEN := $(intermediates)/android/hardware/vibrator/1.0/Status.java
+GEN := $(intermediates)/android/hardware/vibrator/V1_0/Status.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -94,7 +94,7 @@
#
# Build IVibrator.hal
#
-GEN := $(intermediates)/android/hardware/vibrator/1.0/IVibrator.java
+GEN := $(intermediates)/android/hardware/vibrator/V1_0/IVibrator.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVibrator.hal
diff --git a/vr/1.0/Android.mk b/vr/1.0/Android.mk
index 5f2f84a..1b8e8c7 100644
--- a/vr/1.0/Android.mk
+++ b/vr/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build IVr.hal
#
-GEN := $(intermediates)/android/hardware/vr/1.0/IVr.java
+GEN := $(intermediates)/android/hardware/vr/V1_0/IVr.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVr.hal
@@ -54,7 +54,7 @@
#
# Build IVr.hal
#
-GEN := $(intermediates)/android/hardware/vr/1.0/IVr.java
+GEN := $(intermediates)/android/hardware/vr/V1_0/IVr.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVr.hal
diff --git a/vr/1.0/vts/Android.mk b/vr/1.0/vts/Android.mk
index 12f0175..8a1312d 100644
--- a/vr/1.0/vts/Android.mk
+++ b/vr/1.0/vts/Android.mk
@@ -76,3 +76,5 @@
include $(BUILD_SHARED_LIBRARY)
+# include hidl test makefiles
+include $(LOCAL_PATH)/functional/vts/testcases/hal/vr/hidl/Android.mk
diff --git a/vr/1.0/vts/functional/Android.bp b/vr/1.0/vts/functional/Android.bp
new file mode 100644
index 0000000..2929fe7
--- /dev/null
+++ b/vr/1.0/vts/functional/Android.bp
@@ -0,0 +1,32 @@
+//
+// 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: "vr_hidl_hal_test",
+ gtest: true,
+ srcs: ["vr_hidl_hal_test.cpp"],
+ shared_libs: [
+ "liblog",
+ "libhidlbase",
+ "libutils",
+ "android.hardware.vr@1.0",
+ ],
+ static_libs: ["libgtest"],
+ cflags: [
+ "-O0",
+ "-g",
+ ],
+}
diff --git a/vr/1.0/vts/functional/vr_hidl_hal_test.cpp b/vr/1.0/vts/functional/vr_hidl_hal_test.cpp
new file mode 100644
index 0000000..85ecbdc
--- /dev/null
+++ b/vr/1.0/vts/functional/vr_hidl_hal_test.cpp
@@ -0,0 +1,84 @@
+/*
+ * 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 "vr_hidl_hal_test"
+#include <android-base/logging.h>
+#include <android/hardware/vr/1.0/IVr.h>
+#include <android/log.h>
+#include <gtest/gtest.h>
+#include <hardware/vr.h>
+
+using ::android::hardware::vr::V1_0::IVr;
+using ::android::hardware::Return;
+using ::android::hardware::Void;
+using ::android::sp;
+
+#define VR_SERVICE_NAME "vr"
+
+// The main test class for VR HIDL HAL.
+class VrHidlTest : public ::testing::Test {
+ public:
+ void SetUp() override {
+ // currently test passthrough mode only
+ vr = IVr::getService(VR_SERVICE_NAME, true);
+ ASSERT_NE(vr, nullptr);
+ ASSERT_TRUE(!vr->isRemote());
+ }
+
+ void TearDown() override {}
+
+ sp<IVr> vr;
+};
+
+
+// A class for test environment setup (kept since this file is a template).
+class VrHidlEnvironment : public ::testing::Environment {
+ public:
+ void SetUp() {}
+ void TearDown() {}
+
+ private:
+};
+
+// Sanity check that Vr::init does not crash.
+TEST_F(VrHidlTest, Init) {
+ EXPECT_TRUE(vr->init().isOk());
+}
+
+// Sanity check Vr::setVrMode is able to enable and disable VR mode.
+TEST_F(VrHidlTest, SetVrMode) {
+ EXPECT_TRUE(vr->init().isOk());
+ EXPECT_TRUE(vr->setVrMode(true).isOk());
+ EXPECT_TRUE(vr->setVrMode(false).isOk());
+}
+
+// Sanity check that Vr::init and Vr::setVrMode can be used in any order.
+TEST_F(VrHidlTest, ReInit) {
+ EXPECT_TRUE(vr->init().isOk());
+ EXPECT_TRUE(vr->setVrMode(true).isOk());
+ EXPECT_TRUE(vr->init().isOk());
+ EXPECT_TRUE(vr->setVrMode(false).isOk());
+ EXPECT_TRUE(vr->init().isOk());
+ EXPECT_TRUE(vr->setVrMode(false).isOk());
+}
+
+int main(int argc, char **argv) {
+ ::testing::AddGlobalTestEnvironment(new VrHidlEnvironment);
+ ::testing::InitGoogleTest(&argc, argv);
+ int status = RUN_ALL_TESTS();
+ ALOGI("Test result = %d", status);
+ return status;
+}
diff --git a/vr/1.0/vts/functional/vts/Android.mk b/vr/1.0/vts/functional/vts/Android.mk
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/vr/1.0/vts/functional/vts/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/vr/1.0/vts/functional/vts/testcases/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/vr/1.0/vts/functional/vts/testcases/hal/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/vr/1.0/vts/functional/vts/testcases/hal/vr/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vr/1.0/vts/functional/vts/testcases/hal/vr/__init__.py
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
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/Android.mk
@@ -0,0 +1,19 @@
+#
+# 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
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/__init__.py
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
new file mode 100644
index 0000000..691d1a4
--- /dev/null
+++ b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target/Android.mk
@@ -0,0 +1,25 @@
+#
+# 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
new file mode 100644
index 0000000..a29c23b
--- /dev/null
+++ b/vr/1.0/vts/functional/vts/testcases/hal/vr/hidl/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?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="gtest" />
+ <option name="test-timeout" value="1m" />
+ </test>
+</configuration>
+
diff --git a/vr/Android.bp b/vr/Android.bp
index ba90f2c..ed19a37 100644
--- a/vr/Android.bp
+++ b/vr/Android.bp
@@ -2,4 +2,5 @@
subdirs = [
"1.0",
"1.0/default",
+ "1.0/vts/functional",
]
diff --git a/wifi/1.0/Android.mk b/wifi/1.0/Android.mk
index 7f158d4..26f782e 100644
--- a/wifi/1.0/Android.mk
+++ b/wifi/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (IfaceType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IfaceType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IfaceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (NanAvailDuration)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanAvailDuration.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanAvailDuration.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (NanBeaconSdfPayloadInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanBeaconSdfPayloadInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build types.hal (NanBeaconSdfPayloadReceive)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanBeaconSdfPayloadReceive.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadReceive.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -95,7 +95,7 @@
#
# Build types.hal (NanBeaconSdfPayloadRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanBeaconSdfPayloadRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -114,7 +114,7 @@
#
# Build types.hal (NanCapabilitiesResponse)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanCapabilitiesResponse.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanCapabilitiesResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -133,7 +133,7 @@
#
# Build types.hal (NanCapabilitiesResponseMsg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanCapabilitiesResponseMsg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanCapabilitiesResponseMsg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -152,7 +152,7 @@
#
# Build types.hal (NanChannelIndex)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanChannelIndex.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanChannelIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -171,7 +171,7 @@
#
# Build types.hal (NanConfigRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanConfigRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanConfigRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -190,7 +190,7 @@
#
# Build types.hal (NanConnectionType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanConnectionType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanConnectionType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -209,7 +209,7 @@
#
# Build types.hal (NanDataPathAppInfo)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathAppInfo.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathAppInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -228,7 +228,7 @@
#
# Build types.hal (NanDataPathCfg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathCfg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathCfg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -247,7 +247,7 @@
#
# Build types.hal (NanDataPathChannelCfg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathChannelCfg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathChannelCfg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -266,7 +266,7 @@
#
# Build types.hal (NanDataPathConfirmInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathConfirmInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathConfirmInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -285,7 +285,7 @@
#
# Build types.hal (NanDataPathEndInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathEndInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathEndInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -304,7 +304,7 @@
#
# Build types.hal (NanDataPathEndRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathEndRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathEndRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -323,7 +323,7 @@
#
# Build types.hal (NanDataPathIndicationResponse)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathIndicationResponse.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathIndicationResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -342,7 +342,7 @@
#
# Build types.hal (NanDataPathInitiatorRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathInitiatorRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathInitiatorRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -361,7 +361,7 @@
#
# Build types.hal (NanDataPathRequestInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathRequestInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathRequestInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -380,7 +380,7 @@
#
# Build types.hal (NanDataPathResponse)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathResponse.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -399,7 +399,7 @@
#
# Build types.hal (NanDataPathResponseCode)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathResponseCode.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathResponseCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -418,7 +418,7 @@
#
# Build types.hal (NanDataPathResponseMsg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathResponseMsg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathResponseMsg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -437,7 +437,7 @@
#
# Build types.hal (NanDeviceRole)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDeviceRole.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDeviceRole.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -456,7 +456,7 @@
#
# Build types.hal (NanDisabledInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDisabledInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDisabledInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -475,7 +475,7 @@
#
# Build types.hal (NanDiscEngEventInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDiscEngEventInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDiscEngEventInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -494,7 +494,7 @@
#
# Build types.hal (NanDiscEngEventType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDiscEngEventType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDiscEngEventType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -513,7 +513,7 @@
#
# Build types.hal (NanEnableRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanEnableRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanEnableRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -532,7 +532,7 @@
#
# Build types.hal (NanFollowupInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanFollowupInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanFollowupInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -551,7 +551,7 @@
#
# Build types.hal (NanFurtherAvailabilityChannel)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanFurtherAvailabilityChannel.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanFurtherAvailabilityChannel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -570,7 +570,7 @@
#
# Build types.hal (NanMatchAlg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanMatchAlg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanMatchAlg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -589,7 +589,7 @@
#
# Build types.hal (NanMatchExpiredInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanMatchExpiredInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanMatchExpiredInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -608,7 +608,7 @@
#
# Build types.hal (NanMatchInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanMatchInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanMatchInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -627,7 +627,7 @@
#
# Build types.hal (NanMaxSize)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanMaxSize.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanMaxSize.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -646,7 +646,7 @@
#
# Build types.hal (NanPublishCancelRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishCancelRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishCancelRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -665,7 +665,7 @@
#
# Build types.hal (NanPublishRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -684,7 +684,7 @@
#
# Build types.hal (NanPublishResponse)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishResponse.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -703,7 +703,7 @@
#
# Build types.hal (NanPublishResponseMsg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishResponseMsg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishResponseMsg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -722,7 +722,7 @@
#
# Build types.hal (NanPublishTerminatedInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishTerminatedInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishTerminatedInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -741,7 +741,7 @@
#
# Build types.hal (NanPublishType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -760,7 +760,7 @@
#
# Build types.hal (NanReceiveVendorSpecificAttribute)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanReceiveVendorSpecificAttribute.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanReceiveVendorSpecificAttribute.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -779,7 +779,7 @@
#
# Build types.hal (NanResponseMsgHeader)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanResponseMsgHeader.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanResponseMsgHeader.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -798,7 +798,7 @@
#
# Build types.hal (NanResponseType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanResponseType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanResponseType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -817,7 +817,7 @@
#
# Build types.hal (NanSocialChannelScanParams)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSocialChannelScanParams.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSocialChannelScanParams.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -836,7 +836,7 @@
#
# Build types.hal (NanSrfIncludeType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSrfIncludeType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSrfIncludeType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -855,7 +855,7 @@
#
# Build types.hal (NanSrfType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSrfType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSrfType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -874,7 +874,7 @@
#
# Build types.hal (NanStatusType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanStatusType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanStatusType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -893,7 +893,7 @@
#
# Build types.hal (NanSubscribeCancelRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeCancelRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeCancelRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -912,7 +912,7 @@
#
# Build types.hal (NanSubscribeRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -931,7 +931,7 @@
#
# Build types.hal (NanSubscribeResponse)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeResponse.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -950,7 +950,7 @@
#
# Build types.hal (NanSubscribeResponseMsg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeResponseMsg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeResponseMsg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -969,7 +969,7 @@
#
# Build types.hal (NanSubscribeTerminatedInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeTerminatedInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeTerminatedInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -988,7 +988,7 @@
#
# Build types.hal (NanSubscribeType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1007,7 +1007,7 @@
#
# Build types.hal (NanTransmitFollowupInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTransmitFollowupInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTransmitFollowupInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1026,7 +1026,7 @@
#
# Build types.hal (NanTransmitFollowupRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTransmitFollowupRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTransmitFollowupRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1045,7 +1045,7 @@
#
# Build types.hal (NanTransmitVendorSpecificAttribute)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTransmitVendorSpecificAttribute.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTransmitVendorSpecificAttribute.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1064,7 +1064,7 @@
#
# Build types.hal (NanTransmitWindowType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTransmitWindowType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTransmitWindowType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1083,7 +1083,7 @@
#
# Build types.hal (NanTxPriority)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTxPriority.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTxPriority.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1102,7 +1102,7 @@
#
# Build types.hal (NanTxType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTxType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTxType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1121,7 +1121,7 @@
#
# Build types.hal (NanVsaRxFrameMask)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanVsaRxFrameMask.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanVsaRxFrameMask.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1140,7 +1140,7 @@
#
# Build types.hal (RttBw)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttBw.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttBw.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1159,7 +1159,7 @@
#
# Build types.hal (RttCapabilities)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttCapabilities.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttCapabilities.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1176,28 +1176,9 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
-# Build types.hal (RttChannelMap)
-#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttChannelMap.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.wifi@1.0::types.RttChannelMap
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
# Build types.hal (RttConfig)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttConfig.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1214,66 +1195,9 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
-# Build types.hal (RttDebugFormat)
-#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttDebugFormat.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.wifi@1.0::types.RttDebugFormat
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
-# Build types.hal (RttDebugInfo)
-#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttDebugInfo.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.wifi@1.0::types.RttDebugInfo
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
-# Build types.hal (RttDebugType)
-#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttDebugType.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.wifi@1.0::types.RttDebugType
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
# Build types.hal (RttLciInformation)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttLciInformation.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttLciInformation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1292,7 +1216,7 @@
#
# Build types.hal (RttLcrInformation)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttLcrInformation.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttLcrInformation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1311,7 +1235,7 @@
#
# Build types.hal (RttMotionPattern)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttMotionPattern.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttMotionPattern.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1330,7 +1254,7 @@
#
# Build types.hal (RttPeerType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttPeerType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttPeerType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1349,7 +1273,7 @@
#
# Build types.hal (RttPreamble)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttPreamble.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttPreamble.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1368,7 +1292,7 @@
#
# Build types.hal (RttResponder)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttResponder.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttResponder.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1387,7 +1311,7 @@
#
# Build types.hal (RttResult)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttResult.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1406,7 +1330,7 @@
#
# Build types.hal (RttStatus)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttStatus.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1425,7 +1349,7 @@
#
# Build types.hal (RttType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1444,7 +1368,7 @@
#
# Build types.hal (StaApfPacketFilterCapabilities)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaApfPacketFilterCapabilities.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaApfPacketFilterCapabilities.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1463,7 +1387,7 @@
#
# Build types.hal (StaBackgroundScanBand)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaBackgroundScanBand.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaBackgroundScanBand.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1482,7 +1406,7 @@
#
# Build types.hal (StaBackgroundScanBucketEventReportSchemeMask)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaBackgroundScanBucketEventReportSchemeMask.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaBackgroundScanBucketEventReportSchemeMask.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1501,7 +1425,7 @@
#
# Build types.hal (StaBackgroundScanBucketParameters)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaBackgroundScanBucketParameters.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaBackgroundScanBucketParameters.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1520,7 +1444,7 @@
#
# Build types.hal (StaBackgroundScanCapabilities)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaBackgroundScanCapabilities.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaBackgroundScanCapabilities.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1539,7 +1463,7 @@
#
# Build types.hal (StaBackgroundScanParameters)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaBackgroundScanParameters.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaBackgroundScanParameters.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1558,7 +1482,7 @@
#
# Build types.hal (StaLinkLayerIfacePacketStats)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaLinkLayerIfacePacketStats.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaLinkLayerIfacePacketStats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1577,7 +1501,7 @@
#
# Build types.hal (StaLinkLayerIfaceStats)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaLinkLayerIfaceStats.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaLinkLayerIfaceStats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1596,7 +1520,7 @@
#
# Build types.hal (StaLinkLayerRadioStats)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaLinkLayerRadioStats.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaLinkLayerRadioStats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1615,7 +1539,7 @@
#
# Build types.hal (StaLinkLayerStats)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaLinkLayerStats.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaLinkLayerStats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1632,9 +1556,66 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
+# Build types.hal (StaRoamingCapabilities)
+#
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingCapabilities.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.wifi@1.0::types.StaRoamingCapabilities
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (StaRoamingConfig)
+#
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingConfig.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.wifi@1.0::types.StaRoamingConfig
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (StaRoamingState)
+#
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingState.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.wifi@1.0::types.StaRoamingState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
# Build types.hal (StaScanData)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaScanData.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaScanData.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1653,7 +1634,7 @@
#
# Build types.hal (StaScanDataFlagMask)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaScanDataFlagMask.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaScanDataFlagMask.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1672,7 +1653,7 @@
#
# Build types.hal (StaScanResult)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaScanResult.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaScanResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1691,7 +1672,7 @@
#
# Build types.hal (WifiChannelInfo)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiChannelInfo.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiChannelInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1710,7 +1691,7 @@
#
# Build types.hal (WifiChannelWidthInMhz)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiChannelWidthInMhz.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiChannelWidthInMhz.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1729,7 +1710,7 @@
#
# Build types.hal (WifiDebugHostWakeReasonRxIcmpPacketDetails)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugHostWakeReasonRxIcmpPacketDetails.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugHostWakeReasonRxIcmpPacketDetails.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1748,7 +1729,7 @@
#
# Build types.hal (WifiDebugHostWakeReasonRxMulticastPacketDetails)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugHostWakeReasonRxMulticastPacketDetails.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugHostWakeReasonRxMulticastPacketDetails.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1767,7 +1748,7 @@
#
# Build types.hal (WifiDebugHostWakeReasonRxPacketDetails)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugHostWakeReasonRxPacketDetails.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugHostWakeReasonRxPacketDetails.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1786,7 +1767,7 @@
#
# Build types.hal (WifiDebugHostWakeReasonStats)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugHostWakeReasonStats.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugHostWakeReasonStats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1805,7 +1786,7 @@
#
# Build types.hal (WifiDebugPacketFateFrameInfo)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugPacketFateFrameInfo.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugPacketFateFrameInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1824,7 +1805,7 @@
#
# Build types.hal (WifiDebugPacketFateFrameType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugPacketFateFrameType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugPacketFateFrameType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1843,7 +1824,7 @@
#
# Build types.hal (WifiDebugRingBufferFlags)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferFlags.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingBufferFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1862,7 +1843,7 @@
#
# Build types.hal (WifiDebugRingBufferStatus)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferStatus.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingBufferStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1881,7 +1862,7 @@
#
# Build types.hal (WifiDebugRingBufferVerboseLevel)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferVerboseLevel.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingBufferVerboseLevel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1900,7 +1881,7 @@
#
# Build types.hal (WifiDebugRingEntryConnectivityEvent)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryConnectivityEvent.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryConnectivityEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1919,7 +1900,7 @@
#
# Build types.hal (WifiDebugRingEntryEventTlv)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventTlv.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryEventTlv.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1938,7 +1919,7 @@
#
# Build types.hal (WifiDebugRingEntryEventTlvType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventTlvType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryEventTlvType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1957,7 +1938,7 @@
#
# Build types.hal (WifiDebugRingEntryEventType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryEventType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1976,7 +1957,7 @@
#
# Build types.hal (WifiDebugRingEntryFlags)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryFlags.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1995,7 +1976,7 @@
#
# Build types.hal (WifiDebugRingEntryHeader)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryHeader.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryHeader.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2014,7 +1995,7 @@
#
# Build types.hal (WifiDebugRingEntryPowerEvent)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryPowerEvent.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryPowerEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2033,7 +2014,7 @@
#
# Build types.hal (WifiDebugRingEntryVendorData)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryVendorData.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryVendorData.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2052,7 +2033,7 @@
#
# Build types.hal (WifiDebugRingEntryWakelockEvent)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryWakelockEvent.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryWakelockEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2071,7 +2052,7 @@
#
# Build types.hal (WifiDebugRxPacketFate)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRxPacketFate.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRxPacketFate.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2090,7 +2071,7 @@
#
# Build types.hal (WifiDebugRxPacketFateReport)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRxPacketFateReport.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRxPacketFateReport.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2109,7 +2090,7 @@
#
# Build types.hal (WifiDebugTxPacketFate)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugTxPacketFate.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugTxPacketFate.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2128,7 +2109,7 @@
#
# Build types.hal (WifiDebugTxPacketFateReport)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugTxPacketFateReport.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugTxPacketFateReport.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2147,7 +2128,7 @@
#
# Build types.hal (WifiInformationElement)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiInformationElement.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiInformationElement.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2166,7 +2147,7 @@
#
# Build types.hal (WifiRateInfo)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiRateInfo.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiRateInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2185,7 +2166,7 @@
#
# Build types.hal (WifiRateNss)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiRateNss.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiRateNss.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2204,7 +2185,7 @@
#
# Build types.hal (WifiRatePreamble)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiRatePreamble.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiRatePreamble.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2223,7 +2204,7 @@
#
# Build types.hal (WifiStatus)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiStatus.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2242,7 +2223,7 @@
#
# Build types.hal (WifiStatusCode)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiStatusCode.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiStatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2261,7 +2242,7 @@
#
# Build IWifi.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifi.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifi.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifi.hal
@@ -2286,7 +2267,7 @@
#
# Build IWifiApIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiApIface.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiApIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiApIface.hal
@@ -2307,7 +2288,7 @@
#
# Build IWifiChip.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiChip.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiChip.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiChip.hal
@@ -2342,7 +2323,7 @@
#
# Build IWifiChipEventCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiChipEventCallback.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiChipEventCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiChipEventCallback.hal
@@ -2363,7 +2344,7 @@
#
# Build IWifiEventCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiEventCallback.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiEventCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiEventCallback.hal
@@ -2384,7 +2365,7 @@
#
# Build IWifiIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiIface.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiIface.hal
@@ -2405,7 +2386,7 @@
#
# Build IWifiNanIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiNanIface.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiNanIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiNanIface.hal
@@ -2430,7 +2411,7 @@
#
# Build IWifiNanIfaceEventCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiNanIfaceEventCallback.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiNanIfaceEventCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiNanIfaceEventCallback.hal
@@ -2451,7 +2432,7 @@
#
# Build IWifiP2pIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiP2pIface.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiP2pIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiP2pIface.hal
@@ -2472,7 +2453,7 @@
#
# Build IWifiRttController.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiRttController.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiRttController.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiRttController.hal
@@ -2497,7 +2478,7 @@
#
# Build IWifiRttControllerEventCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiRttControllerEventCallback.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiRttControllerEventCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiRttControllerEventCallback.hal
@@ -2518,7 +2499,7 @@
#
# Build IWifiStaIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiStaIface.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiStaIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiStaIface.hal
@@ -2543,7 +2524,7 @@
#
# Build IWifiStaIfaceEventCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiStaIfaceEventCallback.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiStaIfaceEventCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiStaIfaceEventCallback.hal
@@ -2580,7 +2561,7 @@
#
# Build types.hal (IfaceType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IfaceType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IfaceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2599,7 +2580,7 @@
#
# Build types.hal (NanAvailDuration)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanAvailDuration.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanAvailDuration.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2618,7 +2599,7 @@
#
# Build types.hal (NanBeaconSdfPayloadInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanBeaconSdfPayloadInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2637,7 +2618,7 @@
#
# Build types.hal (NanBeaconSdfPayloadReceive)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanBeaconSdfPayloadReceive.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadReceive.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2656,7 +2637,7 @@
#
# Build types.hal (NanBeaconSdfPayloadRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanBeaconSdfPayloadRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2675,7 +2656,7 @@
#
# Build types.hal (NanCapabilitiesResponse)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanCapabilitiesResponse.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanCapabilitiesResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2694,7 +2675,7 @@
#
# Build types.hal (NanCapabilitiesResponseMsg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanCapabilitiesResponseMsg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanCapabilitiesResponseMsg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2713,7 +2694,7 @@
#
# Build types.hal (NanChannelIndex)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanChannelIndex.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanChannelIndex.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2732,7 +2713,7 @@
#
# Build types.hal (NanConfigRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanConfigRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanConfigRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2751,7 +2732,7 @@
#
# Build types.hal (NanConnectionType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanConnectionType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanConnectionType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2770,7 +2751,7 @@
#
# Build types.hal (NanDataPathAppInfo)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathAppInfo.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathAppInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2789,7 +2770,7 @@
#
# Build types.hal (NanDataPathCfg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathCfg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathCfg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2808,7 +2789,7 @@
#
# Build types.hal (NanDataPathChannelCfg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathChannelCfg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathChannelCfg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2827,7 +2808,7 @@
#
# Build types.hal (NanDataPathConfirmInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathConfirmInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathConfirmInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2846,7 +2827,7 @@
#
# Build types.hal (NanDataPathEndInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathEndInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathEndInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2865,7 +2846,7 @@
#
# Build types.hal (NanDataPathEndRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathEndRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathEndRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2884,7 +2865,7 @@
#
# Build types.hal (NanDataPathIndicationResponse)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathIndicationResponse.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathIndicationResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2903,7 +2884,7 @@
#
# Build types.hal (NanDataPathInitiatorRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathInitiatorRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathInitiatorRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2922,7 +2903,7 @@
#
# Build types.hal (NanDataPathRequestInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathRequestInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathRequestInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2941,7 +2922,7 @@
#
# Build types.hal (NanDataPathResponse)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathResponse.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2960,7 +2941,7 @@
#
# Build types.hal (NanDataPathResponseCode)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathResponseCode.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathResponseCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2979,7 +2960,7 @@
#
# Build types.hal (NanDataPathResponseMsg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDataPathResponseMsg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDataPathResponseMsg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2998,7 +2979,7 @@
#
# Build types.hal (NanDeviceRole)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDeviceRole.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDeviceRole.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3017,7 +2998,7 @@
#
# Build types.hal (NanDisabledInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDisabledInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDisabledInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3036,7 +3017,7 @@
#
# Build types.hal (NanDiscEngEventInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDiscEngEventInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDiscEngEventInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3055,7 +3036,7 @@
#
# Build types.hal (NanDiscEngEventType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanDiscEngEventType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanDiscEngEventType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3074,7 +3055,7 @@
#
# Build types.hal (NanEnableRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanEnableRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanEnableRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3093,7 +3074,7 @@
#
# Build types.hal (NanFollowupInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanFollowupInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanFollowupInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3112,7 +3093,7 @@
#
# Build types.hal (NanFurtherAvailabilityChannel)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanFurtherAvailabilityChannel.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanFurtherAvailabilityChannel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3131,7 +3112,7 @@
#
# Build types.hal (NanMatchAlg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanMatchAlg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanMatchAlg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3150,7 +3131,7 @@
#
# Build types.hal (NanMatchExpiredInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanMatchExpiredInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanMatchExpiredInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3169,7 +3150,7 @@
#
# Build types.hal (NanMatchInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanMatchInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanMatchInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3188,7 +3169,7 @@
#
# Build types.hal (NanMaxSize)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanMaxSize.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanMaxSize.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3207,7 +3188,7 @@
#
# Build types.hal (NanPublishCancelRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishCancelRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishCancelRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3226,7 +3207,7 @@
#
# Build types.hal (NanPublishRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3245,7 +3226,7 @@
#
# Build types.hal (NanPublishResponse)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishResponse.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3264,7 +3245,7 @@
#
# Build types.hal (NanPublishResponseMsg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishResponseMsg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishResponseMsg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3283,7 +3264,7 @@
#
# Build types.hal (NanPublishTerminatedInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishTerminatedInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishTerminatedInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3302,7 +3283,7 @@
#
# Build types.hal (NanPublishType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanPublishType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanPublishType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3321,7 +3302,7 @@
#
# Build types.hal (NanReceiveVendorSpecificAttribute)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanReceiveVendorSpecificAttribute.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanReceiveVendorSpecificAttribute.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3340,7 +3321,7 @@
#
# Build types.hal (NanResponseMsgHeader)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanResponseMsgHeader.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanResponseMsgHeader.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3359,7 +3340,7 @@
#
# Build types.hal (NanResponseType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanResponseType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanResponseType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3378,7 +3359,7 @@
#
# Build types.hal (NanSocialChannelScanParams)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSocialChannelScanParams.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSocialChannelScanParams.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3397,7 +3378,7 @@
#
# Build types.hal (NanSrfIncludeType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSrfIncludeType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSrfIncludeType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3416,7 +3397,7 @@
#
# Build types.hal (NanSrfType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSrfType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSrfType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3435,7 +3416,7 @@
#
# Build types.hal (NanStatusType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanStatusType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanStatusType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3454,7 +3435,7 @@
#
# Build types.hal (NanSubscribeCancelRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeCancelRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeCancelRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3473,7 +3454,7 @@
#
# Build types.hal (NanSubscribeRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3492,7 +3473,7 @@
#
# Build types.hal (NanSubscribeResponse)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeResponse.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeResponse.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3511,7 +3492,7 @@
#
# Build types.hal (NanSubscribeResponseMsg)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeResponseMsg.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeResponseMsg.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3530,7 +3511,7 @@
#
# Build types.hal (NanSubscribeTerminatedInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeTerminatedInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeTerminatedInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3549,7 +3530,7 @@
#
# Build types.hal (NanSubscribeType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanSubscribeType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanSubscribeType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3568,7 +3549,7 @@
#
# Build types.hal (NanTransmitFollowupInd)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTransmitFollowupInd.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTransmitFollowupInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3587,7 +3568,7 @@
#
# Build types.hal (NanTransmitFollowupRequest)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTransmitFollowupRequest.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTransmitFollowupRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3606,7 +3587,7 @@
#
# Build types.hal (NanTransmitVendorSpecificAttribute)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTransmitVendorSpecificAttribute.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTransmitVendorSpecificAttribute.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3625,7 +3606,7 @@
#
# Build types.hal (NanTransmitWindowType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTransmitWindowType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTransmitWindowType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3644,7 +3625,7 @@
#
# Build types.hal (NanTxPriority)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTxPriority.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTxPriority.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3663,7 +3644,7 @@
#
# Build types.hal (NanTxType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanTxType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanTxType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3682,7 +3663,7 @@
#
# Build types.hal (NanVsaRxFrameMask)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/NanVsaRxFrameMask.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/NanVsaRxFrameMask.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3701,7 +3682,7 @@
#
# Build types.hal (RttBw)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttBw.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttBw.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3720,7 +3701,7 @@
#
# Build types.hal (RttCapabilities)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttCapabilities.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttCapabilities.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3737,28 +3718,9 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
-# Build types.hal (RttChannelMap)
-#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttChannelMap.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.wifi@1.0::types.RttChannelMap
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
# Build types.hal (RttConfig)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttConfig.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttConfig.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3775,66 +3737,9 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
-# Build types.hal (RttDebugFormat)
-#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttDebugFormat.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.wifi@1.0::types.RttDebugFormat
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
-# Build types.hal (RttDebugInfo)
-#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttDebugInfo.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.wifi@1.0::types.RttDebugInfo
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
-# Build types.hal (RttDebugType)
-#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttDebugType.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.wifi@1.0::types.RttDebugType
-
-$(GEN): $(LOCAL_PATH)/types.hal
- $(transform-generated-source)
-LOCAL_GENERATED_SOURCES += $(GEN)
-
-#
# Build types.hal (RttLciInformation)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttLciInformation.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttLciInformation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3853,7 +3758,7 @@
#
# Build types.hal (RttLcrInformation)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttLcrInformation.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttLcrInformation.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3872,7 +3777,7 @@
#
# Build types.hal (RttMotionPattern)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttMotionPattern.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttMotionPattern.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3891,7 +3796,7 @@
#
# Build types.hal (RttPeerType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttPeerType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttPeerType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3910,7 +3815,7 @@
#
# Build types.hal (RttPreamble)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttPreamble.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttPreamble.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3929,7 +3834,7 @@
#
# Build types.hal (RttResponder)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttResponder.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttResponder.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3948,7 +3853,7 @@
#
# Build types.hal (RttResult)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttResult.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3967,7 +3872,7 @@
#
# Build types.hal (RttStatus)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttStatus.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -3986,7 +3891,7 @@
#
# Build types.hal (RttType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/RttType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/RttType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4005,7 +3910,7 @@
#
# Build types.hal (StaApfPacketFilterCapabilities)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaApfPacketFilterCapabilities.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaApfPacketFilterCapabilities.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4024,7 +3929,7 @@
#
# Build types.hal (StaBackgroundScanBand)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaBackgroundScanBand.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaBackgroundScanBand.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4043,7 +3948,7 @@
#
# Build types.hal (StaBackgroundScanBucketEventReportSchemeMask)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaBackgroundScanBucketEventReportSchemeMask.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaBackgroundScanBucketEventReportSchemeMask.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4062,7 +3967,7 @@
#
# Build types.hal (StaBackgroundScanBucketParameters)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaBackgroundScanBucketParameters.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaBackgroundScanBucketParameters.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4081,7 +3986,7 @@
#
# Build types.hal (StaBackgroundScanCapabilities)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaBackgroundScanCapabilities.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaBackgroundScanCapabilities.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4100,7 +4005,7 @@
#
# Build types.hal (StaBackgroundScanParameters)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaBackgroundScanParameters.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaBackgroundScanParameters.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4119,7 +4024,7 @@
#
# Build types.hal (StaLinkLayerIfacePacketStats)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaLinkLayerIfacePacketStats.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaLinkLayerIfacePacketStats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4138,7 +4043,7 @@
#
# Build types.hal (StaLinkLayerIfaceStats)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaLinkLayerIfaceStats.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaLinkLayerIfaceStats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4157,7 +4062,7 @@
#
# Build types.hal (StaLinkLayerRadioStats)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaLinkLayerRadioStats.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaLinkLayerRadioStats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4176,7 +4081,7 @@
#
# Build types.hal (StaLinkLayerStats)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaLinkLayerStats.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaLinkLayerStats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4193,9 +4098,66 @@
LOCAL_GENERATED_SOURCES += $(GEN)
#
+# Build types.hal (StaRoamingCapabilities)
+#
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingCapabilities.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.wifi@1.0::types.StaRoamingCapabilities
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (StaRoamingConfig)
+#
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingConfig.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.wifi@1.0::types.StaRoamingConfig
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (StaRoamingState)
+#
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaRoamingState.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.wifi@1.0::types.StaRoamingState
+
+$(GEN): $(LOCAL_PATH)/types.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
# Build types.hal (StaScanData)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaScanData.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaScanData.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4214,7 +4176,7 @@
#
# Build types.hal (StaScanDataFlagMask)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaScanDataFlagMask.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaScanDataFlagMask.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4233,7 +4195,7 @@
#
# Build types.hal (StaScanResult)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/StaScanResult.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/StaScanResult.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4252,7 +4214,7 @@
#
# Build types.hal (WifiChannelInfo)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiChannelInfo.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiChannelInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4271,7 +4233,7 @@
#
# Build types.hal (WifiChannelWidthInMhz)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiChannelWidthInMhz.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiChannelWidthInMhz.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4290,7 +4252,7 @@
#
# Build types.hal (WifiDebugHostWakeReasonRxIcmpPacketDetails)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugHostWakeReasonRxIcmpPacketDetails.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugHostWakeReasonRxIcmpPacketDetails.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4309,7 +4271,7 @@
#
# Build types.hal (WifiDebugHostWakeReasonRxMulticastPacketDetails)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugHostWakeReasonRxMulticastPacketDetails.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugHostWakeReasonRxMulticastPacketDetails.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4328,7 +4290,7 @@
#
# Build types.hal (WifiDebugHostWakeReasonRxPacketDetails)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugHostWakeReasonRxPacketDetails.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugHostWakeReasonRxPacketDetails.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4347,7 +4309,7 @@
#
# Build types.hal (WifiDebugHostWakeReasonStats)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugHostWakeReasonStats.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugHostWakeReasonStats.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4366,7 +4328,7 @@
#
# Build types.hal (WifiDebugPacketFateFrameInfo)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugPacketFateFrameInfo.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugPacketFateFrameInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4385,7 +4347,7 @@
#
# Build types.hal (WifiDebugPacketFateFrameType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugPacketFateFrameType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugPacketFateFrameType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4404,7 +4366,7 @@
#
# Build types.hal (WifiDebugRingBufferFlags)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferFlags.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingBufferFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4423,7 +4385,7 @@
#
# Build types.hal (WifiDebugRingBufferStatus)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferStatus.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingBufferStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4442,7 +4404,7 @@
#
# Build types.hal (WifiDebugRingBufferVerboseLevel)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingBufferVerboseLevel.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingBufferVerboseLevel.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4461,7 +4423,7 @@
#
# Build types.hal (WifiDebugRingEntryConnectivityEvent)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryConnectivityEvent.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryConnectivityEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4480,7 +4442,7 @@
#
# Build types.hal (WifiDebugRingEntryEventTlv)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventTlv.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryEventTlv.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4499,7 +4461,7 @@
#
# Build types.hal (WifiDebugRingEntryEventTlvType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventTlvType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryEventTlvType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4518,7 +4480,7 @@
#
# Build types.hal (WifiDebugRingEntryEventType)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryEventType.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryEventType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4537,7 +4499,7 @@
#
# Build types.hal (WifiDebugRingEntryFlags)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryFlags.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryFlags.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4556,7 +4518,7 @@
#
# Build types.hal (WifiDebugRingEntryHeader)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryHeader.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryHeader.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4575,7 +4537,7 @@
#
# Build types.hal (WifiDebugRingEntryPowerEvent)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryPowerEvent.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryPowerEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4594,7 +4556,7 @@
#
# Build types.hal (WifiDebugRingEntryVendorData)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryVendorData.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryVendorData.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4613,7 +4575,7 @@
#
# Build types.hal (WifiDebugRingEntryWakelockEvent)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRingEntryWakelockEvent.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRingEntryWakelockEvent.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4632,7 +4594,7 @@
#
# Build types.hal (WifiDebugRxPacketFate)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRxPacketFate.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRxPacketFate.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4651,7 +4613,7 @@
#
# Build types.hal (WifiDebugRxPacketFateReport)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugRxPacketFateReport.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugRxPacketFateReport.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4670,7 +4632,7 @@
#
# Build types.hal (WifiDebugTxPacketFate)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugTxPacketFate.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugTxPacketFate.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4689,7 +4651,7 @@
#
# Build types.hal (WifiDebugTxPacketFateReport)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiDebugTxPacketFateReport.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiDebugTxPacketFateReport.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4708,7 +4670,7 @@
#
# Build types.hal (WifiInformationElement)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiInformationElement.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiInformationElement.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4727,7 +4689,7 @@
#
# Build types.hal (WifiRateInfo)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiRateInfo.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiRateInfo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4746,7 +4708,7 @@
#
# Build types.hal (WifiRateNss)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiRateNss.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiRateNss.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4765,7 +4727,7 @@
#
# Build types.hal (WifiRatePreamble)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiRatePreamble.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiRatePreamble.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4784,7 +4746,7 @@
#
# Build types.hal (WifiStatus)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiStatus.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4803,7 +4765,7 @@
#
# Build types.hal (WifiStatusCode)
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/WifiStatusCode.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/WifiStatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -4822,7 +4784,7 @@
#
# Build IWifi.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifi.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifi.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifi.hal
@@ -4847,7 +4809,7 @@
#
# Build IWifiApIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiApIface.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiApIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiApIface.hal
@@ -4868,7 +4830,7 @@
#
# Build IWifiChip.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiChip.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiChip.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiChip.hal
@@ -4903,7 +4865,7 @@
#
# Build IWifiChipEventCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiChipEventCallback.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiChipEventCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiChipEventCallback.hal
@@ -4924,7 +4886,7 @@
#
# Build IWifiEventCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiEventCallback.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiEventCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiEventCallback.hal
@@ -4945,7 +4907,7 @@
#
# Build IWifiIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiIface.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiIface.hal
@@ -4966,7 +4928,7 @@
#
# Build IWifiNanIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiNanIface.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiNanIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiNanIface.hal
@@ -4991,7 +4953,7 @@
#
# Build IWifiNanIfaceEventCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiNanIfaceEventCallback.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiNanIfaceEventCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiNanIfaceEventCallback.hal
@@ -5012,7 +4974,7 @@
#
# Build IWifiP2pIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiP2pIface.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiP2pIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiP2pIface.hal
@@ -5033,7 +4995,7 @@
#
# Build IWifiRttController.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiRttController.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiRttController.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiRttController.hal
@@ -5058,7 +5020,7 @@
#
# Build IWifiRttControllerEventCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiRttControllerEventCallback.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiRttControllerEventCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiRttControllerEventCallback.hal
@@ -5079,7 +5041,7 @@
#
# Build IWifiStaIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiStaIface.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiStaIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiStaIface.hal
@@ -5104,7 +5066,7 @@
#
# Build IWifiStaIfaceEventCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/1.0/IWifiStaIfaceEventCallback.java
+GEN := $(intermediates)/android/hardware/wifi/V1_0/IWifiStaIfaceEventCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IWifiStaIfaceEventCallback.hal
diff --git a/wifi/1.0/IWifiChip.hal b/wifi/1.0/IWifiChip.hal
index 3c085c3..051a088 100644
--- a/wifi/1.0/IWifiChip.hal
+++ b/wifi/1.0/IWifiChip.hal
@@ -323,13 +323,28 @@
* @return status WifiStatus of the operation.
* Possible status codes:
* |WifiStatusCode.SUCCESS|,
- * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|
+ * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_INVALID_ARGS|
* @return iface HIDL interface object representing the iface if
* it exists, null otherwise.
*/
getApIface(string ifname) generates (WifiStatus status, IWifiApIface iface);
/**
+ * Removes the AP Iface with the provided ifname.
+ * Any further calls on the corresponding |IWifiApIface| HIDL interface
+ * object must fail.
+ *
+ * @param ifname Name of the iface.
+ * @return status WifiStatus of the operation.
+ * Possible status codes:
+ * |WifiStatusCode.SUCCESS|,
+ * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_INVALID_ARGS|
+ */
+ removeApIface(string ifname) generates (WifiStatus status);
+
+ /**
* Create a NAN iface on the chip.
*
* Depending on the mode the chip is configured in, the interface creation
@@ -368,13 +383,28 @@
* @return status WifiStatus of the operation.
* Possible status codes:
* |WifiStatusCode.SUCCESS|,
- * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|
+ * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_INVALID_ARGS|
* @return iface HIDL interface object representing the iface if
* it exists, null otherwise.
*/
getNanIface(string ifname) generates (WifiStatus status, IWifiNanIface iface);
/**
+ * Removes the NAN Iface with the provided ifname.
+ * Any further calls on the corresponding |IWifiNanIface| HIDL interface
+ * object must fail.
+ *
+ * @param ifname Name of the iface.
+ * @return status WifiStatus of the operation.
+ * Possible status codes:
+ * |WifiStatusCode.SUCCESS|,
+ * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_INVALID_ARGS|
+ */
+ removeNanIface(string ifname) generates (WifiStatus status);
+
+ /**
* Create a P2P iface on the chip.
*
* Depending on the mode the chip is configured in, the interface creation
@@ -413,13 +443,28 @@
* @return status WifiStatus of the operation.
* Possible status codes:
* |WifiStatusCode.SUCCESS|,
- * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|
+ * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_INVALID_ARGS|
* @return iface HIDL interface object representing the iface if
* it exists, null otherwise.
*/
getP2pIface(string ifname) generates (WifiStatus status, IWifiP2pIface iface);
/**
+ * Removes the P2P Iface with the provided ifname.
+ * Any further calls on the corresponding |IWifiP2pIface| HIDL interface
+ * object must fail.
+ *
+ * @param ifname Name of the iface.
+ * @return status WifiStatus of the operation.
+ * Possible status codes:
+ * |WifiStatusCode.SUCCESS|,
+ * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_INVALID_ARGS|
+ */
+ removeP2pIface(string ifname) generates (WifiStatus status);
+
+ /**
* Create an STA iface on the chip.
*
* Depending on the mode the chip is configured in, the interface creation
@@ -458,13 +503,28 @@
* @return status WifiStatus of the operation.
* Possible status codes:
* |WifiStatusCode.SUCCESS|,
- * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|
+ * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_INVALID_ARGS|
* @return iface HIDL interface object representing the iface if
* it exists, null otherwise.
*/
getStaIface(string ifname) generates (WifiStatus status, IWifiStaIface iface);
/**
+ * Removes the STA Iface with the provided ifname.
+ * Any further calls on the corresponding |IWifiStaIface| HIDL interface
+ * object must fail.
+ *
+ * @param ifname Name of the iface.
+ * @return status WifiStatus of the operation.
+ * Possible status codes:
+ * |WifiStatusCode.SUCCESS|,
+ * |WifiStatusCode.ERROR_WIFI_CHIP_INVALID|,
+ * |WifiStatusCode.ERROR_INVALID_ARGS|
+ */
+ removeStaIface(string ifname) generates (WifiStatus status);
+
+ /**
* Create a RTTController instance.
*
* RTT controller can be either:
diff --git a/wifi/1.0/IWifiRttController.hal b/wifi/1.0/IWifiRttController.hal
index 93b3d92..2f81176 100644
--- a/wifi/1.0/IWifiRttController.hal
+++ b/wifi/1.0/IWifiRttController.hal
@@ -83,45 +83,6 @@
generates (WifiStatus status);
/**
- * API to start publishing the channel map on responder device in an NBD
- * cluster.
- * Responder device must take this request and schedule broadcasting the
- * channel map in a NBD ranging attribute in a Service Discovery Frame.
- * DE must automatically remove the ranging attribute from the OTA queue
- * after number of Discovery Window specified by numDw where each
- * Discovery Window is 512 TUs apart.
- *
- * @param cmdId command Id to use for this invocation.
- * @param params Instance of |RttChannelMap|.
- * @return status WifiStatus of the operation.
- * Possible status codes:
- * |WifiStatusCode.SUCCESS|,
- * |WifiStatusCode.ERROR_WIFI_RTT_CONTROLLER_INVALID|,
- * |WifiStatusCode.ERROR_INVALID_ARGS|,
- * |WifiStatusCode.ERROR_NOT_AVAILABLE|,
- * |WifiStatusCode.ERROR_UNKNOWN|
- */
- setChannelMap(CommandId cmdId, RttChannelMap params, uint32_t numDw)
- generates (WifiStatus status);
-
- /**
- * API to clear the channel map on the responder device in an NBD cluster.
- * Responder device must cancel future ranging channel request, starting from
- * next Discovery Window interval and must also stop broadcasting NBD
- * ranging attribute in Service Discovery Frame.
- *
- * @param cmdId command Id corresponding to the original request.
- * @return status WifiStatus of the operation.
- * Possible status codes:
- * |WifiStatusCode.SUCCESS|,
- * |WifiStatusCode.ERROR_WIFI_RTT_CONTROLLER_INVALID|,
- * |WifiStatusCode.ERROR_INVALID_ARGS|,
- * |WifiStatusCode.ERROR_NOT_AVAILABLE|,
- * |WifiStatusCode.ERROR_UNKNOWN|
- */
- clearChannelMap(CommandId cmdId) generates (WifiStatus status);
-
- /**
* RTT capabilities of the device.
*
* @return status WifiStatus of the operation.
@@ -134,32 +95,6 @@
getCapabilities() generates (WifiStatus status, RttCapabilities capabilities);
/**
- * Set configuration for debug.
- *
- * @param type debug level to be set.
- * @return status WifiStatus of the operation.
- * Possible status codes:
- * |WifiStatusCode.SUCCESS|,
- * |WifiStatusCode.ERROR_WIFI_RTT_CONTROLLER_INVALID|,
- * |WifiStatusCode.ERROR_INVALID_ARGS|,
- * |WifiStatusCode.ERROR_NOT_AVAILABLE|,
- * |WifiStatusCode.ERROR_UNKNOWN|
- */
- setDebugCfg(RttDebugType Type) generates (WifiStatus status);
-
- /**
- * Get the debug information.
- *
- * @return status WifiStatus of the operation.
- * Possible status codes:
- * |WifiStatusCode.ERROR_WIFI_RTT_CONTROLLER_INVALID|,
- * |WifiStatusCode.ERROR_NOT_AVAILABLE|,
- * |WifiStatusCode.ERROR_UNKNOWN|
- * @return info Instance of |RttDebugInfo|.
- */
- getDebugInfo() generates (WifiStatus status, RttDebugInfo info);
-
- /**
* API to configure the LCI(Location civic information).
* Used in RTT Responder mode only.
*
diff --git a/wifi/1.0/IWifiStaIface.hal b/wifi/1.0/IWifiStaIface.hal
index 41b2bad..8c7ac4a 100644
--- a/wifi/1.0/IWifiStaIface.hal
+++ b/wifi/1.0/IWifiStaIface.hal
@@ -45,9 +45,25 @@
*/
LINK_LAYER_STATS = 1 << 2,
/**
+ * If set indicates that the RSSI monitor APIs are supported.
+ */
+ RSSI_MONITOR = 1 << 3,
+ /**
+ * If set indicates that the roaming API's are supported.
+ */
+ CONTROL_ROAMING = 1 << 4,
+ /**
+ * If set indicates support for Probe IE white listing.
+ */
+ PROBE_IE_WHITELIST = 1 << 5,
+ /**
+ * If set indicates support for MAC & Probe Sequence Number randomization.
+ */
+ SCAN_RAND = 1 << 6,
+ /**
* Tracks connection packets' fate.
*/
- DEBUG_PACKET_FATE_SUPPORTED = 1 << 3
+ DEBUG_PACKET_FATE_SUPPORTED = 1 << 7
};
/**
@@ -259,6 +275,90 @@
getLinkLayerStats() generates (WifiStatus status, StaLinkLayerStats stats);
/**
+ * Start RSSI monitoring on the currently connected access point.
+ * Once the monitoring is enabled,
+ * |IWifiStaIfaceEventCallback.onRssiThresholdBreached| callback must be
+ * invoked to indicate if the RSSI goes above |maxRssi| or below |minRssi|.
+ * Must fail if |StaIfaceCapabilityMask.RSSI_MONITOR| is not set.
+ *
+ * @param cmdId command Id to use for this invocation.
+ * @param maxRssi Maximum RSSI threshold.
+ * @param minRssi Minimum RSSI threshold.
+ * @return status WifiStatus of the operation.
+ * Possible status codes:
+ * |WifiStatusCode.SUCCESS|,
+ * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
+ * |WifiStatusCode.ERROR_ARGS_INVALID|,
+ * |WifiStatusCode.ERROR_NOT_SUPPORTED|,
+ * |WifiStatusCode.ERROR_NOT_AVAILABLE|,
+ * |WifiStatusCode.ERROR_UNKNOWN|
+ */
+ startRssiMonitoring(CommandId cmdId, Rssi maxRssi, Rssi minRssi)
+ generates (WifiStatus status);
+
+ /**
+ * Stop RSSI monitoring.
+ * Must fail if |StaIfaceCapabilityMask.RSSI_MONITOR| is not set.
+ *
+ * @param cmdId command Id corresponding to the request.
+ * @return status WifiStatus of the operation.
+ * Possible status codes:
+ * |WifiStatusCode.SUCCESS|,
+ * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
+ * |WifiStatusCode.ERROR_NOT_SUPPORTED|,
+ * |WifiStatusCode.ERROR_NOT_STARTED|,
+ * |WifiStatusCode.ERROR_NOT_AVAILABLE|,
+ * |WifiStatusCode.ERROR_UNKNOWN|
+ */
+ stopRssiMonitoring(CommandId cmdId) generates (WifiStatus status);
+
+ /**
+ * Get roaming control capabilities.
+ * Must fail if |StaIfaceCapabilityMask.CONTROL_ROAMING| is not set.
+ *
+ * @return status WifiStatus of the operation.
+ * Possible status codes:
+ * |WifiStatusCode.SUCCESS|,
+ * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
+ * |WifiStatusCode.ERROR_NOT_SUPPORTED|,
+ * |WifiStatusCode.ERROR_UNKNOWN|
+ * @return caps Instance of |StaRoamingCapabilities|.
+ */
+ getRoamingCapabilities()
+ generates (WifiStatus status, StaRoamingCapabilities caps);
+
+ /**
+ * Configure roaming control parameters.
+ * Must fail if |StaIfaceCapabilityMask.CONTROL_ROAMING| is not set.
+ *
+ * @param config Instance of |StaRoamingConfig|.
+ * @return status WifiStatus of the operation.
+ * Possible status codes:
+ * |WifiStatusCode.SUCCESS|,
+ * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
+ * |WifiStatusCode.ERROR_NOT_SUPPORTED|,
+ * |WifiStatusCode.ERROR_UNKNOWN|
+ */
+ configureRoaming(StaRoamingConfig config) generates (WifiStatus status);
+
+ /**
+ * Set the roaming control state with the parameters configured
+ * using |configureRoaming|. Depending on the roaming state set, the
+ * driver/firmware would enable/disable control over roaming decisions.
+ * Must fail if |StaIfaceCapabilityMask.CONTROL_ROAMING| is not set.
+ *
+ * @param state State of the roaming control.
+ * @return status WifiStatus of the operation.
+ * Possible status codes:
+ * |WifiStatusCode.SUCCESS|,
+ * |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
+ * |WifiStatusCode.ERROR_NOT_SUPPORTED|,
+ * |WifiStatusCode.ERROR_BUSY|,
+ * |WifiStatusCode.ERROR_UNKNOWN|
+ */
+ setRoamingState(StaRoamingState state) generates (WifiStatus status);
+
+ /**
* API to start packet fate monitoring.
* - Once stared, monitoring must remain active until HAL is unloaded.
* - When HAL is unloaded, all packet fate buffers must be cleared.
diff --git a/wifi/1.0/IWifiStaIfaceEventCallback.hal b/wifi/1.0/IWifiStaIfaceEventCallback.hal
index d47d40c..e8df4c2 100644
--- a/wifi/1.0/IWifiStaIfaceEventCallback.hal
+++ b/wifi/1.0/IWifiStaIfaceEventCallback.hal
@@ -20,6 +20,8 @@
/**
* Callback indicating that an ongoing background scan request has failed.
* The background scan needs to be restarted to continue scanning.
+ *
+ * @param cmdId command ID corresponding to the request.
*/
oneway onBackgroundScanFailure(CommandId cmdId);
@@ -28,7 +30,7 @@
* |REPORT_EVENTS_FULL_RESULTS| flag set in
* |StaBackgroundScanBucketParameters.eventReportScheme|.
*
- * @param cmdId command Id corresponding to the request.
+ * @param cmdId command ID corresponding to the request.
* @parm result Full scan result for an AP.
*/
oneway onBackgroundFullScanResult(CommandId cmdId, StaScanResult result);
@@ -39,8 +41,18 @@
* |REPORT_EVENTS_EACH_SCAN| or one of the configured thresholds was
* breached.
*
- * @param cmdId command Id corresponding to the request.
+ * @param cmdId command ID corresponding to the request.
* @parm scanDatas List of scan result for all AP's seen since last callback.
*/
oneway onBackgroundScanResults(CommandId cmdId, vec<StaScanData> scanDatas);
+
+ /**
+ * Called when the RSSI of the currently connected access point goes beyond the
+ * thresholds set via |IWifiStaIface.startRssiMonitoring|.
+ *
+ * @param cmdId command ID corresponding to the request.
+ * @param currBssid BSSID of the currently connected access point.
+ * @param currRssi RSSI of the currently connected access point.
+ */
+ oneway onRssiThresholdBreached(CommandId cmdId, Bssid currBssid, Rssi currRssi);
};
diff --git a/wifi/1.0/default/Android.mk b/wifi/1.0/default/Android.mk
index 931a314..f0c78ea 100644
--- a/wifi/1.0/default/Android.mk
+++ b/wifi/1.0/default/Android.mk
@@ -24,6 +24,8 @@
wifi_ap_iface.cpp \
wifi_chip.cpp \
wifi_legacy_hal.cpp \
+ wifi_legacy_hal_stubs.cpp \
+ wifi_mode_controller.cpp \
wifi_nan_iface.cpp \
wifi_p2p_iface.cpp \
wifi_rtt_controller.cpp \
@@ -39,6 +41,7 @@
liblog \
libnl \
libutils \
+ libwifi-hal \
libwifi-system
LOCAL_WHOLE_STATIC_LIBRARIES := $(LIB_WIFI_HAL)
LOCAL_INIT_RC := android.hardware.wifi@1.0-service.rc
diff --git a/wifi/1.0/default/hidl_struct_util.cpp b/wifi/1.0/default/hidl_struct_util.cpp
index b4dcc0a..996f119 100644
--- a/wifi/1.0/default/hidl_struct_util.cpp
+++ b/wifi/1.0/default/hidl_struct_util.cpp
@@ -26,7 +26,226 @@
namespace implementation {
namespace hidl_struct_util {
-uint8_t ConvertHidlReportEventFlagToLegacy(
+IWifiChip::ChipCapabilityMask convertLegacyLoggerFeatureToHidlChipCapability(
+ uint32_t feature) {
+ using HidlChipCaps = IWifiChip::ChipCapabilityMask;
+ switch (feature) {
+ case legacy_hal::WIFI_LOGGER_MEMORY_DUMP_SUPPORTED:
+ return HidlChipCaps::DEBUG_MEMORY_FIRMWARE_DUMP_SUPPORTED;
+ case legacy_hal::WIFI_LOGGER_DRIVER_DUMP_SUPPORTED:
+ return HidlChipCaps::DEBUG_MEMORY_DRIVER_DUMP_SUPPORTED;
+ case legacy_hal::WIFI_LOGGER_CONNECT_EVENT_SUPPORTED:
+ return HidlChipCaps::DEBUG_RING_BUFFER_CONNECT_EVENT_SUPPORTED;
+ case legacy_hal::WIFI_LOGGER_POWER_EVENT_SUPPORTED:
+ return HidlChipCaps::DEBUG_RING_BUFFER_POWER_EVENT_SUPPORTED;
+ case legacy_hal::WIFI_LOGGER_WAKE_LOCK_SUPPORTED:
+ return HidlChipCaps::DEBUG_RING_BUFFER_WAKELOCK_EVENT_SUPPORTED;
+ };
+ CHECK(false) << "Unknown legacy feature: " << feature;
+ return {};
+}
+
+IWifiStaIface::StaIfaceCapabilityMask
+convertLegacyLoggerFeatureToHidlStaIfaceCapability(uint32_t feature) {
+ using HidlStaIfaceCaps = IWifiStaIface::StaIfaceCapabilityMask;
+ switch (feature) {
+ case legacy_hal::WIFI_LOGGER_PACKET_FATE_SUPPORTED:
+ return HidlStaIfaceCaps::DEBUG_PACKET_FATE_SUPPORTED;
+ };
+ CHECK(false) << "Unknown legacy feature: " << feature;
+ return {};
+}
+
+IWifiStaIface::StaIfaceCapabilityMask
+convertLegacyFeatureToHidlStaIfaceCapability(uint32_t feature) {
+ using HidlStaIfaceCaps = IWifiStaIface::StaIfaceCapabilityMask;
+ switch (feature) {
+ case WIFI_FEATURE_GSCAN:
+ return HidlStaIfaceCaps::BACKGROUND_SCAN;
+ case WIFI_FEATURE_LINK_LAYER_STATS:
+ return HidlStaIfaceCaps::LINK_LAYER_STATS;
+ case WIFI_FEATURE_RSSI_MONITOR:
+ return HidlStaIfaceCaps::RSSI_MONITOR;
+ case WIFI_FEATURE_CONTROL_ROAMING:
+ return HidlStaIfaceCaps::CONTROL_ROAMING;
+ case WIFI_FEATURE_IE_WHITELIST:
+ return HidlStaIfaceCaps::PROBE_IE_WHITELIST;
+ case WIFI_FEATURE_SCAN_RAND:
+ return HidlStaIfaceCaps::SCAN_RAND;
+ };
+ CHECK(false) << "Unknown legacy feature: " << feature;
+ return {};
+}
+
+bool convertLegacyFeaturesToHidlChipCapabilities(
+ uint32_t legacy_logger_feature_set, uint32_t* hidl_caps) {
+ if (!hidl_caps) {
+ return false;
+ }
+ *hidl_caps = 0;
+ using HidlChipCaps = IWifiChip::ChipCapabilityMask;
+ for (const auto feature : {legacy_hal::WIFI_LOGGER_MEMORY_DUMP_SUPPORTED,
+ legacy_hal::WIFI_LOGGER_DRIVER_DUMP_SUPPORTED,
+ legacy_hal::WIFI_LOGGER_CONNECT_EVENT_SUPPORTED,
+ legacy_hal::WIFI_LOGGER_POWER_EVENT_SUPPORTED,
+ legacy_hal::WIFI_LOGGER_WAKE_LOCK_SUPPORTED}) {
+ if (feature & legacy_logger_feature_set) {
+ *hidl_caps |= convertLegacyLoggerFeatureToHidlChipCapability(feature);
+ }
+ }
+ // There is no flags for these 2 in the legacy feature set. Adding it to the
+ // set because all the current devices support it.
+ *hidl_caps |= HidlChipCaps::DEBUG_RING_BUFFER_VENDOR_DATA_SUPPORTED;
+ *hidl_caps |= HidlChipCaps::DEBUG_HOST_WAKE_REASON_STATS;
+ return true;
+}
+
+WifiDebugRingBufferFlags convertLegacyDebugRingBufferFlagsToHidl(
+ uint32_t flag) {
+ switch (flag) {
+ case WIFI_RING_BUFFER_FLAG_HAS_BINARY_ENTRIES:
+ return WifiDebugRingBufferFlags::HAS_BINARY_ENTRIES;
+ case WIFI_RING_BUFFER_FLAG_HAS_ASCII_ENTRIES:
+ return WifiDebugRingBufferFlags::HAS_ASCII_ENTRIES;
+ };
+ CHECK(false) << "Unknown legacy flag: " << flag;
+ return {};
+}
+
+bool convertLegacyDebugRingBufferStatusToHidl(
+ const legacy_hal::wifi_ring_buffer_status& legacy_status,
+ WifiDebugRingBufferStatus* hidl_status) {
+ if (!hidl_status) {
+ return false;
+ }
+ hidl_status->ringName = reinterpret_cast<const char*>(legacy_status.name);
+ for (const auto flag : {WIFI_RING_BUFFER_FLAG_HAS_BINARY_ENTRIES,
+ WIFI_RING_BUFFER_FLAG_HAS_ASCII_ENTRIES}) {
+ if (flag & legacy_status.flags) {
+ hidl_status->flags |=
+ static_cast<std::underlying_type<WifiDebugRingBufferFlags>::type>(
+ convertLegacyDebugRingBufferFlagsToHidl(flag));
+ }
+ }
+ hidl_status->ringId = legacy_status.ring_id;
+ hidl_status->sizeInBytes = legacy_status.ring_buffer_byte_size;
+ // Calculate free size of the ring the buffer. We don't need to send the
+ // exact read/write pointers that were there in the legacy HAL interface.
+ if (legacy_status.written_bytes >= legacy_status.read_bytes) {
+ hidl_status->freeSizeInBytes =
+ legacy_status.ring_buffer_byte_size -
+ (legacy_status.written_bytes - legacy_status.read_bytes);
+ } else {
+ hidl_status->freeSizeInBytes =
+ legacy_status.read_bytes - legacy_status.written_bytes;
+ }
+ hidl_status->verboseLevel = legacy_status.verbose_level;
+ return true;
+}
+
+bool convertLegacyVectorOfDebugRingBufferStatusToHidl(
+ const std::vector<legacy_hal::wifi_ring_buffer_status>& legacy_status_vec,
+ std::vector<WifiDebugRingBufferStatus>* hidl_status_vec) {
+ if (!hidl_status_vec) {
+ return false;
+ }
+ hidl_status_vec->clear();
+ for (const auto& legacy_status : legacy_status_vec) {
+ WifiDebugRingBufferStatus hidl_status;
+ if (!convertLegacyDebugRingBufferStatusToHidl(legacy_status,
+ &hidl_status)) {
+ return false;
+ }
+ hidl_status_vec->push_back(hidl_status);
+ }
+ return true;
+}
+
+bool convertLegacyWakeReasonStatsToHidl(
+ const legacy_hal::WakeReasonStats& legacy_stats,
+ WifiDebugHostWakeReasonStats* hidl_stats) {
+ if (!hidl_stats) {
+ return false;
+ }
+ hidl_stats->totalCmdEventWakeCnt =
+ legacy_stats.wake_reason_cnt.total_cmd_event_wake;
+ hidl_stats->cmdEventWakeCntPerType = legacy_stats.cmd_event_wake_cnt;
+ hidl_stats->totalDriverFwLocalWakeCnt =
+ legacy_stats.wake_reason_cnt.total_driver_fw_local_wake;
+ hidl_stats->driverFwLocalWakeCntPerType =
+ legacy_stats.driver_fw_local_wake_cnt;
+ hidl_stats->totalRxPacketWakeCnt =
+ legacy_stats.wake_reason_cnt.total_rx_data_wake;
+ hidl_stats->rxPktWakeDetails.rxUnicastCnt =
+ legacy_stats.wake_reason_cnt.rx_wake_details.rx_unicast_cnt;
+ hidl_stats->rxPktWakeDetails.rxMulticastCnt =
+ legacy_stats.wake_reason_cnt.rx_wake_details.rx_multicast_cnt;
+ hidl_stats->rxPktWakeDetails.rxBroadcastCnt =
+ legacy_stats.wake_reason_cnt.rx_wake_details.rx_broadcast_cnt;
+ hidl_stats->rxMulticastPkWakeDetails.ipv4RxMulticastAddrCnt =
+ legacy_stats.wake_reason_cnt.rx_multicast_wake_pkt_info
+ .ipv4_rx_multicast_addr_cnt;
+ hidl_stats->rxMulticastPkWakeDetails.ipv6RxMulticastAddrCnt =
+ legacy_stats.wake_reason_cnt.rx_multicast_wake_pkt_info
+ .ipv6_rx_multicast_addr_cnt;
+ hidl_stats->rxMulticastPkWakeDetails.otherRxMulticastAddrCnt =
+ legacy_stats.wake_reason_cnt.rx_multicast_wake_pkt_info
+ .other_rx_multicast_addr_cnt;
+ hidl_stats->rxIcmpPkWakeDetails.icmpPkt =
+ legacy_stats.wake_reason_cnt.rx_wake_pkt_classification_info.icmp_pkt;
+ hidl_stats->rxIcmpPkWakeDetails.icmp6Pkt =
+ legacy_stats.wake_reason_cnt.rx_wake_pkt_classification_info.icmp6_pkt;
+ hidl_stats->rxIcmpPkWakeDetails.icmp6Ra =
+ legacy_stats.wake_reason_cnt.rx_wake_pkt_classification_info.icmp6_ra;
+ hidl_stats->rxIcmpPkWakeDetails.icmp6Na =
+ legacy_stats.wake_reason_cnt.rx_wake_pkt_classification_info.icmp6_na;
+ hidl_stats->rxIcmpPkWakeDetails.icmp6Ns =
+ legacy_stats.wake_reason_cnt.rx_wake_pkt_classification_info.icmp6_ns;
+ return true;
+}
+
+bool convertLegacyFeaturesToHidlStaCapabilities(
+ uint32_t legacy_feature_set,
+ uint32_t legacy_logger_feature_set,
+ uint32_t* hidl_caps) {
+ if (!hidl_caps) {
+ return false;
+ }
+ *hidl_caps = 0;
+ using HidlStaIfaceCaps = IWifiStaIface::StaIfaceCapabilityMask;
+ for (const auto feature : {legacy_hal::WIFI_LOGGER_PACKET_FATE_SUPPORTED}) {
+ if (feature & legacy_logger_feature_set) {
+ *hidl_caps |= convertLegacyLoggerFeatureToHidlStaIfaceCapability(feature);
+ }
+ }
+ for (const auto feature : {WIFI_FEATURE_GSCAN,
+ WIFI_FEATURE_LINK_LAYER_STATS,
+ WIFI_FEATURE_RSSI_MONITOR,
+ WIFI_FEATURE_CONTROL_ROAMING,
+ WIFI_FEATURE_IE_WHITELIST,
+ WIFI_FEATURE_SCAN_RAND}) {
+ if (feature & legacy_feature_set) {
+ *hidl_caps |= convertLegacyFeatureToHidlStaIfaceCapability(feature);
+ }
+ }
+ // There is no flag for this one in the legacy feature set. Adding it to the
+ // set because all the current devices support it.
+ *hidl_caps |= HidlStaIfaceCaps::APF;
+ return true;
+}
+
+bool convertLegacyApfCapabilitiesToHidl(
+ const legacy_hal::PacketFilterCapabilities& legacy_caps,
+ StaApfPacketFilterCapabilities* hidl_caps) {
+ if (!hidl_caps) {
+ return false;
+ }
+ hidl_caps->version = legacy_caps.version;
+ hidl_caps->maxLength = legacy_caps.max_len;
+ return true;
+}
+
+uint8_t convertHidlGscanReportEventFlagToLegacy(
StaBackgroundScanBucketEventReportSchemeMask hidl_flag) {
using HidlFlag = StaBackgroundScanBucketEventReportSchemeMask;
switch (hidl_flag) {
@@ -37,9 +256,54 @@
case HidlFlag::NO_BATCH:
return REPORT_EVENTS_NO_BATCH;
};
+ CHECK(false);
}
-bool convertHidlScanParamsToLegacy(
+StaScanDataFlagMask convertLegacyGscanDataFlagToHidl(uint8_t legacy_flag) {
+ switch (legacy_flag) {
+ case legacy_hal::WIFI_SCAN_FLAG_INTERRUPTED:
+ return StaScanDataFlagMask::INTERRUPTED;
+ };
+ CHECK(false) << "Unknown legacy flag: " << legacy_flag;
+ // To silence the compiler warning about reaching the end of non-void
+ // function.
+ return {};
+}
+
+bool convertLegacyGscanCapabilitiesToHidl(
+ const legacy_hal::wifi_gscan_capabilities& legacy_caps,
+ StaBackgroundScanCapabilities* hidl_caps) {
+ if (!hidl_caps) {
+ return false;
+ }
+ hidl_caps->maxCacheSize = legacy_caps.max_scan_cache_size;
+ hidl_caps->maxBuckets = legacy_caps.max_scan_buckets;
+ hidl_caps->maxApCachePerScan = legacy_caps.max_ap_cache_per_scan;
+ hidl_caps->maxReportingThreshold = legacy_caps.max_scan_reporting_threshold;
+ return true;
+}
+
+legacy_hal::wifi_band convertHidlGscanBandToLegacy(StaBackgroundScanBand band) {
+ switch (band) {
+ case StaBackgroundScanBand::BAND_UNSPECIFIED:
+ return legacy_hal::WIFI_BAND_UNSPECIFIED;
+ case StaBackgroundScanBand::BAND_24GHZ:
+ return legacy_hal::WIFI_BAND_BG;
+ case StaBackgroundScanBand::BAND_5GHZ:
+ return legacy_hal::WIFI_BAND_A;
+ case StaBackgroundScanBand::BAND_5GHZ_DFS:
+ return legacy_hal::WIFI_BAND_A_DFS;
+ case StaBackgroundScanBand::BAND_5GHZ_WITH_DFS:
+ return legacy_hal::WIFI_BAND_A_WITH_DFS;
+ case StaBackgroundScanBand::BAND_24GHZ_5GHZ:
+ return legacy_hal::WIFI_BAND_ABG;
+ case StaBackgroundScanBand::BAND_24GHZ_5GHZ_WITH_DFS:
+ return legacy_hal::WIFI_BAND_ABG_WITH_DFS;
+ };
+ CHECK(false);
+}
+
+bool convertHidlGscanParamsToLegacy(
const StaBackgroundScanParameters& hidl_scan_params,
legacy_hal::wifi_scan_cmd_params* legacy_scan_params) {
if (!legacy_scan_params) {
@@ -76,7 +340,7 @@
if (hidl_bucket_spec.eventReportScheme &
static_cast<std::underlying_type<HidlFlag>::type>(flag)) {
legacy_bucket_spec.report_events |=
- ConvertHidlReportEventFlagToLegacy(flag);
+ convertHidlGscanReportEventFlagToLegacy(flag);
}
}
// TODO(b/33194311): Expose these max limits in the HIDL interface.
@@ -93,6 +357,18 @@
return true;
}
+bool convertLegacyIeToHidl(
+ const legacy_hal::wifi_information_element& legacy_ie,
+ WifiInformationElement* hidl_ie) {
+ if (!hidl_ie) {
+ return false;
+ }
+ hidl_ie->id = legacy_ie.id;
+ hidl_ie->data =
+ std::vector<uint8_t>(legacy_ie.data, legacy_ie.data + legacy_ie.len);
+ return true;
+}
+
bool convertLegacyIeBlobToHidl(const uint8_t* ie_blob,
uint32_t ie_blob_len,
std::vector<WifiInformationElement>* hidl_ies) {
@@ -112,9 +388,9 @@
return false;
}
WifiInformationElement hidl_ie;
- hidl_ie.id = legacy_ie.id;
- hidl_ie.data =
- std::vector<uint8_t>(legacy_ie.data, legacy_ie.data + legacy_ie.len);
+ if (!convertLegacyIeToHidl(legacy_ie, &hidl_ie)) {
+ return false;
+ }
hidl_ies->push_back(std::move(hidl_ie));
next_ie += curr_ie_len;
}
@@ -122,7 +398,7 @@
return (next_ie == ies_end);
}
-bool convertLegacyScanResultToHidl(
+bool convertLegacyGscanResultToHidl(
const legacy_hal::wifi_scan_result& legacy_scan_result,
bool has_ie_data,
StaScanResult* hidl_scan_result) {
@@ -153,13 +429,19 @@
return true;
}
-bool convertLegacyCachedScanResultsToHidl(
+bool convertLegacyCachedGscanResultsToHidl(
const legacy_hal::wifi_cached_scan_results& legacy_cached_scan_result,
StaScanData* hidl_scan_data) {
if (!hidl_scan_data) {
return false;
}
- hidl_scan_data->flags = legacy_cached_scan_result.flags;
+ for (const auto flag : {legacy_hal::WIFI_SCAN_FLAG_INTERRUPTED}) {
+ if (legacy_cached_scan_result.flags & flag) {
+ hidl_scan_data->flags |=
+ static_cast<std::underlying_type<StaScanDataFlagMask>::type>(
+ convertLegacyGscanDataFlagToHidl(flag));
+ }
+ }
hidl_scan_data->bucketsScanned = legacy_cached_scan_result.buckets_scanned;
CHECK(legacy_cached_scan_result.num_results >= 0 &&
@@ -169,7 +451,7 @@
result_idx < legacy_cached_scan_result.num_results;
result_idx++) {
StaScanResult hidl_scan_result;
- if (!convertLegacyScanResultToHidl(
+ if (!convertLegacyGscanResultToHidl(
legacy_cached_scan_result.results[result_idx],
false,
&hidl_scan_result)) {
@@ -181,17 +463,18 @@
return true;
}
-bool convertLegacyVectorOfCachedScanResultsToHidl(
+bool convertLegacyVectorOfCachedGscanResultsToHidl(
const std::vector<legacy_hal::wifi_cached_scan_results>&
legacy_cached_scan_results,
std::vector<StaScanData>* hidl_scan_datas) {
if (!hidl_scan_datas) {
return false;
}
+ hidl_scan_datas->clear();
for (const auto& legacy_cached_scan_result : legacy_cached_scan_results) {
StaScanData hidl_scan_data;
- if (!convertLegacyCachedScanResultsToHidl(legacy_cached_scan_result,
- &hidl_scan_data)) {
+ if (!convertLegacyCachedGscanResultsToHidl(legacy_cached_scan_result,
+ &hidl_scan_data)) {
return false;
}
hidl_scan_datas->push_back(hidl_scan_data);
@@ -199,6 +482,149 @@
return true;
}
+WifiDebugTxPacketFate convertLegacyDebugTxPacketFateToHidl(
+ legacy_hal::wifi_tx_packet_fate fate) {
+ switch (fate) {
+ case legacy_hal::TX_PKT_FATE_ACKED:
+ return WifiDebugTxPacketFate::ACKED;
+ case legacy_hal::TX_PKT_FATE_SENT:
+ return WifiDebugTxPacketFate::SENT;
+ case legacy_hal::TX_PKT_FATE_FW_QUEUED:
+ return WifiDebugTxPacketFate::FW_QUEUED;
+ case legacy_hal::TX_PKT_FATE_FW_DROP_INVALID:
+ return WifiDebugTxPacketFate::FW_DROP_INVALID;
+ case legacy_hal::TX_PKT_FATE_FW_DROP_NOBUFS:
+ return WifiDebugTxPacketFate::FW_DROP_NOBUFS;
+ case legacy_hal::TX_PKT_FATE_FW_DROP_OTHER:
+ return WifiDebugTxPacketFate::FW_DROP_OTHER;
+ case legacy_hal::TX_PKT_FATE_DRV_QUEUED:
+ return WifiDebugTxPacketFate::DRV_QUEUED;
+ case legacy_hal::TX_PKT_FATE_DRV_DROP_INVALID:
+ return WifiDebugTxPacketFate::DRV_DROP_INVALID;
+ case legacy_hal::TX_PKT_FATE_DRV_DROP_NOBUFS:
+ return WifiDebugTxPacketFate::DRV_DROP_NOBUFS;
+ case legacy_hal::TX_PKT_FATE_DRV_DROP_OTHER:
+ return WifiDebugTxPacketFate::DRV_DROP_OTHER;
+ };
+ CHECK(false) << "Unknown legacy fate type: " << fate;
+}
+
+WifiDebugRxPacketFate convertLegacyDebugRxPacketFateToHidl(
+ legacy_hal::wifi_rx_packet_fate fate) {
+ switch (fate) {
+ case legacy_hal::RX_PKT_FATE_SUCCESS:
+ return WifiDebugRxPacketFate::SUCCESS;
+ case legacy_hal::RX_PKT_FATE_FW_QUEUED:
+ return WifiDebugRxPacketFate::FW_QUEUED;
+ case legacy_hal::RX_PKT_FATE_FW_DROP_FILTER:
+ return WifiDebugRxPacketFate::FW_DROP_FILTER;
+ case legacy_hal::RX_PKT_FATE_FW_DROP_INVALID:
+ return WifiDebugRxPacketFate::FW_DROP_INVALID;
+ case legacy_hal::RX_PKT_FATE_FW_DROP_NOBUFS:
+ return WifiDebugRxPacketFate::FW_DROP_NOBUFS;
+ case legacy_hal::RX_PKT_FATE_FW_DROP_OTHER:
+ return WifiDebugRxPacketFate::FW_DROP_OTHER;
+ case legacy_hal::RX_PKT_FATE_DRV_QUEUED:
+ return WifiDebugRxPacketFate::DRV_QUEUED;
+ case legacy_hal::RX_PKT_FATE_DRV_DROP_FILTER:
+ return WifiDebugRxPacketFate::DRV_DROP_FILTER;
+ case legacy_hal::RX_PKT_FATE_DRV_DROP_INVALID:
+ return WifiDebugRxPacketFate::DRV_DROP_INVALID;
+ case legacy_hal::RX_PKT_FATE_DRV_DROP_NOBUFS:
+ return WifiDebugRxPacketFate::DRV_DROP_NOBUFS;
+ case legacy_hal::RX_PKT_FATE_DRV_DROP_OTHER:
+ return WifiDebugRxPacketFate::DRV_DROP_OTHER;
+ };
+ CHECK(false) << "Unknown legacy fate type: " << fate;
+}
+
+WifiDebugPacketFateFrameType convertLegacyDebugPacketFateFrameTypeToHidl(
+ legacy_hal::frame_type type) {
+ switch (type) {
+ case legacy_hal::FRAME_TYPE_UNKNOWN:
+ return WifiDebugPacketFateFrameType::UNKNOWN;
+ case legacy_hal::FRAME_TYPE_ETHERNET_II:
+ return WifiDebugPacketFateFrameType::ETHERNET_II;
+ case legacy_hal::FRAME_TYPE_80211_MGMT:
+ return WifiDebugPacketFateFrameType::MGMT_80211;
+ };
+ CHECK(false) << "Unknown legacy frame type: " << type;
+}
+
+bool convertLegacyDebugPacketFateFrameToHidl(
+ const legacy_hal::frame_info& legacy_frame,
+ WifiDebugPacketFateFrameInfo* hidl_frame) {
+ if (!hidl_frame) {
+ return false;
+ }
+ hidl_frame->frameType =
+ convertLegacyDebugPacketFateFrameTypeToHidl(legacy_frame.payload_type);
+ hidl_frame->frameLen = legacy_frame.frame_len;
+ hidl_frame->driverTimestampUsec = legacy_frame.driver_timestamp_usec;
+ hidl_frame->firmwareTimestampUsec = legacy_frame.firmware_timestamp_usec;
+ const uint8_t* frame_begin = reinterpret_cast<const uint8_t*>(
+ legacy_frame.frame_content.ethernet_ii_bytes);
+ hidl_frame->frameContent =
+ std::vector<uint8_t>(frame_begin, frame_begin + legacy_frame.frame_len);
+ return true;
+}
+
+bool convertLegacyDebugTxPacketFateToHidl(
+ const legacy_hal::wifi_tx_report& legacy_fate,
+ WifiDebugTxPacketFateReport* hidl_fate) {
+ if (!hidl_fate) {
+ return false;
+ }
+ hidl_fate->fate = convertLegacyDebugTxPacketFateToHidl(legacy_fate.fate);
+ return convertLegacyDebugPacketFateFrameToHidl(legacy_fate.frame_inf,
+ &hidl_fate->frameInfo);
+}
+
+bool convertLegacyVectorOfDebugTxPacketFateToHidl(
+ const std::vector<legacy_hal::wifi_tx_report>& legacy_fates,
+ std::vector<WifiDebugTxPacketFateReport>* hidl_fates) {
+ if (!hidl_fates) {
+ return false;
+ }
+ hidl_fates->clear();
+ for (const auto& legacy_fate : legacy_fates) {
+ WifiDebugTxPacketFateReport hidl_fate;
+ if (!convertLegacyDebugTxPacketFateToHidl(legacy_fate, &hidl_fate)) {
+ return false;
+ }
+ hidl_fates->push_back(hidl_fate);
+ }
+ return true;
+}
+
+bool convertLegacyDebugRxPacketFateToHidl(
+ const legacy_hal::wifi_rx_report& legacy_fate,
+ WifiDebugRxPacketFateReport* hidl_fate) {
+ if (!hidl_fate) {
+ return false;
+ }
+ hidl_fate->fate = convertLegacyDebugRxPacketFateToHidl(legacy_fate.fate);
+ return convertLegacyDebugPacketFateFrameToHidl(legacy_fate.frame_inf,
+ &hidl_fate->frameInfo);
+}
+
+bool convertLegacyVectorOfDebugRxPacketFateToHidl(
+ const std::vector<legacy_hal::wifi_rx_report>& legacy_fates,
+ std::vector<WifiDebugRxPacketFateReport>* hidl_fates) {
+ if (!hidl_fates) {
+ return false;
+ }
+ hidl_fates->clear();
+ for (const auto& legacy_fate : legacy_fates) {
+ WifiDebugRxPacketFateReport hidl_fate;
+ if (!convertLegacyDebugRxPacketFateToHidl(legacy_fate, &hidl_fate)) {
+ return false;
+ }
+ hidl_fates->push_back(hidl_fate);
+ }
+ return true;
+}
+
bool convertLegacyLinkLayerStatsToHidl(
const legacy_hal::LinkLayerStats& legacy_stats,
StaLinkLayerStats* hidl_stats) {
@@ -251,6 +677,1020 @@
hidl_stats->timeStampInMs = uptimeMillis();
return true;
}
+
+bool convertLegacyRoamingCapabilitiesToHidl(
+ const legacy_hal::wifi_roaming_capabilities& legacy_caps,
+ StaRoamingCapabilities* hidl_caps) {
+ if (!hidl_caps) {
+ return false;
+ }
+ hidl_caps->maxBlacklistSize = legacy_caps.max_blacklist_size;
+ hidl_caps->maxWhitelistSize = legacy_caps.max_whitelist_size;
+ return true;
+}
+
+bool convertHidlRoamingConfigToLegacy(
+ const StaRoamingConfig& hidl_config,
+ legacy_hal::wifi_roaming_config* legacy_config) {
+ if (!legacy_config) {
+ return false;
+ }
+ if (hidl_config.bssidBlacklist.size() > MAX_BLACKLIST_BSSID ||
+ hidl_config.ssidWhitelist.size() > MAX_WHITELIST_SSID) {
+ return false;
+ }
+ legacy_config->num_blacklist_bssid = hidl_config.bssidBlacklist.size();
+ uint32_t i = 0;
+ for (const auto& bssid : hidl_config.bssidBlacklist) {
+ CHECK(bssid.size() == sizeof(legacy_hal::mac_addr));
+ memcpy(legacy_config->blacklist_bssid[i++], bssid.data(), bssid.size());
+ }
+ legacy_config->num_whitelist_ssid = hidl_config.ssidWhitelist.size();
+ i = 0;
+ for (const auto& ssid : hidl_config.ssidWhitelist) {
+ CHECK(ssid.size() <= sizeof(legacy_hal::ssid_t::ssid_str));
+ legacy_config->whitelist_ssid[i].length = ssid.size();
+ memcpy(legacy_config->whitelist_ssid[i].ssid_str, ssid.data(), ssid.size());
+ i++;
+ }
+ return true;
+}
+
+legacy_hal::fw_roaming_state_t convertHidlRoamingStateToLegacy(
+ StaRoamingState state) {
+ switch (state) {
+ case StaRoamingState::ENABLED:
+ return legacy_hal::ROAMING_ENABLE;
+ case StaRoamingState::DISABLED:
+ return legacy_hal::ROAMING_DISABLE;
+ };
+ CHECK(false);
+}
+
+legacy_hal::NanPublishType convertHidlNanPublishTypeToLegacy(
+ NanPublishType type) {
+ switch (type) {
+ case NanPublishType::UNSOLICITED:
+ return legacy_hal::NAN_PUBLISH_TYPE_UNSOLICITED;
+ case NanPublishType::SOLICITED:
+ return legacy_hal::NAN_PUBLISH_TYPE_SOLICITED;
+ case NanPublishType::UNSOLICITED_SOLICITED:
+ return legacy_hal::NAN_PUBLISH_TYPE_UNSOLICITED_SOLICITED;
+ };
+ CHECK(false);
+}
+
+legacy_hal::NanTxType convertHidlNanTxTypeToLegacy(NanTxType type) {
+ switch (type) {
+ case NanTxType::BROADCAST:
+ return legacy_hal::NAN_TX_TYPE_BROADCAST;
+ case NanTxType::UNICAST:
+ return legacy_hal::NAN_TX_TYPE_UNICAST;
+ };
+ CHECK(false);
+}
+
+legacy_hal::NanMatchAlg convertHidlNanMatchAlgToLegacy(NanMatchAlg type) {
+ switch (type) {
+ case NanMatchAlg::MATCH_ONCE:
+ return legacy_hal::NAN_MATCH_ALG_MATCH_ONCE;
+ case NanMatchAlg::MATCH_CONTINUOUS:
+ return legacy_hal::NAN_MATCH_ALG_MATCH_CONTINUOUS;
+ case NanMatchAlg::MATCH_NEVER:
+ return legacy_hal::NAN_MATCH_ALG_MATCH_NEVER;
+ };
+ CHECK(false);
+}
+
+legacy_hal::NanSubscribeType convertHidlNanSubscribeTypeToLegacy(
+ NanSubscribeType type) {
+ switch (type) {
+ case NanSubscribeType::ACTIVE:
+ return legacy_hal::NAN_SUBSCRIBE_TYPE_ACTIVE;
+ case NanSubscribeType::PASSIVE:
+ return legacy_hal::NAN_SUBSCRIBE_TYPE_PASSIVE;
+ };
+ CHECK(false);
+}
+
+legacy_hal::NanSRFType convertHidlNanSrfTypeToLegacy(NanSrfType type) {
+ switch (type) {
+ case NanSrfType::BLOOM_FILTER:
+ return legacy_hal::NAN_SRF_ATTR_BLOOM_FILTER;
+ case NanSrfType::PARTIAL_MAC_ADDR:
+ return legacy_hal::NAN_SRF_ATTR_PARTIAL_MAC_ADDR;
+ };
+ CHECK(false);
+}
+
+legacy_hal::NanSRFIncludeType convertHidlNanSrfIncludeTypeToLegacy(
+ NanSrfIncludeType type) {
+ switch (type) {
+ case NanSrfIncludeType::DO_NOT_RESPOND:
+ return legacy_hal::NAN_SRF_INCLUDE_DO_NOT_RESPOND;
+ case NanSrfIncludeType::RESPOND:
+ return legacy_hal::NAN_SRF_INCLUDE_RESPOND;
+ };
+ CHECK(false);
+}
+
+NanStatusType convertLegacyNanStatusTypeToHidl(
+ legacy_hal::NanStatusType /* type */) {
+ // TODO: The |NanStatusType| has changed in legacy HAL and no longer in sync
+ // with the HIDL interface.
+ return NanStatusType::SUCCESS;
+}
+
+NanResponseType convertLegacyNanResponseTypeToHidl(
+ legacy_hal::NanResponseType type) {
+ switch (type) {
+ case legacy_hal::NAN_RESPONSE_ENABLED:
+ return NanResponseType::ENABLED;
+ case legacy_hal::NAN_RESPONSE_DISABLED:
+ return NanResponseType::DISABLED;
+ case legacy_hal::NAN_RESPONSE_PUBLISH:
+ return NanResponseType::PUBLISH;
+ case legacy_hal::NAN_RESPONSE_PUBLISH_CANCEL:
+ return NanResponseType::PUBLISH_CANCEL;
+ case legacy_hal::NAN_RESPONSE_TRANSMIT_FOLLOWUP:
+ return NanResponseType::TRANSMIT_FOLLOWUP;
+ case legacy_hal::NAN_RESPONSE_SUBSCRIBE:
+ return NanResponseType::SUBSCRIBE;
+ case legacy_hal::NAN_RESPONSE_SUBSCRIBE_CANCEL:
+ return NanResponseType::SUBSCRIBE_CANCEL;
+ case legacy_hal::NAN_RESPONSE_STATS:
+ // Not present in HIDL. Is going to be deprecated in legacy HAL as well.
+ CHECK(0);
+ case legacy_hal::NAN_RESPONSE_CONFIG:
+ return NanResponseType::CONFIG;
+ case legacy_hal::NAN_RESPONSE_TCA:
+ // Not present in HIDL. Is going to be deprecated in legacy HAL as well.
+ CHECK(0);
+ case legacy_hal::NAN_RESPONSE_ERROR:
+ return NanResponseType::ERROR;
+ case legacy_hal::NAN_RESPONSE_BEACON_SDF_PAYLOAD:
+ return NanResponseType::BEACON_SDF_PAYLOAD;
+ case legacy_hal::NAN_GET_CAPABILITIES:
+ return NanResponseType::GET_CAPABILITIES;
+ case legacy_hal::NAN_DP_INTERFACE_CREATE:
+ return NanResponseType::DP_INTERFACE_CREATE;
+ case legacy_hal::NAN_DP_INTERFACE_DELETE:
+ return NanResponseType::DP_INTERFACE_DELETE;
+ case legacy_hal::NAN_DP_INITIATOR_RESPONSE:
+ return NanResponseType::DP_INITIATOR_RESPONSE;
+ case legacy_hal::NAN_DP_RESPONDER_RESPONSE:
+ return NanResponseType::DP_RESPONDER_RESPONSE;
+ case legacy_hal::NAN_DP_END:
+ return NanResponseType::DP_END;
+ };
+ CHECK(false) << "Unknown legacy type: " << type;
+}
+
+bool convertHidlNanEnableRequestToLegacy(
+ const NanEnableRequest& hidl_request,
+ legacy_hal::NanEnableRequest* legacy_request) {
+ if (!legacy_request) {
+ return false;
+ }
+ legacy_request->master_pref = hidl_request.masterPref;
+ legacy_request->cluster_low = hidl_request.clusterLow;
+ legacy_request->cluster_high = hidl_request.clusterHigh;
+ legacy_request->config_support_5g = hidl_request.validSupport5gVal;
+ legacy_request->support_5g_val = hidl_request.support5gVal;
+ legacy_request->config_sid_beacon = hidl_request.validSidBeaconVal;
+ legacy_request->sid_beacon_val = hidl_request.sidBeaconVal;
+ legacy_request->config_2dot4g_rssi_close =
+ hidl_request.valid2dot4gRssiCloseVal;
+ legacy_request->rssi_close_2dot4g_val = hidl_request.rssiClose2dot4gVal;
+ legacy_request->config_2dot4g_rssi_middle =
+ hidl_request.valid2dot4gRssiMiddleVal;
+ legacy_request->rssi_middle_2dot4g_val = hidl_request.rssiMiddle2dot4gVal;
+ legacy_request->config_2dot4g_rssi_proximity =
+ hidl_request.valid2dot4gRssiProximityVal;
+ legacy_request->rssi_proximity_2dot4g_val =
+ hidl_request.rssiProximity2dot4gVal;
+ legacy_request->config_hop_count_limit = hidl_request.validHopCountLimitVal;
+ legacy_request->hop_count_limit_val = hidl_request.hopCountLimitVal;
+ legacy_request->config_2dot4g_support = hidl_request.valid2dot4gSupportVal;
+ legacy_request->support_2dot4g_val = hidl_request.support2dot4gVal;
+ legacy_request->config_2dot4g_beacons = hidl_request.valid2dot4gBeaconsVal;
+ legacy_request->beacon_2dot4g_val = hidl_request.beacon2dot4gVal;
+ legacy_request->config_2dot4g_sdf = hidl_request.valid2dot4gSdfVal;
+ legacy_request->sdf_2dot4g_val = hidl_request.sdf2dot4gVal;
+ legacy_request->config_5g_beacons = hidl_request.valid5gBeaconsVal;
+ legacy_request->beacon_5g_val = hidl_request.beacon5gVal;
+ legacy_request->config_5g_sdf = hidl_request.valid5gSdfVal;
+ legacy_request->sdf_5g_val = hidl_request.sdf5gVal;
+ legacy_request->config_5g_rssi_close = hidl_request.valid5gRssiCloseVal;
+ legacy_request->rssi_close_5g_val = hidl_request.rssiClose5gVal;
+ legacy_request->config_5g_rssi_middle = hidl_request.valid5gRssiMiddleVal;
+ legacy_request->rssi_middle_5g_val = hidl_request.rssiMiddle5gVal;
+ legacy_request->config_5g_rssi_close_proximity =
+ hidl_request.valid5gRssiCloseProximityVal;
+ legacy_request->rssi_close_proximity_5g_val =
+ hidl_request.rssiCloseProximity5gVal;
+ legacy_request->config_rssi_window_size = hidl_request.validRssiWindowSizeVal;
+ legacy_request->rssi_window_size_val = hidl_request.rssiWindowSizeVal;
+ legacy_request->config_oui = hidl_request.validOuiVal;
+ legacy_request->oui_val = hidl_request.ouiVal;
+ legacy_request->config_intf_addr = hidl_request.validIntfAddrVal;
+ CHECK(hidl_request.intfAddrVal.size() ==
+ sizeof(legacy_request->intf_addr_val));
+ memcpy(legacy_request->intf_addr_val,
+ hidl_request.intfAddrVal.data(),
+ hidl_request.intfAddrVal.size());
+ legacy_request->config_cluster_attribute_val =
+ hidl_request.configClusterAttributeVal;
+ legacy_request->config_scan_params = hidl_request.validScanParamsVal;
+ if (hidl_request.scanParamsVal.dwellTime.size() >
+ sizeof(legacy_request->scan_params_val.dwell_time)) {
+ return false;
+ }
+ memcpy(legacy_request->scan_params_val.dwell_time,
+ hidl_request.scanParamsVal.dwellTime.data(),
+ hidl_request.scanParamsVal.dwellTime.size());
+ if (hidl_request.scanParamsVal.scanPeriod.size() >
+ sizeof(legacy_request->scan_params_val.scan_period)) {
+ return false;
+ }
+ memcpy(legacy_request->scan_params_val.scan_period,
+ hidl_request.scanParamsVal.scanPeriod.data(),
+ hidl_request.scanParamsVal.scanPeriod.size());
+ legacy_request->config_random_factor_force =
+ hidl_request.validRandomFactorForceVal;
+ legacy_request->random_factor_force_val = hidl_request.randomFactorForceVal;
+ legacy_request->config_hop_count_force = hidl_request.validHopCountLimitVal;
+ legacy_request->hop_count_force_val = hidl_request.hopCountLimitVal;
+ legacy_request->config_24g_channel = hidl_request.valid24gChannelVal;
+ legacy_request->channel_24g_val = hidl_request.channel24gVal;
+ legacy_request->config_5g_channel = hidl_request.valid5gChannelVal;
+ legacy_request->channel_5g_val = hidl_request.channel5gVal;
+ return true;
+}
+
+bool convertHidlNanPublishRequestToLegacy(
+ const NanPublishRequest& hidl_request,
+ legacy_hal::NanPublishRequest* legacy_request) {
+ if (!legacy_request) {
+ return false;
+ }
+ legacy_request->publish_id = hidl_request.publishId;
+ legacy_request->ttl = hidl_request.ttl;
+ legacy_request->period = hidl_request.period;
+ legacy_request->publish_type =
+ convertHidlNanPublishTypeToLegacy(hidl_request.publishType);
+ legacy_request->tx_type = convertHidlNanTxTypeToLegacy(hidl_request.txType);
+ legacy_request->publish_count = hidl_request.publishCount;
+ if (hidl_request.serviceName.size() > sizeof(legacy_request->service_name)) {
+ return false;
+ }
+ legacy_request->service_name_len = hidl_request.serviceName.size();
+ memcpy(legacy_request->service_name,
+ hidl_request.serviceName.c_str(),
+ hidl_request.serviceName.size());
+ legacy_request->publish_match_indicator =
+ convertHidlNanMatchAlgToLegacy(hidl_request.publishMatchIndicator);
+ if (hidl_request.serviceSpecificInfo.size() >
+ sizeof(legacy_request->service_specific_info)) {
+ return false;
+ }
+ legacy_request->service_specific_info_len =
+ hidl_request.serviceSpecificInfo.size();
+ memcpy(legacy_request->service_specific_info,
+ hidl_request.serviceSpecificInfo.data(),
+ hidl_request.serviceSpecificInfo.size());
+ if (hidl_request.rxMatchFilter.size() >
+ sizeof(legacy_request->rx_match_filter)) {
+ return false;
+ }
+ legacy_request->rx_match_filter_len = hidl_request.rxMatchFilter.size();
+ memcpy(legacy_request->rx_match_filter,
+ hidl_request.rxMatchFilter.data(),
+ hidl_request.rxMatchFilter.size());
+ if (hidl_request.txMatchFilter.size() >
+ sizeof(legacy_request->tx_match_filter)) {
+ return false;
+ }
+ legacy_request->tx_match_filter_len = hidl_request.txMatchFilter.size();
+ memcpy(legacy_request->tx_match_filter,
+ hidl_request.txMatchFilter.data(),
+ hidl_request.txMatchFilter.size());
+ legacy_request->rssi_threshold_flag = hidl_request.useRssiThreshold;
+ legacy_request->connmap = hidl_request.connmap;
+ legacy_request->recv_indication_cfg = hidl_request.recvIndicationCfg;
+ return true;
+}
+
+bool convertHidlNanPublishCancelRequestToLegacy(
+ const NanPublishCancelRequest& hidl_request,
+ legacy_hal::NanPublishCancelRequest* legacy_request) {
+ legacy_request->publish_id = hidl_request.publishId;
+ return true;
+}
+
+bool convertHidlNanSubscribeRequestToLegacy(
+ const NanSubscribeRequest& hidl_request,
+ legacy_hal::NanSubscribeRequest* legacy_request) {
+ if (!legacy_request) {
+ return false;
+ }
+ legacy_request->subscribe_id = hidl_request.subscribeId;
+ legacy_request->ttl = hidl_request.ttl;
+ legacy_request->period = hidl_request.period;
+ legacy_request->subscribe_type =
+ convertHidlNanSubscribeTypeToLegacy(hidl_request.subscribeType);
+ legacy_request->serviceResponseFilter =
+ convertHidlNanSrfTypeToLegacy(hidl_request.serviceResponseFilter);
+ legacy_request->serviceResponseInclude =
+ convertHidlNanSrfIncludeTypeToLegacy(hidl_request.serviceResponseInclude);
+ legacy_request->useServiceResponseFilter =
+ hidl_request.shouldUseServiceResponseFilter
+ ? legacy_hal::NAN_USE_SRF
+ : legacy_hal::NAN_DO_NOT_USE_SRF;
+ legacy_request->ssiRequiredForMatchIndication =
+ hidl_request.isSsiRequiredForMatchIndication
+ ? legacy_hal::NAN_SSI_REQUIRED_IN_MATCH_IND
+ : legacy_hal::NAN_SSI_NOT_REQUIRED_IN_MATCH_IND;
+ legacy_request->subscribe_match_indicator =
+ convertHidlNanMatchAlgToLegacy(hidl_request.subscribeMatchIndicator);
+ legacy_request->subscribe_count = hidl_request.subscribeCount;
+ if (hidl_request.serviceName.size() > sizeof(legacy_request->service_name)) {
+ return false;
+ }
+ legacy_request->service_name_len = hidl_request.serviceName.size();
+ memcpy(legacy_request->service_name,
+ hidl_request.serviceName.c_str(),
+ hidl_request.serviceName.size());
+ if (hidl_request.serviceSpecificInfo.size() >
+ sizeof(legacy_request->service_specific_info)) {
+ return false;
+ }
+ legacy_request->service_specific_info_len =
+ hidl_request.serviceSpecificInfo.size();
+ memcpy(legacy_request->service_specific_info,
+ hidl_request.serviceSpecificInfo.data(),
+ hidl_request.serviceSpecificInfo.size());
+ if (hidl_request.rxMatchFilter.size() >
+ sizeof(legacy_request->rx_match_filter)) {
+ return false;
+ }
+ legacy_request->rx_match_filter_len = hidl_request.rxMatchFilter.size();
+ memcpy(legacy_request->rx_match_filter,
+ hidl_request.rxMatchFilter.data(),
+ hidl_request.rxMatchFilter.size());
+ if (hidl_request.txMatchFilter.size() >
+ sizeof(legacy_request->tx_match_filter)) {
+ return false;
+ }
+ legacy_request->tx_match_filter_len = hidl_request.txMatchFilter.size();
+ memcpy(legacy_request->tx_match_filter,
+ hidl_request.txMatchFilter.data(),
+ hidl_request.txMatchFilter.size());
+ legacy_request->rssi_threshold_flag = hidl_request.useRssiThreshold;
+ legacy_request->connmap = hidl_request.connmap;
+ if (hidl_request.intfAddr.size() > NAN_MAX_SUBSCRIBE_MAX_ADDRESS) {
+ return false;
+ }
+ legacy_request->num_intf_addr_present = hidl_request.intfAddr.size();
+ for (uint32_t i = 0; i < hidl_request.intfAddr.size(); i++) {
+ CHECK(hidl_request.intfAddr[i].size() ==
+ sizeof(legacy_request->intf_addr[i]));
+ memcpy(legacy_request->intf_addr[i],
+ hidl_request.intfAddr[i].data(),
+ hidl_request.intfAddr[i].size());
+ }
+ legacy_request->recv_indication_cfg = hidl_request.recvIndicationCfg;
+ return true;
+}
+
+bool convertHidlNanSubscribeCancelRequestToLegacy(
+ const NanSubscribeCancelRequest& /* hidl_request */,
+ legacy_hal::NanSubscribeCancelRequest* /* legacy_request */) {
+ return false;
+}
+
+bool convertHidlNanTransmitFollowupRequestToLegacy(
+ const NanTransmitFollowupRequest& /* hidl_request */,
+ legacy_hal::NanTransmitFollowupRequest* /* legacy_request */) {
+ return false;
+}
+
+bool convertHidlNanConfigRequestToLegacy(
+ const NanConfigRequest& /* hidl_request */,
+ legacy_hal::NanConfigRequest* /* legacy_request */) {
+ return false;
+}
+
+bool convertHidlNanBeaconSdfPayloadRequestToLegacy(
+ const NanBeaconSdfPayloadRequest& /* hidl_request */,
+ legacy_hal::NanBeaconSdfPayloadRequest* /* legacy_request */) {
+ return false;
+}
+
+bool convertHidlNanDataPathInitiatorRequestToLegacy(
+ const NanDataPathInitiatorRequest& /* hidl_request */,
+ legacy_hal::NanDataPathInitiatorRequest* /* legacy_request */) {
+ return false;
+}
+
+bool convertHidlNanDataPathIndicationResponseToLegacy(
+ const NanDataPathIndicationResponse& /* hidl_response */,
+ legacy_hal::NanDataPathIndicationResponse* /* legacy_response */) {
+ return false;
+}
+
+bool convertHidlNanDataPathEndRequestToLegacy(
+ const NanDataPathEndRequest& /* hidl_request */,
+ legacy_hal::NanDataPathEndRequest* /* legacy_request */) {
+ return false;
+}
+
+bool convertLegacyNanResponseHeaderToHidl(
+ const legacy_hal::NanResponseMsg& legacy_response,
+ NanResponseMsgHeader* hidl_response) {
+ if (!hidl_response) {
+ return false;
+ }
+ hidl_response->status =
+ convertLegacyNanStatusTypeToHidl(legacy_response.status);
+ hidl_response->value = legacy_response.value;
+ hidl_response->responseType =
+ convertLegacyNanResponseTypeToHidl(legacy_response.response_type);
+ return true;
+}
+
+bool convertLegacyNanPublishResponseToHidl(
+ const legacy_hal::NanPublishResponse& /* legacy_response */,
+ NanPublishResponse* /* hidl_response */) {
+ return false;
+}
+
+bool convertLegacyNanSubscribeResponseToHidl(
+ const legacy_hal::NanSubscribeResponse& /* legacy_response */,
+ NanSubscribeResponse* /* hidl_response */) {
+ return false;
+}
+
+bool convertLegacyNanDataPathResponseToHidl(
+ const legacy_hal::NanDataPathRequestResponse& /* legacy_response */,
+ NanDataPathResponse* /* hidl_response */) {
+ return false;
+}
+
+bool convertLegacyNanCapabilitiesResponseToHidl(
+ const legacy_hal::NanCapabilities& /* legacy_response */,
+ NanCapabilitiesResponse* /* hidl_response */) {
+ return false;
+}
+
+bool convertLegacyNanPublishTerminatedIndToHidl(
+ const legacy_hal::NanPublishTerminatedInd& /* legacy_ind */,
+ NanPublishTerminatedInd* /* hidl_ind */) {
+ return false;
+}
+
+bool convertLegacyNanMatchIndToHidl(
+ const legacy_hal::NanMatchInd& /* legacy_ind */,
+ NanMatchInd* /* hidl_ind */) {
+ return false;
+}
+
+bool convertLegacyNanMatchExpiredIndToHidl(
+ const legacy_hal::NanMatchExpiredInd& /* legacy_ind */,
+ NanMatchExpiredInd* /* hidl_ind */) {
+ return false;
+}
+
+bool convertLegacyNanSubscribeTerminatedIndToHidl(
+ const legacy_hal::NanSubscribeTerminatedInd& /* legacy_ind */,
+ NanSubscribeTerminatedInd* /* hidl_ind */) {
+ return false;
+}
+
+bool convertLegacyNanFollowupIndToHidl(
+ const legacy_hal::NanFollowupInd& /* legacy_ind */,
+ NanFollowupInd* /* hidl_ind */) {
+ return false;
+}
+
+bool convertLegacyNanDiscEngEventIndToHidl(
+ const legacy_hal::NanDiscEngEventInd& /* legacy_ind */,
+ NanDiscEngEventInd* /* hidl_ind */) {
+ return false;
+}
+
+bool convertLegacyNanDisabledIndToHidl(
+ const legacy_hal::NanDisabledInd& /* legacy_ind */,
+ NanDisabledInd* /* hidl_ind */) {
+ return false;
+}
+
+bool convertLegacyNanBeaconSdfPayloadIndToHidl(
+ const legacy_hal::NanBeaconSdfPayloadInd& /* legacy_ind */,
+ NanBeaconSdfPayloadInd* /* hidl_ind */) {
+ return false;
+}
+
+bool convertLegacyNanDataPathRequestIndToHidl(
+ const legacy_hal::NanDataPathRequestInd& /* legacy_ind */,
+ NanDataPathRequestInd* /* hidl_ind */) {
+ return false;
+}
+
+bool convertLegacyNanDataPathConfirmIndToHidl(
+ const legacy_hal::NanDataPathConfirmInd& /* legacy_ind */,
+ NanDataPathConfirmInd* /* hidl_ind */) {
+ return false;
+}
+
+bool convertLegacyNanDataPathEndIndToHidl(
+ const legacy_hal::NanDataPathEndInd& /* legacy_ind */,
+ NanDataPathEndInd* /* hidl_ind */) {
+ return false;
+}
+
+bool convertLegacyNanTransmitFollowupIndToHidl(
+ const legacy_hal::NanTransmitFollowupInd& /* legacy_ind */,
+ NanTransmitFollowupInd* /* hidl_ind */) {
+ return false;
+}
+
+legacy_hal::wifi_rtt_type convertHidlRttTypeToLegacy(RttType type) {
+ switch (type) {
+ case RttType::ONE_SIDED:
+ return legacy_hal::RTT_TYPE_1_SIDED;
+ case RttType::TWO_SIDED:
+ return legacy_hal::RTT_TYPE_2_SIDED;
+ };
+ CHECK(false);
+}
+
+RttType convertLegacyRttTypeToHidl(legacy_hal::wifi_rtt_type type) {
+ switch (type) {
+ case legacy_hal::RTT_TYPE_1_SIDED:
+ return RttType::ONE_SIDED;
+ case legacy_hal::RTT_TYPE_2_SIDED:
+ return RttType::TWO_SIDED;
+ };
+ CHECK(false) << "Unknown legacy type: " << type;
+}
+
+legacy_hal::rtt_peer_type convertHidlRttPeerTypeToLegacy(RttPeerType type) {
+ switch (type) {
+ case RttPeerType::AP:
+ return legacy_hal::RTT_PEER_AP;
+ case RttPeerType::STA:
+ return legacy_hal::RTT_PEER_STA;
+ case RttPeerType::P2P_GO:
+ return legacy_hal::RTT_PEER_P2P_GO;
+ case RttPeerType::P2P_CLIENT:
+ return legacy_hal::RTT_PEER_P2P_CLIENT;
+ case RttPeerType::NAN:
+ return legacy_hal::RTT_PEER_NAN;
+ };
+ CHECK(false);
+}
+
+legacy_hal::wifi_channel_width convertHidlWifiChannelWidthToLegacy(
+ WifiChannelWidthInMhz type) {
+ switch (type) {
+ case WifiChannelWidthInMhz::WIDTH_20:
+ return legacy_hal::WIFI_CHAN_WIDTH_20;
+ case WifiChannelWidthInMhz::WIDTH_40:
+ return legacy_hal::WIFI_CHAN_WIDTH_40;
+ case WifiChannelWidthInMhz::WIDTH_80:
+ return legacy_hal::WIFI_CHAN_WIDTH_80;
+ case WifiChannelWidthInMhz::WIDTH_160:
+ return legacy_hal::WIFI_CHAN_WIDTH_160;
+ case WifiChannelWidthInMhz::WIDTH_80P80:
+ return legacy_hal::WIFI_CHAN_WIDTH_80P80;
+ case WifiChannelWidthInMhz::WIDTH_5:
+ return legacy_hal::WIFI_CHAN_WIDTH_5;
+ case WifiChannelWidthInMhz::WIDTH_10:
+ return legacy_hal::WIFI_CHAN_WIDTH_10;
+ case WifiChannelWidthInMhz::WIDTH_INVALID:
+ return legacy_hal::WIFI_CHAN_WIDTH_INVALID;
+ };
+ CHECK(false);
+}
+
+WifiChannelWidthInMhz convertLegacyWifiChannelWidthToHidl(
+ legacy_hal::wifi_channel_width type) {
+ switch (type) {
+ case legacy_hal::WIFI_CHAN_WIDTH_20:
+ return WifiChannelWidthInMhz::WIDTH_20;
+ case legacy_hal::WIFI_CHAN_WIDTH_40:
+ return WifiChannelWidthInMhz::WIDTH_40;
+ case legacy_hal::WIFI_CHAN_WIDTH_80:
+ return WifiChannelWidthInMhz::WIDTH_80;
+ case legacy_hal::WIFI_CHAN_WIDTH_160:
+ return WifiChannelWidthInMhz::WIDTH_160;
+ case legacy_hal::WIFI_CHAN_WIDTH_80P80:
+ return WifiChannelWidthInMhz::WIDTH_80P80;
+ case legacy_hal::WIFI_CHAN_WIDTH_5:
+ return WifiChannelWidthInMhz::WIDTH_5;
+ case legacy_hal::WIFI_CHAN_WIDTH_10:
+ return WifiChannelWidthInMhz::WIDTH_10;
+ case legacy_hal::WIFI_CHAN_WIDTH_INVALID:
+ return WifiChannelWidthInMhz::WIDTH_INVALID;
+ };
+ CHECK(false) << "Unknown legacy type: " << type;
+}
+
+legacy_hal::wifi_rtt_preamble convertHidlRttPreambleToLegacy(RttPreamble type) {
+ switch (type) {
+ case RttPreamble::LEGACY:
+ return legacy_hal::WIFI_RTT_PREAMBLE_LEGACY;
+ case RttPreamble::HT:
+ return legacy_hal::WIFI_RTT_PREAMBLE_HT;
+ case RttPreamble::VHT:
+ return legacy_hal::WIFI_RTT_PREAMBLE_VHT;
+ };
+ CHECK(false);
+}
+
+RttPreamble convertLegacyRttPreambleToHidl(legacy_hal::wifi_rtt_preamble type) {
+ switch (type) {
+ case legacy_hal::WIFI_RTT_PREAMBLE_LEGACY:
+ return RttPreamble::LEGACY;
+ case legacy_hal::WIFI_RTT_PREAMBLE_HT:
+ return RttPreamble::HT;
+ case legacy_hal::WIFI_RTT_PREAMBLE_VHT:
+ return RttPreamble::VHT;
+ };
+ CHECK(false) << "Unknown legacy type: " << type;
+}
+
+legacy_hal::wifi_rtt_bw convertHidlRttBwToLegacy(RttBw type) {
+ switch (type) {
+ case RttBw::BW_5MHZ:
+ return legacy_hal::WIFI_RTT_BW_5;
+ case RttBw::BW_10MHZ:
+ return legacy_hal::WIFI_RTT_BW_10;
+ case RttBw::BW_20MHZ:
+ return legacy_hal::WIFI_RTT_BW_20;
+ case RttBw::BW_40MHZ:
+ return legacy_hal::WIFI_RTT_BW_40;
+ case RttBw::BW_80MHZ:
+ return legacy_hal::WIFI_RTT_BW_80;
+ case RttBw::BW_160MHZ:
+ return legacy_hal::WIFI_RTT_BW_160;
+ };
+ CHECK(false);
+}
+
+RttBw convertLegacyRttBwToHidl(legacy_hal::wifi_rtt_bw type) {
+ switch (type) {
+ case legacy_hal::WIFI_RTT_BW_5:
+ return RttBw::BW_5MHZ;
+ case legacy_hal::WIFI_RTT_BW_10:
+ return RttBw::BW_10MHZ;
+ case legacy_hal::WIFI_RTT_BW_20:
+ return RttBw::BW_20MHZ;
+ case legacy_hal::WIFI_RTT_BW_40:
+ return RttBw::BW_40MHZ;
+ case legacy_hal::WIFI_RTT_BW_80:
+ return RttBw::BW_80MHZ;
+ case legacy_hal::WIFI_RTT_BW_160:
+ return RttBw::BW_160MHZ;
+ };
+ CHECK(false) << "Unknown legacy type: " << type;
+}
+
+legacy_hal::wifi_motion_pattern convertHidlRttMotionPatternToLegacy(
+ RttMotionPattern type) {
+ switch (type) {
+ case RttMotionPattern::NOT_EXPECTED:
+ return legacy_hal::WIFI_MOTION_NOT_EXPECTED;
+ case RttMotionPattern::EXPECTED:
+ return legacy_hal::WIFI_MOTION_EXPECTED;
+ case RttMotionPattern::UNKNOWN:
+ return legacy_hal::WIFI_MOTION_UNKNOWN;
+ };
+ CHECK(false);
+}
+
+WifiRatePreamble convertLegacyWifiRatePreambleToHidl(uint8_t preamble) {
+ switch (preamble) {
+ case 0:
+ return WifiRatePreamble::OFDM;
+ case 1:
+ return WifiRatePreamble::CCK;
+ case 2:
+ return WifiRatePreamble::HT;
+ case 3:
+ return WifiRatePreamble::VHT;
+ default:
+ return WifiRatePreamble::RESERVED;
+ };
+ CHECK(false) << "Unknown legacy preamble: " << preamble;
+}
+
+WifiRateNss convertLegacyWifiRateNssToHidl(uint8_t nss) {
+ switch (nss) {
+ case 0:
+ return WifiRateNss::NSS_1x1;
+ case 1:
+ return WifiRateNss::NSS_2x2;
+ case 2:
+ return WifiRateNss::NSS_3x3;
+ case 3:
+ return WifiRateNss::NSS_4x4;
+ };
+ CHECK(false) << "Unknown legacy nss: " << nss;
+ return {};
+}
+
+RttStatus convertLegacyRttStatusToHidl(legacy_hal::wifi_rtt_status status) {
+ switch (status) {
+ case legacy_hal::RTT_STATUS_SUCCESS:
+ return RttStatus::SUCCESS;
+ case legacy_hal::RTT_STATUS_FAILURE:
+ return RttStatus::FAILURE;
+ case legacy_hal::RTT_STATUS_FAIL_NO_RSP:
+ return RttStatus::FAIL_NO_RSP;
+ case legacy_hal::RTT_STATUS_FAIL_REJECTED:
+ return RttStatus::FAIL_REJECTED;
+ case legacy_hal::RTT_STATUS_FAIL_NOT_SCHEDULED_YET:
+ return RttStatus::FAIL_NOT_SCHEDULED_YET;
+ case legacy_hal::RTT_STATUS_FAIL_TM_TIMEOUT:
+ return RttStatus::FAIL_TM_TIMEOUT;
+ case legacy_hal::RTT_STATUS_FAIL_AP_ON_DIFF_CHANNEL:
+ return RttStatus::FAIL_AP_ON_DIFF_CHANNEL;
+ case legacy_hal::RTT_STATUS_FAIL_NO_CAPABILITY:
+ return RttStatus::FAIL_NO_CAPABILITY;
+ case legacy_hal::RTT_STATUS_ABORTED:
+ return RttStatus::ABORTED;
+ case legacy_hal::RTT_STATUS_FAIL_INVALID_TS:
+ return RttStatus::FAIL_INVALID_TS;
+ case legacy_hal::RTT_STATUS_FAIL_PROTOCOL:
+ return RttStatus::FAIL_PROTOCOL;
+ case legacy_hal::RTT_STATUS_FAIL_SCHEDULE:
+ return RttStatus::FAIL_SCHEDULE;
+ case legacy_hal::RTT_STATUS_FAIL_BUSY_TRY_LATER:
+ return RttStatus::FAIL_BUSY_TRY_LATER;
+ case legacy_hal::RTT_STATUS_INVALID_REQ:
+ return RttStatus::INVALID_REQ;
+ case legacy_hal::RTT_STATUS_NO_WIFI:
+ return RttStatus::NO_WIFI;
+ case legacy_hal::RTT_STATUS_FAIL_FTM_PARAM_OVERRIDE:
+ return RttStatus::FAIL_FTM_PARAM_OVERRIDE;
+ };
+ CHECK(false) << "Unknown legacy status: " << status;
+}
+
+bool convertHidlWifiChannelInfoToLegacy(
+ const WifiChannelInfo& hidl_info,
+ legacy_hal::wifi_channel_info* legacy_info) {
+ if (!legacy_info) {
+ return false;
+ }
+ legacy_info->width = convertHidlWifiChannelWidthToLegacy(hidl_info.width);
+ legacy_info->center_freq = hidl_info.centerFreq;
+ legacy_info->center_freq0 = hidl_info.centerFreq0;
+ legacy_info->center_freq1 = hidl_info.centerFreq1;
+ return true;
+}
+
+bool convertLegacyWifiChannelInfoToHidl(
+ const legacy_hal::wifi_channel_info& legacy_info,
+ WifiChannelInfo* hidl_info) {
+ if (!hidl_info) {
+ return false;
+ }
+ hidl_info->width = convertLegacyWifiChannelWidthToHidl(legacy_info.width);
+ hidl_info->centerFreq = legacy_info.center_freq;
+ hidl_info->centerFreq0 = legacy_info.center_freq0;
+ hidl_info->centerFreq1 = legacy_info.center_freq1;
+ return true;
+}
+
+bool convertHidlRttConfigToLegacy(const RttConfig& hidl_config,
+ legacy_hal::wifi_rtt_config* legacy_config) {
+ if (!legacy_config) {
+ return false;
+ }
+ CHECK(hidl_config.addr.size() == sizeof(legacy_config->addr));
+ memcpy(legacy_config->addr, hidl_config.addr.data(), hidl_config.addr.size());
+ legacy_config->type = convertHidlRttTypeToLegacy(hidl_config.type);
+ legacy_config->peer = convertHidlRttPeerTypeToLegacy(hidl_config.peer);
+ if (!convertHidlWifiChannelInfoToLegacy(hidl_config.channel,
+ &legacy_config->channel)) {
+ return false;
+ }
+ legacy_config->burst_period = hidl_config.burstPeriod;
+ legacy_config->num_burst = hidl_config.numBurst;
+ legacy_config->num_frames_per_burst = hidl_config.numFramesPerBurst;
+ legacy_config->num_retries_per_rtt_frame = hidl_config.numRetriesPerRttFrame;
+ legacy_config->num_retries_per_ftmr = hidl_config.numRetriesPerFtmr;
+ legacy_config->LCI_request = hidl_config.mustRequestLci;
+ legacy_config->LCR_request = hidl_config.mustRequestLcr;
+ legacy_config->burst_duration = hidl_config.burstDuration;
+ legacy_config->preamble =
+ convertHidlRttPreambleToLegacy(hidl_config.preamble);
+ legacy_config->bw = convertHidlRttBwToLegacy(hidl_config.bw);
+ return true;
+}
+
+bool convertHidlVectorOfRttConfigToLegacy(
+ const std::vector<RttConfig>& hidl_configs,
+ std::vector<legacy_hal::wifi_rtt_config>* legacy_configs) {
+ if (!legacy_configs) {
+ return false;
+ }
+ legacy_configs->clear();
+ for (const auto& hidl_config : hidl_configs) {
+ legacy_hal::wifi_rtt_config legacy_config;
+ if (!convertHidlRttConfigToLegacy(hidl_config, &legacy_config)) {
+ return false;
+ }
+ legacy_configs->push_back(legacy_config);
+ }
+ return true;
+}
+
+bool convertHidlRttLciInformationToLegacy(
+ const RttLciInformation& hidl_info,
+ legacy_hal::wifi_lci_information* legacy_info) {
+ if (!legacy_info) {
+ return false;
+ }
+ legacy_info->latitude = hidl_info.latitude;
+ legacy_info->longitude = hidl_info.longitude;
+ legacy_info->altitude = hidl_info.altitude;
+ legacy_info->latitude_unc = hidl_info.latitudeUnc;
+ legacy_info->longitude_unc = hidl_info.longitudeUnc;
+ legacy_info->altitude_unc = hidl_info.altitudeUnc;
+ legacy_info->motion_pattern =
+ convertHidlRttMotionPatternToLegacy(hidl_info.motionPattern);
+ legacy_info->floor = hidl_info.floor;
+ legacy_info->height_above_floor = hidl_info.heightAboveFloor;
+ legacy_info->height_unc = hidl_info.heightUnc;
+ return true;
+}
+
+bool convertHidlRttLcrInformationToLegacy(
+ const RttLcrInformation& hidl_info,
+ legacy_hal::wifi_lcr_information* legacy_info) {
+ if (!legacy_info) {
+ return false;
+ }
+ CHECK(hidl_info.countryCode.size() == sizeof(legacy_info->country_code));
+ memcpy(legacy_info->country_code,
+ hidl_info.countryCode.data(),
+ hidl_info.countryCode.size());
+ if (hidl_info.civicInfo.size() > sizeof(legacy_info->civic_info)) {
+ return false;
+ }
+ legacy_info->length = hidl_info.civicInfo.size();
+ memcpy(legacy_info->civic_info,
+ hidl_info.civicInfo.c_str(),
+ hidl_info.civicInfo.size());
+ return true;
+}
+
+bool convertHidlRttResponderToLegacy(
+ const RttResponder& hidl_responder,
+ legacy_hal::wifi_rtt_responder* legacy_responder) {
+ if (!legacy_responder) {
+ return false;
+ }
+ if (!convertHidlWifiChannelInfoToLegacy(hidl_responder.channel,
+ &legacy_responder->channel)) {
+ return false;
+ }
+ legacy_responder->preamble =
+ convertHidlRttPreambleToLegacy(hidl_responder.preamble);
+ return true;
+}
+
+bool convertLegacyRttResponderToHidl(
+ const legacy_hal::wifi_rtt_responder& legacy_responder,
+ RttResponder* hidl_responder) {
+ if (!hidl_responder) {
+ return false;
+ }
+ if (!convertLegacyWifiChannelInfoToHidl(legacy_responder.channel,
+ &hidl_responder->channel)) {
+ return false;
+ }
+ hidl_responder->preamble =
+ convertLegacyRttPreambleToHidl(legacy_responder.preamble);
+ return true;
+}
+
+bool convertLegacyRttCapabilitiesToHidl(
+ const legacy_hal::wifi_rtt_capabilities& legacy_capabilities,
+ RttCapabilities* hidl_capabilities) {
+ if (!hidl_capabilities) {
+ return false;
+ }
+ hidl_capabilities->rttOneSidedSupported =
+ legacy_capabilities.rtt_one_sided_supported;
+ hidl_capabilities->rttFtmSupported = legacy_capabilities.rtt_ftm_supported;
+ hidl_capabilities->lciSupported = legacy_capabilities.lci_support;
+ hidl_capabilities->lcrSupported = legacy_capabilities.lcr_support;
+ hidl_capabilities->responderSupported =
+ legacy_capabilities.responder_supported;
+ for (const auto flag : {legacy_hal::WIFI_RTT_PREAMBLE_LEGACY,
+ legacy_hal::WIFI_RTT_PREAMBLE_HT,
+ legacy_hal::WIFI_RTT_PREAMBLE_VHT}) {
+ if (legacy_capabilities.preamble_support & flag) {
+ hidl_capabilities->preambleSupport |=
+ static_cast<std::underlying_type<RttPreamble>::type>(
+ convertLegacyRttPreambleToHidl(flag));
+ }
+ }
+ for (const auto flag : {legacy_hal::WIFI_RTT_BW_5,
+ legacy_hal::WIFI_RTT_BW_10,
+ legacy_hal::WIFI_RTT_BW_20,
+ legacy_hal::WIFI_RTT_BW_40,
+ legacy_hal::WIFI_RTT_BW_80,
+ legacy_hal::WIFI_RTT_BW_160}) {
+ if (legacy_capabilities.bw_support & flag) {
+ hidl_capabilities->bwSupport |=
+ static_cast<std::underlying_type<RttBw>::type>(
+ convertLegacyRttBwToHidl(flag));
+ }
+ }
+ hidl_capabilities->mcVersion = legacy_capabilities.mc_version;
+ return true;
+}
+
+bool convertLegacyWifiRateInfoToHidl(const legacy_hal::wifi_rate& legacy_rate,
+ WifiRateInfo* hidl_rate) {
+ if (!hidl_rate) {
+ return false;
+ }
+ hidl_rate->preamble =
+ convertLegacyWifiRatePreambleToHidl(legacy_rate.preamble);
+ hidl_rate->nss = convertLegacyWifiRateNssToHidl(legacy_rate.nss);
+ hidl_rate->bw = convertLegacyWifiChannelWidthToHidl(
+ static_cast<legacy_hal::wifi_channel_width>(legacy_rate.bw));
+ hidl_rate->rateMcsIdx = legacy_rate.rateMcsIdx;
+ hidl_rate->bitRateInKbps = legacy_rate.bitrate;
+ return true;
+}
+
+bool convertLegacyRttResultToHidl(
+ const legacy_hal::wifi_rtt_result& legacy_result, RttResult* hidl_result) {
+ if (!hidl_result) {
+ return false;
+ }
+ CHECK(sizeof(legacy_result.addr) == hidl_result->addr.size());
+ memcpy(
+ hidl_result->addr.data(), legacy_result.addr, sizeof(legacy_result.addr));
+ hidl_result->burstNum = legacy_result.burst_num;
+ hidl_result->measurementNumber = legacy_result.measurement_number;
+ hidl_result->successNumber = legacy_result.success_number;
+ hidl_result->numberPerBurstPeer = legacy_result.number_per_burst_peer;
+ hidl_result->status = convertLegacyRttStatusToHidl(legacy_result.status);
+ hidl_result->retryAfterDuration = legacy_result.retry_after_duration;
+ hidl_result->type = convertLegacyRttTypeToHidl(legacy_result.type);
+ hidl_result->rssi = legacy_result.rssi;
+ hidl_result->rssiSpread = legacy_result.rssi_spread;
+ if (!convertLegacyWifiRateInfoToHidl(legacy_result.tx_rate,
+ &hidl_result->txRate)) {
+ return false;
+ }
+ if (!convertLegacyWifiRateInfoToHidl(legacy_result.rx_rate,
+ &hidl_result->rxRate)) {
+ return false;
+ }
+ hidl_result->rtt = legacy_result.rtt;
+ hidl_result->rttSd = legacy_result.rtt_sd;
+ hidl_result->rttSpread = legacy_result.rtt_spread;
+ hidl_result->distanceInMm = legacy_result.distance_mm;
+ hidl_result->distanceSdInMm = legacy_result.distance_sd_mm;
+ hidl_result->distanceSpreadInMm = legacy_result.distance_spread_mm;
+ hidl_result->timeStampInUs = legacy_result.ts;
+ hidl_result->burstDurationInMs = legacy_result.burst_duration;
+ hidl_result->negotiatedBurstNum = legacy_result.negotiated_burst_num;
+ if (!convertLegacyIeToHidl(*legacy_result.LCI, &hidl_result->lci)) {
+ return false;
+ }
+ if (!convertLegacyIeToHidl(*legacy_result.LCR, &hidl_result->lcr)) {
+ return false;
+ }
+ return true;
+}
+
+bool convertLegacyVectorOfRttResultToHidl(
+ const std::vector<const legacy_hal::wifi_rtt_result*>& legacy_results,
+ std::vector<RttResult>* hidl_results) {
+ if (!hidl_results) {
+ return false;
+ }
+ hidl_results->clear();
+ for (const auto legacy_result : legacy_results) {
+ RttResult hidl_result;
+ if (!convertLegacyRttResultToHidl(*legacy_result, &hidl_result)) {
+ return false;
+ }
+ hidl_results->push_back(hidl_result);
+ }
+ return true;
+}
} // namespace hidl_struct_util
} // namespace implementation
} // namespace V1_0
diff --git a/wifi/1.0/default/hidl_struct_util.h b/wifi/1.0/default/hidl_struct_util.h
index 6c91e03..e4104e2 100644
--- a/wifi/1.0/default/hidl_struct_util.h
+++ b/wifi/1.0/default/hidl_struct_util.h
@@ -36,29 +36,168 @@
namespace implementation {
namespace hidl_struct_util {
-// Convert hidl gscan params to legacy gscan params.
-bool convertHidlScanParamsToLegacy(
+// Chip conversion methods.
+bool convertLegacyFeaturesToHidlChipCapabilities(
+ uint32_t legacy_logger_feature_set, uint32_t* hidl_caps);
+bool convertLegacyVectorOfDebugRingBufferStatusToHidl(
+ const std::vector<legacy_hal::wifi_ring_buffer_status>& legacy_status_vec,
+ std::vector<WifiDebugRingBufferStatus>* hidl_status_vec);
+bool convertLegacyWakeReasonStatsToHidl(
+ const legacy_hal::WakeReasonStats& legacy_stats,
+ WifiDebugHostWakeReasonStats* hidl_stats);
+
+// STA iface conversion methods.
+bool convertLegacyFeaturesToHidlStaCapabilities(
+ uint32_t legacy_feature_set,
+ uint32_t legacy_logger_feature_set,
+ uint32_t* hidl_caps);
+bool convertLegacyApfCapabilitiesToHidl(
+ const legacy_hal::PacketFilterCapabilities& legacy_caps,
+ StaApfPacketFilterCapabilities* hidl_caps);
+bool convertLegacyGscanCapabilitiesToHidl(
+ const legacy_hal::wifi_gscan_capabilities& legacy_caps,
+ StaBackgroundScanCapabilities* hidl_caps);
+legacy_hal::wifi_band convertHidlGscanBandToLegacy(StaBackgroundScanBand band);
+bool convertHidlGscanParamsToLegacy(
const StaBackgroundScanParameters& hidl_scan_params,
legacy_hal::wifi_scan_cmd_params* legacy_scan_params);
-// Convert the blob of packed IE elements to vector of
-// |WifiInformationElement| structures.
-bool convertLegacyIeBlobToHidl(const uint8_t* ie_blob,
- uint32_t ie_blob_len,
- std::vector<WifiInformationElement>* hidl_ies);
// |has_ie_data| indicates whether or not the wifi_scan_result includes 802.11
// Information Elements (IEs)
-bool convertLegacyScanResultToHidl(
+bool convertLegacyGscanResultToHidl(
const legacy_hal::wifi_scan_result& legacy_scan_result,
bool has_ie_data,
StaScanResult* hidl_scan_result);
// |cached_results| is assumed to not include IEs.
-bool convertLegacyVectorOfCachedScanResultsToHidl(
+bool convertLegacyVectorOfCachedGscanResultsToHidl(
const std::vector<legacy_hal::wifi_cached_scan_results>&
legacy_cached_scan_results,
std::vector<StaScanData>* hidl_scan_datas);
bool convertLegacyLinkLayerStatsToHidl(
const legacy_hal::LinkLayerStats& legacy_stats,
StaLinkLayerStats* hidl_stats);
+bool convertLegacyRoamingCapabilitiesToHidl(
+ const legacy_hal::wifi_roaming_capabilities& legacy_caps,
+ StaRoamingCapabilities* hidl_caps);
+bool convertHidlRoamingConfigToLegacy(
+ const StaRoamingConfig& hidl_config,
+ legacy_hal::wifi_roaming_config* legacy_config);
+legacy_hal::fw_roaming_state_t convertHidlRoamingStateToLegacy(
+ StaRoamingState state);
+bool convertLegacyVectorOfDebugTxPacketFateToHidl(
+ const std::vector<legacy_hal::wifi_tx_report>& legacy_fates,
+ std::vector<WifiDebugTxPacketFateReport>* hidl_fates);
+bool convertLegacyVectorOfDebugRxPacketFateToHidl(
+ const std::vector<legacy_hal::wifi_rx_report>& legacy_fates,
+ std::vector<WifiDebugRxPacketFateReport>* hidl_fates);
+
+// NAN iface conversion methods.
+bool convertHidlNanEnableRequestToLegacy(
+ const NanEnableRequest& hidl_request,
+ legacy_hal::NanEnableRequest* legacy_request);
+bool convertHidlNanPublishRequestToLegacy(
+ const NanPublishRequest& hidl_request,
+ legacy_hal::NanPublishRequest* legacy_request);
+bool convertHidlNanPublishCancelRequestToLegacy(
+ const NanPublishCancelRequest& hidl_request,
+ legacy_hal::NanPublishCancelRequest* legacy_request);
+bool convertHidlNanSubscribeRequestToLegacy(
+ const NanSubscribeRequest& hidl_request,
+ legacy_hal::NanSubscribeRequest* legacy_request);
+bool convertHidlNanSubscribeCancelRequestToLegacy(
+ const NanSubscribeCancelRequest& hidl_request,
+ legacy_hal::NanSubscribeCancelRequest* legacy_request);
+bool convertHidlNanTransmitFollowupRequestToLegacy(
+ const NanTransmitFollowupRequest& hidl_request,
+ legacy_hal::NanTransmitFollowupRequest* legacy_request);
+bool convertHidlNanConfigRequestToLegacy(
+ const NanConfigRequest& hidl_request,
+ legacy_hal::NanConfigRequest* legacy_request);
+bool convertHidlNanBeaconSdfPayloadRequestToLegacy(
+ const NanBeaconSdfPayloadRequest& hidl_request,
+ legacy_hal::NanBeaconSdfPayloadRequest* legacy_request);
+bool convertHidlNanDataPathInitiatorRequestToLegacy(
+ const NanDataPathInitiatorRequest& hidl_request,
+ legacy_hal::NanDataPathInitiatorRequest* legacy_request);
+bool convertHidlNanDataPathIndicationResponseToLegacy(
+ const NanDataPathIndicationResponse& hidl_response,
+ legacy_hal::NanDataPathIndicationResponse* legacy_response);
+bool convertHidlNanDataPathEndRequestToLegacy(
+ const NanDataPathEndRequest& hidl_request,
+ legacy_hal::NanDataPathEndRequest* legacy_request);
+bool convertLegacyNanResponseHeaderToHidl(
+ const legacy_hal::NanResponseMsg& legacy_response,
+ NanResponseMsgHeader* hidl_response);
+bool convertLegacyNanPublishResponseToHidl(
+ const legacy_hal::NanPublishResponse& legacy_response,
+ NanPublishResponse* hidl_response);
+bool convertLegacyNanSubscribeResponseToHidl(
+ const legacy_hal::NanSubscribeResponse& legacy_response,
+ NanSubscribeResponse* hidl_response);
+bool convertLegacyNanDataPathResponseToHidl(
+ const legacy_hal::NanDataPathRequestResponse& legacy_response,
+ NanDataPathResponse* hidl_response);
+bool convertLegacyNanCapabilitiesResponseToHidl(
+ const legacy_hal::NanCapabilities& legacy_response,
+ NanCapabilitiesResponse* hidl_response);
+bool convertLegacyNanPublishTerminatedIndToHidl(
+ const legacy_hal::NanPublishTerminatedInd& legacy_ind,
+ NanPublishTerminatedInd* hidl_ind);
+bool convertLegacyNanMatchIndToHidl(const legacy_hal::NanMatchInd& legacy_ind,
+ NanMatchInd* hidl_ind);
+bool convertLegacyNanMatchExpiredIndToHidl(
+ const legacy_hal::NanMatchExpiredInd& legacy_ind,
+ NanMatchExpiredInd* hidl_ind);
+bool convertLegacyNanSubscribeTerminatedIndToHidl(
+ const legacy_hal::NanSubscribeTerminatedInd& legacy_ind,
+ NanSubscribeTerminatedInd* hidl_ind);
+bool convertLegacyNanFollowupIndToHidl(
+ const legacy_hal::NanFollowupInd& legacy_ind, NanFollowupInd* hidl_ind);
+bool convertLegacyNanDiscEngEventIndToHidl(
+ const legacy_hal::NanDiscEngEventInd& legacy_ind,
+ NanDiscEngEventInd* hidl_ind);
+bool convertLegacyNanDisabledIndToHidl(
+ const legacy_hal::NanDisabledInd& legacy_ind, NanDisabledInd* hidl_ind);
+bool convertLegacyNanBeaconSdfPayloadIndToHidl(
+ const legacy_hal::NanBeaconSdfPayloadInd& legacy_ind,
+ NanBeaconSdfPayloadInd* hidl_ind);
+bool convertLegacyNanDataPathRequestIndToHidl(
+ const legacy_hal::NanDataPathRequestInd& legacy_ind,
+ NanDataPathRequestInd* hidl_ind);
+bool convertLegacyNanDataPathConfirmIndToHidl(
+ const legacy_hal::NanDataPathConfirmInd& legacy_ind,
+ NanDataPathConfirmInd* hidl_ind);
+bool convertLegacyNanDataPathEndIndToHidl(
+ const legacy_hal::NanDataPathEndInd& legacy_ind,
+ NanDataPathEndInd* hidl_ind);
+bool convertLegacyNanTransmitFollowupIndToHidl(
+ const legacy_hal::NanTransmitFollowupInd& legacy_ind,
+ NanTransmitFollowupInd* hidl_ind);
+
+// RTT controller conversion methods.
+bool convertHidlVectorOfRttConfigToLegacy(
+ const std::vector<RttConfig>& hidl_configs,
+ std::vector<legacy_hal::wifi_rtt_config>* legacy_configs);
+bool convertHidlRttLciInformationToLegacy(
+ const RttLciInformation& hidl_info,
+ legacy_hal::wifi_lci_information* legacy_info);
+bool convertHidlRttLcrInformationToLegacy(
+ const RttLcrInformation& hidl_info,
+ legacy_hal::wifi_lcr_information* legacy_info);
+bool convertHidlRttResponderToLegacy(
+ const RttResponder& hidl_responder,
+ legacy_hal::wifi_rtt_responder* legacy_responder);
+bool convertHidlWifiChannelInfoToLegacy(
+ const WifiChannelInfo& hidl_info,
+ legacy_hal::wifi_channel_info* legacy_info);
+bool convertLegacyRttResponderToHidl(
+ const legacy_hal::wifi_rtt_responder& legacy_responder,
+ RttResponder* hidl_responder);
+bool convertLegacyRttCapabilitiesToHidl(
+ const legacy_hal::wifi_rtt_capabilities& legacy_capabilities,
+ RttCapabilities* hidl_capabilities);
+bool convertLegacyVectorOfRttResultToHidl(
+ const std::vector<const legacy_hal::wifi_rtt_result*>& legacy_results,
+ std::vector<RttResult>* hidl_results);
} // namespace hidl_struct_util
} // namespace implementation
} // namespace V1_0
diff --git a/wifi/1.0/default/wifi.cpp b/wifi/1.0/default/wifi.cpp
index 19f7e53..332363d 100644
--- a/wifi/1.0/default/wifi.cpp
+++ b/wifi/1.0/default/wifi.cpp
@@ -34,6 +34,7 @@
Wifi::Wifi()
: legacy_hal_(new legacy_hal::WifiLegacyHal()),
+ mode_controller_(new mode_controller::WifiModeController()),
run_state_(RunState::STOPPED) {}
bool Wifi::isValid() {
@@ -96,25 +97,29 @@
return createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE,
"HAL is stopping");
}
-
- LOG(INFO) << "Starting HAL";
- legacy_hal::wifi_error legacy_status = legacy_hal_->start();
- if (legacy_status != legacy_hal::WIFI_SUCCESS) {
- LOG(ERROR) << "Failed to start Wifi HAL: "
- << legacyErrorToString(legacy_status);
- return createWifiStatusFromLegacyError(legacy_status,
- "Failed to start HAL");
+ WifiStatus wifi_status = initializeLegacyHal();
+ if (wifi_status.code == WifiStatusCode::SUCCESS) {
+ // Create the chip instance once the HAL is started.
+ chip_ = new WifiChip(kChipId, legacy_hal_, mode_controller_);
+ run_state_ = RunState::STARTED;
+ for (const auto& callback : event_callbacks_) {
+ if (!callback->onStart().getStatus().isOk()) {
+ LOG(ERROR) << "Failed to invoke onStart callback";
+ };
+ }
+ for (const auto& callback : event_callbacks_) {
+ if (!callback->onFailure(wifi_status).getStatus().isOk()) {
+ LOG(ERROR) << "Failed to invoke onFailure callback";
+ }
+ }
+ } else {
+ for (const auto& callback : event_callbacks_) {
+ if (!callback->onFailure(wifi_status).getStatus().isOk()) {
+ LOG(ERROR) << "Failed to invoke onFailure callback";
+ }
+ }
}
-
- // Create the chip instance once the HAL is started.
- chip_ = new WifiChip(kChipId, legacy_hal_);
- run_state_ = RunState::STARTED;
- for (const auto& callback : event_callbacks_) {
- if (!callback->onStart().getStatus().isOk()) {
- LOG(ERROR) << "Failed to invoke onStart callback";
- };
- }
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ return wifi_status;
}
WifiStatus Wifi::stopInternal() {
@@ -124,34 +129,21 @@
return createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE,
"HAL is stopping");
}
-
- LOG(INFO) << "Stopping HAL";
- run_state_ = RunState::STOPPING;
- const auto on_complete_callback_ = [&]() {
- if (chip_.get()) {
- chip_->invalidate();
- }
- chip_.clear();
- run_state_ = RunState::STOPPED;
+ WifiStatus wifi_status = stopLegacyHalAndDeinitializeModeController();
+ if (wifi_status.code == WifiStatusCode::SUCCESS) {
for (const auto& callback : event_callbacks_) {
if (!callback->onStop().getStatus().isOk()) {
LOG(ERROR) << "Failed to invoke onStop callback";
};
}
- };
- legacy_hal::wifi_error legacy_status =
- legacy_hal_->stop(on_complete_callback_);
- if (legacy_status != legacy_hal::WIFI_SUCCESS) {
- LOG(ERROR) << "Failed to stop Wifi HAL: "
- << legacyErrorToString(legacy_status);
- WifiStatus wifi_status =
- createWifiStatusFromLegacyError(legacy_status, "Failed to stop HAL");
+ } else {
for (const auto& callback : event_callbacks_) {
- callback->onFailure(wifi_status);
+ if (!callback->onFailure(wifi_status).getStatus().isOk()) {
+ LOG(ERROR) << "Failed to invoke onFailure callback";
+ }
}
- return wifi_status;
}
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ return wifi_status;
}
std::pair<WifiStatus, std::vector<ChipId>> Wifi::getChipIdsInternal() {
@@ -171,6 +163,39 @@
}
return {createWifiStatus(WifiStatusCode::SUCCESS), chip_};
}
+
+WifiStatus Wifi::initializeLegacyHal() {
+ legacy_hal::wifi_error legacy_status = legacy_hal_->initialize();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ LOG(ERROR) << "Failed to initialize legacy HAL: "
+ << legacyErrorToString(legacy_status);
+ return createWifiStatusFromLegacyError(legacy_status);
+ }
+ return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+
+WifiStatus Wifi::stopLegacyHalAndDeinitializeModeController() {
+ run_state_ = RunState::STOPPING;
+ const auto on_complete_callback_ = [&]() {
+ if (chip_.get()) {
+ chip_->invalidate();
+ }
+ chip_.clear();
+ run_state_ = RunState::STOPPED;
+ };
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_->stop(on_complete_callback_);
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ LOG(ERROR) << "Failed to stop legacy HAL: "
+ << legacyErrorToString(legacy_status);
+ return createWifiStatusFromLegacyError(legacy_status);
+ }
+ if (!mode_controller_->deinitialize()) {
+ LOG(ERROR) << "Failed to deinitialize firmware mode controller";
+ return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN);
+ }
+ return createWifiStatus(WifiStatusCode::SUCCESS);
+}
} // namespace implementation
} // namespace V1_0
} // namespace wifi
diff --git a/wifi/1.0/default/wifi.h b/wifi/1.0/default/wifi.h
index 7872303..40d3552 100644
--- a/wifi/1.0/default/wifi.h
+++ b/wifi/1.0/default/wifi.h
@@ -25,6 +25,7 @@
#include "wifi_chip.h"
#include "wifi_legacy_hal.h"
+#include "wifi_mode_controller.h"
namespace android {
namespace hardware {
@@ -62,9 +63,13 @@
std::pair<WifiStatus, std::vector<ChipId>> getChipIdsInternal();
std::pair<WifiStatus, sp<IWifiChip>> getChipInternal(ChipId chip_id);
+ WifiStatus initializeLegacyHal();
+ WifiStatus stopLegacyHalAndDeinitializeModeController();
+
// Instance is created in this root level |IWifi| HIDL interface object
// and shared with all the child HIDL interface objects.
std::shared_ptr<legacy_hal::WifiLegacyHal> legacy_hal_;
+ std::shared_ptr<mode_controller::WifiModeController> mode_controller_;
RunState run_state_;
std::vector<sp<IWifiEventCallback>> event_callbacks_;
sp<WifiChip> chip_;
diff --git a/wifi/1.0/default/wifi_chip.cpp b/wifi/1.0/default/wifi_chip.cpp
index 3ab6052..d70f548 100644
--- a/wifi/1.0/default/wifi_chip.cpp
+++ b/wifi/1.0/default/wifi_chip.cpp
@@ -17,6 +17,7 @@
#include <android-base/logging.h>
#include "hidl_return_util.h"
+#include "hidl_struct_util.h"
#include "wifi_chip.h"
#include "wifi_status_util.h"
@@ -24,6 +25,12 @@
using android::sp;
using android::hardware::hidl_vec;
using android::hardware::hidl_string;
+using android::hardware::wifi::V1_0::IWifiChip;
+using android::hardware::wifi::V1_0::IfaceType;
+
+constexpr uint32_t kStaChipModeId = 0;
+constexpr uint32_t kApChipModeId = 1;
+constexpr uint32_t kInvalidModeId = UINT32_MAX;
template <typename Iface>
void invalidateAndClear(sp<Iface>& iface) {
@@ -41,9 +48,15 @@
namespace implementation {
using hidl_return_util::validateAndCall;
-WifiChip::WifiChip(ChipId chip_id,
- const std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal)
- : chip_id_(chip_id), legacy_hal_(legacy_hal), is_valid_(true) {}
+WifiChip::WifiChip(
+ ChipId chip_id,
+ const std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal,
+ const std::weak_ptr<mode_controller::WifiModeController> mode_controller)
+ : chip_id_(chip_id),
+ legacy_hal_(legacy_hal),
+ mode_controller_(mode_controller),
+ is_valid_(true),
+ current_mode_id_(kInvalidModeId) {}
void WifiChip::invalidate() {
invalidateAndRemoveAllIfaces();
@@ -150,6 +163,15 @@
ifname);
}
+Return<void> WifiChip::removeApIface(const hidl_string& ifname,
+ removeApIface_cb hidl_status_cb) {
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_CHIP_INVALID,
+ &WifiChip::removeApIfaceInternal,
+ hidl_status_cb,
+ ifname);
+}
+
Return<void> WifiChip::createNanIface(createNanIface_cb hidl_status_cb) {
return validateAndCall(this,
WifiStatusCode::ERROR_WIFI_CHIP_INVALID,
@@ -173,6 +195,15 @@
ifname);
}
+Return<void> WifiChip::removeNanIface(const hidl_string& ifname,
+ removeNanIface_cb hidl_status_cb) {
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_CHIP_INVALID,
+ &WifiChip::removeNanIfaceInternal,
+ hidl_status_cb,
+ ifname);
+}
+
Return<void> WifiChip::createP2pIface(createP2pIface_cb hidl_status_cb) {
return validateAndCall(this,
WifiStatusCode::ERROR_WIFI_CHIP_INVALID,
@@ -196,6 +227,15 @@
ifname);
}
+Return<void> WifiChip::removeP2pIface(const hidl_string& ifname,
+ removeP2pIface_cb hidl_status_cb) {
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_CHIP_INVALID,
+ &WifiChip::removeP2pIfaceInternal,
+ hidl_status_cb,
+ ifname);
+}
+
Return<void> WifiChip::createStaIface(createStaIface_cb hidl_status_cb) {
return validateAndCall(this,
WifiStatusCode::ERROR_WIFI_CHIP_INVALID,
@@ -219,6 +259,15 @@
ifname);
}
+Return<void> WifiChip::removeStaIface(const hidl_string& ifname,
+ removeStaIface_cb hidl_status_cb) {
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_CHIP_INVALID,
+ &WifiChip::removeStaIfaceInternal,
+ hidl_status_cb,
+ ifname);
+}
+
Return<void> WifiChip::createRttController(
const sp<IWifiIface>& bound_iface, createRttController_cb hidl_status_cb) {
return validateAndCall(this,
@@ -295,25 +344,101 @@
}
std::pair<WifiStatus, uint32_t> WifiChip::getCapabilitiesInternal() {
- // TODO add implementation
- return {createWifiStatus(WifiStatusCode::SUCCESS), 0};
+ legacy_hal::wifi_error legacy_status;
+ uint32_t legacy_logger_feature_set;
+ std::tie(legacy_status, legacy_logger_feature_set) =
+ legacy_hal_.lock()->getLoggerSupportedFeatureSet();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), 0};
+ }
+ uint32_t hidl_caps;
+ if (!hidl_struct_util::convertLegacyFeaturesToHidlChipCapabilities(
+ legacy_logger_feature_set, &hidl_caps)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), 0};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), hidl_caps};
}
std::pair<WifiStatus, std::vector<IWifiChip::ChipMode>>
WifiChip::getAvailableModesInternal() {
- // TODO add implementation
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
+ // The chip combination supported for current devices is fixed for now with
+ // 2 separate modes of operation:
+ // Mode 1 (STA mode): Will support 1 STA and 1 P2P or NAN iface operations
+ // concurrently.
+ // Mode 2 (AP mode): Will support 1 AP iface operations.
+ // TODO (b/32997844): Read this from some device specific flags in the
+ // makefile.
+ // STA mode iface combinations.
+ const IWifiChip::ChipIfaceCombinationLimit
+ sta_chip_iface_combination_limit_1 = {{IfaceType::STA}, 1};
+ const IWifiChip::ChipIfaceCombinationLimit
+ sta_chip_iface_combination_limit_2 = {{IfaceType::P2P, IfaceType::NAN},
+ 1};
+ const IWifiChip::ChipIfaceCombination sta_chip_iface_combination = {
+ {sta_chip_iface_combination_limit_1, sta_chip_iface_combination_limit_2}};
+ const IWifiChip::ChipMode sta_chip_mode = {kStaChipModeId,
+ {sta_chip_iface_combination}};
+ // AP mode iface combinations.
+ const IWifiChip::ChipIfaceCombinationLimit ap_chip_iface_combination_limit = {
+ {IfaceType::AP}, 1};
+ const IWifiChip::ChipIfaceCombination ap_chip_iface_combination = {
+ {ap_chip_iface_combination_limit}};
+ const IWifiChip::ChipMode ap_chip_mode = {kApChipModeId,
+ {ap_chip_iface_combination}};
+ return {createWifiStatus(WifiStatusCode::SUCCESS),
+ {sta_chip_mode, ap_chip_mode}};
}
-WifiStatus WifiChip::configureChipInternal(uint32_t /* mode_id */) {
- invalidateAndRemoveAllIfaces();
- // TODO add implementation
+WifiStatus WifiChip::configureChipInternal(uint32_t mode_id) {
+ if (mode_id != kStaChipModeId && mode_id != kApChipModeId) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ if (mode_id == current_mode_id_) {
+ LOG(DEBUG) << "Already in the specified mode " << mode_id;
+ return createWifiStatus(WifiStatusCode::SUCCESS);
+ }
+ // If the chip is already configured in a different mode, stop
+ // the legacy HAL and then start it after firmware mode change.
+ if (current_mode_id_ != kInvalidModeId) {
+ invalidateAndRemoveAllIfaces();
+ legacy_hal::wifi_error legacy_status = legacy_hal_.lock()->stop([]() {});
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ LOG(ERROR) << "Failed to stop legacy HAL: "
+ << legacyErrorToString(legacy_status);
+ // TODO(b/33038823): Need to invoke onChipReconfigureFailure()
+ return createWifiStatusFromLegacyError(legacy_status);
+ }
+ }
+ bool success;
+ if (mode_id == kStaChipModeId) {
+ success = mode_controller_.lock()->changeFirmwareMode(IfaceType::STA);
+ } else {
+ success = mode_controller_.lock()->changeFirmwareMode(IfaceType::AP);
+ }
+ if (!success) {
+ // TODO(b/33038823): Need to invoke onChipReconfigureFailure()
+ return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN);
+ }
+ legacy_hal::wifi_error legacy_status = legacy_hal_.lock()->start();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ LOG(ERROR) << "Failed to start legacy HAL: "
+ << legacyErrorToString(legacy_status);
+ // TODO(b/33038823): Need to invoke onChipReconfigureFailure()
+ return createWifiStatusFromLegacyError(legacy_status);
+ }
+ for (const auto& callback : event_callbacks_) {
+ callback->onChipReconfigured(mode_id);
+ }
+ current_mode_id_ = mode_id;
return createWifiStatus(WifiStatusCode::SUCCESS);
}
std::pair<WifiStatus, uint32_t> WifiChip::getModeInternal() {
- // TODO add implementation
- return {createWifiStatus(WifiStatusCode::SUCCESS), 0};
+ if (current_mode_id_ == kInvalidModeId) {
+ return {createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE),
+ current_mode_id_};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), current_mode_id_};
}
std::pair<WifiStatus, IWifiChip::ChipDebugInfo>
@@ -376,7 +501,9 @@
}
std::pair<WifiStatus, sp<IWifiApIface>> WifiChip::createApIfaceInternal() {
- // TODO(b/31997422): Disallow this based on the chip combination.
+ if (current_mode_id_ != kApChipModeId || ap_iface_.get()) {
+ return {createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE), {}};
+ }
std::string ifname = legacy_hal_.lock()->getApIfaceName();
ap_iface_ = new WifiApIface(ifname, legacy_hal_);
return {createWifiStatus(WifiStatusCode::SUCCESS), ap_iface_};
@@ -392,16 +519,27 @@
}
std::pair<WifiStatus, sp<IWifiApIface>> WifiChip::getApIfaceInternal(
- const hidl_string& ifname) {
- if (!ap_iface_.get() ||
- (ifname.c_str() != legacy_hal_.lock()->getApIfaceName())) {
+ const std::string& ifname) {
+ if (!ap_iface_.get() || (ifname != legacy_hal_.lock()->getApIfaceName())) {
return {createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS), nullptr};
}
return {createWifiStatus(WifiStatusCode::SUCCESS), ap_iface_};
}
+WifiStatus WifiChip::removeApIfaceInternal(const std::string& ifname) {
+ if (!ap_iface_.get() || (ifname != legacy_hal_.lock()->getApIfaceName())) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ invalidateAndClear(ap_iface_);
+ return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+
std::pair<WifiStatus, sp<IWifiNanIface>> WifiChip::createNanIfaceInternal() {
- // TODO(b/31997422): Disallow this based on the chip combination.
+ // Only 1 of NAN or P2P iface can be active at a time.
+ if (current_mode_id_ != kStaChipModeId || nan_iface_.get() ||
+ p2p_iface_.get()) {
+ return {createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE), {}};
+ }
std::string ifname = legacy_hal_.lock()->getNanIfaceName();
nan_iface_ = new WifiNanIface(ifname, legacy_hal_);
return {createWifiStatus(WifiStatusCode::SUCCESS), nan_iface_};
@@ -417,16 +555,27 @@
}
std::pair<WifiStatus, sp<IWifiNanIface>> WifiChip::getNanIfaceInternal(
- const hidl_string& ifname) {
- if (!nan_iface_.get() ||
- (ifname.c_str() != legacy_hal_.lock()->getNanIfaceName())) {
+ const std::string& ifname) {
+ if (!nan_iface_.get() || (ifname != legacy_hal_.lock()->getNanIfaceName())) {
return {createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS), nullptr};
}
return {createWifiStatus(WifiStatusCode::SUCCESS), nan_iface_};
}
+WifiStatus WifiChip::removeNanIfaceInternal(const std::string& ifname) {
+ if (!nan_iface_.get() || (ifname != legacy_hal_.lock()->getNanIfaceName())) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ invalidateAndClear(nan_iface_);
+ return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+
std::pair<WifiStatus, sp<IWifiP2pIface>> WifiChip::createP2pIfaceInternal() {
- // TODO(b/31997422): Disallow this based on the chip combination.
+ // Only 1 of NAN or P2P iface can be active at a time.
+ if (current_mode_id_ != kStaChipModeId || p2p_iface_.get() ||
+ nan_iface_.get()) {
+ return {createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE), {}};
+ }
std::string ifname = legacy_hal_.lock()->getP2pIfaceName();
p2p_iface_ = new WifiP2pIface(ifname, legacy_hal_);
return {createWifiStatus(WifiStatusCode::SUCCESS), p2p_iface_};
@@ -442,16 +591,25 @@
}
std::pair<WifiStatus, sp<IWifiP2pIface>> WifiChip::getP2pIfaceInternal(
- const hidl_string& ifname) {
- if (!p2p_iface_.get() ||
- (ifname.c_str() != legacy_hal_.lock()->getP2pIfaceName())) {
+ const std::string& ifname) {
+ if (!p2p_iface_.get() || (ifname != legacy_hal_.lock()->getP2pIfaceName())) {
return {createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS), nullptr};
}
return {createWifiStatus(WifiStatusCode::SUCCESS), p2p_iface_};
}
+WifiStatus WifiChip::removeP2pIfaceInternal(const std::string& ifname) {
+ if (!p2p_iface_.get() || (ifname != legacy_hal_.lock()->getP2pIfaceName())) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ invalidateAndClear(p2p_iface_);
+ return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+
std::pair<WifiStatus, sp<IWifiStaIface>> WifiChip::createStaIfaceInternal() {
- // TODO(b/31997422): Disallow this based on the chip combination.
+ if (current_mode_id_ != kStaChipModeId || sta_iface_.get()) {
+ return {createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE), {}};
+ }
std::string ifname = legacy_hal_.lock()->getStaIfaceName();
sta_iface_ = new WifiStaIface(ifname, legacy_hal_);
return {createWifiStatus(WifiStatusCode::SUCCESS), sta_iface_};
@@ -467,14 +625,21 @@
}
std::pair<WifiStatus, sp<IWifiStaIface>> WifiChip::getStaIfaceInternal(
- const hidl_string& ifname) {
- if (!sta_iface_.get() ||
- (ifname.c_str() != legacy_hal_.lock()->getStaIfaceName())) {
+ const std::string& ifname) {
+ if (!sta_iface_.get() || (ifname != legacy_hal_.lock()->getStaIfaceName())) {
return {createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS), nullptr};
}
return {createWifiStatus(WifiStatusCode::SUCCESS), sta_iface_};
}
+WifiStatus WifiChip::removeStaIfaceInternal(const std::string& ifname) {
+ if (!sta_iface_.get() || (ifname != legacy_hal_.lock()->getStaIfaceName())) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ invalidateAndClear(sta_iface_);
+ return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+
std::pair<WifiStatus, sp<IWifiRttController>>
WifiChip::createRttControllerInternal(const sp<IWifiIface>& bound_iface) {
sp<WifiRttController> rtt = new WifiRttController(bound_iface, legacy_hal_);
@@ -484,29 +649,61 @@
std::pair<WifiStatus, std::vector<WifiDebugRingBufferStatus>>
WifiChip::getDebugRingBuffersStatusInternal() {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
+ legacy_hal::wifi_error legacy_status;
+ std::vector<legacy_hal::wifi_ring_buffer_status>
+ legacy_ring_buffer_status_vec;
+ std::tie(legacy_status, legacy_ring_buffer_status_vec) =
+ legacy_hal_.lock()->getRingBuffersStatus();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), {}};
+ }
+ std::vector<WifiDebugRingBufferStatus> hidl_ring_buffer_status_vec;
+ if (!hidl_struct_util::convertLegacyVectorOfDebugRingBufferStatusToHidl(
+ legacy_ring_buffer_status_vec, &hidl_ring_buffer_status_vec)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), {}};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS),
+ hidl_ring_buffer_status_vec};
}
WifiStatus WifiChip::startLoggingToDebugRingBufferInternal(
- const hidl_string& /* ring_name */,
- WifiDebugRingBufferVerboseLevel /* verbose_level */,
- uint32_t /* max_interval_in_sec */,
- uint32_t /* min_data_size_in_bytes */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ const hidl_string& ring_name,
+ WifiDebugRingBufferVerboseLevel verbose_level,
+ uint32_t max_interval_in_sec,
+ uint32_t min_data_size_in_bytes) {
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->startRingBufferLogging(
+ ring_name,
+ static_cast<
+ std::underlying_type<WifiDebugRingBufferVerboseLevel>::type>(
+ verbose_level),
+ max_interval_in_sec,
+ min_data_size_in_bytes);
+ return createWifiStatusFromLegacyError(legacy_status);
}
WifiStatus WifiChip::forceDumpToDebugRingBufferInternal(
- const hidl_string& /* ring_name */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ const hidl_string& ring_name) {
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->getRingBufferData(ring_name);
+ return createWifiStatusFromLegacyError(legacy_status);
}
std::pair<WifiStatus, WifiDebugHostWakeReasonStats>
WifiChip::getDebugHostWakeReasonStatsInternal() {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
+ legacy_hal::wifi_error legacy_status;
+ legacy_hal::WakeReasonStats legacy_stats;
+ std::tie(legacy_status, legacy_stats) =
+ legacy_hal_.lock()->getWakeReasonStats();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), {}};
+ }
+ WifiDebugHostWakeReasonStats hidl_stats;
+ if (!hidl_struct_util::convertLegacyWakeReasonStatsToHidl(legacy_stats,
+ &hidl_stats)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), {}};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), hidl_stats};
}
} // namespace implementation
diff --git a/wifi/1.0/default/wifi_chip.h b/wifi/1.0/default/wifi_chip.h
index c1a7173..5e7a0c3 100644
--- a/wifi/1.0/default/wifi_chip.h
+++ b/wifi/1.0/default/wifi_chip.h
@@ -24,6 +24,7 @@
#include "wifi_ap_iface.h"
#include "wifi_legacy_hal.h"
+#include "wifi_mode_controller.h"
#include "wifi_nan_iface.h"
#include "wifi_p2p_iface.h"
#include "wifi_rtt_controller.h"
@@ -42,8 +43,10 @@
*/
class WifiChip : public IWifiChip {
public:
- WifiChip(ChipId chip_id,
- const std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal);
+ WifiChip(
+ ChipId chip_id,
+ const std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal,
+ const std::weak_ptr<mode_controller::WifiModeController> mode_controller);
// HIDL does not provide a built-in mechanism to let the server invalidate
// a HIDL interface object after creation. If any client process holds onto
// a reference to the object in their context, any method calls on that
@@ -80,18 +83,26 @@
Return<void> getApIfaceNames(getApIfaceNames_cb hidl_status_cb) override;
Return<void> getApIface(const hidl_string& ifname,
getApIface_cb hidl_status_cb) override;
+ Return<void> removeApIface(const hidl_string& ifname,
+ removeApIface_cb hidl_status_cb) override;
Return<void> createNanIface(createNanIface_cb hidl_status_cb) override;
Return<void> getNanIfaceNames(getNanIfaceNames_cb hidl_status_cb) override;
Return<void> getNanIface(const hidl_string& ifname,
getNanIface_cb hidl_status_cb) override;
+ Return<void> removeNanIface(const hidl_string& ifname,
+ removeNanIface_cb hidl_status_cb) override;
Return<void> createP2pIface(createP2pIface_cb hidl_status_cb) override;
Return<void> getP2pIfaceNames(getP2pIfaceNames_cb hidl_status_cb) override;
Return<void> getP2pIface(const hidl_string& ifname,
getP2pIface_cb hidl_status_cb) override;
+ Return<void> removeP2pIface(const hidl_string& ifname,
+ removeP2pIface_cb hidl_status_cb) override;
Return<void> createStaIface(createStaIface_cb hidl_status_cb) override;
Return<void> getStaIfaceNames(getStaIfaceNames_cb hidl_status_cb) override;
Return<void> getStaIface(const hidl_string& ifname,
getStaIface_cb hidl_status_cb) override;
+ Return<void> removeStaIface(const hidl_string& ifname,
+ removeStaIface_cb hidl_status_cb) override;
Return<void> createRttController(
const sp<IWifiIface>& bound_iface,
createRttController_cb hidl_status_cb) override;
@@ -128,19 +139,23 @@
std::pair<WifiStatus, sp<IWifiApIface>> createApIfaceInternal();
std::pair<WifiStatus, std::vector<hidl_string>> getApIfaceNamesInternal();
std::pair<WifiStatus, sp<IWifiApIface>> getApIfaceInternal(
- const hidl_string& ifname);
+ const std::string& ifname);
+ WifiStatus removeApIfaceInternal(const std::string& ifname);
std::pair<WifiStatus, sp<IWifiNanIface>> createNanIfaceInternal();
std::pair<WifiStatus, std::vector<hidl_string>> getNanIfaceNamesInternal();
std::pair<WifiStatus, sp<IWifiNanIface>> getNanIfaceInternal(
- const hidl_string& ifname);
+ const std::string& ifname);
+ WifiStatus removeNanIfaceInternal(const std::string& ifname);
std::pair<WifiStatus, sp<IWifiP2pIface>> createP2pIfaceInternal();
std::pair<WifiStatus, std::vector<hidl_string>> getP2pIfaceNamesInternal();
std::pair<WifiStatus, sp<IWifiP2pIface>> getP2pIfaceInternal(
- const hidl_string& ifname);
+ const std::string& ifname);
+ WifiStatus removeP2pIfaceInternal(const std::string& ifname);
std::pair<WifiStatus, sp<IWifiStaIface>> createStaIfaceInternal();
std::pair<WifiStatus, std::vector<hidl_string>> getStaIfaceNamesInternal();
std::pair<WifiStatus, sp<IWifiStaIface>> getStaIfaceInternal(
- const hidl_string& ifname);
+ const std::string& ifname);
+ WifiStatus removeStaIfaceInternal(const std::string& ifname);
std::pair<WifiStatus, sp<IWifiRttController>> createRttControllerInternal(
const sp<IWifiIface>& bound_iface);
std::pair<WifiStatus, std::vector<WifiDebugRingBufferStatus>>
@@ -156,6 +171,7 @@
ChipId chip_id_;
std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal_;
+ std::weak_ptr<mode_controller::WifiModeController> mode_controller_;
std::vector<sp<IWifiChipEventCallback>> event_callbacks_;
sp<WifiApIface> ap_iface_;
sp<WifiNanIface> nan_iface_;
@@ -163,6 +179,7 @@
sp<WifiStaIface> sta_iface_;
std::vector<sp<WifiRttController>> rtt_controllers_;
bool is_valid_;
+ uint32_t current_mode_id_;
DISALLOW_COPY_AND_ASSIGN(WifiChip);
};
diff --git a/wifi/1.0/default/wifi_legacy_hal.cpp b/wifi/1.0/default/wifi_legacy_hal.cpp
index 560a273..d10e181 100644
--- a/wifi/1.0/default/wifi_legacy_hal.cpp
+++ b/wifi/1.0/default/wifi_legacy_hal.cpp
@@ -18,9 +18,9 @@
#include <android-base/logging.h>
#include <cutils/properties.h>
-#include <wifi_system/interface_tool.h>
#include "wifi_legacy_hal.h"
+#include "wifi_legacy_hal_stubs.h"
namespace android {
namespace hardware {
@@ -89,16 +89,25 @@
// Callback to be invoked for link layer stats results.
std::function<void((wifi_request_id, wifi_iface_stat*, int, wifi_radio_stat*))>
on_link_layer_stats_result_internal_callback;
-void onLinkLayerStatsDataResult(wifi_request_id id,
- wifi_iface_stat* iface_stat,
- int num_radios,
- wifi_radio_stat* radio_stat) {
+void onLinkLayerStatsResult(wifi_request_id id,
+ wifi_iface_stat* iface_stat,
+ int num_radios,
+ wifi_radio_stat* radio_stat) {
if (on_link_layer_stats_result_internal_callback) {
on_link_layer_stats_result_internal_callback(
id, iface_stat, num_radios, radio_stat);
}
}
+// Callback to be invoked for rssi threshold breach.
+std::function<void((wifi_request_id, uint8_t*, int8_t))>
+ on_rssi_threshold_breached_internal_callback;
+void onRssiThresholdBreached(wifi_request_id id, uint8_t* bssid, int8_t rssi) {
+ if (on_rssi_threshold_breached_internal_callback) {
+ on_rssi_threshold_breached_internal_callback(id, bssid, rssi);
+ }
+}
+
// Callback to be invoked for ring buffer data indication.
std::function<void(char*, char*, int, wifi_ring_buffer_status*)>
on_ring_buffer_data_internal_callback;
@@ -239,55 +248,74 @@
WifiLegacyHal::WifiLegacyHal()
: global_handle_(nullptr),
wlan_interface_handle_(nullptr),
- awaiting_event_loop_termination_(false) {}
+ awaiting_event_loop_termination_(false),
+ is_started_(false) {}
-wifi_error WifiLegacyHal::start() {
- // Ensure that we're starting in a good state.
- CHECK(!global_handle_ && !wlan_interface_handle_ &&
- !awaiting_event_loop_termination_);
-
- android::wifi_system::InterfaceTool if_tool;
+wifi_error WifiLegacyHal::initialize() {
+ LOG(DEBUG) << "Initialize legacy HAL";
// TODO: Add back the HAL Tool if we need to. All we need from the HAL tool
// for now is this function call which we can directly call.
+ if (!initHalFuncTableWithStubs(&global_func_table_)) {
+ LOG(ERROR) << "Failed to initialize legacy hal function table with stubs";
+ return WIFI_ERROR_UNKNOWN;
+ }
wifi_error status = init_wifi_vendor_hal_func_table(&global_func_table_);
if (status != WIFI_SUCCESS) {
LOG(ERROR) << "Failed to initialize legacy hal function table";
return WIFI_ERROR_UNKNOWN;
}
- if (!if_tool.SetWifiUpState(true)) {
+ return WIFI_SUCCESS;
+}
+
+wifi_error WifiLegacyHal::start() {
+ // Ensure that we're starting in a good state.
+ CHECK(global_func_table_.wifi_initialize && !global_handle_ &&
+ !wlan_interface_handle_ && !awaiting_event_loop_termination_);
+ if (is_started_) {
+ LOG(DEBUG) << "Legacy HAL already started";
+ return WIFI_SUCCESS;
+ }
+ LOG(DEBUG) << "Starting legacy HAL";
+ if (!iface_tool_.SetWifiUpState(true)) {
LOG(ERROR) << "Failed to set WiFi interface up";
return WIFI_ERROR_UNKNOWN;
}
-
- LOG(INFO) << "Starting legacy HAL";
- status = global_func_table_.wifi_initialize(&global_handle_);
+ wifi_error status = global_func_table_.wifi_initialize(&global_handle_);
if (status != WIFI_SUCCESS || !global_handle_) {
LOG(ERROR) << "Failed to retrieve global handle";
return status;
}
- event_loop_thread_ = std::thread(&WifiLegacyHal::runEventLoop, this);
+ std::thread(&WifiLegacyHal::runEventLoop, this).detach();
status = retrieveWlanInterfaceHandle();
if (status != WIFI_SUCCESS || !wlan_interface_handle_) {
LOG(ERROR) << "Failed to retrieve wlan interface handle";
return status;
}
- LOG(VERBOSE) << "Legacy HAL start complete";
+ LOG(DEBUG) << "Legacy HAL start complete";
+ is_started_ = true;
return WIFI_SUCCESS;
}
wifi_error WifiLegacyHal::stop(
const std::function<void()>& on_stop_complete_user_callback) {
- LOG(INFO) << "Stopping legacy HAL";
+ if (!is_started_) {
+ LOG(DEBUG) << "Legacy HAL already stopped";
+ on_stop_complete_user_callback();
+ return WIFI_SUCCESS;
+ }
+ LOG(DEBUG) << "Stopping legacy HAL";
on_stop_complete_internal_callback = [&](wifi_handle handle) {
CHECK_EQ(global_handle_, handle) << "Handle mismatch";
- on_stop_complete_user_callback();
// Invalidate all the internal pointers now that the HAL is
// stopped.
invalidate();
+ iface_tool_.SetWifiUpState(false);
+ on_stop_complete_user_callback();
};
awaiting_event_loop_termination_ = true;
global_func_table_.wifi_cleanup(global_handle_, onStopComplete);
- LOG(VERBOSE) << "Legacy HAL stop initiated";
+ LOG(DEBUG) << "Legacy HAL stop complete";
+ is_started_ = false;
return WIFI_SUCCESS;
}
@@ -534,11 +562,76 @@
};
wifi_error status = global_func_table_.wifi_get_link_stats(
- 0, wlan_interface_handle_, {onLinkLayerStatsDataResult});
+ 0, wlan_interface_handle_, {onLinkLayerStatsResult});
on_link_layer_stats_result_internal_callback = nullptr;
return {status, link_stats};
}
+wifi_error WifiLegacyHal::startRssiMonitoring(
+ wifi_request_id id,
+ int8_t max_rssi,
+ int8_t min_rssi,
+ const on_rssi_threshold_breached_callback&
+ on_threshold_breached_user_callback) {
+ if (on_rssi_threshold_breached_internal_callback) {
+ return WIFI_ERROR_NOT_AVAILABLE;
+ }
+ on_rssi_threshold_breached_internal_callback =
+ [on_threshold_breached_user_callback](
+ wifi_request_id id, uint8_t* bssid_ptr, int8_t rssi) {
+ if (!bssid_ptr) {
+ return;
+ }
+ std::array<uint8_t, 6> bssid_arr;
+ // |bssid_ptr| pointer is assumed to have 6 bytes for the mac address.
+ std::copy(bssid_ptr, bssid_ptr + 6, std::begin(bssid_arr));
+ on_threshold_breached_user_callback(id, bssid_arr, rssi);
+ };
+ wifi_error status =
+ global_func_table_.wifi_start_rssi_monitoring(id,
+ wlan_interface_handle_,
+ max_rssi,
+ min_rssi,
+ {onRssiThresholdBreached});
+ if (status != WIFI_SUCCESS) {
+ on_rssi_threshold_breached_internal_callback = nullptr;
+ }
+ return status;
+}
+
+wifi_error WifiLegacyHal::stopRssiMonitoring(wifi_request_id id) {
+ if (!on_rssi_threshold_breached_internal_callback) {
+ return WIFI_ERROR_NOT_AVAILABLE;
+ }
+ wifi_error status =
+ global_func_table_.wifi_stop_rssi_monitoring(id, wlan_interface_handle_);
+ // If the request Id is wrong, don't stop the ongoing rssi monitoring. Any
+ // other error should be treated as the end of background scan.
+ if (status != WIFI_ERROR_INVALID_REQUEST_ID) {
+ on_rssi_threshold_breached_internal_callback = nullptr;
+ }
+ return status;
+}
+
+std::pair<wifi_error, wifi_roaming_capabilities>
+WifiLegacyHal::getRoamingCapabilities() {
+ wifi_roaming_capabilities caps;
+ wifi_error status = global_func_table_.wifi_get_roaming_capabilities(
+ wlan_interface_handle_, &caps);
+ return {status, caps};
+}
+
+wifi_error WifiLegacyHal::enableFirmwareRoaming(fw_roaming_state_t state) {
+ return global_func_table_.wifi_enable_firmware_roaming(wlan_interface_handle_,
+ state);
+}
+
+wifi_error WifiLegacyHal::configureRoaming(const wifi_roaming_config& config) {
+ wifi_roaming_config config_internal = config;
+ return global_func_table_.wifi_configure_roaming(wlan_interface_handle_,
+ &config_internal);
+}
+
std::pair<wifi_error, uint32_t> WifiLegacyHal::getLoggerSupportedFeatureSet() {
uint32_t supported_features;
wifi_error status = global_func_table_.wifi_get_logger_supported_feature_set(
@@ -697,11 +790,16 @@
};
std::vector<wifi_rtt_config> rtt_configs_internal(rtt_configs);
- return global_func_table_.wifi_rtt_range_request(id,
- wlan_interface_handle_,
- rtt_configs.size(),
- rtt_configs_internal.data(),
- {onRttResults});
+ wifi_error status =
+ global_func_table_.wifi_rtt_range_request(id,
+ wlan_interface_handle_,
+ rtt_configs.size(),
+ rtt_configs_internal.data(),
+ {onRttResults});
+ if (status != WIFI_SUCCESS) {
+ on_rtt_results_internal_callback = nullptr;
+ }
+ return status;
}
wifi_error WifiLegacyHal::cancelRttRangeRequest(
@@ -967,15 +1065,13 @@
}
void WifiLegacyHal::runEventLoop() {
- LOG(VERBOSE) << "Starting legacy HAL event loop";
+ LOG(DEBUG) << "Starting legacy HAL event loop";
global_func_table_.wifi_event_loop(global_handle_);
if (!awaiting_event_loop_termination_) {
LOG(FATAL) << "Legacy HAL event loop terminated, but HAL was not stopping";
}
- LOG(VERBOSE) << "Legacy HAL event loop terminated";
+ LOG(DEBUG) << "Legacy HAL event loop terminated";
awaiting_event_loop_termination_ = false;
- android::wifi_system::InterfaceTool if_tool;
- if_tool.SetWifiUpState(false);
}
std::pair<wifi_error, std::vector<wifi_cached_scan_results>>
@@ -1016,6 +1112,7 @@
on_gscan_event_internal_callback = nullptr;
on_gscan_full_result_internal_callback = nullptr;
on_link_layer_stats_result_internal_callback = nullptr;
+ on_rssi_threshold_breached_internal_callback = nullptr;
on_ring_buffer_data_internal_callback = nullptr;
on_rtt_results_internal_callback = nullptr;
on_nan_notify_response_user_callback = nullptr;
diff --git a/wifi/1.0/default/wifi_legacy_hal.h b/wifi/1.0/default/wifi_legacy_hal.h
index 62b773e..77b1705 100644
--- a/wifi/1.0/default/wifi_legacy_hal.h
+++ b/wifi/1.0/default/wifi_legacy_hal.h
@@ -14,13 +14,15 @@
* limitations under the License.
*/
-#ifndef WIFI_LEGACY_WIFI_HAL_H_
-#define WIFI_LEGACY_WIFI_HAL_H_
+#ifndef WIFI_LEGACY_HAL_H_
+#define WIFI_LEGACY_HAL_H_
#include <functional>
#include <thread>
#include <vector>
+#include <wifi_system/interface_tool.h>
+
namespace android {
namespace hardware {
namespace wifi {
@@ -99,6 +101,10 @@
using on_gscan_results_callback = std::function<void(
wifi_request_id, const std::vector<wifi_cached_scan_results>&)>;
+// Invoked when the rssi value breaches the thresholds set.
+using on_rssi_threshold_breached_callback =
+ std::function<void(wifi_request_id, std::array<uint8_t, 6>, int8_t)>;
+
// Callback for RTT range request results.
// Rtt results contain IE info and are hence passed by reference, to
// preserve the |LCI| and |LCR| pointers. Callee must not retain
@@ -125,7 +131,9 @@
std::string getP2pIfaceName();
std::string getStaIfaceName();
- // Initialize the legacy HAL and start the event looper thread.
+ // Initialize the legacy HAL function table.
+ wifi_error initialize();
+ // Start the legacy HAL and the event looper thread.
wifi_error start();
// Deinitialize the legacy HAL and stop the event looper thread.
wifi_error stop(const std::function<void()>& on_complete_callback);
@@ -163,6 +171,16 @@
wifi_error enableLinkLayerStats(bool debug);
wifi_error disableLinkLayerStats();
std::pair<wifi_error, LinkLayerStats> getLinkLayerStats();
+ // RSSI monitor functions.
+ wifi_error startRssiMonitoring(wifi_request_id id,
+ int8_t max_rssi,
+ int8_t min_rssi,
+ const on_rssi_threshold_breached_callback&
+ on_threshold_breached_callback);
+ wifi_error stopRssiMonitoring(wifi_request_id id);
+ std::pair<wifi_error, wifi_roaming_capabilities> getRoamingCapabilities();
+ wifi_error enableFirmwareRoaming(fw_roaming_state_t state);
+ wifi_error configureRoaming(const wifi_roaming_config& config);
// Logger/debug functions.
std::pair<wifi_error, uint32_t> getLoggerSupportedFeatureSet();
wifi_error startPktFateMonitoring();
@@ -235,8 +253,6 @@
getGscanCachedResults();
void invalidate();
- // Event loop thread used by legacy HAL.
- std::thread event_loop_thread_;
// Global function table of legacy HAL.
wifi_hal_fn global_func_table_;
// Opaque handle to be used for all global operations.
@@ -245,6 +261,9 @@
wifi_interface_handle wlan_interface_handle_;
// Flag to indicate if we have initiated the cleanup of legacy HAL.
bool awaiting_event_loop_termination_;
+ // Flag to indicate if the legacy HAL has been started.
+ bool is_started_;
+ wifi_system::InterfaceTool iface_tool_;
};
} // namespace legacy_hal
@@ -254,4 +273,4 @@
} // namespace hardware
} // namespace android
-#endif // WIFI_LEGACY_WIFI_HAL_H_
+#endif // WIFI_LEGACY_HAL_H_
diff --git a/wifi/1.0/default/wifi_legacy_hal_stubs.cpp b/wifi/1.0/default/wifi_legacy_hal_stubs.cpp
new file mode 100644
index 0000000..2973430
--- /dev/null
+++ b/wifi/1.0/default/wifi_legacy_hal_stubs.cpp
@@ -0,0 +1,142 @@
+/*
+ * 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.
+ */
+
+#include "wifi_legacy_hal_stubs.h"
+
+// TODO: Remove these stubs from HalTool in libwifi-system.
+namespace android {
+namespace hardware {
+namespace wifi {
+namespace V1_0 {
+namespace implementation {
+namespace legacy_hal {
+template <typename>
+struct stubFunction;
+
+template <typename R, typename... Args>
+struct stubFunction<R (*)(Args...)> {
+ static constexpr R invoke(Args...) { return WIFI_ERROR_NOT_SUPPORTED; }
+};
+template <typename... Args>
+struct stubFunction<void (*)(Args...)> {
+ static constexpr void invoke(Args...) {}
+};
+
+template <typename T>
+void populateStubFor(T* val) {
+ *val = &stubFunction<T>::invoke;
+}
+
+bool initHalFuncTableWithStubs(wifi_hal_fn* hal_fn) {
+ if (hal_fn == nullptr) {
+ return false;
+ }
+ populateStubFor(&hal_fn->wifi_initialize);
+ populateStubFor(&hal_fn->wifi_cleanup);
+ populateStubFor(&hal_fn->wifi_event_loop);
+ populateStubFor(&hal_fn->wifi_get_error_info);
+ populateStubFor(&hal_fn->wifi_get_supported_feature_set);
+ populateStubFor(&hal_fn->wifi_get_concurrency_matrix);
+ populateStubFor(&hal_fn->wifi_set_scanning_mac_oui);
+ populateStubFor(&hal_fn->wifi_get_supported_channels);
+ populateStubFor(&hal_fn->wifi_is_epr_supported);
+ populateStubFor(&hal_fn->wifi_get_ifaces);
+ populateStubFor(&hal_fn->wifi_get_iface_name);
+ populateStubFor(&hal_fn->wifi_set_iface_event_handler);
+ populateStubFor(&hal_fn->wifi_reset_iface_event_handler);
+ populateStubFor(&hal_fn->wifi_start_gscan);
+ populateStubFor(&hal_fn->wifi_stop_gscan);
+ populateStubFor(&hal_fn->wifi_get_cached_gscan_results);
+ populateStubFor(&hal_fn->wifi_set_bssid_hotlist);
+ populateStubFor(&hal_fn->wifi_reset_bssid_hotlist);
+ populateStubFor(&hal_fn->wifi_set_significant_change_handler);
+ populateStubFor(&hal_fn->wifi_reset_significant_change_handler);
+ populateStubFor(&hal_fn->wifi_get_gscan_capabilities);
+ populateStubFor(&hal_fn->wifi_set_link_stats);
+ populateStubFor(&hal_fn->wifi_get_link_stats);
+ populateStubFor(&hal_fn->wifi_clear_link_stats);
+ populateStubFor(&hal_fn->wifi_get_valid_channels);
+ populateStubFor(&hal_fn->wifi_rtt_range_request);
+ populateStubFor(&hal_fn->wifi_rtt_range_cancel);
+ populateStubFor(&hal_fn->wifi_get_rtt_capabilities);
+ populateStubFor(&hal_fn->wifi_rtt_get_responder_info);
+ populateStubFor(&hal_fn->wifi_enable_responder);
+ populateStubFor(&hal_fn->wifi_disable_responder);
+ populateStubFor(&hal_fn->wifi_set_nodfs_flag);
+ populateStubFor(&hal_fn->wifi_start_logging);
+ populateStubFor(&hal_fn->wifi_set_epno_list);
+ populateStubFor(&hal_fn->wifi_reset_epno_list);
+ populateStubFor(&hal_fn->wifi_set_country_code);
+ populateStubFor(&hal_fn->wifi_get_firmware_memory_dump);
+ populateStubFor(&hal_fn->wifi_set_log_handler);
+ populateStubFor(&hal_fn->wifi_reset_log_handler);
+ populateStubFor(&hal_fn->wifi_set_alert_handler);
+ populateStubFor(&hal_fn->wifi_reset_alert_handler);
+ populateStubFor(&hal_fn->wifi_get_firmware_version);
+ populateStubFor(&hal_fn->wifi_get_ring_buffers_status);
+ populateStubFor(&hal_fn->wifi_get_logger_supported_feature_set);
+ populateStubFor(&hal_fn->wifi_get_ring_data);
+ populateStubFor(&hal_fn->wifi_enable_tdls);
+ populateStubFor(&hal_fn->wifi_disable_tdls);
+ populateStubFor(&hal_fn->wifi_get_tdls_status);
+ populateStubFor(&hal_fn->wifi_get_tdls_capabilities);
+ populateStubFor(&hal_fn->wifi_get_driver_version);
+ populateStubFor(&hal_fn->wifi_set_passpoint_list);
+ populateStubFor(&hal_fn->wifi_reset_passpoint_list);
+ populateStubFor(&hal_fn->wifi_set_lci);
+ populateStubFor(&hal_fn->wifi_set_lcr);
+ populateStubFor(&hal_fn->wifi_start_sending_offloaded_packet);
+ populateStubFor(&hal_fn->wifi_stop_sending_offloaded_packet);
+ populateStubFor(&hal_fn->wifi_start_rssi_monitoring);
+ populateStubFor(&hal_fn->wifi_stop_rssi_monitoring);
+ populateStubFor(&hal_fn->wifi_get_wake_reason_stats);
+ populateStubFor(&hal_fn->wifi_configure_nd_offload);
+ populateStubFor(&hal_fn->wifi_get_driver_memory_dump);
+ populateStubFor(&hal_fn->wifi_start_pkt_fate_monitoring);
+ populateStubFor(&hal_fn->wifi_get_tx_pkt_fates);
+ populateStubFor(&hal_fn->wifi_get_rx_pkt_fates);
+ populateStubFor(&hal_fn->wifi_nan_enable_request);
+ populateStubFor(&hal_fn->wifi_nan_disable_request);
+ populateStubFor(&hal_fn->wifi_nan_publish_request);
+ populateStubFor(&hal_fn->wifi_nan_publish_cancel_request);
+ populateStubFor(&hal_fn->wifi_nan_subscribe_request);
+ populateStubFor(&hal_fn->wifi_nan_subscribe_cancel_request);
+ populateStubFor(&hal_fn->wifi_nan_transmit_followup_request);
+ populateStubFor(&hal_fn->wifi_nan_stats_request);
+ populateStubFor(&hal_fn->wifi_nan_config_request);
+ populateStubFor(&hal_fn->wifi_nan_tca_request);
+ populateStubFor(&hal_fn->wifi_nan_beacon_sdf_payload_request);
+ populateStubFor(&hal_fn->wifi_nan_register_handler);
+ populateStubFor(&hal_fn->wifi_nan_get_version);
+ populateStubFor(&hal_fn->wifi_nan_get_capabilities);
+ populateStubFor(&hal_fn->wifi_nan_data_interface_create);
+ populateStubFor(&hal_fn->wifi_nan_data_interface_delete);
+ populateStubFor(&hal_fn->wifi_nan_data_request_initiator);
+ populateStubFor(&hal_fn->wifi_nan_data_indication_response);
+ populateStubFor(&hal_fn->wifi_nan_data_end);
+ populateStubFor(&hal_fn->wifi_get_packet_filter_capabilities);
+ populateStubFor(&hal_fn->wifi_set_packet_filter);
+ populateStubFor(&hal_fn->wifi_get_roaming_capabilities);
+ populateStubFor(&hal_fn->wifi_enable_firmware_roaming);
+ populateStubFor(&hal_fn->wifi_configure_roaming);
+ return true;
+}
+} // namespace legacy_hal
+} // namespace implementation
+} // namespace V1_0
+} // namespace wifi
+} // namespace hardware
+} // namespace android
diff --git a/wifi/1.0/default/wifi_legacy_hal_stubs.h b/wifi/1.0/default/wifi_legacy_hal_stubs.h
new file mode 100644
index 0000000..1cb5f9d
--- /dev/null
+++ b/wifi/1.0/default/wifi_legacy_hal_stubs.h
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+#ifndef WIFI_LEGACY_HAL_STUBS_H_
+#define WIFI_LEGACY_HAL_STUBS_H_
+
+namespace android {
+namespace hardware {
+namespace wifi {
+namespace V1_0 {
+namespace implementation {
+namespace legacy_hal {
+#include <hardware_legacy/wifi_hal.h>
+
+bool initHalFuncTableWithStubs(wifi_hal_fn* hal_fn);
+} // namespace legacy_hal
+} // namespace implementation
+} // namespace V1_0
+} // namespace wifi
+} // namespace hardware
+} // namespace android
+
+#endif // WIFI_LEGACY_HAL_STUBS_H_
diff --git a/wifi/1.0/default/wifi_mode_controller.cpp b/wifi/1.0/default/wifi_mode_controller.cpp
new file mode 100644
index 0000000..7e82d4c
--- /dev/null
+++ b/wifi/1.0/default/wifi_mode_controller.cpp
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ */
+
+#include <android-base/logging.h>
+#include <android-base/macros.h>
+#include <private/android_filesystem_config.h>
+
+#include "wifi_mode_controller.h"
+
+using android::hardware::wifi::V1_0::IfaceType;
+using android::wifi_hal::DriverTool;
+
+namespace {
+int convertIfaceTypeToFirmwareMode(IfaceType type) {
+ int mode;
+ switch (type) {
+ case IfaceType::AP:
+ mode = DriverTool::kFirmwareModeAp;
+ break;
+ case IfaceType::P2P:
+ mode = DriverTool::kFirmwareModeP2p;
+ break;
+ case IfaceType::NAN:
+ // NAN is exposed in STA mode currently.
+ mode = DriverTool::kFirmwareModeSta;
+ break;
+ case IfaceType::STA:
+ mode = DriverTool::kFirmwareModeSta;
+ break;
+ }
+ return mode;
+}
+}
+
+namespace android {
+namespace hardware {
+namespace wifi {
+namespace V1_0 {
+namespace implementation {
+namespace mode_controller {
+
+WifiModeController::WifiModeController() : driver_tool_(new DriverTool) {}
+
+bool WifiModeController::isFirmwareModeChangeNeeded(IfaceType type) {
+ return driver_tool_->IsFirmwareModeChangeNeeded(
+ convertIfaceTypeToFirmwareMode(type));
+}
+
+bool WifiModeController::changeFirmwareMode(IfaceType type) {
+ if (!driver_tool_->LoadDriver()) {
+ LOG(ERROR) << "Failed to load WiFi driver";
+ return false;
+ }
+ if (!driver_tool_->ChangeFirmwareMode(convertIfaceTypeToFirmwareMode(type))) {
+ LOG(ERROR) << "Failed to change firmware mode";
+ return false;
+ }
+ return true;
+}
+
+bool WifiModeController::deinitialize() {
+ if (!driver_tool_->UnloadDriver()) {
+ LOG(ERROR) << "Failed to unload WiFi driver";
+ return false;
+ }
+ return true;
+}
+} // namespace mode_controller
+} // namespace implementation
+} // namespace V1_0
+} // namespace wifi
+} // namespace hardware
+} // namespace android
diff --git a/wifi/1.0/default/wifi_mode_controller.h b/wifi/1.0/default/wifi_mode_controller.h
new file mode 100644
index 0000000..a4147a9
--- /dev/null
+++ b/wifi/1.0/default/wifi_mode_controller.h
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+#ifndef WIFI_MODE_CONTROLLER_H_
+#define WIFI_MODE_CONTROLLER_H_
+
+#include <wifi_hal/driver_tool.h>
+
+#include <android/hardware/wifi/1.0/IWifi.h>
+
+namespace android {
+namespace hardware {
+namespace wifi {
+namespace V1_0 {
+namespace implementation {
+namespace mode_controller {
+/**
+ * Class that encapsulates all firmware mode configuration.
+ * This class will perform the necessary firmware reloads to put the chip in the
+ * required state (essentially a wrapper over DriverTool).
+ */
+class WifiModeController {
+ public:
+ WifiModeController();
+
+ // Checks if a firmware mode change is necessary to support the specified
+ // iface type operations.
+ bool isFirmwareModeChangeNeeded(IfaceType type);
+ // Change the firmware mode to support the specified iface type operations.
+ bool changeFirmwareMode(IfaceType type);
+ // Unload the driver. This should be invoked whenever |IWifi.stop()| is
+ // invoked.
+ bool deinitialize();
+
+ private:
+ std::unique_ptr<wifi_hal::DriverTool> driver_tool_;
+};
+
+} // namespace mode_controller
+} // namespace implementation
+} // namespace V1_0
+} // namespace wifi
+} // namespace hardware
+} // namespace android
+
+#endif // WIFI_MODE_CONTROLLER_H_
diff --git a/wifi/1.0/default/wifi_nan_iface.cpp b/wifi/1.0/default/wifi_nan_iface.cpp
index 48e75a5..a897520 100644
--- a/wifi/1.0/default/wifi_nan_iface.cpp
+++ b/wifi/1.0/default/wifi_nan_iface.cpp
@@ -17,6 +17,7 @@
#include <android-base/logging.h>
#include "hidl_return_util.h"
+#include "hidl_struct_util.h"
#include "wifi_nan_iface.h"
#include "wifi_status_util.h"
@@ -30,7 +31,47 @@
WifiNanIface::WifiNanIface(
const std::string& ifname,
const std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal)
- : ifname_(ifname), legacy_hal_(legacy_hal), is_valid_(true) {}
+ : ifname_(ifname), legacy_hal_(legacy_hal), is_valid_(true) {
+ // Register all the callbacks here. these should be valid for the lifetime
+ // of the object. Whenever the mode changes legacy HAL will remove
+ // all of these callbacks.
+ legacy_hal::NanCallbackHandlers callback_handlers;
+
+ // Callback for response.
+ callback_handlers.on_notify_response = [&](
+ legacy_hal::transaction_id id, const legacy_hal::NanResponseMsg& msg) {
+ NanResponseMsgHeader hidl_header;
+ if (!hidl_struct_util::convertLegacyNanResponseHeaderToHidl(msg,
+ &hidl_header)) {
+ LOG(ERROR) << "Failed to convert nan response header";
+ return;
+ }
+ // TODO: This is a union in the legacy HAL. Need to convert to appropriate
+ // callback based on type.
+ // Assuming |NanPublishResponseMsg| type here.
+ NanPublishResponse hidl_body;
+ if (!hidl_struct_util::convertLegacyNanPublishResponseToHidl(
+ msg.body.publish_response, &hidl_body)) {
+ LOG(ERROR) << "Failed to convert nan publish response";
+ return;
+ }
+ NanPublishResponseMsg hidl_msg;
+ hidl_msg.header = hidl_header;
+ hidl_msg.body = hidl_body;
+ for (const auto& callback : event_callbacks_) {
+ if (!callback->notifyPublishResponse(id, hidl_msg).getStatus().isOk()) {
+ LOG(ERROR) << "Failed to invoke the callback";
+ }
+ }
+ };
+ // TODO: Register the remaining callbacks.
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->nanRegisterCallbackHandlers(callback_handlers);
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ LOG(ERROR) << "Failed to register nan callbacks. Invalidating object";
+ invalidate();
+ }
+}
void WifiNanIface::invalidate() {
legacy_hal_.reset();
@@ -258,33 +299,60 @@
return createWifiStatus(WifiStatusCode::SUCCESS);
}
-WifiStatus WifiNanIface::enableRequestInternal(
- uint32_t /* cmd_id */, const NanEnableRequest& /* msg */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+WifiStatus WifiNanIface::enableRequestInternal(uint32_t cmd_id,
+ const NanEnableRequest& msg) {
+ legacy_hal::NanEnableRequest legacy_msg;
+ if (!hidl_struct_util::convertHidlNanEnableRequestToLegacy(msg,
+ &legacy_msg)) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->nanEnableRequest(cmd_id, legacy_msg);
+ return createWifiStatusFromLegacyError(legacy_status);
}
-WifiStatus WifiNanIface::disableRequestInternal(uint32_t /* cmd_id */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+WifiStatus WifiNanIface::disableRequestInternal(uint32_t cmd_id) {
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->nanDisableRequest(cmd_id);
+ return createWifiStatusFromLegacyError(legacy_status);
}
-WifiStatus WifiNanIface::publishRequestInternal(
- uint32_t /* cmd_id */, const NanPublishRequest& /* msg */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+WifiStatus WifiNanIface::publishRequestInternal(uint32_t cmd_id,
+ const NanPublishRequest& msg) {
+ legacy_hal::NanPublishRequest legacy_msg;
+ if (!hidl_struct_util::convertHidlNanPublishRequestToLegacy(msg,
+ &legacy_msg)) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->nanPublishRequest(cmd_id, legacy_msg);
+ return createWifiStatusFromLegacyError(legacy_status);
}
WifiStatus WifiNanIface::publishCancelRequestInternal(
- uint32_t /* cmd_id */, const NanPublishCancelRequest& /* msg */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ uint32_t cmd_id, const NanPublishCancelRequest& msg) {
+ legacy_hal::NanPublishCancelRequest legacy_msg;
+ if (!hidl_struct_util::convertHidlNanPublishCancelRequestToLegacy(
+ msg, &legacy_msg)) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->nanPublishCancelRequest(cmd_id, legacy_msg);
+ return createWifiStatusFromLegacyError(legacy_status);
}
+
WifiStatus WifiNanIface::subscribeRequestInternal(
- uint32_t /* cmd_id */, const NanSubscribeRequest& /* msg */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ uint32_t cmd_id, const NanSubscribeRequest& msg) {
+ legacy_hal::NanSubscribeRequest legacy_msg;
+ if (!hidl_struct_util::convertHidlNanSubscribeRequestToLegacy(msg,
+ &legacy_msg)) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->nanSubscribeRequest(cmd_id, legacy_msg);
+ return createWifiStatusFromLegacyError(legacy_status);
}
+
WifiStatus WifiNanIface::subscribeCancelRequestInternal(
uint32_t /* cmd_id */, const NanSubscribeCancelRequest& /* msg */) {
// TODO implement
diff --git a/wifi/1.0/default/wifi_rtt_controller.cpp b/wifi/1.0/default/wifi_rtt_controller.cpp
index 6ac0629..f18feae 100644
--- a/wifi/1.0/default/wifi_rtt_controller.cpp
+++ b/wifi/1.0/default/wifi_rtt_controller.cpp
@@ -17,6 +17,7 @@
#include <android-base/logging.h>
#include "hidl_return_util.h"
+#include "hidl_struct_util.h"
#include "wifi_rtt_controller.h"
#include "wifi_status_util.h"
@@ -42,6 +43,11 @@
return is_valid_;
}
+std::vector<sp<IWifiRttControllerEventCallback>>
+WifiRttController::getEventCallbacks() {
+ return event_callbacks_;
+}
+
Return<void> WifiRttController::getBoundIface(getBoundIface_cb hidl_status_cb) {
return validateAndCall(this,
WifiStatusCode::ERROR_WIFI_RTT_CONTROLLER_INVALID,
@@ -83,28 +89,6 @@
addrs);
}
-Return<void> WifiRttController::setChannelMap(uint32_t cmd_id,
- const RttChannelMap& params,
- uint32_t num_dw,
- setChannelMap_cb hidl_status_cb) {
- return validateAndCall(this,
- WifiStatusCode::ERROR_WIFI_RTT_CONTROLLER_INVALID,
- &WifiRttController::setChannelMapInternal,
- hidl_status_cb,
- cmd_id,
- params,
- num_dw);
-}
-
-Return<void> WifiRttController::clearChannelMap(
- uint32_t cmd_id, clearChannelMap_cb hidl_status_cb) {
- return validateAndCall(this,
- WifiStatusCode::ERROR_WIFI_RTT_CONTROLLER_INVALID,
- &WifiRttController::clearChannelMapInternal,
- hidl_status_cb,
- cmd_id);
-}
-
Return<void> WifiRttController::getCapabilities(
getCapabilities_cb hidl_status_cb) {
return validateAndCall(this,
@@ -113,22 +97,6 @@
hidl_status_cb);
}
-Return<void> WifiRttController::setDebugCfg(RttDebugType type,
- setDebugCfg_cb hidl_status_cb) {
- return validateAndCall(this,
- WifiStatusCode::ERROR_WIFI_RTT_CONTROLLER_INVALID,
- &WifiRttController::setDebugCfgInternal,
- hidl_status_cb,
- type);
-}
-
-Return<void> WifiRttController::getDebugInfo(getDebugInfo_cb hidl_status_cb) {
- return validateAndCall(this,
- WifiStatusCode::ERROR_WIFI_RTT_CONTROLLER_INVALID,
- &WifiRttController::getDebugInfoInternal,
- hidl_status_cb);
-}
-
Return<void> WifiRttController::setLci(uint32_t cmd_id,
const RttLciInformation& lci,
setLci_cb hidl_status_cb) {
@@ -162,7 +130,7 @@
Return<void> WifiRttController::enableResponder(
uint32_t cmd_id,
const WifiChannelInfo& channel_hint,
- uint32_t maxDurationSeconds,
+ uint32_t max_duration_seconds,
const RttResponder& info,
enableResponder_cb hidl_status_cb) {
return validateAndCall(this,
@@ -171,7 +139,7 @@
hidl_status_cb,
cmd_id,
channel_hint,
- maxDurationSeconds,
+ max_duration_seconds,
info);
}
@@ -197,77 +165,130 @@
}
WifiStatus WifiRttController::rangeRequestInternal(
- uint32_t /* cmd_id */, const std::vector<RttConfig>& /* rtt_configs */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ uint32_t cmd_id, const std::vector<RttConfig>& rtt_configs) {
+ std::vector<legacy_hal::wifi_rtt_config> legacy_configs;
+ if (!hidl_struct_util::convertHidlVectorOfRttConfigToLegacy(
+ rtt_configs, &legacy_configs)) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ android::wp<WifiRttController> weak_ptr_this(this);
+ const auto& on_results_callback = [weak_ptr_this](
+ legacy_hal::wifi_request_id id,
+ const std::vector<const legacy_hal::wifi_rtt_result*>& results) {
+ const auto shared_ptr_this = weak_ptr_this.promote();
+ if (!shared_ptr_this.get() || !shared_ptr_this->isValid()) {
+ LOG(ERROR) << "Callback invoked on an invalid object";
+ return;
+ }
+ std::vector<RttResult> hidl_results;
+ if (!hidl_struct_util::convertLegacyVectorOfRttResultToHidl(
+ results, &hidl_results)) {
+ LOG(ERROR) << "Failed to convert rtt results to HIDL structs";
+ return;
+ }
+ for (const auto& callback : shared_ptr_this->getEventCallbacks()) {
+ callback->onResults(id, hidl_results);
+ }
+ };
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->startRttRangeRequest(
+ cmd_id, legacy_configs, on_results_callback);
+ return createWifiStatusFromLegacyError(legacy_status);
}
WifiStatus WifiRttController::rangeCancelInternal(
- uint32_t /* cmd_id */,
- const std::vector<hidl_array<uint8_t, 6>>& /* addrs */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
-}
-
-WifiStatus WifiRttController::setChannelMapInternal(
- uint32_t /* cmd_id */,
- const RttChannelMap& /* params */,
- uint32_t /* num_dw */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
-}
-
-WifiStatus WifiRttController::clearChannelMapInternal(uint32_t /* cmd_id */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ uint32_t cmd_id, const std::vector<hidl_array<uint8_t, 6>>& addrs) {
+ std::vector<std::array<uint8_t, 6>> legacy_addrs;
+ for (const auto& addr : addrs) {
+ legacy_addrs.push_back(addr);
+ }
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->cancelRttRangeRequest(cmd_id, legacy_addrs);
+ return createWifiStatusFromLegacyError(legacy_status);
}
std::pair<WifiStatus, RttCapabilities>
WifiRttController::getCapabilitiesInternal() {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
+ legacy_hal::wifi_error legacy_status;
+ legacy_hal::wifi_rtt_capabilities legacy_caps;
+ std::tie(legacy_status, legacy_caps) =
+ legacy_hal_.lock()->getRttCapabilities();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), {}};
+ }
+ RttCapabilities hidl_caps;
+ if (!hidl_struct_util::convertLegacyRttCapabilitiesToHidl(legacy_caps,
+ &hidl_caps)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), {}};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), hidl_caps};
}
-WifiStatus WifiRttController::setDebugCfgInternal(RttDebugType /* type */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+WifiStatus WifiRttController::setLciInternal(uint32_t cmd_id,
+ const RttLciInformation& lci) {
+ legacy_hal::wifi_lci_information legacy_lci;
+ if (!hidl_struct_util::convertHidlRttLciInformationToLegacy(lci,
+ &legacy_lci)) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->setRttLci(cmd_id, legacy_lci);
+ return createWifiStatusFromLegacyError(legacy_status);
}
-std::pair<WifiStatus, RttDebugInfo> WifiRttController::getDebugInfoInternal() {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
-}
-
-WifiStatus WifiRttController::setLciInternal(
- uint32_t /* cmd_id */, const RttLciInformation& /* lci */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
-}
-
-WifiStatus WifiRttController::setLcrInternal(
- uint32_t /* cmd_id */, const RttLcrInformation& /* lcr */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+WifiStatus WifiRttController::setLcrInternal(uint32_t cmd_id,
+ const RttLcrInformation& lcr) {
+ legacy_hal::wifi_lcr_information legacy_lcr;
+ if (!hidl_struct_util::convertHidlRttLcrInformationToLegacy(lcr,
+ &legacy_lcr)) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->setRttLcr(cmd_id, legacy_lcr);
+ return createWifiStatusFromLegacyError(legacy_status);
}
std::pair<WifiStatus, RttResponder>
WifiRttController::getResponderInfoInternal() {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
+ legacy_hal::wifi_error legacy_status;
+ legacy_hal::wifi_rtt_responder legacy_responder;
+ std::tie(legacy_status, legacy_responder) =
+ legacy_hal_.lock()->getRttResponderInfo();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), {}};
+ }
+ RttResponder hidl_responder;
+ if (!hidl_struct_util::convertLegacyRttResponderToHidl(legacy_responder,
+ &hidl_responder)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), {}};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), hidl_responder};
}
WifiStatus WifiRttController::enableResponderInternal(
- uint32_t /* cmd_id */,
- const WifiChannelInfo& /* channel_hint */,
- uint32_t /* maxDurationSeconds */,
- const RttResponder& /* info */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ uint32_t cmd_id,
+ const WifiChannelInfo& channel_hint,
+ uint32_t max_duration_seconds,
+ const RttResponder& info) {
+ legacy_hal::wifi_channel_info legacy_channel_info;
+ if (!hidl_struct_util::convertHidlWifiChannelInfoToLegacy(
+ channel_hint, &legacy_channel_info)) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ legacy_hal::wifi_rtt_responder legacy_responder;
+ if (!hidl_struct_util::convertHidlRttResponderToLegacy(info,
+ &legacy_responder)) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ legacy_hal::wifi_error legacy_status = legacy_hal_.lock()->enableRttResponder(
+ cmd_id, legacy_channel_info, max_duration_seconds, legacy_responder);
+ return createWifiStatusFromLegacyError(legacy_status);
}
-WifiStatus WifiRttController::disableResponderInternal(uint32_t /* cmd_id */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+WifiStatus WifiRttController::disableResponderInternal(uint32_t cmd_id) {
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->disableRttResponder(cmd_id);
+ return createWifiStatusFromLegacyError(legacy_status);
}
} // namespace implementation
} // namespace V1_0
diff --git a/wifi/1.0/default/wifi_rtt_controller.h b/wifi/1.0/default/wifi_rtt_controller.h
index 3dd5340..7c0abca 100644
--- a/wifi/1.0/default/wifi_rtt_controller.h
+++ b/wifi/1.0/default/wifi_rtt_controller.h
@@ -40,6 +40,7 @@
// Refer to |WifiChip::invalidate()|.
void invalidate();
bool isValid();
+ std::vector<sp<IWifiRttControllerEventCallback>> getEventCallbacks();
// HIDL methods exposed.
Return<void> getBoundIface(getBoundIface_cb hidl_status_cb) override;
@@ -52,16 +53,7 @@
Return<void> rangeCancel(uint32_t cmd_id,
const hidl_vec<hidl_array<uint8_t, 6>>& addrs,
rangeCancel_cb hidl_status_cb) override;
- Return<void> setChannelMap(uint32_t cmd_id,
- const RttChannelMap& params,
- uint32_t num_dw,
- setChannelMap_cb hidl_status_cb) override;
- Return<void> clearChannelMap(uint32_t cmd_id,
- clearChannelMap_cb hidl_status_cb) override;
Return<void> getCapabilities(getCapabilities_cb hidl_status_cb) override;
- Return<void> setDebugCfg(RttDebugType type,
- setDebugCfg_cb hidl_status_cb) override;
- Return<void> getDebugInfo(getDebugInfo_cb hidl_status_cb) override;
Return<void> setLci(uint32_t cmd_id,
const RttLciInformation& lci,
setLci_cb hidl_status_cb) override;
@@ -71,7 +63,7 @@
Return<void> getResponderInfo(getResponderInfo_cb hidl_status_cb) override;
Return<void> enableResponder(uint32_t cmd_id,
const WifiChannelInfo& channel_hint,
- uint32_t maxDurationSeconds,
+ uint32_t max_duration_seconds,
const RttResponder& info,
enableResponder_cb hidl_status_cb) override;
Return<void> disableResponder(uint32_t cmd_id,
@@ -86,19 +78,13 @@
const std::vector<RttConfig>& rtt_configs);
WifiStatus rangeCancelInternal(
uint32_t cmd_id, const std::vector<hidl_array<uint8_t, 6>>& addrs);
- WifiStatus setChannelMapInternal(uint32_t cmd_id,
- const RttChannelMap& params,
- uint32_t num_dw);
- WifiStatus clearChannelMapInternal(uint32_t cmd_id);
std::pair<WifiStatus, RttCapabilities> getCapabilitiesInternal();
- WifiStatus setDebugCfgInternal(RttDebugType type);
- std::pair<WifiStatus, RttDebugInfo> getDebugInfoInternal();
WifiStatus setLciInternal(uint32_t cmd_id, const RttLciInformation& lci);
WifiStatus setLcrInternal(uint32_t cmd_id, const RttLcrInformation& lcr);
std::pair<WifiStatus, RttResponder> getResponderInfoInternal();
WifiStatus enableResponderInternal(uint32_t cmd_id,
const WifiChannelInfo& channel_hint,
- uint32_t maxDurationSeconds,
+ uint32_t max_duration_seconds,
const RttResponder& info);
WifiStatus disableResponderInternal(uint32_t cmd_id);
diff --git a/wifi/1.0/default/wifi_sta_iface.cpp b/wifi/1.0/default/wifi_sta_iface.cpp
index 6365032..e48978e 100644
--- a/wifi/1.0/default/wifi_sta_iface.cpp
+++ b/wifi/1.0/default/wifi_sta_iface.cpp
@@ -17,6 +17,7 @@
#include <android-base/logging.h>
#include "hidl_return_util.h"
+#include "hidl_struct_util.h"
#include "wifi_sta_iface.h"
#include "wifi_status_util.h"
@@ -42,6 +43,10 @@
return is_valid_;
}
+std::vector<sp<IWifiStaIfaceEventCallback>> WifiStaIface::getEventCallbacks() {
+ return event_callbacks_;
+}
+
Return<void> WifiStaIface::getName(getName_cb hidl_status_cb) {
return validateAndCall(this,
WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
@@ -158,6 +163,55 @@
hidl_status_cb);
}
+Return<void> WifiStaIface::startRssiMonitoring(
+ uint32_t cmd_id,
+ int32_t max_rssi,
+ int32_t min_rssi,
+ startRssiMonitoring_cb hidl_status_cb) {
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiStaIface::startRssiMonitoringInternal,
+ hidl_status_cb,
+ cmd_id,
+ max_rssi,
+ min_rssi);
+}
+
+Return<void> WifiStaIface::stopRssiMonitoring(
+ uint32_t cmd_id, stopRssiMonitoring_cb hidl_status_cb) {
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiStaIface::stopRssiMonitoringInternal,
+ hidl_status_cb,
+ cmd_id);
+}
+
+Return<void> WifiStaIface::getRoamingCapabilities(
+ getRoamingCapabilities_cb hidl_status_cb) {
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiStaIface::getRoamingCapabilitiesInternal,
+ hidl_status_cb);
+}
+
+Return<void> WifiStaIface::configureRoaming(
+ const StaRoamingConfig& config, configureRoaming_cb hidl_status_cb) {
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiStaIface::configureRoamingInternal,
+ hidl_status_cb,
+ config);
+}
+
+Return<void> WifiStaIface::setRoamingState(StaRoamingState state,
+ setRoamingState_cb hidl_status_cb) {
+ return validateAndCall(this,
+ WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+ &WifiStaIface::setRoamingStateInternal,
+ hidl_status_cb,
+ state);
+}
+
Return<void> WifiStaIface::startDebugPacketFateMonitoring(
startDebugPacketFateMonitoring_cb hidl_status_cb) {
return validateAndCall(this,
@@ -206,83 +260,285 @@
}
std::pair<WifiStatus, uint32_t> WifiStaIface::getCapabilitiesInternal() {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), 0};
+ legacy_hal::wifi_error legacy_status;
+ uint32_t legacy_feature_set;
+ std::tie(legacy_status, legacy_feature_set) =
+ legacy_hal_.lock()->getSupportedFeatureSet();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), 0};
+ }
+ uint32_t legacy_logger_feature_set;
+ std::tie(legacy_status, legacy_logger_feature_set) =
+ legacy_hal_.lock()->getLoggerSupportedFeatureSet();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), 0};
+ }
+ uint32_t hidl_caps;
+ if (!hidl_struct_util::convertLegacyFeaturesToHidlStaCapabilities(
+ legacy_feature_set, legacy_logger_feature_set, &hidl_caps)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), 0};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), hidl_caps};
}
std::pair<WifiStatus, StaApfPacketFilterCapabilities>
WifiStaIface::getApfPacketFilterCapabilitiesInternal() {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
+ legacy_hal::wifi_error legacy_status;
+ legacy_hal::PacketFilterCapabilities legacy_caps;
+ std::tie(legacy_status, legacy_caps) =
+ legacy_hal_.lock()->getPacketFilterCapabilities();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), {}};
+ }
+ StaApfPacketFilterCapabilities hidl_caps;
+ if (!hidl_struct_util::convertLegacyApfCapabilitiesToHidl(legacy_caps,
+ &hidl_caps)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), {}};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), hidl_caps};
}
WifiStatus WifiStaIface::installApfPacketFilterInternal(
- uint32_t /* cmd_id */, const std::vector<uint8_t>& /* program */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ uint32_t /* cmd_id */, const std::vector<uint8_t>& program) {
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->setPacketFilter(program);
+ return createWifiStatusFromLegacyError(legacy_status);
}
std::pair<WifiStatus, StaBackgroundScanCapabilities>
WifiStaIface::getBackgroundScanCapabilitiesInternal() {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
+ legacy_hal::wifi_error legacy_status;
+ legacy_hal::wifi_gscan_capabilities legacy_caps;
+ std::tie(legacy_status, legacy_caps) =
+ legacy_hal_.lock()->getGscanCapabilities();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), {}};
+ }
+ StaBackgroundScanCapabilities hidl_caps;
+ if (!hidl_struct_util::convertLegacyGscanCapabilitiesToHidl(legacy_caps,
+ &hidl_caps)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), {}};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), hidl_caps};
}
std::pair<WifiStatus, std::vector<WifiChannelInMhz>>
WifiStaIface::getValidFrequenciesForBackgroundScanInternal(
- StaBackgroundScanBand /* band */) {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
+ StaBackgroundScanBand band) {
+ static_assert(sizeof(WifiChannelInMhz) == sizeof(uint32_t), "Size mismatch");
+ legacy_hal::wifi_error legacy_status;
+ std::vector<uint32_t> valid_frequencies;
+ std::tie(legacy_status, valid_frequencies) =
+ legacy_hal_.lock()->getValidFrequenciesForGscan(
+ hidl_struct_util::convertHidlGscanBandToLegacy(band));
+ return {createWifiStatusFromLegacyError(legacy_status), valid_frequencies};
}
WifiStatus WifiStaIface::startBackgroundScanInternal(
- uint32_t /* cmd_id */, const StaBackgroundScanParameters& /* params */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ uint32_t cmd_id, const StaBackgroundScanParameters& params) {
+ legacy_hal::wifi_scan_cmd_params legacy_params;
+ if (!hidl_struct_util::convertHidlGscanParamsToLegacy(params,
+ &legacy_params)) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ android::wp<WifiStaIface> weak_ptr_this(this);
+ const auto& on_failure_callback =
+ [weak_ptr_this](legacy_hal::wifi_request_id id) {
+ const auto shared_ptr_this = weak_ptr_this.promote();
+ if (!shared_ptr_this.get() || !shared_ptr_this->isValid()) {
+ LOG(ERROR) << "Callback invoked on an invalid object";
+ return;
+ }
+ for (const auto& callback : shared_ptr_this->getEventCallbacks()) {
+ callback->onBackgroundScanFailure(id);
+ }
+ };
+ const auto& on_results_callback = [weak_ptr_this](
+ legacy_hal::wifi_request_id id,
+ const std::vector<legacy_hal::wifi_cached_scan_results>& results) {
+ const auto shared_ptr_this = weak_ptr_this.promote();
+ if (!shared_ptr_this.get() || !shared_ptr_this->isValid()) {
+ LOG(ERROR) << "Callback invoked on an invalid object";
+ return;
+ }
+ std::vector<StaScanData> hidl_scan_datas;
+ if (!hidl_struct_util::convertLegacyVectorOfCachedGscanResultsToHidl(
+ results, &hidl_scan_datas)) {
+ LOG(ERROR) << "Failed to convert scan results to HIDL structs";
+ return;
+ }
+ for (const auto& callback : shared_ptr_this->getEventCallbacks()) {
+ callback->onBackgroundScanResults(id, hidl_scan_datas);
+ }
+ };
+ const auto& on_full_result_callback = [weak_ptr_this](
+ legacy_hal::wifi_request_id id,
+ const legacy_hal::wifi_scan_result* result,
+ uint32_t /* buckets_scanned */) {
+ const auto shared_ptr_this = weak_ptr_this.promote();
+ if (!shared_ptr_this.get() || !shared_ptr_this->isValid()) {
+ LOG(ERROR) << "Callback invoked on an invalid object";
+ return;
+ }
+ StaScanResult hidl_scan_result;
+ if (!hidl_struct_util::convertLegacyGscanResultToHidl(
+ *result, true, &hidl_scan_result)) {
+ LOG(ERROR) << "Failed to convert full scan results to HIDL structs";
+ return;
+ }
+ for (const auto& callback : shared_ptr_this->getEventCallbacks()) {
+ callback->onBackgroundFullScanResult(id, hidl_scan_result);
+ }
+ };
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->startGscan(cmd_id,
+ legacy_params,
+ on_failure_callback,
+ on_results_callback,
+ on_full_result_callback);
+ return createWifiStatusFromLegacyError(legacy_status);
}
-WifiStatus WifiStaIface::stopBackgroundScanInternal(uint32_t /* cmd_id */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+WifiStatus WifiStaIface::stopBackgroundScanInternal(uint32_t cmd_id) {
+ legacy_hal::wifi_error legacy_status = legacy_hal_.lock()->stopGscan(cmd_id);
+ return createWifiStatusFromLegacyError(legacy_status);
}
-WifiStatus WifiStaIface::enableLinkLayerStatsCollectionInternal(
- bool /* debug */) {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+WifiStatus WifiStaIface::enableLinkLayerStatsCollectionInternal(bool debug) {
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->enableLinkLayerStats(debug);
+ return createWifiStatusFromLegacyError(legacy_status);
}
WifiStatus WifiStaIface::disableLinkLayerStatsCollectionInternal() {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->disableLinkLayerStats();
+ return createWifiStatusFromLegacyError(legacy_status);
}
std::pair<WifiStatus, StaLinkLayerStats>
WifiStaIface::getLinkLayerStatsInternal() {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
+ legacy_hal::wifi_error legacy_status;
+ legacy_hal::LinkLayerStats legacy_stats;
+ std::tie(legacy_status, legacy_stats) =
+ legacy_hal_.lock()->getLinkLayerStats();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), {}};
+ }
+ StaLinkLayerStats hidl_stats;
+ if (!hidl_struct_util::convertLegacyLinkLayerStatsToHidl(legacy_stats,
+ &hidl_stats)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), {}};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), hidl_stats};
+}
+
+WifiStatus WifiStaIface::startRssiMonitoringInternal(uint32_t cmd_id,
+ int32_t max_rssi,
+ int32_t min_rssi) {
+ android::wp<WifiStaIface> weak_ptr_this(this);
+ const auto& on_threshold_breached_callback = [weak_ptr_this](
+ legacy_hal::wifi_request_id id,
+ std::array<uint8_t, 6> bssid,
+ int8_t rssi) {
+ const auto shared_ptr_this = weak_ptr_this.promote();
+ if (!shared_ptr_this.get() || !shared_ptr_this->isValid()) {
+ LOG(ERROR) << "Callback invoked on an invalid object";
+ return;
+ }
+ for (const auto& callback : shared_ptr_this->getEventCallbacks()) {
+ callback->onRssiThresholdBreached(id, bssid, rssi);
+ }
+ };
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->startRssiMonitoring(
+ cmd_id, max_rssi, min_rssi, on_threshold_breached_callback);
+ return createWifiStatusFromLegacyError(legacy_status);
+}
+
+WifiStatus WifiStaIface::stopRssiMonitoringInternal(uint32_t cmd_id) {
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->stopRssiMonitoring(cmd_id);
+ return createWifiStatusFromLegacyError(legacy_status);
+}
+
+std::pair<WifiStatus, StaRoamingCapabilities>
+WifiStaIface::getRoamingCapabilitiesInternal() {
+ legacy_hal::wifi_error legacy_status;
+ legacy_hal::wifi_roaming_capabilities legacy_caps;
+ std::tie(legacy_status, legacy_caps) =
+ legacy_hal_.lock()->getRoamingCapabilities();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), {}};
+ }
+ StaRoamingCapabilities hidl_caps;
+ if (!hidl_struct_util::convertLegacyRoamingCapabilitiesToHidl(legacy_caps,
+ &hidl_caps)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), {}};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), hidl_caps};
+}
+
+WifiStatus WifiStaIface::configureRoamingInternal(
+ const StaRoamingConfig& config) {
+ legacy_hal::wifi_roaming_config legacy_config;
+ if (!hidl_struct_util::convertHidlRoamingConfigToLegacy(config,
+ &legacy_config)) {
+ return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
+ }
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->configureRoaming(legacy_config);
+ return createWifiStatusFromLegacyError(legacy_status);
+}
+
+WifiStatus WifiStaIface::setRoamingStateInternal(StaRoamingState state) {
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->enableFirmwareRoaming(
+ hidl_struct_util::convertHidlRoamingStateToLegacy(state));
+ return createWifiStatusFromLegacyError(legacy_status);
}
WifiStatus WifiStaIface::startDebugPacketFateMonitoringInternal() {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ legacy_hal::wifi_error legacy_status =
+ legacy_hal_.lock()->startPktFateMonitoring();
+ return createWifiStatusFromLegacyError(legacy_status);
}
WifiStatus WifiStaIface::stopDebugPacketFateMonitoringInternal() {
- // TODO implement
- return createWifiStatus(WifiStatusCode::SUCCESS);
+ // There is no stop in legacy HAL implementation.
+ return createWifiStatus(WifiStatusCode::ERROR_NOT_SUPPORTED);
}
std::pair<WifiStatus, std::vector<WifiDebugTxPacketFateReport>>
WifiStaIface::getDebugTxPacketFatesInternal() {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
+ legacy_hal::wifi_error legacy_status;
+ std::vector<legacy_hal::wifi_tx_report> legacy_fates;
+ std::tie(legacy_status, legacy_fates) = legacy_hal_.lock()->getTxPktFates();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), {}};
+ }
+ std::vector<WifiDebugTxPacketFateReport> hidl_fates;
+ if (!hidl_struct_util::convertLegacyVectorOfDebugTxPacketFateToHidl(
+ legacy_fates, &hidl_fates)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), {}};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), hidl_fates};
}
std::pair<WifiStatus, std::vector<WifiDebugRxPacketFateReport>>
WifiStaIface::getDebugRxPacketFatesInternal() {
- // TODO implement
- return {createWifiStatus(WifiStatusCode::SUCCESS), {}};
+ legacy_hal::wifi_error legacy_status;
+ std::vector<legacy_hal::wifi_rx_report> legacy_fates;
+ std::tie(legacy_status, legacy_fates) = legacy_hal_.lock()->getRxPktFates();
+ if (legacy_status != legacy_hal::WIFI_SUCCESS) {
+ return {createWifiStatusFromLegacyError(legacy_status), {}};
+ }
+ std::vector<WifiDebugRxPacketFateReport> hidl_fates;
+ if (!hidl_struct_util::convertLegacyVectorOfDebugRxPacketFateToHidl(
+ legacy_fates, &hidl_fates)) {
+ return {createWifiStatus(WifiStatusCode::ERROR_UNKNOWN), {}};
+ }
+ return {createWifiStatus(WifiStatusCode::SUCCESS), hidl_fates};
}
} // namespace implementation
diff --git a/wifi/1.0/default/wifi_sta_iface.h b/wifi/1.0/default/wifi_sta_iface.h
index 09a883c..90126cd 100644
--- a/wifi/1.0/default/wifi_sta_iface.h
+++ b/wifi/1.0/default/wifi_sta_iface.h
@@ -39,6 +39,7 @@
// Refer to |WifiChip::invalidate()|.
void invalidate();
bool isValid();
+ std::vector<sp<IWifiStaIfaceEventCallback>> getEventCallbacks();
// HIDL methods exposed.
Return<void> getName(getName_cb hidl_status_cb) override;
@@ -69,6 +70,19 @@
Return<void> disableLinkLayerStatsCollection(
disableLinkLayerStatsCollection_cb hidl_status_cb) override;
Return<void> getLinkLayerStats(getLinkLayerStats_cb hidl_status_cb) override;
+ Return<void> startRssiMonitoring(
+ uint32_t cmd_id,
+ int32_t max_rssi,
+ int32_t min_rssi,
+ startRssiMonitoring_cb hidl_status_cb) override;
+ Return<void> stopRssiMonitoring(
+ uint32_t cmd_id, stopRssiMonitoring_cb hidl_status_cb) override;
+ Return<void> getRoamingCapabilities(
+ getRoamingCapabilities_cb hidl_status_cb) override;
+ Return<void> configureRoaming(const StaRoamingConfig& config,
+ configureRoaming_cb hidl_status_cb) override;
+ Return<void> setRoamingState(StaRoamingState state,
+ setRoamingState_cb hidl_status_cb) override;
Return<void> startDebugPacketFateMonitoring(
startDebugPacketFateMonitoring_cb hidl_status_cb) override;
Return<void> stopDebugPacketFateMonitoring(
@@ -99,6 +113,14 @@
WifiStatus enableLinkLayerStatsCollectionInternal(bool debug);
WifiStatus disableLinkLayerStatsCollectionInternal();
std::pair<WifiStatus, StaLinkLayerStats> getLinkLayerStatsInternal();
+ WifiStatus startRssiMonitoringInternal(uint32_t cmd_id,
+ int32_t max_rssi,
+ int32_t min_rssi);
+ WifiStatus stopRssiMonitoringInternal(uint32_t cmd_id);
+ std::pair<WifiStatus, StaRoamingCapabilities>
+ getRoamingCapabilitiesInternal();
+ WifiStatus configureRoamingInternal(const StaRoamingConfig& config);
+ WifiStatus setRoamingStateInternal(StaRoamingState state);
WifiStatus startDebugPacketFateMonitoringInternal();
WifiStatus stopDebugPacketFateMonitoringInternal();
std::pair<WifiStatus, std::vector<WifiDebugTxPacketFateReport>>
diff --git a/wifi/1.0/default/wifi_status_util.cpp b/wifi/1.0/default/wifi_status_util.cpp
index 9a7ad0d..518032f 100644
--- a/wifi/1.0/default/wifi_status_util.cpp
+++ b/wifi/1.0/default/wifi_status_util.cpp
@@ -83,6 +83,9 @@
return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN,
desc + ", out of memory");
+ case legacy_hal::WIFI_ERROR_BUSY:
+ return createWifiStatus(WifiStatusCode::ERROR_BUSY);
+
case legacy_hal::WIFI_ERROR_NONE:
return createWifiStatus(WifiStatusCode::SUCCESS, desc);
diff --git a/wifi/1.0/types.hal b/wifi/1.0/types.hal
index 9e53377..2da4d84 100644
--- a/wifi/1.0/types.hal
+++ b/wifi/1.0/types.hal
@@ -32,6 +32,7 @@
ERROR_NOT_AVAILABLE,
ERROR_NOT_STARTED,
ERROR_INVALID_ARGS,
+ ERROR_BUSY,
ERROR_UNKNOWN
};
@@ -213,7 +214,7 @@
* TODO(b/32159498): Move to a separate nan_types.hal.
*/
/**
- * Parameters to specify the APF capability of this iface.
+ * Parameters to specify the APF capabilities of this iface.
*/
struct StaApfPacketFilterCapabilities {
/**
@@ -227,7 +228,7 @@
};
/**
- * Parameters to specify the Background Scan capability of this iface.
+ * Parameters to specify the Background Scan capabilities of this iface.
*/
struct StaBackgroundScanCapabilities {
/**
@@ -491,7 +492,7 @@
* Indicates that a scan was interrupted/did not occur so results may be
* incomplete.
*/
- WIFI_SCAN_FLAG_INTERRUPTED = 1 << 0,
+ INTERRUPTED = 1 << 0,
};
/**
@@ -515,6 +516,50 @@
};
/**
+ * Structure describing the roaming control capabilities supported.
+ */
+struct StaRoamingCapabilities {
+ /**
+ * Maximum number of BSSID's that may be blacklisted.
+ */
+ uint32_t maxBlacklistSize;
+ /**
+ * Maximum number of SSID's that may be whitelisted.
+ */
+ uint32_t maxWhitelistSize;
+};
+
+/**
+ * Structure describing the roaming control configuration.
+ */
+struct StaRoamingConfig {
+ /**
+ * List of BSSID's that are blacklisted for roaming.
+ */
+ vec<Bssid> bssidBlacklist;
+ /**
+ * List of SSID's that are whitelisted for roaming.
+ */
+ vec<Ssid> ssidWhitelist;
+};
+
+/**
+ * Enum describing the various states to set the roaming
+ * control to.
+ */
+enum StaRoamingState : uint8_t {
+ /**
+ * Driver/Firmware is allowed to perform roaming respecting
+ * the |StaRoamingConfig| parameters set using |configureRoaming|.
+ */
+ ENABLED = 0,
+ /**
+ * Driver/Firmware must not perform any roaming.
+ */
+ DISABLED = 1
+};
+
+/**
* NAN specific types.
* TODO(b/32159498): Move to a separate nan_types.hal.
*/
@@ -2183,13 +2228,6 @@
};
/**
- * NBD ranging channel map.
- */
-struct RttChannelMap {
- WifiChannelInMhz[32] availablity;
-};
-
-/**
* RTT Capabilities.
*/
struct RttCapabilities {
@@ -2231,45 +2269,6 @@
};
/**
- * Debugging definitions.
- */
-enum RttDebugType : uint32_t {
- DISABLE,
- LOG,
- PROTO,
- BURST,
- ACCURACY,
- LOGDETAIL,
-};
-
-enum RttDebugFormat : uint32_t {
- TXT,
- BINARY,
-};
-
-/**
- * Debug info.
- */
-struct RttDebugInfo {
- /**
- * Version info.
- */
- uint32_t version;
- /**
- * Debug data type.
- */
- RttDebugType type;
- /**
- * Debug data format.
- */
- RttDebugFormat format;
- /**
- * Debug data content.
- */
- vec<uint8_t> data;
-};
-
-/**
* Structs for setting LCI/LCR information to be provided to a requestor.
*/
enum RttMotionPattern : uint32_t {
@@ -3053,7 +3052,7 @@
*/
struct WifiDebugTxPacketFateReport {
WifiDebugTxPacketFate fate;
- WifiDebugPacketFateFrameInfo frameInf;
+ WifiDebugPacketFateFrameInfo frameInfo;
};
/**
diff --git a/wifi/supplicant/1.0/Android.mk b/wifi/supplicant/1.0/Android.mk
index 41669da..02a62b6 100644
--- a/wifi/supplicant/1.0/Android.mk
+++ b/wifi/supplicant/1.0/Android.mk
@@ -19,7 +19,7 @@
#
# Build types.hal (IfaceType)
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/IfaceType.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/IfaceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -38,7 +38,7 @@
#
# Build types.hal (SupplicantStatus)
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/SupplicantStatus.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/SupplicantStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -57,7 +57,7 @@
#
# Build types.hal (SupplicantStatusCode)
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/SupplicantStatusCode.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/SupplicantStatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -76,7 +76,7 @@
#
# Build ISupplicant.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicant.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicant.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicant.hal
@@ -101,7 +101,7 @@
#
# Build ISupplicantCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantCallback.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantCallback.hal
@@ -120,7 +120,7 @@
#
# Build ISupplicantIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantIface.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantIface.hal
@@ -143,7 +143,7 @@
#
# Build ISupplicantNetwork.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantNetwork.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantNetwork.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantNetwork.hal
@@ -164,7 +164,7 @@
#
# Build ISupplicantP2pIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pIface.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pIface.hal
@@ -189,7 +189,7 @@
#
# Build ISupplicantP2pIfaceCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantP2pIfaceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pIfaceCallback.hal
@@ -210,7 +210,7 @@
#
# Build ISupplicantP2pNetwork.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pNetwork.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantP2pNetwork.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pNetwork.hal
@@ -235,7 +235,7 @@
#
# Build ISupplicantP2pNetworkCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantP2pNetworkCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pNetworkCallback.hal
@@ -254,7 +254,7 @@
#
# Build ISupplicantStaIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaIface.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantStaIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaIface.hal
@@ -279,7 +279,7 @@
#
# Build ISupplicantStaIfaceCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaIfaceCallback.hal
@@ -300,7 +300,7 @@
#
# Build ISupplicantStaNetwork.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaNetwork.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaNetwork.hal
@@ -325,7 +325,7 @@
#
# Build ISupplicantStaNetworkCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaNetworkCallback.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantStaNetworkCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaNetworkCallback.hal
@@ -360,7 +360,7 @@
#
# Build types.hal (IfaceType)
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/IfaceType.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/IfaceType.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -379,7 +379,7 @@
#
# Build types.hal (SupplicantStatus)
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/SupplicantStatus.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/SupplicantStatus.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -398,7 +398,7 @@
#
# Build types.hal (SupplicantStatusCode)
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/SupplicantStatusCode.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/SupplicantStatusCode.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -417,7 +417,7 @@
#
# Build ISupplicant.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicant.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicant.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicant.hal
@@ -442,7 +442,7 @@
#
# Build ISupplicantCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantCallback.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantCallback.hal
@@ -461,7 +461,7 @@
#
# Build ISupplicantIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantIface.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantIface.hal
@@ -484,7 +484,7 @@
#
# Build ISupplicantNetwork.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantNetwork.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantNetwork.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantNetwork.hal
@@ -505,7 +505,7 @@
#
# Build ISupplicantP2pIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pIface.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pIface.hal
@@ -530,7 +530,7 @@
#
# Build ISupplicantP2pIfaceCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pIfaceCallback.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantP2pIfaceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pIfaceCallback.hal
@@ -551,7 +551,7 @@
#
# Build ISupplicantP2pNetwork.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pNetwork.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantP2pNetwork.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pNetwork.hal
@@ -576,7 +576,7 @@
#
# Build ISupplicantP2pNetworkCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantP2pNetworkCallback.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantP2pNetworkCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantP2pNetworkCallback.hal
@@ -595,7 +595,7 @@
#
# Build ISupplicantStaIface.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaIface.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantStaIface.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaIface.hal
@@ -620,7 +620,7 @@
#
# Build ISupplicantStaIfaceCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaIfaceCallback.hal
@@ -641,7 +641,7 @@
#
# Build ISupplicantStaNetwork.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaNetwork.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaNetwork.hal
@@ -666,7 +666,7 @@
#
# Build ISupplicantStaNetworkCallback.hal
#
-GEN := $(intermediates)/android/hardware/wifi/supplicant/1.0/ISupplicantStaNetworkCallback.java
+GEN := $(intermediates)/android/hardware/wifi/supplicant/V1_0/ISupplicantStaNetworkCallback.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/ISupplicantStaNetworkCallback.hal
diff --git a/wifi/supplicant/1.0/ISupplicant.hal b/wifi/supplicant/1.0/ISupplicant.hal
index 32d73da..34cea18 100644
--- a/wifi/supplicant/1.0/ISupplicant.hal
+++ b/wifi/supplicant/1.0/ISupplicant.hal
@@ -44,14 +44,14 @@
* controlled by the supplicant.
*/
struct IfaceInfo {
- /**
- * Type of the network interface.
- */
- IfaceType type;
- /**
- * Name of the network interface, e.g., wlan0
- */
- string name;
+ /**
+ * Type of the network interface.
+ */
+ IfaceType type;
+ /**
+ * Name of the network interface, e.g., wlan0
+ */
+ string name;
};
/**
diff --git a/wifi/supplicant/1.0/ISupplicantP2pIface.hal b/wifi/supplicant/1.0/ISupplicantP2pIface.hal
index 48a4f5b..cd5a7c5 100644
--- a/wifi/supplicant/1.0/ISupplicantP2pIface.hal
+++ b/wifi/supplicant/1.0/ISupplicantP2pIface.hal
@@ -37,11 +37,7 @@
/**
* Keypad pin method configuration - pin is entered on device.
*/
- KEYPAD,
- /**
- * Label pin method configuration - pin is labelled on device.
- */
- LABEL
+ KEYPAD
};
enum GroupCapabilityMask : uint32_t {
@@ -55,6 +51,31 @@
};
/**
+ * Use to specify a range of frequencies.
+ * For example: 2412-2432,2462,5000-6000, etc.
+ */
+ struct FreqRange {
+ uint32_t min;
+ uint32_t max;
+ };
+
+ /**
+ * Enum describing the modes of Miracast supported
+ * via driver commands.
+ */
+ enum MiracastMode : uint8_t {
+ DISABLED = 0,
+ /**
+ * Operating as source.
+ */
+ SOURCE = 1,
+ /**
+ * Operating as sink.
+ */
+ SINK = 2
+ };
+
+ /**
* Register for callbacks from this interface.
*
* These callbacks are invoked for events that are specific to this interface.
@@ -97,7 +118,7 @@
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
- setSsidPostfix(string postfix) generates (SupplicantStatus status);
+ setSsidPostfix(vec<uint8_t> postfix) generates (SupplicantStatus status);
/**
* Set the Maximum idle time in seconds for P2P groups.
@@ -106,6 +127,7 @@
* associated stations in the group. As a P2P client, this means no
* group owner seen in scan results.
*
+ * @param groupIfName Group interface name to use.
* @param timeoutInSec Timeout value in seconds.
* @return status Status of the operation.
* Possible status codes:
@@ -113,11 +135,13 @@
* |SupplicantStatusCode.FAILURE_UNKNOWN|,
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|
*/
- setGroupIdle(uint32_t timeoutInSec) generates (SupplicantStatus status);
+ setGroupIdle(string groupIfName, uint32_t timeoutInSec)
+ generates (SupplicantStatus status);
/**
* Turn on/off power save mode for the interface.
*
+ * @param groupIfName Group interface name to use.
* @param enable Indicate if power save is to be turned on/off.
* @return status Status of the operation.
* Possible status codes:
@@ -126,7 +150,8 @@
* |SupplicantStatusCode.FAILURE_IFACE_INVALID|,
* |SupplicantStatusCode.FAILURE_IFACE_DISABLED|
*/
- setPowerSave(bool enable) generates (SupplicantStatus status);
+ setPowerSave(string groupIfName, bool enable)
+ generates (SupplicantStatus status);
/**
* Initiate a P2P service discovery with an optional timeout.
@@ -192,11 +217,11 @@
*/
connect(MacAddress peerAddress,
WpsProvisionMethod provisionMethod,
- vec<uint8_t> preSelectedPin,
+ string preSelectedPin,
bool joinExistingGroup,
bool persistent,
uint32_t goIntent)
- generates (SupplicantStatus status, vec<uint8_t> generatedPin);
+ generates (SupplicantStatus status, string generatedPin);
/**
* Cancel an ongoing P2P group formation and joining-a-group related
@@ -358,6 +383,21 @@
generates (SupplicantStatus status);
/**
+ * Set P2P disallowed frequency ranges.
+ *
+ * Specify ranges of frequencies that are disallowed for any p2p operations.
+
+ * @param ranges List of ranges which needs to be disallowed.
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_IFACE_INVALID|
+ */
+ setDisallowedFrequencies(vec<FreqRange> ranges)
+ generates (SupplicantStatus status);
+
+ /**
* Gets the operational SSID of the device.
*
* @param peerAddress MAC address of the peer.
@@ -487,4 +527,16 @@
*/
cancelServiceDiscovery(uint64_t identifier)
generates (SupplicantStatus status);
+
+ /**
+ * Send driver command to set Miracast mode.
+ *
+ * @param mode Mode of Miracast.
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|
+ */
+ setMiracastMode(MiracastMode mode)
+ generates (SupplicantStatus status);
};
diff --git a/wifi/supplicant/1.0/ISupplicantStaIface.hal b/wifi/supplicant/1.0/ISupplicantStaIface.hal
index 868758e..2fc4d0f 100644
--- a/wifi/supplicant/1.0/ISupplicantStaIface.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaIface.hal
@@ -28,7 +28,7 @@
* Access Network Query Protocol info ID elements
* for IEEE Std 802.11u-2011.
*/
- enum AnqpInfoId : uint32_t {
+ enum AnqpInfoId : uint16_t {
VENUE_NAME = 258,
ROAMING_CONSORTIUM = 261,
IP_ADDR_TYPE_AVAILABILITY = 262,
@@ -42,13 +42,32 @@
* for Hotspot 2.0.
*/
enum Hs20AnqpSubtypes : uint32_t {
- OPERATOR_FRIENDLY_NAME = 2,
+ OPERATOR_FRIENDLY_NAME = 3,
WAN_METRICS = 4,
CONNECTION_CAPABILITY = 5,
OSU_PROVIDERS_LIST = 8,
};
/**
+ * Enum describing the types of RX filter supported
+ * via driver commands.
+ */
+ enum RxFilterType : uint8_t {
+ V4_MULTICAST = 0,
+ V6_MULTICAST = 1
+ };
+
+ /**
+ * Enum describing the modes of BT coexistence supported
+ * via driver commands.
+ */
+ enum BtCoexistenceMode : uint8_t {
+ ENABLED = 0,
+ DISABLED = 1,
+ SENSE = 2
+ };
+
+ /**
* Register for callbacks from this interface.
*
* These callbacks are invoked for events that are specific to this interface.
@@ -120,7 +139,7 @@
setPowerSave(bool enable) generates (SupplicantStatus status);
/**
- * Initiate TDLS discover with the provided peer mac address.
+ * Initiate TDLS discover with the provided peer MAC address.
*
* @param macAddress MAC address of the peer.
* @return status Status of the operation.
@@ -133,7 +152,7 @@
generates (SupplicantStatus status);
/**
- * Initiate TDLS setup with the provided peer mac address.
+ * Initiate TDLS setup with the provided peer MAC address.
*
* @param macAddress MAC address of the peer.
* @return status Status of the operation.
@@ -146,7 +165,7 @@
generates (SupplicantStatus status);
/**
- * Initiate TDLS teardown with the provided peer mac address.
+ * Initiate TDLS teardown with the provided peer MAC address.
*
* @param macAddress MAC address of the peer.
* @return status Status of the operation.
@@ -193,4 +212,111 @@
*/
initiateHs20IconQuery(MacAddress macAddress, string fileName)
generates (SupplicantStatus status);
+
+ /**
+ * Send driver command to get MAC address of the device.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|
+ * @return macAddr MAC address of the device.
+ */
+ getMacAddress()
+ generates (SupplicantStatus status, MacAddress macAddr);
+
+ /**
+ * Send driver command to start RX filter.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|
+ */
+ startRxFilter() generates (SupplicantStatus status);
+
+ /**
+ * Send driver command to stop RX filter.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|
+ */
+ stopRxFilter() generates (SupplicantStatus status);
+
+ /**
+ * Send driver command to add the specified RX filter.
+ *
+ * @param type Type of filter.
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|
+ */
+ addRxFilter(RxFilterType type)
+ generates (SupplicantStatus status);
+
+ /**
+ * Send driver command to remove the specified RX filter.
+ *
+ * @param type Type of filter.
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|
+ */
+ removeRxFilter(RxFilterType type)
+ generates (SupplicantStatus status);
+
+ /**
+ * Send driver command to set Bluetooth coexistence mode.
+ *
+ * @param mode Mode of Bluetooth coexistence.
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|
+ */
+ setBtCoexistenceMode(BtCoexistenceMode mode)
+ generates (SupplicantStatus status);
+
+ /**
+ * Send driver command to set Bluetooth coexistence scan mode.
+ * When this mode is on, some of the low-level scan parameters
+ * used by the driver are changed to reduce interference
+ * with A2DP streaming.
+ *
+ * @param enable true to enable, false to disable.
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|
+ */
+ setBtCoexistenceScanModeEnabled(bool enable)
+ generates (SupplicantStatus status);
+
+ /**
+ * Send driver command to set suspend optimizations for power save.
+ *
+ * @param enable true to enable, false to disable.
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|
+ */
+ setSuspendModeEnabled(bool enable)
+ generates (SupplicantStatus status);
+
+ /**
+ * Send driver command to set country code.
+ *
+ * @param code 2 byte country code (as defined in ISO 3166) to set.
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|
+ */
+ setCountryCode(int8_t[2] code)
+ generates (SupplicantStatus status);
};
diff --git a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
index 4c66eba..8a894a0 100644
--- a/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaIfaceCallback.hal
@@ -209,6 +209,7 @@
/**
* Used to indicate a Hotspot 2.0 imminent deauth notice.
+ *
* @param reasonCode Code to indicate the deauth reason.
* Refer to section 3.2.1.2 of the Hotspot 2.0 spec.
* @param reAuthDelayInSec Delay before reauthenticating.
@@ -217,4 +218,28 @@
oneway onHs20DeauthImminentNotice(uint32_t reasonCode,
uint32_t reAuthDelayInSec,
string url);
+
+ /**
+ * Used to indicate a disconnect from the currently connected
+ * network on this iface,.
+ *
+ * @param bssid BSSID of the AP from which we disconnected.
+ * @param locallyGenerated If the disconnect was triggered by
+ * wpa_supplicant.
+ * @param reasonCode 802.11 code to indicate the disconnect reason
+ * from access point. Refer to section 8.4.1.7 of IEEE802.11 spec.
+ */
+ oneway onDisconnected(
+ Bssid bssid, bool locallyGenerated, uint32_t reasonCode);
+
+ /**
+ * Used to indicate an association rejection recieved from the AP
+ * to which the connection is being attempted.
+ *
+ * @param bssid BSSID of the corresponding AP which sent this
+ * reject.
+ * @param statusCode 802.11 code to indicate the reject reason.
+ * Refer to section 8.4.1.9 of IEEE 802.11 spec.
+ */
+ oneway onAssociationRejected(Bssid bssid, uint32_t statusCode);
};
diff --git a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
index e414a07..479ba94 100644
--- a/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
+++ b/wifi/supplicant/1.0/ISupplicantStaNetwork.hal
@@ -453,7 +453,7 @@
setEapSubjectMatch(string match) generates (SupplicantStatus status);
/**
- * Set EAP Altsubject match for this network.
+ * Set EAP Alt subject match for this network.
*
* @param match value to set.
* @return status Status of the operation.
@@ -649,6 +649,184 @@
getRequirePmf() generates (SupplicantStatus status, bool enabled);
/**
+ * Get EAP Method set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return method value set.
+ * Must be one of |EapMethod| values.
+ */
+ getEapMethod()
+ generates (SupplicantStatus status, EapMethod method);
+
+ /**
+ * Get EAP Phase2 Method set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return method value set.
+ * Must be one of |EapPhase2Method| values.
+ */
+ getEapPhase2Method()
+ generates (SupplicantStatus status, EapPhase2Method method);
+
+ /**
+ * Get EAP Identity set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return identity value set.
+ */
+ getEapIdentity()
+ generates (SupplicantStatus status, vec<uint8_t> identity);
+
+ /**
+ * Get EAP Anonymous Identity set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return identity value set.
+ */
+ getEapAnonymousIdentity()
+ generates (SupplicantStatus status, vec<uint8_t> identity);
+
+ /**
+ * Get EAP Password set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return password value set.
+ */
+ getEapPassword()
+ generates (SupplicantStatus status, vec<uint8_t> password);
+
+ /**
+ * Get EAP CA certificate file path set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return path value set.
+ */
+ getEapCACert() generates (SupplicantStatus status, string path);
+
+ /**
+ * Get EAP CA certificate directory path set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return path value set.
+ */
+ getEapCAPath() generates (SupplicantStatus status, string path);
+
+ /**
+ * Get EAP Client certificate file path set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return path value set.
+ */
+ getEapClientCert() generates (SupplicantStatus status, string path);
+
+ /**
+ * Get EAP private key file path set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return path value set.
+ */
+ getEapPrivateKey() generates (SupplicantStatus status, string path);
+
+ /**
+ * Get EAP subject match set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return match value set.
+ */
+ getEapSubjectMatch() generates (SupplicantStatus status, string match);
+
+ /**
+ * Get EAP Alt subject match set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return match value set.
+ */
+ getEapAltSubjectMatch()
+ generates (SupplicantStatus status, string match);
+
+ /**
+ * Get if EAP Open SSL Engine is enabled for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return enabled true if set, false otherwise.
+ */
+ getEapEngine() generates (SupplicantStatus status, bool enabled);
+
+ /**
+ * Get EAP Open SSL Engine ID set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return id value set.
+ */
+ getEapEngineID() generates (SupplicantStatus status, string id);
+
+ /**
+ * Get EAP Domain suffix match set for this network.
+ *
+ * @return status Status of the operation.
+ * Possible status codes:
+ * |SupplicantStatusCode.SUCCESS|,
+ * |SupplicantStatusCode.FAILURE_ARGS_INVALID|,
+ * |SupplicantStatusCode.FAILURE_UNKNOWN|,
+ * |SupplicantStatusCode.FAILURE_NETWORK_INVALID|
+ * @return match value set.
+ */
+ getEapDomainSuffixMatch()
+ generates (SupplicantStatus status, string match);
+
+ /**
* Enable the network for connection purposes.
*
* This must trigger a connection to the network if: