Fix field packer bug for U32 data.
Fix initial refcounts in allocations.
Support null references in allocations.

Change-Id: Ifba6406ba750e69737bd77fa7df5d7fb8e27a5b4
diff --git a/graphics/java/android/renderscript/FieldPacker.java b/graphics/java/android/renderscript/FieldPacker.java
index f03b51c..24f0409 100644
--- a/graphics/java/android/renderscript/FieldPacker.java
+++ b/graphics/java/android/renderscript/FieldPacker.java
@@ -76,6 +76,7 @@
 
     public void addU8(short v) {
         if ((v < 0) || (v > 0xff)) {
+            android.util.Log.e("rs", "FieldPacker.addU8( " + v + " )");
             throw new IllegalArgumentException("Saving value out of range for type");
         }
         mData[mPos++] = (byte)v;
@@ -83,6 +84,7 @@
 
     public void addU16(int v) {
         if ((v < 0) || (v > 0xffff)) {
+            android.util.Log.e("rs", "FieldPacker.addU16( " + v + " )");
             throw new IllegalArgumentException("Saving value out of range for type");
         }
         align(2);
@@ -91,7 +93,8 @@
     }
 
     public void addU32(long v) {
-        if ((v < 0) || (v > 0xffffffff)) {
+        if ((v < 0) || (v > 0xffffffffL)) {
+            android.util.Log.e("rs", "FieldPacker.addU32( " + v + " )");
             throw new IllegalArgumentException("Saving value out of range for type");
         }
         align(4);
@@ -103,6 +106,7 @@
 
     public void addU64(long v) {
         if (v < 0) {
+            android.util.Log.e("rs", "FieldPacker.addU64( " + v + " )");
             throw new IllegalArgumentException("Saving value out of range for type");
         }
         align(8);