Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0464ccae authored by Christine Hallstrom's avatar Christine Hallstrom Committed by android-build-merger
Browse files

Merge \\"Fix early termination of while loop in BluetoothSocket#write\\" into...

Merge \\"Fix early termination of while loop in BluetoothSocket#write\\" into nyc-mr1-dev am: 4ba50674
am: f7dcb74e

Change-Id: Ice60ffc37dbbcc317cad8db04e01234e7e923cf8
parents 585df0c2 f7dcb74e
Loading
Loading
Loading
Loading
+9 −12
Original line number Diff line number Diff line
@@ -532,22 +532,19 @@ public final class BluetoothSocket implements Closeable {
                if(length <= mMaxTxPacketSize) {
                    mSocketOS.write(b, offset, length);
                } else {
                    int tmpOffset = offset;
                    int tmpLength = mMaxTxPacketSize;
                    int endIndex = offset + length;
                    boolean done = false;
                    if(DBG) Log.w(TAG, "WARNING: Write buffer larger than L2CAP packet size!\n"
                            + "Packet will be divided into SDU packets of size "
                            + mMaxTxPacketSize);
                    do{
                    int tmpOffset = offset;
                    int bytesToWrite = length;
                    while (bytesToWrite > 0) {
                        int tmpLength = (bytesToWrite > mMaxTxPacketSize)
                                ? mMaxTxPacketSize
                                : bytesToWrite;
                        mSocketOS.write(b, tmpOffset, tmpLength);
                        tmpOffset += mMaxTxPacketSize;
                        if((tmpOffset + mMaxTxPacketSize) > endIndex) {
                            tmpLength = endIndex - tmpOffset;
                            done = true;
                        tmpOffset += tmpLength;
                        bytesToWrite -= tmpLength;
                    }
                    } while(!done);

                }
            } else {
                mSocketOS.write(b, offset, length);