summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/CameraService.cpp
diff options
context:
space:
mode:
authorSvetoslav <svetoslavganov@google.com>2015-05-11 19:21:31 -0700
committerSvetoslav Ganov <svetoslavganov@google.com>2015-05-12 03:47:31 +0000
commit28e8ef72dab287af59663b89b12507e43f760701 (patch)
tree00aa103533ce393977def221c5a642716ef0fec1 /services/camera/libcameraservice/CameraService.cpp
parent7e31a87177740d06c4a1bc81369d3cfb9e013ad9 (diff)
downloadframeworks_av-28e8ef72dab287af59663b89b12507e43f760701.zip
frameworks_av-28e8ef72dab287af59663b89b12507e43f760701.tar.gz
frameworks_av-28e8ef72dab287af59663b89b12507e43f760701.tar.bz2
Fail gracefully when camera app op is not enabled.
Change-Id: I0c7c1dca1c0966efaf30bcfe12636953683712ab
Diffstat (limited to 'services/camera/libcameraservice/CameraService.cpp')
-rw-r--r--services/camera/libcameraservice/CameraService.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
index e28464d..8de8930 100644
--- a/services/camera/libcameraservice/CameraService.cpp
+++ b/services/camera/libcameraservice/CameraService.cpp
@@ -1777,12 +1777,18 @@ status_t CameraService::BasicClient::startCameraOps() {
res = mAppOpsManager.startOp(AppOpsManager::OP_CAMERA,
mClientUid, mClientPackageName);
- if (res != AppOpsManager::MODE_ALLOWED) {
+ if (res == AppOpsManager::MODE_ERRORED) {
ALOGI("Camera %d: Access for \"%s\" has been revoked",
mCameraId, String8(mClientPackageName).string());
return PERMISSION_DENIED;
}
+ if (res == AppOpsManager::MODE_IGNORED) {
+ ALOGI("Camera %d: Access for \"%s\" has been restricted",
+ mCameraId, String8(mClientPackageName).string());
+ return INVALID_OPERATION;
+ }
+
mOpsActive = true;
// Transition device availability listeners from PRESENT -> NOT_AVAILABLE