More native work.

Implement save/restore of state, and add native APIs for
configuration information.

Change-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5
diff --git a/native/copy-to-ndk.sh b/native/copy-to-ndk.sh
new file mode 100644
index 0000000..4f5a16a
--- /dev/null
+++ b/native/copy-to-ndk.sh
@@ -0,0 +1,55 @@
+# Take care of copying current header files over to the correct
+# location in the NDK.
+
+copyndkheaders() {
+    local CURR_PLATFORM=android-9
+    local ALL_PLATFORMS="$CURR_PLATFORM android-8 android-5 android-4 android-3"
+
+    local SRC_HEADERS=$ANDROID_BUILD_TOP/frameworks/base/native/include/android
+    local NDK_PLATFORMS=$ANDROID_BUILD_TOP/development/ndk/platforms
+    local DST_HEADERS=$NDK_PLATFORMS/$CURR_PLATFORM
+
+    local SRC_LIB_ANDROID=$ANDROID_PRODUCT_OUT/system/lib/libandroid.so
+    local DST_LIB_ANDROID=$NDK_PLATFORMS/$CURR_PLATFORM/arch-arm/usr/lib/libandroid.so
+
+    local didsomething=""
+
+    #echo "SRC_HEADERS: $SRC_HEADERS"
+
+    for i in $(cd $SRC_HEADERS; ls *.h); do
+        local src=$SRC_HEADERS/$i
+        local changed=""
+        for j in $ALL_PLATFORMS; do
+            local dst=$NDK_PLATFORMS/$j/arch-arm/usr/include/android/$i
+            if [ "$changed" == "" -a -e $dst ]; then
+                #echo "Exists: $dst"
+                if diff $src $dst >/dev/null; then
+                    echo "$i: has not changed from $j" >/dev/null
+                    changed="false"
+                else
+                    changed="true"
+                    echo "$i: has changed from $j" >/dev/null
+                fi
+            fi
+        done
+        if [ "$changed" == "true" -o "$changed" == "" ]; then
+            echo "Updating: $i"
+            cp $src $NDK_PLATFORMS/$CURR_PLATFORM/arch-arm/usr/include/android/$i
+            didsomething="true"
+        fi
+    done
+
+    if diff $SRC_LIB_ANDROID $DST_LIB_ANDROID >/dev/null; then
+        echo "libandroid.so: has not changed" >/dev/null
+    else
+        echo "Updating: $DST_LIB_ANDROID"
+        cp $SRC_LIB_ANDROID $DST_LIB_ANDROID
+        didsomething="true"
+    fi
+    if [ "$didsomething" != "" ]; then
+        echo "Headers changed...  rebuilding platforms."
+        sh $ANDROID_BUILD_TOP/ndk/build/tools/build-platforms.sh
+    fi
+}
+
+copyndkheaders