Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 31a0f284 authored by Devin Moore's avatar Devin Moore Committed by Automerger Merge Worker
Browse files

Deprecate AImageReader_getWindowNativeHandle am: 5f86662a am: 6e79ebb7

parents 268732d6 6e79ebb7
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -177,6 +177,7 @@ cc_test {
    shared_libs: [
        "libcamera2ndk_vendor",
        "libcamera_metadata",
        "libhidlbase",
        "libmediandk",
        "libnativewindow",
        "libutils",
@@ -186,6 +187,7 @@ cc_test {
    ],
    static_libs: [
        "android.hardware.camera.common@1.0-helper",
        "android.hidl.token@1.0",
    ],
    cflags: [
        "-D__ANDROID_VNDK__",
+13 −0
Original line number Diff line number Diff line
@@ -31,10 +31,13 @@
#include <stdio.h>

#include <android/log.h>
#include <android/hidl/manager/1.2/IServiceManager.h>
#include <android/hidl/token/1.0/ITokenManager.h>
#include <camera/NdkCameraError.h>
#include <camera/NdkCameraManager.h>
#include <camera/NdkCameraDevice.h>
#include <camera/NdkCameraCaptureSession.h>
#include <hidl/ServiceManagement.h>
#include <media/NdkImage.h>
#include <media/NdkImageReader.h>
#include <cutils/native_handle.h>
@@ -50,6 +53,8 @@ static constexpr int kTestImageHeight = 480;
static constexpr int kTestImageFormat = AIMAGE_FORMAT_YUV_420_888;

using android::hardware::camera::common::V1_0::helper::VendorTagDescriptorCache;
using android::hidl::manager::V1_0::IServiceManager;
using android::hidl::token::V1_0::ITokenManager;
using ConfiguredWindows = std::set<const native_handle_t *>;

class CameraHelper {
@@ -981,11 +986,19 @@ class AImageReaderVendorTest : public ::testing::Test {


TEST_F(AImageReaderVendorTest, CreateWindowNativeHandle) {
    auto transport = android::hardware::defaultServiceManager()->getTransport(ITokenManager::descriptor, "default");
    if (transport.isOk() && transport == IServiceManager::Transport::EMPTY) {
        GTEST_SKIP() << "This device no longer supports AImageReader_getWindowNativeHandle";
    }
    testBasicTakePictures(/*prepareSurfaces*/ false);
    testBasicTakePictures(/*prepareSurfaces*/ true);
}

TEST_F(AImageReaderVendorTest, LogicalCameraPhysicalStream) {
    auto transport = android::hardware::defaultServiceManager()->getTransport(ITokenManager::descriptor, "default");
    if (transport.isOk() && transport == IServiceManager::Transport::EMPTY) {
        GTEST_SKIP() << "This device no longer supports AImageReader_getWindowNativeHandle";
    }
    for (auto & v2 : {true, false}) {
        testLogicalCameraPhysicalStream(false/*usePhysicalSettings*/, v2);
        testLogicalCameraPhysicalStream(true/*usePhysicalSettings*/, v2);
+3 −0
Original line number Diff line number Diff line
@@ -570,6 +570,9 @@ AImageReader::releaseImageLocked(AImage* image, int releaseFenceFd, bool clearCa
    }
}

// The LL-NDK API is now deprecated. New devices will no longer have the token
// manager service installed, so createHalToken will return false and this
// will return AMEDIA_ERROR_UNKNOWN on those devices.
media_status_t AImageReader::getWindowNativeHandle(native_handle **handle) {
    if (mWindowHandle != nullptr) {
        *handle = mWindowHandle;
+4 −2
Original line number Diff line number Diff line
@@ -540,9 +540,11 @@ media_status_t AImageReader_setBufferRemovedListener(
 *
 * @return AMEDIA_OK if the method call succeeds.
 *         AMEDIA_ERROR_INVALID_PARAMETER if reader or handle are NULL.
 *         AMEDIA_ERROR_UNKNOWN if some other error is encountered.
 *         AMEDIA_ERROR_UNKNOWN if some other error is encountered or
 *         the device no longer has android.hidl.token service to
 *         satisfy the request because it is deprecated.
 */
media_status_t AImageReader_getWindowNativeHandle(
[[deprecated]] media_status_t AImageReader_getWindowNativeHandle(
    AImageReader *reader, /* out */native_handle_t **handle);
#endif