diff options
author | Ian Kasprzak <iankaz@google.com> | 2019-08-31 21:28:50 +0000 |
---|---|---|
committer | Ian Kasprzak <iankaz@google.com> | 2019-08-31 21:28:50 +0000 |
commit | 3d30e625e338d452c2a9e91dc2ad477e8500e5eb (patch) | |
tree | 884816ad93cb0e414287dffec8226caf949acd8c /framework/java/android | |
parent | 0388ad1f72c70ca96cabc8b1a4a107877752b187 (diff) |
Revert "Remove a misleading "flush" function."
This reverts commit 0388ad1f72c70ca96cabc8b1a4a107877752b187.
Reason for revert: Driodcop: aosp-master test-mapping showing multiple failures (b/140336855).
Change-Id: If44e273dd111802db8b44db1e5a67a4628c72e3c
Diffstat (limited to 'framework/java/android')
-rw-r--r-- | framework/java/android/bluetooth/BluetoothOutputStream.java | 12 | ||||
-rw-r--r-- | framework/java/android/bluetooth/BluetoothSocket.java | 14 |
2 files changed, 26 insertions, 0 deletions
diff --git a/framework/java/android/bluetooth/BluetoothOutputStream.java b/framework/java/android/bluetooth/BluetoothOutputStream.java index a0aa2dee9d..dfec4e102f 100644 --- a/framework/java/android/bluetooth/BluetoothOutputStream.java +++ b/framework/java/android/bluetooth/BluetoothOutputStream.java @@ -75,4 +75,16 @@ import java.io.OutputStream; } mSocket.write(b, offset, count); } + + /** + * Wait until the data in sending queue is emptied. A polling version + * for flush implementation. Use it to ensure the writing data afterwards will + * be packed in the new RFCOMM frame. + * + * @throws IOException if an i/o error occurs. + * @since Android 4.2.3 + */ + public void flush() throws IOException { + mSocket.flush(); + } } diff --git a/framework/java/android/bluetooth/BluetoothSocket.java b/framework/java/android/bluetooth/BluetoothSocket.java index 760166bfcc..a6e3153d6a 100644 --- a/framework/java/android/bluetooth/BluetoothSocket.java +++ b/framework/java/android/bluetooth/BluetoothSocket.java @@ -515,6 +515,20 @@ public final class BluetoothSocket implements Closeable { return mSocketIS.available(); } + /** + * Wait until the data in sending queue is emptied. A polling version + * for flush implementation. Used to ensure the writing data afterwards will + * be packed in new RFCOMM frame. + * + * @throws IOException if an i/o error occurs. + */ + @UnsupportedAppUsage + /*package*/ void flush() throws IOException { + if (mSocketOS == null) throw new IOException("flush is called on null OutputStream"); + if (VDBG) Log.d(TAG, "flush: " + mSocketOS); + mSocketOS.flush(); + } + /*package*/ int read(byte[] b, int offset, int length) throws IOException { int ret = 0; if (VDBG) Log.d(TAG, "read in: " + mSocketIS + " len: " + length); |