Use newly introduced hidl_handle.
Bug: 32089785
Test: builds
Change-Id: I27c7d3945e1fe390661bf322987011a00fe9b3fe
diff --git a/audio/2.0/default/Device.cpp b/audio/2.0/default/Device.cpp
index 05824c7..339f371 100644
--- a/audio/2.0/default/Device.cpp
+++ b/audio/2.0/default/Device.cpp
@@ -520,7 +520,7 @@
return setParametersImpl(parameters);
}
-Return<void> Device::debugDump(const native_handle_t* fd) {
+Return<void> Device::debugDump(const hidl_handle& fd) {
if (fd->numFds == 1) {
analyzeStatus("dump", mDevice->dump(mDevice, fd->data[0]));
}
diff --git a/audio/2.0/default/Device.h b/audio/2.0/default/Device.h
index d7b3128..3fd67e3 100644
--- a/audio/2.0/default/Device.h
+++ b/audio/2.0/default/Device.h
@@ -102,7 +102,7 @@
Return<void> getParameters(
const hidl_vec<hidl_string>& keys, getParameters_cb _hidl_cb) override;
Return<Result> setParameters(const hidl_vec<ParameterValue>& parameters) override;
- Return<void> debugDump(const native_handle_t* fd) override;
+ Return<void> debugDump(const hidl_handle& fd) override;
// Utility methods for extending interfaces.
Result analyzeStatus(const char* funcName, int status);
diff --git a/audio/2.0/default/PrimaryDevice.cpp b/audio/2.0/default/PrimaryDevice.cpp
index 9f5180c..a8aa5ec 100644
--- a/audio/2.0/default/PrimaryDevice.cpp
+++ b/audio/2.0/default/PrimaryDevice.cpp
@@ -119,7 +119,7 @@
return mDevice->setParameters(parameters);
}
-Return<void> PrimaryDevice::debugDump(const native_handle_t* fd) {
+Return<void> PrimaryDevice::debugDump(const hidl_handle& fd) {
return mDevice->debugDump(fd);
}
diff --git a/audio/2.0/default/PrimaryDevice.h b/audio/2.0/default/PrimaryDevice.h
index 4c5b590..968c208 100644
--- a/audio/2.0/default/PrimaryDevice.h
+++ b/audio/2.0/default/PrimaryDevice.h
@@ -88,7 +88,7 @@
Return<void> getParameters(
const hidl_vec<hidl_string>& keys, getParameters_cb _hidl_cb) override;
Return<Result> setParameters(const hidl_vec<ParameterValue>& parameters) override;
- Return<void> debugDump(const native_handle_t* fd) override;
+ Return<void> debugDump(const hidl_handle& fd) override;
// Methods from ::android::hardware::audio::V2_0::IPrimaryDevice follow.
Return<Result> setVoiceVolume(float volume) override;
diff --git a/audio/2.0/default/Stream.cpp b/audio/2.0/default/Stream.cpp
index 7616bec..6d68f55 100644
--- a/audio/2.0/default/Stream.cpp
+++ b/audio/2.0/default/Stream.cpp
@@ -222,7 +222,7 @@
return setParametersImpl(parameters);
}
-Return<void> Stream::debugDump(const native_handle_t* fd) {
+Return<void> Stream::debugDump(const hidl_handle& fd) {
if (fd->numFds == 1) {
analyzeStatus("dump", mStream->dump(mStream, fd->data[0]));
}
diff --git a/audio/2.0/default/Stream.h b/audio/2.0/default/Stream.h
index f28fbff..3893af4 100644
--- a/audio/2.0/default/Stream.h
+++ b/audio/2.0/default/Stream.h
@@ -70,7 +70,7 @@
Return<void> getParameters(
const hidl_vec<hidl_string>& keys, getParameters_cb _hidl_cb) override;
Return<Result> setParameters(const hidl_vec<ParameterValue>& parameters) override;
- Return<void> debugDump(const native_handle_t* fd) override;
+ Return<void> debugDump(const hidl_handle& fd) override;
// Utility methods for extending interfaces.
Result analyzeStatus(const char* funcName, int status);
diff --git a/audio/2.0/default/StreamIn.cpp b/audio/2.0/default/StreamIn.cpp
index b590d1a..791e519 100644
--- a/audio/2.0/default/StreamIn.cpp
+++ b/audio/2.0/default/StreamIn.cpp
@@ -126,7 +126,7 @@
return mStreamCommon->setParameters(parameters);
}
-Return<void> StreamIn::debugDump(const native_handle_t* fd) {
+Return<void> StreamIn::debugDump(const hidl_handle& fd) {
return mStreamCommon->debugDump(fd);
}
diff --git a/audio/2.0/default/StreamIn.h b/audio/2.0/default/StreamIn.h
index 83f620c..c2a7ea2 100644
--- a/audio/2.0/default/StreamIn.h
+++ b/audio/2.0/default/StreamIn.h
@@ -72,7 +72,7 @@
Return<void> getParameters(
const hidl_vec<hidl_string>& keys, getParameters_cb _hidl_cb) override;
Return<Result> setParameters(const hidl_vec<ParameterValue>& parameters) override;
- Return<void> debugDump(const native_handle_t* fd) override;
+ Return<void> debugDump(const hidl_handle& fd) override;
// Methods from ::android::hardware::audio::V2_0::IStreamIn follow.
Return<void> getAudioSource(getAudioSource_cb _hidl_cb) override;
diff --git a/audio/2.0/default/StreamOut.cpp b/audio/2.0/default/StreamOut.cpp
index 34bae29..2106256 100644
--- a/audio/2.0/default/StreamOut.cpp
+++ b/audio/2.0/default/StreamOut.cpp
@@ -128,7 +128,7 @@
return mStreamCommon->setParameters(parameters);
}
-Return<void> StreamOut::debugDump(const native_handle_t* fd) {
+Return<void> StreamOut::debugDump(const hidl_handle& fd) {
return mStreamCommon->debugDump(fd);
}
diff --git a/audio/2.0/default/StreamOut.h b/audio/2.0/default/StreamOut.h
index 51b7df8..ca33b2d 100644
--- a/audio/2.0/default/StreamOut.h
+++ b/audio/2.0/default/StreamOut.h
@@ -74,7 +74,7 @@
Return<void> getParameters(
const hidl_vec<hidl_string>& keys, getParameters_cb _hidl_cb) override;
Return<Result> setParameters(const hidl_vec<ParameterValue>& parameters) override;
- Return<void> debugDump(const native_handle_t* fd) override;
+ Return<void> debugDump(const hidl_handle& fd) override;
// Methods from ::android::hardware::audio::V2_0::IStreamOut follow.
Return<uint32_t> getLatency() override;
diff --git a/audio/effect/2.0/default/EffectsFactory.cpp b/audio/effect/2.0/default/EffectsFactory.cpp
index 30fcb26..2b5d70b 100644
--- a/audio/effect/2.0/default/EffectsFactory.cpp
+++ b/audio/effect/2.0/default/EffectsFactory.cpp
@@ -182,7 +182,7 @@
return Void();
}
-Return<void> EffectsFactory::debugDump(const native_handle_t* fd) {
+Return<void> EffectsFactory::debugDump(const hidl_handle& fd) {
if (fd->numFds == 1) {
EffectDumpEffects(fd->data[0]);
}
diff --git a/audio/effect/2.0/default/EffectsFactory.h b/audio/effect/2.0/default/EffectsFactory.h
index 229356f..d934c93 100644
--- a/audio/effect/2.0/default/EffectsFactory.h
+++ b/audio/effect/2.0/default/EffectsFactory.h
@@ -47,7 +47,7 @@
Return<void> getDescriptor(const Uuid& uid, getDescriptor_cb _hidl_cb) override;
Return<void> createEffect(
const Uuid& uid, int32_t session, int32_t ioHandle, createEffect_cb _hidl_cb) override;
- Return<void> debugDump(const native_handle_t* fd) override;
+ Return<void> debugDump(const hidl_handle& fd) override;
private:
static sp<IEffect> dispatchEffectInstanceCreation(
diff --git a/graphics/composer/2.1/default/Hwc.cpp b/graphics/composer/2.1/default/Hwc.cpp
index 7fa5119..36c6e54 100644
--- a/graphics/composer/2.1/default/Hwc.cpp
+++ b/graphics/composer/2.1/default/Hwc.cpp
@@ -318,15 +318,15 @@
presentDisplay_cb hidl_cb) override;
Return<Error> setActiveConfig(Display display, Config config) override;
Return<Error> setClientTarget(Display display,
- const native_handle_t* target,
- const native_handle_t* acquireFence,
+ const hidl_handle& target,
+ const hidl_handle& acquireFence,
Dataspace dataspace, const hidl_vec<Rect>& damage) override;
Return<Error> setColorMode(Display display, ColorMode mode) override;
Return<Error> setColorTransform(Display display,
const hidl_vec<float>& matrix, ColorTransform hint) override;
Return<Error> setOutputBuffer(Display display,
- const native_handle_t* buffer,
- const native_handle_t* releaseFence) override;
+ const hidl_handle& buffer,
+ const hidl_handle& releaseFence) override;
Return<Error> setPowerMode(Display display, PowerMode mode) override;
Return<Error> setVsyncEnabled(Display display, Vsync enabled) override;
Return<void> validateDisplay(Display display,
@@ -334,8 +334,8 @@
Return<Error> setCursorPosition(Display display,
Layer layer, int32_t x, int32_t y) override;
Return<Error> setLayerBuffer(Display display,
- Layer layer, const native_handle_t* buffer,
- const native_handle_t* acquireFence) override;
+ Layer layer, const hidl_handle& buffer,
+ const hidl_handle& acquireFence) override;
Return<Error> setLayerSurfaceDamage(Display display,
Layer layer, const hidl_vec<Rect>& damage) override;
Return<Error> setLayerBlendMode(Display display,
@@ -351,7 +351,7 @@
Return<Error> setLayerPlaneAlpha(Display display,
Layer layer, float alpha) override;
Return<Error> setLayerSidebandStream(Display display,
- Layer layer, const native_handle_t* stream) override;
+ Layer layer, const hidl_handle& stream) override;
Return<Error> setLayerSourceCrop(Display display,
Layer layer, const FRect& crop) override;
Return<Error> setLayerTransform(Display display,
@@ -1027,17 +1027,18 @@
}
Return<Error> HwcHal::setClientTarget(Display display,
- const native_handle_t* target,
- const native_handle_t* acquireFence,
+ const hidl_handle& target,
+ const hidl_handle& acquireFence,
Dataspace dataspace, const hidl_vec<Rect>& damage)
{
- if (!sHandleImporter.importBuffer(target)) {
+ const native_handle_t* targetHandle = target.getNativeHandle();
+ if (!sHandleImporter.importBuffer(targetHandle)) {
return Error::NO_RESOURCES;
}
int32_t fence;
if (!sHandleImporter.importFence(acquireFence, fence)) {
- sHandleImporter.freeBuffer(target);
+ sHandleImporter.freeBuffer(targetHandle);
return Error::NO_RESOURCES;
}
@@ -1045,13 +1046,13 @@
reinterpret_cast<const hwc_rect_t*>(&damage[0]) };
int32_t error = mDispatch.setClientTarget(mDevice, display,
- target, fence, static_cast<int32_t>(dataspace),
+ targetHandle, fence, static_cast<int32_t>(dataspace),
damage_region);
if (error == HWC2_ERROR_NONE) {
std::lock_guard<std::mutex> lock(mDisplayMutex);
auto dpy = mDisplays.find(display);
- dpy->second.ClientTarget = target;
+ dpy->second.ClientTarget = targetHandle;
} else {
sHandleImporter.freeBuffer(target);
sHandleImporter.closeFence(fence);
@@ -1076,28 +1077,29 @@
}
Return<Error> HwcHal::setOutputBuffer(Display display,
- const native_handle_t* buffer,
- const native_handle_t* releaseFence)
+ const hidl_handle& buffer,
+ const hidl_handle& releaseFence)
{
- if (!sHandleImporter.importBuffer(buffer)) {
+ const native_handle_t* bufferHandle = buffer.getNativeHandle();
+ if (!sHandleImporter.importBuffer(bufferHandle)) {
return Error::NO_RESOURCES;
}
int32_t fence;
if (!sHandleImporter.importFence(releaseFence, fence)) {
- sHandleImporter.freeBuffer(buffer);
+ sHandleImporter.freeBuffer(bufferHandle);
return Error::NO_RESOURCES;
}
int32_t error = mDispatch.setOutputBuffer(mDevice,
- display, buffer, fence);
+ display, bufferHandle, fence);
if (error == HWC2_ERROR_NONE) {
std::lock_guard<std::mutex> lock(mDisplayMutex);
auto dpy = mDisplays.find(display);
- dpy->second.OutputBuffer = buffer;
+ dpy->second.OutputBuffer = bufferHandle;
} else {
- sHandleImporter.freeBuffer(buffer);
+ sHandleImporter.freeBuffer(bufferHandle);
}
// unlike in setClientTarget, fence is owned by us and is always closed
@@ -1142,28 +1144,29 @@
}
Return<Error> HwcHal::setLayerBuffer(Display display,
- Layer layer, const native_handle_t* buffer,
- const native_handle_t* acquireFence)
+ Layer layer, const hidl_handle& buffer,
+ const hidl_handle& acquireFence)
{
- if (!sHandleImporter.importBuffer(buffer)) {
+ const native_handle_t* bufferHandle = buffer.getNativeHandle();
+ if (!sHandleImporter.importBuffer(bufferHandle)) {
return Error::NO_RESOURCES;
}
int32_t fence;
if (!sHandleImporter.importFence(acquireFence, fence)) {
- sHandleImporter.freeBuffer(buffer);
+ sHandleImporter.freeBuffer(bufferHandle);
return Error::NO_RESOURCES;
}
int32_t error = mDispatch.setLayerBuffer(mDevice,
- display, layer, buffer, fence);
+ display, layer, bufferHandle, fence);
if (error == HWC2_ERROR_NONE) {
std::lock_guard<std::mutex> lock(mDisplayMutex);
auto dpy = mDisplays.find(display);
- dpy->second.LayerBuffers[layer] = buffer;
+ dpy->second.LayerBuffers[layer] = bufferHandle;
} else {
- sHandleImporter.freeBuffer(buffer);
+ sHandleImporter.freeBuffer(bufferHandle);
sHandleImporter.closeFence(fence);
}
@@ -1230,21 +1233,22 @@
}
Return<Error> HwcHal::setLayerSidebandStream(Display display,
- Layer layer, const native_handle_t* stream)
+ Layer layer, const hidl_handle& stream)
{
- if (!sHandleImporter.importBuffer(stream)) {
+ const native_handle_t* streamHandle = stream.getNativeHandle();
+ if (!sHandleImporter.importBuffer(streamHandle)) {
return Error::NO_RESOURCES;
}
int32_t error = mDispatch.setLayerSidebandStream(mDevice,
- display, layer, stream);
+ display, layer, streamHandle);
if (error == HWC2_ERROR_NONE) {
std::lock_guard<std::mutex> lock(mDisplayMutex);
auto dpy = mDisplays.find(display);
- dpy->second.LayerSidebandStreams[layer] = stream;
+ dpy->second.LayerSidebandStreams[layer] = streamHandle;
} else {
- sHandleImporter.freeBuffer(stream);
+ sHandleImporter.freeBuffer(streamHandle);
}
return static_cast<Error>(error);
diff --git a/tests/bar/1.0/default/Bar.cpp b/tests/bar/1.0/default/Bar.cpp
index 2158cd8..c07e2fa 100644
--- a/tests/bar/1.0/default/Bar.cpp
+++ b/tests/bar/1.0/default/Bar.cpp
@@ -153,8 +153,8 @@
return Void();
}
-Return<void> Bar::expectNullHandle(const native_handle_t* h, const Abc& xyz, expectNullHandle_cb _hidl_cb) {
- ALOGI("SERVER(Bar) h = %p, xyz.z = %p", h, static_cast<void*>(xyz.z));
+Return<void> Bar::expectNullHandle(const hidl_handle& h, const Abc& xyz, expectNullHandle_cb _hidl_cb) {
+ ALOGI("SERVER(Bar) h = %p, xyz.z = %p", h.getNativeHandle(), xyz.z.getNativeHandle());
_hidl_cb(h == nullptr, xyz.z == nullptr);
return Void();
}
diff --git a/tests/bar/1.0/default/Bar.h b/tests/bar/1.0/default/Bar.h
index 4e22b61..29eedec 100644
--- a/tests/bar/1.0/default/Bar.h
+++ b/tests/bar/1.0/default/Bar.h
@@ -64,7 +64,7 @@
// Methods from ::android::hardware::tests::bar::V1_0::IBar follow.
Return<void> thisIsNew() override;
- Return<void> expectNullHandle(const native_handle_t* h, const Abc& xyz, expectNullHandle_cb _hidl_cb) override;
+ Return<void> expectNullHandle(const hidl_handle& h, const Abc& xyz, expectNullHandle_cb _hidl_cb) override;
private:
sp<IFoo> mFoo;
diff --git a/tests/foo/1.0/default/Foo.cpp b/tests/foo/1.0/default/Foo.cpp
index f7cc7c0..a1df3b2 100644
--- a/tests/foo/1.0/default/Foo.cpp
+++ b/tests/foo/1.0/default/Foo.cpp
@@ -309,7 +309,7 @@
}
Return<void> Foo::createHandles(uint32_t size, createHandles_cb _hidl_cb) {
- hidl_vec<const native_handle_t*> handles;
+ hidl_vec<hidl_handle> handles;
handles.resize(size);
for(uint32_t i = 0; i < size; ++i) {
createMyHandle([&](const MyHandle& h) {