camera_metadata: Add support for embedding images into html/javadoc

- Also finishes specifying the lensShadingMap related fields

Bug: 12135317
Change-Id: I488f76db4650fcc4f8ce6d45e420217016837fbc
diff --git a/camera/docs/metadata-generate b/camera/docs/metadata-generate
index ec9e947..905932a 100755
--- a/camera/docs/metadata-generate
+++ b/camera/docs/metadata-generate
@@ -34,6 +34,7 @@
 
 thisdir=$(cd "$(dirname "$0")"; pwd)
 fwkdir="$ANDROID_BUILD_TOP/frameworks/base/core/java/android/hardware/camera2/"
+fwkdir_html="$ANDROID_BUILD_TOP/frameworks/base/docs/html"
 ctsdir="$ANDROID_BUILD_TOP/cts/tests/tests/hardware/src/android/hardware/camera2/cts"
 outdir="$ANDROID_PRODUCT_OUT/obj/ETC/system-media-camera-docs_intermediates"
 out_files=()
@@ -153,6 +154,32 @@
     out_files+=$'\n'" $dst_file"
 }
 
+# Recursively copy a directory tree from $1 to $2. Pretty-prints status.
+function copy_directory() {
+    local src="$thisdir/$1" # Relative to directory of this script
+    local dst="$2" # Absolute path
+
+    if ! [[ -d $src ]]; then
+        echo "FAIL: Source directory $src does not exist" >& 2
+        return 1
+    fi
+    if ! [[ -d $dst ]]; then
+        echo "FAIL: Destination directory $dst does not exist" >& 2
+        return 1
+    fi
+
+    cp -R "$src" "$dst"
+    local retval=$?
+
+    if [[ $retval -ne 0 ]]; then
+        echo "ERROR: Failed to copy $(relpath "$src") to $(relpath "$dst")" >& 2
+    else
+        echo "OK: Copied $(relpath "$src") to $(relpath "$dst")"
+    fi
+
+    return $retval
+}
+
 $thisdir/metadata-check-dependencies || exit 1
 $thisdir/metadata-validate $thisdir/metadata_properties.xml || exit 1
 $thisdir/metadata-parser-sanity-check || exit 1
@@ -177,6 +204,9 @@
 insert_file "$outdir/CaptureRequestKeys.java.part" "$fwkdir/CaptureRequest.java" || exit 1
 insert_file "$outdir/CaptureResultKeys.java.part" "$fwkdir/CaptureResult.java" || exit 1
 
+# Copy ./images directory into javadoc directory
+copy_directory "images" "$fwkdir_html" || exit 1
+
 # Generate CTS tests
 gen_file_abs CameraCharacteristicsTest.mako "$ctsdir/CameraCharacteristicsTest.java" || exit 1
 insert_file "$outdir/CameraCaptureResultTest.java.part" "$ctsdir/CameraCaptureResultTest.java" || exit 1