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

Commit ca480e93 authored by Xin Li's avatar Xin Li
Browse files

Merge Android 24Q1 Release (ab/11220357)

Bug: 319669529
Merged-In: Ia76f781f5046d51c78f851730789a62d8089e122
Change-Id: I520253118f67fd3058eb415e2e68f1ef4aca00d8
parents c3441cef a25ecd55
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -9,7 +9,8 @@ clang_format = true
[Builtin Hooks Options]
# Only turn on clang-format check for the following subfolders.
clang_format = --commit ${PREUPLOAD_COMMIT} --style file --extensions c,h,cc,cpp
               media/libmediatranscoding/
               services/mediatranscoding/
               media/libaudioclient/tests/
               media/libaudiohal/tests/
               media/libmediatranscoding/
               services/camera/virtualcamera/
               services/mediatranscoding/
+18 −0
Original line number Diff line number Diff line
@@ -43,6 +43,23 @@ license {
    ],
}

aconfig_declarations {
    name: "camera_platform_flags",
    package: "com.android.internal.camera.flags",
    srcs: ["camera_platform.aconfig"],
}

cc_aconfig_library {
    name: "camera_platform_flags_c_lib",
    aconfig_declarations: "camera_platform_flags",
    host_supported: true,
}

java_aconfig_library {
    name: "camera_platform_flags_java_lib",
    aconfig_declarations: "camera_platform_flags",
}

cc_library_headers {
    name: "camera_headers",
    export_include_dirs: ["include"],
@@ -85,6 +102,7 @@ cc_library {
    ],

    shared_libs: [
        "camera_platform_flags_c_lib",
        "libbase",
        "libcutils",
        "libutils",
+4 −9
Original line number Diff line number Diff line
@@ -104,7 +104,6 @@ status_t CameraStatus::readFromParcel(const android::Parcel* parcel) {

namespace {
    sp<::android::hardware::ICameraService> gCameraService;
    const int                 kCameraServicePollDelay = 500000; // 0.5s
    const char*               kCameraServiceName      = "media.camera";

    Mutex                     gLock;
@@ -142,14 +141,10 @@ const sp<::android::hardware::ICameraService> CameraBase<TCam, TCamTraits>::getC

        sp<IServiceManager> sm = defaultServiceManager();
        sp<IBinder> binder;
        do {
            binder = sm->getService(toString16(kCameraServiceName));
            if (binder != 0) {
                break;
        binder = sm->waitForService(toString16(kCameraServiceName));
        if (binder == nullptr) {
            return nullptr;
        }
            ALOGW("CameraService not published, waiting...");
            usleep(kCameraServicePollDelay);
        } while(true);
        if (gDeathNotifier == NULL) {
            gDeathNotifier = new DeathNotifier();
        }
+25 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

// #define LOG_NDEBUG 0
#define LOG_TAG "CameraSessionStats"

#include <utils/Log.h>
#include <utils/String16.h>

@@ -414,6 +415,18 @@ status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
        return err;
    }

    bool usedUltraWide = false;
    if ((err = parcel->readBool(&usedUltraWide)) != OK) {
        ALOGE("%s: Failed to read ultrawide usage from parcel", __FUNCTION__);
        return err;
    }

    bool usedZoomOverride = false;
    if ((err = parcel->readBool(&usedZoomOverride)) != OK) {
        ALOGE("%s: Failed to read zoom override usage from parcel", __FUNCTION__);
        return err;
    }

    int32_t sessionIdx;
    if ((err = parcel->readInt32(&sessionIdx)) != OK) {
        ALOGE("%s: Failed to read session index from parcel", __FUNCTION__);
@@ -443,6 +456,8 @@ status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
    mStreamStats = std::move(streamStats);
    mUserTag = toStdString(userTag);
    mVideoStabilizationMode = videoStabilizationMode;
    mUsedUltraWide = usedUltraWide;
    mUsedZoomOverride = usedZoomOverride;
    mSessionIndex = sessionIdx;
    mCameraExtensionSessionStats = extStats;

@@ -542,6 +557,16 @@ status_t CameraSessionStats::writeToParcel(android::Parcel* parcel) const {
        return err;
    }

    if ((err = parcel->writeBool(mUsedUltraWide)) != OK) {
        ALOGE("%s: Failed to write ultrawide usage!", __FUNCTION__);
        return err;
    }

    if ((err = parcel->writeBool(mUsedZoomOverride)) != OK) {
        ALOGE("%s: Failed to write zoom override usage!", __FUNCTION__);
        return err;
    }

    if ((err = parcel->writeInt32(mSessionIndex)) != OK) {
        ALOGE("%s: Failed to write session index!", __FUNCTION__);
        return err;
+27 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.hardware.camera2.ICameraDeviceUser;
import android.hardware.camera2.ICameraDeviceCallbacks;
import android.hardware.camera2.ICameraInjectionCallback;
import android.hardware.camera2.ICameraInjectionSession;
import android.hardware.camera2.params.SessionConfiguration;
import android.hardware.camera2.params.VendorTagDescriptor;
import android.hardware.camera2.params.VendorTagDescriptorCache;
import android.hardware.camera2.utils.ConcurrentCameraIdCombination;
@@ -147,6 +148,18 @@ interface ICameraService
     */
    void remapCameraIds(in CameraIdRemapping cameraIdRemapping);

    /**
     * Inject Session Params into an existing camera session.
     *
     * @param cameraId the camera id session to inject session params into. Note that
     *                 if there is no active session for the input cameraid, this operation
     *                 will be a no-op. In addition, future camera sessions for cameraid will
     *                 not be affected.
     * @param sessionParams the session params to override for the existing session.
     */
    void injectSessionParams(@utf8InCpp String cameraId,
            in CameraMetadataNative sessionParams);

    /**
     * Remove listener for changes to camera device and flashlight state.
     */
@@ -261,4 +274,18 @@ interface ICameraService
    const int DEVICE_STATE_FOLDED = 4;
    const int DEVICE_STATE_LAST_FRAMEWORK_BIT = 0x80000000; // 1 << 31;

    // Create a CaptureRequest metadata based on template id
    CameraMetadataNative createDefaultRequest(@utf8InCpp String cameraId, int templateId);

    /**
      * Check whether a particular session configuration with optional session parameters
      * has camera device support.
      *
      * @param cameraId The camera id to query session configuration on
      * @param sessionConfiguration Specific session configuration to be verified.
      * @return true  - in case the stream combination is supported.
      *         false - in case there is no device support.
      */
    boolean isSessionConfigurationWithParametersSupported(@utf8InCpp String cameraId,
            in SessionConfiguration sessionConfiguration);
}
Loading