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

Commit 48354046 authored by Akash Malik's avatar Akash Malik Committed by Android (Google) Code Review
Browse files

Merge "Implement Camera Id Remapping in CameraService" into udc-qpr-dev

parents bd02ea8c 82ed435e
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). */
        String packageName;
        /**
         * Ordered list of Camera Ids to replace. Only Camera Ids present in this list will be
         * affected.
         */
        String[] cameraIdToReplace;
        /**
         *  Ordered list of updated Camera Ids, where updatedCameraId[i] corresponds to
         *  the updated camera id for cameraIdToReplace[i].
         */
        String[] updatedCameraId;
    }

    /**
     * List of Camera Id remappings to perform.
     */
    List<PackageIdRemapping> packageIdRemapping;
}
+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.
     */
+216 −26

File changed.

Preview size limit exceeded, changes collapsed.

+61 −7

File changed.

Preview size limit exceeded, changes collapsed.

Loading