diff options
Diffstat (limited to 'services')
| -rw-r--r-- | services/camera/libcameraservice/CameraService.cpp | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index 1e8c30b..a011ae2 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -147,6 +147,14 @@ sp<ICamera> CameraService::connect(          return NULL;      } +    char value[PROPERTY_VALUE_MAX]; +    property_get("sys.secpolicy.camera.disabled", value, "0"); +    if (strcmp(value, "1") == 0) { +        // Camera is disabled by DevicePolicyManager. +        LOGI("Camera is disabled. connect X (pid %d) rejected", callingPid); +        return NULL; +    } +      Mutex::Autolock lock(mServiceLock);      if (mClient[cameraId] != 0) {          client = mClient[cameraId].promote();  | 
