Loading camera/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ cc_library { "libgui", "libcamera_metadata", "libnativewindow", "lib-platform-compat-native-api", ], include_dirs: [ Loading camera/Camera.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -71,10 +71,10 @@ Camera::~Camera() } sp<Camera> Camera::connect(int cameraId, const String16& clientPackageName, int clientUid, int clientPid, int targetSdkVersion) int clientUid, int clientPid, int targetSdkVersion, bool overrideToPortrait) { return CameraBaseT::connect(cameraId, clientPackageName, clientUid, clientPid, targetSdkVersion); clientPid, targetSdkVersion, overrideToPortrait); } status_t Camera::reconnect() Loading camera/CameraBase.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <cutils/properties.h> #include <android/hardware/ICameraService.h> #include <com/android/internal/compat/IPlatformCompatNative.h> #include <binder/IPCThreadState.h> #include <binder/IServiceManager.h> Loading Loading @@ -161,7 +162,8 @@ const sp<::android::hardware::ICameraService> CameraBase<TCam, TCamTraits>::getC template <typename TCam, typename TCamTraits> sp<TCam> CameraBase<TCam, TCamTraits>::connect(int cameraId, const String16& clientPackageName, int clientUid, int clientPid, int targetSdkVersion) int clientUid, int clientPid, int targetSdkVersion, bool overrideToPortrait) { ALOGV("%s: connect", __FUNCTION__); sp<TCam> c = new TCam(cameraId); Loading @@ -171,8 +173,9 @@ sp<TCam> CameraBase<TCam, TCamTraits>::connect(int cameraId, binder::Status ret; if (cs != nullptr) { TCamConnectService fnConnectService = TCamTraits::fnConnectService; ALOGI("Connect camera (legacy API) - overrideToPortrait %d", overrideToPortrait); ret = (cs.get()->*fnConnectService)(cl, cameraId, clientPackageName, clientUid, clientPid, targetSdkVersion, /*out*/ &c->mCamera); clientPid, targetSdkVersion, overrideToPortrait, /*out*/ &c->mCamera); } if (ret.isOk() && c->mCamera != nullptr) { IInterface::asBinder(c->mCamera)->linkToDeath(c); Loading Loading @@ -273,10 +276,11 @@ int CameraBase<TCam, TCamTraits>::getNumberOfCameras() { // this can be in BaseCamera but it should be an instance method template <typename TCam, typename TCamTraits> status_t CameraBase<TCam, TCamTraits>::getCameraInfo(int cameraId, bool overrideToPortrait, struct hardware::CameraInfo* cameraInfo) { const sp<::android::hardware::ICameraService> cs = getCameraService(); if (cs == 0) return UNKNOWN_ERROR; binder::Status res = cs->getCameraInfo(cameraId, cameraInfo); binder::Status res = cs->getCameraInfo(cameraId, overrideToPortrait, cameraInfo); return res.isOk() ? OK : res.serviceSpecificErrorCode(); } Loading camera/aidl/android/hardware/ICameraService.aidl +7 −4 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ interface ICameraService /** * Fetch basic camera information for a camera device */ CameraInfo getCameraInfo(int cameraId); CameraInfo getCameraInfo(int cameraId, boolean overrideToPortrait); /** * Default UID/PID values for non-privileged callers of Loading @@ -83,7 +83,8 @@ interface ICameraService int cameraId, String opPackageName, int clientUid, int clientPid, int targetSdkVersion); int targetSdkVersion, boolean overrideToPortrait); /** * Open a camera device through the new camera API Loading @@ -94,7 +95,8 @@ interface ICameraService String opPackageName, @nullable String featureId, int clientUid, int oomScoreOffset, int targetSdkVersion); int targetSdkVersion, boolean overrideToPortrait); /** * Add listener for changes to camera device and flashlight state. Loading Loading @@ -135,7 +137,8 @@ interface ICameraService * Read the static camera metadata for a camera device. * Only supported for device HAL versions >= 3.2 */ CameraMetadataNative getCameraCharacteristics(String cameraId, int targetSdkVersion); CameraMetadataNative getCameraCharacteristics(String cameraId, int targetSdkVersion, boolean overrideToPortrait); /** * Read in the vendor tag descriptors from the camera module HAL. Loading camera/include/camera/Camera.h +3 −2 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ struct CameraTraits<Camera> typedef ::android::hardware::ICameraClient TCamCallbacks; typedef ::android::binder::Status(::android::hardware::ICameraService::*TCamConnectService) (const sp<::android::hardware::ICameraClient>&, int, const String16&, int, int, int, int, const String16&, int, int, int, bool, /*out*/ sp<::android::hardware::ICamera>*); static TCamConnectService fnConnectService; Loading @@ -81,7 +81,8 @@ public: static sp<Camera> create(const sp<::android::hardware::ICamera>& camera); static sp<Camera> connect(int cameraId, const String16& clientPackageName, int clientUid, int clientPid, int targetSdkVersion); int clientUid, int clientPid, int targetSdkVersion, bool overrideToPortrait); virtual ~Camera(); Loading Loading
camera/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ cc_library { "libgui", "libcamera_metadata", "libnativewindow", "lib-platform-compat-native-api", ], include_dirs: [ Loading
camera/Camera.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -71,10 +71,10 @@ Camera::~Camera() } sp<Camera> Camera::connect(int cameraId, const String16& clientPackageName, int clientUid, int clientPid, int targetSdkVersion) int clientUid, int clientPid, int targetSdkVersion, bool overrideToPortrait) { return CameraBaseT::connect(cameraId, clientPackageName, clientUid, clientPid, targetSdkVersion); clientPid, targetSdkVersion, overrideToPortrait); } status_t Camera::reconnect() Loading
camera/CameraBase.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <cutils/properties.h> #include <android/hardware/ICameraService.h> #include <com/android/internal/compat/IPlatformCompatNative.h> #include <binder/IPCThreadState.h> #include <binder/IServiceManager.h> Loading Loading @@ -161,7 +162,8 @@ const sp<::android::hardware::ICameraService> CameraBase<TCam, TCamTraits>::getC template <typename TCam, typename TCamTraits> sp<TCam> CameraBase<TCam, TCamTraits>::connect(int cameraId, const String16& clientPackageName, int clientUid, int clientPid, int targetSdkVersion) int clientUid, int clientPid, int targetSdkVersion, bool overrideToPortrait) { ALOGV("%s: connect", __FUNCTION__); sp<TCam> c = new TCam(cameraId); Loading @@ -171,8 +173,9 @@ sp<TCam> CameraBase<TCam, TCamTraits>::connect(int cameraId, binder::Status ret; if (cs != nullptr) { TCamConnectService fnConnectService = TCamTraits::fnConnectService; ALOGI("Connect camera (legacy API) - overrideToPortrait %d", overrideToPortrait); ret = (cs.get()->*fnConnectService)(cl, cameraId, clientPackageName, clientUid, clientPid, targetSdkVersion, /*out*/ &c->mCamera); clientPid, targetSdkVersion, overrideToPortrait, /*out*/ &c->mCamera); } if (ret.isOk() && c->mCamera != nullptr) { IInterface::asBinder(c->mCamera)->linkToDeath(c); Loading Loading @@ -273,10 +276,11 @@ int CameraBase<TCam, TCamTraits>::getNumberOfCameras() { // this can be in BaseCamera but it should be an instance method template <typename TCam, typename TCamTraits> status_t CameraBase<TCam, TCamTraits>::getCameraInfo(int cameraId, bool overrideToPortrait, struct hardware::CameraInfo* cameraInfo) { const sp<::android::hardware::ICameraService> cs = getCameraService(); if (cs == 0) return UNKNOWN_ERROR; binder::Status res = cs->getCameraInfo(cameraId, cameraInfo); binder::Status res = cs->getCameraInfo(cameraId, overrideToPortrait, cameraInfo); return res.isOk() ? OK : res.serviceSpecificErrorCode(); } Loading
camera/aidl/android/hardware/ICameraService.aidl +7 −4 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ interface ICameraService /** * Fetch basic camera information for a camera device */ CameraInfo getCameraInfo(int cameraId); CameraInfo getCameraInfo(int cameraId, boolean overrideToPortrait); /** * Default UID/PID values for non-privileged callers of Loading @@ -83,7 +83,8 @@ interface ICameraService int cameraId, String opPackageName, int clientUid, int clientPid, int targetSdkVersion); int targetSdkVersion, boolean overrideToPortrait); /** * Open a camera device through the new camera API Loading @@ -94,7 +95,8 @@ interface ICameraService String opPackageName, @nullable String featureId, int clientUid, int oomScoreOffset, int targetSdkVersion); int targetSdkVersion, boolean overrideToPortrait); /** * Add listener for changes to camera device and flashlight state. Loading Loading @@ -135,7 +137,8 @@ interface ICameraService * Read the static camera metadata for a camera device. * Only supported for device HAL versions >= 3.2 */ CameraMetadataNative getCameraCharacteristics(String cameraId, int targetSdkVersion); CameraMetadataNative getCameraCharacteristics(String cameraId, int targetSdkVersion, boolean overrideToPortrait); /** * Read in the vendor tag descriptors from the camera module HAL. Loading
camera/include/camera/Camera.h +3 −2 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ struct CameraTraits<Camera> typedef ::android::hardware::ICameraClient TCamCallbacks; typedef ::android::binder::Status(::android::hardware::ICameraService::*TCamConnectService) (const sp<::android::hardware::ICameraClient>&, int, const String16&, int, int, int, int, const String16&, int, int, int, bool, /*out*/ sp<::android::hardware::ICamera>*); static TCamConnectService fnConnectService; Loading @@ -81,7 +81,8 @@ public: static sp<Camera> create(const sp<::android::hardware::ICamera>& camera); static sp<Camera> connect(int cameraId, const String16& clientPackageName, int clientUid, int clientPid, int targetSdkVersion); int clientUid, int clientPid, int targetSdkVersion, bool overrideToPortrait); virtual ~Camera(); Loading