diff options
author | Wu-cheng Li <wuchengli@google.com> | 2011-05-20 14:54:25 +0800 |
---|---|---|
committer | Wu-cheng Li <wuchengli@google.com> | 2011-05-30 20:05:38 +0800 |
commit | 04c453dccad920b9556b6e9000617a06d04d724e (patch) | |
tree | 28d84334fc7820f4d5bd494a8c29691f5d159212 /services/camera/libcameraservice/CameraService.cpp | |
parent | 748caa8a7e97f8ba995bde28e3ac5956467b7267 (diff) | |
download | frameworks_base-04c453dccad920b9556b6e9000617a06d04d724e.zip frameworks_base-04c453dccad920b9556b6e9000617a06d04d724e.tar.gz frameworks_base-04c453dccad920b9556b6e9000617a06d04d724e.tar.bz2 |
Allow camera to be disabled via Device Policy Manager
bug:4185309
Change-Id: I8be89d892b8f540fd05913c93f97b92346a0a282
Diffstat (limited to 'services/camera/libcameraservice/CameraService.cpp')
-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(); |