camera_metadata: Add support to generate Keys for generic types
Also adds the following keys:
* android.control.maxRegionsAe
* android.control.maxRegionsAwb
* android.control.maxRegionsAf
* android.request.maxNumOutputRaw
* android.request.maxNumOutputProc
* android.request.maxNumOutputProcStalling
Changes the following keys' type generations:
* android.control.aeTargetFpsRange (Range<Integer>)
* android.control.aeAvailableTargetFpsRanges (Range<Integer>[])
* android.control.aeCompensationRange (Range<Integer>)
* android.lens.focusRange (Range<Float>)
When trying to generate code for a generic type such as a
"Range<Float>", the generated static key initializers will now use
a TypeReference<T> instead of a T.class.
Non-generic types will proceed to use the older T.class variant.
Bug: 14628001
Change-Id: I141847dffc4b0d89cea37c19a54d6d5faf24a9bb
diff --git a/camera/docs/CameraMetadataKeys.mako b/camera/docs/CameraMetadataKeys.mako
index 27da332..7c14a1f 100644
--- a/camera/docs/CameraMetadataKeys.mako
+++ b/camera/docs/CameraMetadataKeys.mako
@@ -74,7 +74,7 @@
@Deprecated
% endif
public static final Key<${jtype_boxed(entry)}> ${entry.name | jkey_identifier} =
- new Key<${jtype_boxed(entry)}>("${entry.name}", ${jclass(entry)});
+ new Key<${jtype_boxed(entry)}>("${entry.name}", ${jkey_type_token(entry)});
</%def>\
##
## Generate a list of only Static, Controls, or Dynamic properties.