diff options
Diffstat (limited to 'libs/ui/Camera.cpp')
-rw-r--r-- | libs/ui/Camera.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libs/ui/Camera.cpp b/libs/ui/Camera.cpp index b3cbda1..0fba82c 100644 --- a/libs/ui/Camera.cpp +++ b/libs/ui/Camera.cpp @@ -75,6 +75,19 @@ Camera::Camera(const sp<ICamera>& camera) } } + +sp<Camera> Camera::create(const sp<ICamera>& camera) +{ + sp<Camera> c = new Camera(); + // connect this client to existing camera remote + if (camera->connect(c) == NO_ERROR) { + c->mStatus = NO_ERROR; + c->mCamera = camera; + camera->asBinder()->linkToDeath(c); + } + return c; +} + void Camera::init() { mStatus = UNKNOWN_ERROR; |