/* * Copyright (C) 2020 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.camera.provider@2.6; import android.hardware.camera.common@1.0::types; import android.hardware.camera.provider@2.4::ICameraProviderCallback; /** * Callback functions for a camera provider HAL to use to inform the camera * service of changes to the camera subsystem. * * Version 2.6 adds support for physical camera device status callback for * multi-camera. */ interface ICameraProviderCallback extends @2.4::ICameraProviderCallback { /** * cameraPhysicalDeviceStatusChange: * * Callback to the camera service to indicate that the state of a physical * camera device of a logical multi-camera has changed. * * On camera service startup, when ICameraProvider::setCallback is invoked, * the camera service must assume that all physical devices backing internal * multi-camera devices are in the CAMERA_DEVICE_STATUS_PRESENT state. * * The provider must call this method to inform the camera service of any * initially NOT_PRESENT physical devices, as soon as the callbacks are available * through setCallback. * * @param cameraDeviceName The name of the logical multi-camera whose * physical camera has a new status. * @param physicalCameraDeviceName The name of the physical camera device * that has a new status. * @param newStatus The new status that device is in. * */ physicalCameraDeviceStatusChange(string cameraDeviceName, string physicalCameraDeviceName, CameraDeviceStatus newStatus); };