diff options
Diffstat (limited to 'camera')
-rw-r--r-- | camera/photography/ICameraDeviceUser.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/camera/photography/ICameraDeviceUser.cpp b/camera/photography/ICameraDeviceUser.cpp index 325f94d..95609da 100644 --- a/camera/photography/ICameraDeviceUser.cpp +++ b/camera/photography/ICameraDeviceUser.cpp @@ -40,6 +40,7 @@ enum { CREATE_STREAM, CREATE_DEFAULT_REQUEST, GET_CAMERA_INFO, + WAIT_UNTIL_IDLE, }; class BpCameraDeviceUser : public BpInterface<ICameraDeviceUser> @@ -172,6 +173,15 @@ public: return result; } + virtual status_t waitUntilIdle() + { + ALOGV("waitUntilIdle"); + Parcel data, reply; + data.writeInterfaceToken(ICameraDeviceUser::getInterfaceDescriptor()); + remote()->transact(WAIT_UNTIL_IDLE, data, &reply); + reply.readExceptionCode(); + return reply.readInt32(); + } private: @@ -296,6 +306,12 @@ status_t BnCameraDeviceUser::onTransact( return NO_ERROR; } break; + case WAIT_UNTIL_IDLE: { + CHECK_INTERFACE(ICameraDeviceUser, data, reply); + reply->writeNoException(); + reply->writeInt32(waitUntilIdle()); + return NO_ERROR; + } break; default: return BBinder::onTransact(code, data, reply, flags); } |