Camera: Add support for aconfig flags for new enum values

Previously, only aconfig flags for new metadata keys was supported.
This change adds support for enum values as well:

  - Allow new enum values to be added that have their own flag
  - Automatically flag enum values for a flagged metadata key
  - Avoid doc cross-references between keys and enum values with
    different flags.

Test: Manual: Add new enum values and ensure the generated code looks
      correct
Change-Id: Ia8a0893db9d04f3068f79c8be6d2e3b14af3c5a5
diff --git a/camera/docs/CameraMetadataKeys.mako b/camera/docs/CameraMetadataKeys.mako
index 7a4dfd6..376b5ce 100644
--- a/camera/docs/CameraMetadataKeys.mako
+++ b/camera/docs/CameraMetadataKeys.mako
@@ -42,10 +42,11 @@
     concatenated_info = description + details + extra_detail
 %>\
 ## Glue description and details together before javadoc-izing. Otherwise @see in middle of javadoc.
+## Avoid @see across differently-flagged API entries for now.
 ${concatenated_info | javadoc(metadata)}\
   % if entry.enum and not (entry.typedef and entry.typedef.languages.get('java')):
     % for value in entry.enum.values:
-     % if not value.hidden:
+     % if not value.hidden and (value.aconfig_flag == entry.aconfig_flag):
      * @see #${jenum_value(entry, value)}
      % endif
     % endfor