diff --git a/modules/camera/3_4/metadata/partial_metadata_interface.h b/modules/camera/3_4/metadata/partial_metadata_interface.h
index 78da42c..5a637de 100644
--- a/modules/camera/3_4/metadata/partial_metadata_interface.h
+++ b/modules/camera/3_4/metadata/partial_metadata_interface.h
@@ -30,19 +30,20 @@
 
   // The metadata tags this partial metadata is responsible for.
   // See system/media/camera/docs/docs.html for descriptions of each tag.
-  virtual const std::vector<int32_t>& StaticTags() = 0;
-  virtual const std::vector<int32_t>& ControlTags() = 0;
-  virtual const std::vector<int32_t>& DynamicTags() = 0;
+  virtual const std::vector<int32_t>& StaticTags() const = 0;
+  virtual const std::vector<int32_t>& ControlTags() const = 0;
+  virtual const std::vector<int32_t>& DynamicTags() const = 0;
 
   // Add all the static properties this partial metadata
   // is responsible for to |metadata|.
-  virtual int PopulateStaticFields(camera_metadata_t** metadata) = 0;
+  virtual int PopulateStaticFields(camera_metadata_t** metadata) const = 0;
   // Add all the dynamic states this partial metadata
   // is responsible for to |metadata|.
-  virtual int PopulateDynamicFields(camera_metadata_t** metadata) = 0;
+  virtual int PopulateDynamicFields(camera_metadata_t** metadata) const = 0;
   // Check if the requested control values from |metadata| (for controls
   // this partial metadata owns) are supported.
-  virtual bool SupportsRequestValues(const camera_metadata_t* metadata) = 0;
+  virtual bool SupportsRequestValues(
+      const camera_metadata_t* metadata) const = 0;
   // Set all the controls this partial metadata
   // is responsible for from |metadata|.
   virtual int SetRequestValues(const camera_metadata_t* metadata) = 0;
diff --git a/modules/camera/3_4/metadata/partial_metadata_interface_mock.h b/modules/camera/3_4/metadata/partial_metadata_interface_mock.h
index a8795a3..a9bf3cd 100644
--- a/modules/camera/3_4/metadata/partial_metadata_interface_mock.h
+++ b/modules/camera/3_4/metadata/partial_metadata_interface_mock.h
@@ -28,12 +28,13 @@
 class PartialMetadataInterfaceMock : public PartialMetadataInterface {
  public:
   PartialMetadataInterfaceMock() : PartialMetadataInterface(){};
-  MOCK_METHOD0(StaticTags, const std::vector<int32_t>&());
-  MOCK_METHOD0(ControlTags, const std::vector<int32_t>&());
-  MOCK_METHOD0(DynamicTags, const std::vector<int32_t>&());
-  MOCK_METHOD1(PopulateStaticFields, int(camera_metadata_t** metadata));
-  MOCK_METHOD1(PopulateDynamicFields, int(camera_metadata_t** metadata));
-  MOCK_METHOD1(SupportsRequestValues, bool(const camera_metadata_t* metadata));
+  MOCK_CONST_METHOD0(StaticTags, const std::vector<int32_t>&());
+  MOCK_CONST_METHOD0(ControlTags, const std::vector<int32_t>&());
+  MOCK_CONST_METHOD0(DynamicTags, const std::vector<int32_t>&());
+  MOCK_CONST_METHOD1(PopulateStaticFields, int(camera_metadata_t** metadata));
+  MOCK_CONST_METHOD1(PopulateDynamicFields, int(camera_metadata_t** metadata));
+  MOCK_CONST_METHOD1(SupportsRequestValues,
+                     bool(const camera_metadata_t* metadata));
   MOCK_METHOD1(SetRequestValues, int(const camera_metadata_t* metadata));
 };
 
