Camera: hide some enum values in NDK

Bug: 27102995
Change-Id: Ibcca0576f5e88c2e7a904c0d0699640c69005048
diff --git a/camera/docs/metadata_model.py b/camera/docs/metadata_model.py
index 37689e5..84edeb7 100644
--- a/camera/docs/metadata_model.py
+++ b/camera/docs/metadata_model.py
@@ -946,15 +946,18 @@
     deprecated: A boolean, True if the enum should be deprecated.
     optional: A boolean
     hidden: A boolean, True if the enum should be hidden.
+    ndk_hidden: A boolean, True if the enum should be hidden in NDK
     notes: A string describing the notes, or None.
     parent: An edge to the parent, always an Enum instance.
   """
-  def __init__(self, name, parent, id=None, deprecated=False, optional=False, hidden=False, notes=None):
+  def __init__(self, name, parent,
+      id=None, deprecated=False, optional=False, hidden=False, notes=None, ndk_hidden=False):
     self._name = name                    # str, e.g. 'ON' or 'OFF'
     self._id = id                        # int, e.g. '0'
     self._deprecated = deprecated        # bool
     self._optional = optional            # bool
     self._hidden = hidden                # bool
+    self._ndk_hidden = ndk_hidden        # bool
     self._notes = notes                  # None or str
     self._parent = parent
 
@@ -975,6 +978,10 @@
     return self._hidden
 
   @property
+  def ndk_hidden(self):
+    return self._ndk_hidden
+
+  @property
   def notes(self):
     return self._notes
 
@@ -991,10 +998,11 @@
     has_values_with_id: A boolean representing if any of the children have a
         non-empty id property.
   """
-  def __init__(self, parent, values, ids={}, deprecateds=[], optionals=[], hiddens=[], notes={}):
+  def __init__(self, parent, values, ids={}, deprecateds=[],
+      optionals=[], hiddens=[], notes={}, ndk_hiddens=[]):
     self._values =                                                             \
       [ EnumValue(val, self, ids.get(val), val in deprecateds, val in optionals, val in hiddens,  \
-                  notes.get(val))                                              \
+                  notes.get(val), val in ndk_hiddens)                                              \
         for val in values ]
 
     self._parent = parent
@@ -1255,6 +1263,7 @@
     enum_deprecateds = kwargs.get('enum_deprecateds')
     enum_optionals = kwargs.get('enum_optionals')
     enum_hiddens = kwargs.get('enum_hiddens')
+    enum_ndk_hiddens = kwargs.get('enum_ndk_hiddens')
     enum_notes = kwargs.get('enum_notes')  # { value => notes }
     enum_ids = kwargs.get('enum_ids')  # { value => notes }
     self._tuple_values = kwargs.get('tuple_values')
@@ -1274,7 +1283,7 @@
 
     if kwargs.get('enum', False):
       self._enum = Enum(self, enum_values, enum_ids, enum_deprecateds, enum_optionals,
-                        enum_hiddens, enum_notes)
+                        enum_hiddens, enum_notes, enum_ndk_hiddens)
     else:
       self._enum = None