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
6 files changed
tree: 9c9238bb9773fc469f00bc901e4e6cfa780b50ec
  1. audio_effects/
  2. audio_route/
  3. audio_utils/
  4. camera/
  5. private/
  6. CleanSpec.mk