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

Commit 08bf0965 authored by Xin Li's avatar Xin Li Committed by Gerrit Code Review
Browse files

Merge "Merge 25Q1 (ab/BP1A.250305.020) to AOSP main" into main

parents 89f3a6fe 3210c7e7
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -37,5 +37,7 @@ enum PermissionEnum {
    CAPTURE_TUNER_AUDIO_INPUT = 11,
    CAPTURE_VOICE_COMMUNICATION_OUTPUT = 12,
    BLUETOOTH_CONNECT = 13,
    ENUM_SIZE = 14, // Not for actual usage, used by Java
    BYPASS_CONCURRENT_RECORD_AUDIO_RESTRICTION = 14,
    MODIFY_AUDIO_SETTINGS_PRIVILEGED = 15,
    ENUM_SIZE = 16, // Not for actual usage, used by Java
}
+7 −0
Original line number Diff line number Diff line
@@ -82,6 +82,8 @@ cc_library {
        include_dirs: [
            "frameworks/native/aidl/gui",
            "frameworks/native/libs/permission/aidl",
            "hardware/interfaces/common/fmq/aidl",
            "hardware/interfaces/common/aidl",
        ],
    },

@@ -112,6 +114,8 @@ cc_library {
    ],

    shared_libs: [
        "android.hardware.common.fmq-V1-cpp",
        "android.hardware.common-V2-cpp",
        "camera_platform_flags_c_lib",
        "framework-permission-aidl-cpp",
        "lib-platform-compat-native-api",
@@ -136,6 +140,8 @@ cc_library {
    ],
    export_shared_lib_headers: [
        "framework-permission-aidl-cpp",
        "android.hardware.common.fmq-V1-cpp",
        "android.hardware.common-V2-cpp",
        "libcamera_metadata",
        "libgui",
        "libnativewindow",
@@ -187,6 +193,7 @@ filegroup {
        "aidl/android/hardware/camera2/ICameraInjectionCallback.aidl",
        "aidl/android/hardware/camera2/ICameraInjectionSession.aidl",
        "aidl/android/hardware/camera2/ICameraOfflineSession.aidl",
        "aidl/android/hardware/camera2/CameraMetadataInfo.aidl",
    ],
    path: "aidl",
}
+14 −18
Original line number Diff line number Diff line
@@ -99,23 +99,21 @@ status_t Camera::unlock()
    return c->unlock();
}

