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

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

Merge "Merge Android 14 QPR1" into main

parents ba4fb629 911f247e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -144,6 +144,7 @@ filegroup {
    srcs: [
        "aidl/android/hardware/CameraExtensionSessionStats.aidl",
        "aidl/android/hardware/ICameraService.aidl",
        "aidl/android/hardware/CameraIdRemapping.aidl",
        "aidl/android/hardware/ICameraServiceListener.aidl",
        "aidl/android/hardware/ICameraServiceProxy.aidl",
        "aidl/android/hardware/camera2/ICameraDeviceCallbacks.aidl",
+50 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2023 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;

/**
 * Specifies a remapping of Camera Ids.
 *
 * Example: For a given package, a remapping of camera id0 to id1 specifies
 * that any operation to perform on id0 should instead be performed on id1.
 *
 * @hide
 */
parcelable CameraIdRemapping {
    /**
     * Specifies remapping of Camera Ids per package.
     */
    parcelable PackageIdRemapping {
        /** Package Name (e.g. com.android.xyz). */
        @utf8InCpp String packageName;
        /**
         * Ordered list of Camera Ids to replace. Only Camera Ids present in this list will be
         * affected.
         */
        @utf8InCpp List<String> cameraIdsToReplace;
        /**
         *  Ordered list of updated Camera Ids, where updatedCameraIds[i] corresponds to
         *  the updated camera id for cameraIdsToReplace[i].
         */
        @utf8InCpp List<String> updatedCameraIds;
    }

    /**
     * List of Camera Id remappings to perform.
     */
    List<PackageIdRemapping> packageIdRemappings;
}
+17 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.hardware.camera2.utils.CameraIdAndSessionConfiguration;
import android.hardware.camera2.impl.CameraMetadataNative;
import android.hardware.ICameraServiceListener;
import android.hardware.CameraInfo;
import android.hardware.CameraIdRemapping;
import android.hardware.CameraStatus;
import android.hardware.CameraExtensionSessionStats;

@@ -130,6 +131,22 @@ interface ICameraService
            in CameraIdAndSessionConfiguration[] sessions,
            int targetSdkVersion);

    /**
     * Remap Camera Ids in the CameraService.
     *
     * Once this is in effect, all binder calls in the ICameraService that
     * use logicalCameraId should consult remapping state to arrive at the
     * correct cameraId to perform the operation on.
     *
     * Note: Before the new cameraIdRemapping state is applied, the previous
     * state is cleared.
     *
     * @param cameraIdRemapping the camera ids to remap. Sending an unpopulated
     *        cameraIdRemapping object will result in clearing of any previous
     *        cameraIdRemapping state in the camera service.
     */
    void remapCameraIds(in CameraIdRemapping cameraIdRemapping);

    /**
     * Remove listener for changes to camera device and flashlight state.
     */
+2 −0
Original line number Diff line number Diff line
@@ -178,6 +178,7 @@ cc_test {
    shared_libs: [
        "libcamera2ndk_vendor",
        "libcamera_metadata",
        "libhidlbase",
        "libmediandk",
        "libnativewindow",
        "libutils",
@@ -187,6 +188,7 @@ cc_test {
    ],
    static_libs: [
        "android.hardware.camera.common@1.0-helper",
        "android.hidl.token@1.0",
    ],
    cflags: [
        "-D__ANDROID_VNDK__",
+0 −1
Original line number Diff line number Diff line
@@ -400,7 +400,6 @@ ACameraMetadata::getConstEntry(uint32_t tag, ACameraMetadata_const_entry* entry)

    camera_metadata_ro_entry rawEntry = static_cast<const CameraMetadata*>(mData.get())->find(tag);
    if (rawEntry.count == 0) {
        ALOGE("%s: cannot find metadata tag %d", __FUNCTION__, tag);
        return ACAMERA_ERROR_METADATA_NOT_FOUND;
    }
    entry->tag = tag;
Loading