| /* | 
 |  * 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; | 
 |  | 
 | /** | 
 |  * Metrics specific to Extension Sessions (see CameraExtensionSession) for logging. | 
 |  * | 
 |  * Each Extension Session is mapped to one camera session internally, and will be sent to | 
 |  * CameraServiceProxy with IDLE/CLOSE calls. | 
 |  * @hide | 
 |  */ | 
 | parcelable CameraExtensionSessionStats { | 
 |     /** | 
 |      * Value should match {@code CameraExtensionCharacteristics#EXTENSION_*} | 
 |      */ | 
 |     @Backing(type="int") | 
 |     enum Type { | 
 |         EXTENSION_NONE = -1, | 
 |         EXTENSION_AUTOMATIC = 0, | 
 |         EXTENSION_FACE_RETOUCH = 1, | 
 |         EXTENSION_BOKEH = 2, | 
 |         EXTENSION_HDR = 3, | 
 |         EXTENSION_NIGHT = 4 | 
 |     } | 
 |  | 
 |     /** | 
 |      * Key to uniquely identify the session this stat is associated with. The first call to | 
 |      * 'ICameraService.reportExtensionSessionStats' should set this to an empty string. | 
 |      * 'ICameraService.reportExtensionSessionStats' will return the key which should be used with | 
 |      * the next calls. | 
 |      */ | 
 |     String key; | 
 |  | 
 |     /** | 
 |      * Camera ID for which the stats is being reported. | 
 |      */ | 
 |     String cameraId; | 
 |  | 
 |     /** | 
 |      * Package name of the client using the camera | 
 |      */ | 
 |     String clientName; | 
 |  | 
 |  | 
 |     /** | 
 |      * Type of extension session requested by the app. Note that EXTENSION_AUTOMATIC is reported | 
 |      * as such. | 
 |      */ | 
 |     Type type = Type.EXTENSION_NONE; | 
 |  | 
 |     /** | 
 |      * true if advanced extensions are being used, false otherwise | 
 |      */ | 
 |     boolean isAdvanced = false; | 
 | } |