Add new binder methods to camera client to support generic callbacks
This is the first step in a multi-step change to move from the old
specific callbacks to a generic callback. This will allow future
flexibility in the interface without requiring binder rewrites.
Bug 1837832
diff --git a/include/ui/Camera.h b/include/ui/Camera.h
index fd851d9..901c7a9 100644
--- a/include/ui/Camera.h
+++ b/include/ui/Camera.h
@@ -143,6 +143,8 @@
virtual void errorCallback(status_t error);
virtual void autoFocusCallback(bool focused);
virtual void recordingCallback(const sp<IMemory>& frame);
+ virtual void notifyCallback(int32_t msgType, int32_t ext, int32_t ext2);
+ virtual void dataCallback(int32_t msgType, const sp<IMemory>& frame);
sp<ICamera> remote();
diff --git a/include/ui/ICameraClient.h b/include/ui/ICameraClient.h
index 73b951c..1645ef8 100644
--- a/include/ui/ICameraClient.h
+++ b/include/ui/ICameraClient.h
@@ -29,6 +29,23 @@
public:
DECLARE_META_INTERFACE(CameraClient);
+ // msgType in notifyCallback function
+ enum {
+ ERROR,
+ SHUTTER,
+ FOCUSED,
+ ZOOM
+ } notify_callback_message_type;
+
+ // msgType in dataCallback function
+ enum {
+ PREVIEW,
+ RECORD,
+ POSTVIEW,
+ RAW,
+ COMPRESSED
+ } data_callback_message_type;
+
virtual void shutterCallback() = 0;
virtual void rawCallback(const sp<IMemory>& picture) = 0;
virtual void jpegCallback(const sp<IMemory>& picture) = 0;
@@ -36,6 +53,8 @@
virtual void errorCallback(status_t error) = 0;
virtual void autoFocusCallback(bool focused) = 0;
virtual void recordingCallback(const sp<IMemory>& frame) = 0;
+ virtual void notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2) = 0;
+ virtual void dataCallback(int32_t msgType, const sp<IMemory>& data) = 0;
};