1/* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package [email protected]; 18 19import [email protected]::types; 20import [email protected]::ICameraProviderCallback; 21 22/** 23 * Callback functions for a camera provider HAL to use to inform the camera 24 * service of changes to the camera subsystem. 25 * 26 * Version 2.6 adds support for physical camera device status callback for 27 * multi-camera. 28 */ 29interface ICameraProviderCallback extends @2.4::ICameraProviderCallback { 30 31 /** 32 * cameraPhysicalDeviceStatusChange: 33 * 34 * Callback to the camera service to indicate that the state of a physical 35 * camera device of a logical multi-camera has changed. 36 * 37 * On camera service startup, when ICameraProvider::setCallback is invoked, 38 * the camera service must assume that all physical devices backing internal 39 * multi-camera devices are in the CAMERA_DEVICE_STATUS_PRESENT state. 40 * 41 * The provider must call this method to inform the camera service of any 42 * initially NOT_PRESENT physical devices, as soon as the callbacks are available 43 * through setCallback. 44 * 45 * @param cameraDeviceName The name of the logical multi-camera whose 46 * physical camera has a new status. 47 * @param physicalCameraDeviceName The name of the physical camera device 48 * that has a new status. 49 * @param newStatus The new status that device is in. 50 * 51 */ 52 physicalCameraDeviceStatusChange(string cameraDeviceName, 53 string physicalCameraDeviceName, CameraDeviceStatus newStatus); 54}; 55