am c5b11fcc: am ff83ed2d: am b02dadd4: Merge "Create FieldPacker.getPos() to get the actual amount of data used for FP."

* commit 'c5b11fcc1f4fc4fba988218d0a99a19690398a56':
  Create FieldPacker.getPos() to get the actual amount of data used for FP.
This commit is contained in:
Stephen Hines
2014-06-19 03:26:15 +00:00
committed by Android Git Automerger
3 changed files with 21 additions and 7 deletions

View File

@@ -770,10 +770,11 @@ public class Allocation extends BaseObj {
mRS.validate();
int eSize = mType.mElement.getBytesSize();
final byte[] data = fp.getData();
int data_length = fp.getPos();
int count = data.length / eSize;
if ((eSize * count) != data.length) {
throw new RSIllegalArgumentException("Field packer length " + data.length +
int count = data_length / eSize;
if ((eSize * count) != data_length) {
throw new RSIllegalArgumentException("Field packer length " + data_length +
" not divisible by element size " + eSize + ".");
}
copy1DRangeFromUnchecked(xoff, count, data);
@@ -797,16 +798,17 @@ public class Allocation extends BaseObj {
}
final byte[] data = fp.getData();
int data_length = fp.getPos();
int eSize = mType.mElement.mElements[component_number].getBytesSize();
eSize *= mType.mElement.mArraySizes[component_number];
if (data.length != eSize) {
throw new RSIllegalArgumentException("Field packer sizelength " + data.length +
if (data_length != eSize) {
throw new RSIllegalArgumentException("Field packer sizelength " + data_length +
" does not match component size " + eSize + ".");
}
mRS.nAllocationElementData1D(getIDSafe(), xoff, mSelectedLOD,
component_number, data, data.length);
component_number, data, data_length);
}
private void data1DChecks(int off, int count, int len, int dataSize) {