// pass the buffered IGraphicBufferProducer to the camera service
status_t Camera::setPreviewTarget(const sp<IGraphicBufferProducer>& bufferProducer)
{
    ALOGV("setPreviewTarget(%p)", bufferProducer.get());
// pass the Surface to the camera service
status_t Camera::setPreviewTarget(const sp<SurfaceType>& target) {
    ALOGV("setPreviewTarget(%p)", target.get());
    sp<::android::hardware::ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    ALOGD_IF(bufferProducer == 0, "app passed NULL surface");
    return c->setPreviewTarget(bufferProducer);
    ALOGD_IF(target == 0, "app passed NULL surface");
    return c->setPreviewTarget(target);
}

status_t Camera::setVideoTarget(const sp<IGraphicBufferProducer>& bufferProducer)
{
    ALOGV("setVideoTarget(%p)", bufferProducer.get());
status_t Camera::setVideoTarget(const sp<SurfaceType>& target) {
    ALOGV("setVideoTarget(%p)", target.get());
    sp<::android::hardware::ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    ALOGD_IF(bufferProducer == 0, "app passed NULL video surface");
    return c->setVideoTarget(bufferProducer);
    ALOGD_IF(target == 0, "app passed NULL video surface");
    return c->setVideoTarget(target);
}

// start preview mode
@@ -272,12 +270,10 @@ void Camera::setPreviewCallbackFlags(int flag)
    c->setPreviewCallbackFlag(flag);
}

status_t Camera::setPreviewCallbackTarget(
        const sp<IGraphicBufferProducer>& callbackProducer)
{
status_t Camera::setPreviewCallbackTarget(const sp<SurfaceType>& target) {
    sp<::android::hardware::ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    return c->setPreviewCallbackTarget(callbackProducer);
    return c->setPreviewCallbackTarget(target);
}

status_t Camera::setAudioRestriction(int32_t mode)
+4 −2
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ namespace android {
const char *kCameraServiceDisabledProperty = "config.disable_cameraservice";

status_t CameraUtils::getRotationTransform(const CameraMetadata& staticInfo,
        int mirrorMode, /*out*/int32_t* transform) {
        int mirrorMode,  bool enableTransformInverseDisplay, /*out*/int32_t* transform) {
    ALOGV("%s", __FUNCTION__);

    if (transform == NULL) {
@@ -128,7 +128,9 @@ status_t CameraUtils::getRotationTransform(const CameraMetadata& staticInfo,
     * aspect ratio, or the preview will end up looking non-uniformly
     * stretched.
     */
    if (enableTransformInverseDisplay) {
        flags |= NATIVE_WINDOW_TRANSFORM_INVERSE_DISPLAY;
    }

    ALOGV("%s: final transform = 0x%x", __FUNCTION__, flags);

+11 −22
Original line number Diff line number Diff line
@@ -98,7 +98,6 @@ status_t PhysicalCaptureResultInfo::readFromParcel(const android::Parcel* parcel
    status_t res;

    mPhysicalCameraId = "";
    mPhysicalCameraMetadata.clear();

    String16 physicalCameraId;
    if ((res = parcel->readString16(&physicalCameraId)) != OK) {
@@ -107,10 +106,11 @@ status_t PhysicalCaptureResultInfo::readFromParcel(const android::Parcel* parcel
    }
    mPhysicalCameraId = toStdString(physicalCameraId);

    if ((res = mPhysicalCameraMetadata.readFromParcel(parcel)) != OK) {
    if ((res = mCameraMetadataInfo.readFromParcel(parcel)) != OK) {
        ALOGE("%s: Failed to read metadata from parcel: %d", __FUNCTION__, res);
        return res;
    }

    return OK;
}

@@ -121,11 +121,13 @@ status_t PhysicalCaptureResultInfo::writeToParcel(android::Parcel* parcel) const
                __FUNCTION__, res);
        return res;
    }
    if ((res = mPhysicalCameraMetadata.writeToParcel(parcel)) != OK) {

    if ((res = mCameraMetadataInfo.writeToParcel(parcel)) != OK) {
        ALOGE("%s: Failed to write physical camera metadata to parcel: %d",
                __FUNCTION__, res);
        return res;
    }

    return OK;
}

@@ -178,20 +180,12 @@ status_t CaptureResult::readFromParcel(android::Parcel *parcel) {
    }

    for (int32_t i = 0; i < physicalMetadataCount; i++) {
        String16 cameraId;
        if ((res = parcel->readString16(&cameraId)) != OK) {
            ALOGE("%s: Failed to read camera id: %d", __FUNCTION__, res);
            return res;
        }

        CameraMetadata physicalMetadata;
        if ((res = physicalMetadata.readFromParcel(parcel)) != OK) {
            ALOGE("%s: Failed to read metadata from parcel: %d", __FUNCTION__, res);
        PhysicalCaptureResultInfo result;
        if ((res = result.readFromParcel(parcel)) != OK) {
            ALOGE("%s: Failed to read physical result from parcel: %d", __FUNCTION__, res);
            return res;
        }

        mPhysicalMetadatas.emplace(mPhysicalMetadatas.end(), toStdString(cameraId),
                physicalMetadata);
        mPhysicalMetadatas.emplace(mPhysicalMetadatas.end(), result);
    }
    ALOGV("%s: Read physical metadata from parcel", __FUNCTION__);

@@ -232,13 +226,8 @@ status_t CaptureResult::writeToParcel(android::Parcel *parcel) const {
        return BAD_VALUE;
    }
    for (const auto& physicalMetadata : mPhysicalMetadatas) {
        if ((res = parcel->writeString16(toString16(physicalMetadata.mPhysicalCameraId))) != OK) {
            ALOGE("%s: Failed to write physical camera ID to parcel: %d",
                    __FUNCTION__, res);
            return res;
        }
        if ((res = physicalMetadata.mPhysicalCameraMetadata.writeToParcel(parcel)) != OK) {
            ALOGE("%s: Failed to write physical camera metadata to parcel: %d",
        if ((res = physicalMetadata.writeToParcel(parcel)) != OK) {
            ALOGE("%s: Failed to write physicalMetadata to parcel: %d",
                    __FUNCTION__, res);
            return res;
        }
Loading