diff options
| author | Svetoslav <svetoslavganov@google.com> | 2015-05-11 19:21:31 -0700 | 
|---|---|---|
| committer | Svetoslav Ganov <svetoslavganov@google.com> | 2015-05-12 03:47:31 +0000 | 
| commit | 28e8ef72dab287af59663b89b12507e43f760701 (patch) | |
| tree | 00aa103533ce393977def221c5a642716ef0fec1 /services/camera | |
| parent | 7e31a87177740d06c4a1bc81369d3cfb9e013ad9 (diff) | |
| download | frameworks_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')
| -rw-r--r-- | services/camera/libcameraservice/CameraService.cpp | 8 | 
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  | 
