audio_route: use ctl_index instead of searching

Store the ctl_index instead of the ctl in the path so
that path_apply() and path_reset() don't have to
do a linear search through all the controls each time
to locate the index.

Change-Id: I0204310df55303dffdf10f68b652a820ca252d95
Merge "audio_route: use ctl_index instead of searching"
audio_route: skip missing controls

Mixer controls that are in mixer_paths.xml but missing from
the mixer should be skipped, otherwise arrays will be accessed
out of bounds. This happened in b/8893515.

Also print the missing control name to aid debugging.

Change-Id: Ia808df48734f78a02281408a4025652dec9762c0
am bd7f15b4: Camera: Metadata: Fix the activeArraySize typo.

* commit 'bd7f15b4123546106acb95657289026f4da5a813':
  Camera: Metadata: Fix the activeArraySize typo.
Merge "audio_route: skip missing controls"
am c2eebfff: Camera: Metadata: Fix color format dump issue

* commit 'c2eebfffbaeb9da4093d3cd1a323974dbb2b164d':
  Camera: Metadata: Fix color format dump issue
am 38b8cae3: camera_metadata: Add supportedHardwareLevel field

* commit '38b8cae3876ce1c02d6da310ad93fb31d9c5a9ed':
  camera_metadata: Add supportedHardwareLevel field
Reconcile with jb-mr2-release - do not merge

Change-Id: I03fc6d2dac608cdc0e0c83a87cc90b821f4be52c
am f35f6ce7: (-s ours) Reconcile with jb-mr2-release - do not merge

* commit 'f35f6ce75375b05634a0acb332635e1954058336':
  camera_metadata: Add supportedHardwareLevel field
Tweak the metadata-generate script to spit out git repositories that need commit

Bug: 9529161
Change-Id: I739b5d5f273e8447bcb955e978c66e4d61c7ace9
audio_route: use mixer_ctl_get/set_array

Rather than make individual calls to tinyalsa for every
value in each mixer control, which is expensive for linked
controls, use the array get/set functions instead. This
reduces the number of system calls that tinyalsa has to
make. The majority of controls are linked and have 1 or 2
values so the CPU overhead is small.

Change-Id: If32cb8c639e113403641cab0d68b32799cebb059
Merge "Tweak the metadata-generate script to spit out git repositories that need commit"
camera_metadata: Generate java metadata keys source code

Change-Id: Id1d1d4367eb51354e85c4eea38c593a498932e5b
Camera: Metadata: clear metadata buffer entry before values are assigned

To avoid inconsistent state of metadata buffer entry when the entry count is 0.

Bug: 9529161

Change-Id: Ic3fa4b39457142b8bec61d0625d04672b51890b7
Merge "Camera: Metadata: clear metadata buffer entry before values are assigned"
camera_metadata: Add visibility support, and a HAL2 tag

- Add a visibility property which controls whether a tag is available
  only to the system, hidden in managed code, or public in managed code.
- Add a HAL2 tag to indicate HAL2.x-only tags
- Fix output/inputStream tags to be arrays.

Change-Id: I856d0b1bf413eefd58914e5b85b08331a4bf4536
Camera: Improve HTML docs appearance

- Sort TOC by kind
- Update color choices to mimic developer docs
- Add paragraph breaks to several notes sections

Change-Id: Ic4cef63d45bef9edb141f2c65f2004b2b5db4c15
camera_metadata: Add/Update some metadata tags

Below tags are Added/Updated:

android.statistics.sceneFlicker
android.colorCorrection.gains
android.statistics.lensShadingMapMode
android.lens.info.lensShadingMapSize
android.statistics.lensShadingMap
android.statistics.predictedColorTransform
android.statistics.predictedColorGains
android.sensor.info.sensitivityRange

Also fixed some typos in tag descrptions.

Change-Id: Ib051bd3c97dad04062ece82e90bce8e6a2531bbd
camera_metadata: add typedefs for java generated code

Change-Id: I619261b9645cda669a3b5ee7c79f4c56d4d4c3d4
Minor resampler cleanup: comments and qualifier order

Add comments for utility function used by resampler.
Use const int32_t * not int32_t const *.

Change-Id: Iaa5d6a5f7f77178ce0492dc77dcc5c1204271e5f