Populate java objects with native data from a3d file.
Remove legacy constructor from programraster
Make a3d object creation synchronous

Change-Id: Ic7d7547cf6eee6f9a7c6e3ee12cd104e80056a7b
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index 240d544..1135a75 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -90,12 +90,15 @@
 
     native int  nElementCreate(int type, int kind, boolean norm, int vecSize);
     native int  nElementCreate2(int[] elements, String[] names);
+    native void nElementGetNativeData(int id, int[] elementData);
+    native void nElementGetSubElements(int id, int[] IDs, String[] names);
 
     native void nTypeBegin(int elementID);
     native void nTypeAdd(int dim, int val);
     native int  nTypeCreate();
     native void nTypeFinalDestroy(Type t);
     native void nTypeSetupFields(Type t, int[] types, int[] bits, Field[] IDs);
+    native void nTypeGetNativeData(int id, int[] typeData);
 
     native int  nAllocationCreateTyped(int type);
     native int  nAllocationCreateFromBitmap(int dstFmt, boolean genMips, Bitmap bmp);
@@ -117,6 +120,7 @@
     native void nAllocationRead(int id, float[] d);
     native void nAllocationSubDataFromObject(int id, Type t, int offset, Object o);
     native void nAllocationSubReadFromObject(int id, Type t, int offset, Object o);
+    native int  nAllocationGetType(int id);
 
     native int  nFileA3DCreateFromAssetStream(int assetStream);
     native int  nFileA3DGetNumIndexEntries(int fileA3D);