1 /* 2 * Copyright (C) 2015 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 17 package android.hardware; 18 19 import android.hardware.CameraFeatureCombinationStats; 20 import android.hardware.CameraSessionStats; 21 import android.hardware.CameraExtensionSessionStats; 22 23 /** 24 * Binder interface for the camera service proxy running in system_server. 25 * 26 * @hide 27 */ 28 interface ICameraServiceProxy 29 { 30 /** 31 * Ping the service proxy to update the valid users for the camera service. 32 */ pingForUserUpdate()33 oneway void pingForUserUpdate(); 34 35 36 /** 37 * Update the status of a camera device. 38 */ notifyCameraState(in CameraSessionStats cameraSessionStats)39 oneway void notifyCameraState(in CameraSessionStats cameraSessionStats); 40 41 /** 42 * Notify feature combination query for a camera device. 43 */ notifyFeatureCombinationStats( in CameraFeatureCombinationStats cameraFeatureCombinationStats)44 oneway void notifyFeatureCombinationStats( 45 in CameraFeatureCombinationStats cameraFeatureCombinationStats); 46 47 /** 48 * Returns the necessary rotate and crop override for the top activity which 49 * will be one of ({@link android.hardware.camera2.CameraMetadata#SCALER_ROTATE_AND_CROP_NONE}, 50 * {@link android.hardware.camera2.CameraMetadata#SCALER_ROTATE_AND_CROP_90}, 51 * {@link android.hardware.camera2.CameraMetadata#SCALER_ROTATE_AND_CROP_180}, 52 * {@link android.hardware.camera2.CameraMetadata#SCALER_ROTATE_AND_CROP_270}). 53 */ getRotateAndCropOverride(@tf8InCpp String packageName, int lensFacing, int userId)54 int getRotateAndCropOverride(@utf8InCpp String packageName, int lensFacing, int userId); 55 56 /** 57 * Returns the necessary autoframing override for the top activity which 58 * will be one of ({@link android.hardware.camera2.CameraMetadata#AUTOFRAMING_FALSE}, 59 * {@link android.hardware.camera2.CameraMetadata#AUTOFRAMING_TRUE}). 60 */ getAutoframingOverride(@tf8InCpp String packageName)61 int getAutoframingOverride(@utf8InCpp String packageName); 62 63 /** 64 * Checks if the camera has been disabled via device policy. 65 */ isCameraDisabled(int userId)66 boolean isCameraDisabled(int userId); 67 } 68