Merge "OBEX: Fix PrivateOutputStream small write problem"

This commit is contained in:
Jaikumar Ganesh
2011-05-20 09:40:32 -07:00
committed by Android Code Review

View File

@@ -107,18 +107,15 @@ public final class PrivateOutputStream extends OutputStream {
ensureOpen(); ensureOpen();
mParent.ensureNotDone(); mParent.ensureNotDone();
if (count < mMaxPacketSize) { while ((mArray.size() + remainLength) >= mMaxPacketSize) {
mArray.write(buffer, offset, count); int bufferLeft = mMaxPacketSize - mArray.size();
} else { mArray.write(buffer, offset1, bufferLeft);
while (remainLength >= mMaxPacketSize) { offset1 += bufferLeft;
mArray.write(buffer, offset1, mMaxPacketSize); remainLength -= bufferLeft;
offset1 += mMaxPacketSize; mParent.continueOperation(true, false);
remainLength = count - offset1; }
mParent.continueOperation(true, false); if (remainLength > 0) {
} mArray.write(buffer, offset1, remainLength);
if (remainLength > 0) {
mArray.write(buffer, offset1, remainLength);
}
} }
} }