Merge "Rename UsbRequest.enqueue to UsbRequest.queue" into oc-dev

This commit is contained in:
TreeHugger Robot
2017-04-04 01:57:15 +00:00
committed by Android (Google) Code Review
5 changed files with 26 additions and 24 deletions

View File

@@ -15983,11 +15983,11 @@ package android.hardware.usb {
ctor public UsbRequest();
method public boolean cancel();
method public void close();
method public boolean enqueue(java.nio.ByteBuffer);
method public java.lang.Object getClientData();
method public android.hardware.usb.UsbEndpoint getEndpoint();
method public boolean initialize(android.hardware.usb.UsbDeviceConnection, android.hardware.usb.UsbEndpoint);
method public deprecated boolean queue(java.nio.ByteBuffer, int);
method public boolean queue(java.nio.ByteBuffer);
method public void setClientData(java.lang.Object);
}

View File

@@ -17443,11 +17443,11 @@ package android.hardware.usb {
ctor public UsbRequest();
method public boolean cancel();
method public void close();
method public boolean enqueue(java.nio.ByteBuffer);
method public java.lang.Object getClientData();
method public android.hardware.usb.UsbEndpoint getEndpoint();
method public boolean initialize(android.hardware.usb.UsbDeviceConnection, android.hardware.usb.UsbEndpoint);
method public deprecated boolean queue(java.nio.ByteBuffer, int);
method public boolean queue(java.nio.ByteBuffer);
method public void setClientData(java.lang.Object);
}

View File

@@ -16038,11 +16038,11 @@ package android.hardware.usb {
ctor public UsbRequest();
method public boolean cancel();
method public void close();
method public boolean enqueue(java.nio.ByteBuffer);
method public java.lang.Object getClientData();
method public android.hardware.usb.UsbEndpoint getEndpoint();
method public boolean initialize(android.hardware.usb.UsbDeviceConnection, android.hardware.usb.UsbEndpoint);
method public deprecated boolean queue(java.nio.ByteBuffer, int);
method public boolean queue(java.nio.ByteBuffer);
method public void setClientData(java.lang.Object);
}

View File

@@ -60,9 +60,11 @@ public class UsbRequest {
// Prevent the connection from being finalized
private UsbDeviceConnection mConnection;
/** Whether this buffer was {@link #enqueue enqueued (new behavior)} or {@link #queue queued
* (deprecared behavior)}. */
private boolean mIsUsingEnqueue;
/**
* Whether this buffer was {@link #queue(ByteBuffer) queued using the new behavior} or
* {@link #queue(ByteBuffer, int) queued using the deprecated behavior}.
*/
private boolean mIsUsingNewQueue;
/** Temporary buffer than might be used while buffer is enqueued */
private ByteBuffer mTempBuffer;
@@ -172,7 +174,7 @@ public class UsbRequest {
*
* @return true if the queueing operation succeeded
*
* @deprecated Use {@link #enqueue(ByteBuffer)} instead.
* @deprecated Use {@link #queue(ByteBuffer)} instead.
*/
@Deprecated
public boolean queue(ByteBuffer buffer, int length) {
@@ -219,23 +221,23 @@ public class UsbRequest {
*
* @return true if the queueing operation succeeded
*/
public boolean enqueue(@Nullable ByteBuffer buffer) {
public boolean queue(@Nullable ByteBuffer buffer) {
// Request need to be initialized
Preconditions.checkState(mNativeContext != 0, "request is not initialized");
// Request can not be currently enqueued
Preconditions.checkState(!mIsUsingEnqueue, "request is currently enqueued");
// Request can not be currently queued
Preconditions.checkState(!mIsUsingNewQueue, "this request is currently queued");
boolean isSend = (mEndpoint.getDirection() == UsbConstants.USB_DIR_OUT);
boolean wasEnqueued;
boolean wasQueued;
synchronized (mLock) {
mBuffer = buffer;
if (buffer == null) {
// Null buffers enqueue empty USB requests which is supported
mIsUsingEnqueue = true;
wasEnqueued = native_enqueue(null, 0, 0);
mIsUsingNewQueue = true;
wasQueued = native_queue(null, 0, 0);
} else {
// Can only send/receive MAX_USBFS_BUFFER_SIZE bytes at once
Preconditions.checkArgumentInRange(buffer.remaining(), 0, MAX_USBFS_BUFFER_SIZE,
@@ -260,18 +262,18 @@ public class UsbRequest {
buffer = mTempBuffer;
}
mIsUsingEnqueue = true;
wasEnqueued = native_enqueue(buffer, buffer.position(), buffer.remaining());
mIsUsingNewQueue = true;
wasQueued = native_queue(buffer, buffer.position(), buffer.remaining());
}
}
if (!wasEnqueued) {
mIsUsingEnqueue = false;
if (!wasQueued) {
mIsUsingNewQueue = false;
mTempBuffer = null;
mBuffer = null;
}
return wasEnqueued;
return wasQueued;
}
/* package */ void dequeue() {
@@ -279,9 +281,9 @@ public class UsbRequest {
int bytesTransferred;
synchronized (mLock) {
if (mIsUsingEnqueue) {
if (mIsUsingNewQueue) {
bytesTransferred = native_dequeue_direct();
mIsUsingEnqueue = false;
mIsUsingNewQueue = false;
if (mBuffer == null) {
// Nothing to do
@@ -332,7 +334,7 @@ public class UsbRequest {
private native boolean native_init(UsbDeviceConnection connection, int ep_address,
int ep_attributes, int ep_max_packet_size, int ep_interval);
private native void native_close();
private native boolean native_enqueue(ByteBuffer buffer, int offset, int length);
private native boolean native_queue(ByteBuffer buffer, int offset, int length);
private native boolean native_queue_array(byte[] buffer, int length, boolean out);
private native int native_dequeue_array(byte[] buffer, int length, boolean out);
private native boolean native_queue_direct(ByteBuffer buffer, int length, boolean out);

View File

@@ -167,7 +167,7 @@ android_hardware_UsbRequest_queue_direct(JNIEnv *env, jobject thiz,
}
static jboolean
android_hardware_UsbRequest_enqueue(JNIEnv *env, jobject thiz, jobject buffer, jint offset,
android_hardware_UsbRequest_queue(JNIEnv *env, jobject thiz, jobject buffer, jint offset,
jint length)
{
struct usb_request* request = get_request_from_object(env, thiz);
@@ -226,8 +226,8 @@ static const JNINativeMethod method_table[] = {
{"native_init", "(Landroid/hardware/usb/UsbDeviceConnection;IIII)Z",
(void *)android_hardware_UsbRequest_init},
{"native_close", "()V", (void *)android_hardware_UsbRequest_close},
{"native_enqueue", "(Ljava/nio/ByteBuffer;II)Z",
(void *)android_hardware_UsbRequest_enqueue},
{"native_queue", "(Ljava/nio/ByteBuffer;II)Z",
(void *)android_hardware_UsbRequest_queue},
{"native_queue_array", "([BIZ)Z", (void *)android_hardware_UsbRequest_queue_array},
{"native_dequeue_array", "([BIZ)I", (void *)android_hardware_UsbRequest_dequeue_array},
{"native_queue_direct", "(Ljava/nio/ByteBuffer;IZ)Z",