Loading camera/aidl/android/hardware/ICameraServiceProxy.aidl +1 −1 Original line number Original line Diff line number Diff line Loading @@ -48,5 +48,5 @@ interface ICameraServiceProxy /** /** * Checks if the camera has been disabled via device policy. * Checks if the camera has been disabled via device policy. */ */ boolean isCameraDisabled(); boolean isCameraDisabled(int userId); } } services/camera/libcameraservice/CameraService.cpp +7 −1 Original line number Original line Diff line number Diff line Loading @@ -1712,7 +1712,13 @@ Status CameraService::connectDevice( return STATUS_ERROR(ERROR_ILLEGAL_ARGUMENT, msg.string()); return STATUS_ERROR(ERROR_ILLEGAL_ARGUMENT, msg.string()); } } if (mCameraServiceProxyWrapper->isCameraDisabled()) { userid_t clientUserId = multiuser_get_user_id(clientUid); int callingUid = CameraThreadState::getCallingUid(); if (clientUid == USE_CALLING_UID) { clientUserId = multiuser_get_user_id(callingUid); } if (mCameraServiceProxyWrapper->isCameraDisabled(clientUserId)) { String8 msg = String8 msg = String8::format("Camera disabled by device policy"); String8::format("Camera disabled by device policy"); ALOGE("%s: %s", __FUNCTION__, msg.string()); ALOGE("%s: %s", __FUNCTION__, msg.string()); Loading services/camera/libcameraservice/tests/CameraPermissionsTest.cpp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -138,12 +138,12 @@ public: return mCameraServiceProxy->notifyCameraState(cameraSessionStats); return mCameraServiceProxy->notifyCameraState(cameraSessionStats); } } virtual binder::Status isCameraDisabled(bool *ret) override { virtual binder::Status isCameraDisabled(int userId, bool *ret) override { if (mOverrideCameraDisabled) { if (mOverrideCameraDisabled) { *ret = mCameraDisabled; *ret = mCameraDisabled; return binder::Status::ok(); return binder::Status::ok(); } } return mCameraServiceProxy->isCameraDisabled(ret); return mCameraServiceProxy->isCameraDisabled(userId, ret); } } void setCameraDisabled(bool cameraDisabled) { void setCameraDisabled(bool cameraDisabled) { Loading services/camera/libcameraservice/utils/CameraServiceProxyWrapper.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -269,11 +269,11 @@ void CameraServiceProxyWrapper::logClose(const String8& id, int32_t latencyMs) { sessionStats->onClose(proxyBinder, latencyMs); sessionStats->onClose(proxyBinder, latencyMs); } } bool CameraServiceProxyWrapper::isCameraDisabled() { bool CameraServiceProxyWrapper::isCameraDisabled(int userId) { sp<ICameraServiceProxy> proxyBinder = getCameraServiceProxy(); sp<ICameraServiceProxy> proxyBinder = getCameraServiceProxy(); if (proxyBinder == nullptr) return true; if (proxyBinder == nullptr) return true; bool ret = false; bool ret = false; auto status = proxyBinder->isCameraDisabled(&ret); auto status = proxyBinder->isCameraDisabled(userId, &ret); if (!status.isOk()) { if (!status.isOk()) { ALOGE("%s: Failed during camera disabled query: %s", __FUNCTION__, ALOGE("%s: Failed during camera disabled query: %s", __FUNCTION__, status.exceptionMessage().c_str()); status.exceptionMessage().c_str()); Loading services/camera/libcameraservice/utils/CameraServiceProxyWrapper.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -105,7 +105,7 @@ public: int getRotateAndCropOverride(String16 packageName, int lensFacing, int userId); int getRotateAndCropOverride(String16 packageName, int lensFacing, int userId); // Detect if the camera is disabled by device policy. // Detect if the camera is disabled by device policy. bool isCameraDisabled(); bool isCameraDisabled(int userId); }; }; } // android } // android Loading Loading
camera/aidl/android/hardware/ICameraServiceProxy.aidl +1 −1 Original line number Original line Diff line number Diff line Loading @@ -48,5 +48,5 @@ interface ICameraServiceProxy /** /** * Checks if the camera has been disabled via device policy. * Checks if the camera has been disabled via device policy. */ */ boolean isCameraDisabled(); boolean isCameraDisabled(int userId); } }
services/camera/libcameraservice/CameraService.cpp +7 −1 Original line number Original line Diff line number Diff line Loading @@ -1712,7 +1712,13 @@ Status CameraService::connectDevice( return STATUS_ERROR(ERROR_ILLEGAL_ARGUMENT, msg.string()); return STATUS_ERROR(ERROR_ILLEGAL_ARGUMENT, msg.string()); } } if (mCameraServiceProxyWrapper->isCameraDisabled()) { userid_t clientUserId = multiuser_get_user_id(clientUid); int callingUid = CameraThreadState::getCallingUid(); if (clientUid == USE_CALLING_UID) { clientUserId = multiuser_get_user_id(callingUid); } if (mCameraServiceProxyWrapper->isCameraDisabled(clientUserId)) { String8 msg = String8 msg = String8::format("Camera disabled by device policy"); String8::format("Camera disabled by device policy"); ALOGE("%s: %s", __FUNCTION__, msg.string()); ALOGE("%s: %s", __FUNCTION__, msg.string()); Loading
services/camera/libcameraservice/tests/CameraPermissionsTest.cpp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -138,12 +138,12 @@ public: return mCameraServiceProxy->notifyCameraState(cameraSessionStats); return mCameraServiceProxy->notifyCameraState(cameraSessionStats); } } virtual binder::Status isCameraDisabled(bool *ret) override { virtual binder::Status isCameraDisabled(int userId, bool *ret) override { if (mOverrideCameraDisabled) { if (mOverrideCameraDisabled) { *ret = mCameraDisabled; *ret = mCameraDisabled; return binder::Status::ok(); return binder::Status::ok(); } } return mCameraServiceProxy->isCameraDisabled(ret); return mCameraServiceProxy->isCameraDisabled(userId, ret); } } void setCameraDisabled(bool cameraDisabled) { void setCameraDisabled(bool cameraDisabled) { Loading
services/camera/libcameraservice/utils/CameraServiceProxyWrapper.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -269,11 +269,11 @@ void CameraServiceProxyWrapper::logClose(const String8& id, int32_t latencyMs) { sessionStats->onClose(proxyBinder, latencyMs); sessionStats->onClose(proxyBinder, latencyMs); } } bool CameraServiceProxyWrapper::isCameraDisabled() { bool CameraServiceProxyWrapper::isCameraDisabled(int userId) { sp<ICameraServiceProxy> proxyBinder = getCameraServiceProxy(); sp<ICameraServiceProxy> proxyBinder = getCameraServiceProxy(); if (proxyBinder == nullptr) return true; if (proxyBinder == nullptr) return true; bool ret = false; bool ret = false; auto status = proxyBinder->isCameraDisabled(&ret); auto status = proxyBinder->isCameraDisabled(userId, &ret); if (!status.isOk()) { if (!status.isOk()) { ALOGE("%s: Failed during camera disabled query: %s", __FUNCTION__, ALOGE("%s: Failed during camera disabled query: %s", __FUNCTION__, status.exceptionMessage().c_str()); status.exceptionMessage().c_str()); Loading
services/camera/libcameraservice/utils/CameraServiceProxyWrapper.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -105,7 +105,7 @@ public: int getRotateAndCropOverride(String16 packageName, int lensFacing, int userId); int getRotateAndCropOverride(String16 packageName, int lensFacing, int userId); // Detect if the camera is disabled by device policy. // Detect if the camera is disabled by device policy. bool isCameraDisabled(); bool isCameraDisabled(int userId); }; }; } // android } // android Loading