summaryrefslogtreecommitdiffstats
path: root/obex
diff options
context:
space:
mode:
authorCorey Garst <corey.garst@gmail.com>2012-09-12 21:41:17 -0400
committerRicardo Cerqueira <cyanogenmod@cerqueira.org>2012-11-21 16:31:54 +0000
commit0e5fdcffdd1c3f1292a7cfa04660c966f70c883a (patch)
tree4afc7cd8c09d8c8701a1b64ec16f8beaaef73574 /obex
parentd39a1f8ba2a97d1cec59b5dc0edb7fa591c16507 (diff)
downloadframeworks_base-0e5fdcffdd1c3f1292a7cfa04660c966f70c883a.zip
frameworks_base-0e5fdcffdd1c3f1292a7cfa04660c966f70c883a.tar.gz
frameworks_base-0e5fdcffdd1c3f1292a7cfa04660c966f70c883a.tar.bz2
Ported: Bluetooth Message Access Profile (MAP) from CM9
This was added to CM10 to restore message exchange capabilities with automotive systems. Change-Id: Ib872bebc5c292b1f84c903b068e59b7eeca6d76f
Diffstat (limited to 'obex')
-rw-r--r--obex/javax/obex/ClientOperation.java12
-rw-r--r--obex/javax/obex/Operation.java2
-rw-r--r--obex/javax/obex/ServerOperation.java36
3 files changed, 38 insertions, 12 deletions
diff --git a/obex/javax/obex/ClientOperation.java b/obex/javax/obex/ClientOperation.java
index 05b498c..2abddd9 100644
--- a/obex/javax/obex/ClientOperation.java
+++ b/obex/javax/obex/ClientOperation.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008-2009, Motorola, Inc.
+ * Copyright (c) 2010-2011, Motorola, Inc.
*
* All rights reserved.
*
@@ -121,6 +121,12 @@ public final class ClientOperation implements Operation, BaseStream {
(header).mAuthResp.length);
}
+ if ((header).mConnectionID != null) {
+ mRequestHeader.mConnectionID = new byte[4];
+ System.arraycopy((header).mConnectionID, 0, mRequestHeader.mConnectionID, 0,
+ 4);
+
+ }
}
/**
@@ -723,4 +729,8 @@ public final class ClientOperation implements Operation, BaseStream {
}
}
}
+
+ public void noEndofBody() {
+
+ }
}
diff --git a/obex/javax/obex/Operation.java b/obex/javax/obex/Operation.java
index 25656ed..c827749 100644
--- a/obex/javax/obex/Operation.java
+++ b/obex/javax/obex/Operation.java
@@ -175,6 +175,8 @@ public interface Operation {
DataOutputStream openDataOutputStream() throws IOException;
+ void noEndofBody();
+
void close() throws IOException;
int getMaxPacketSize();
diff --git a/obex/javax/obex/ServerOperation.java b/obex/javax/obex/ServerOperation.java
index d1476d2..a17226d 100644
--- a/obex/javax/obex/ServerOperation.java
+++ b/obex/javax/obex/ServerOperation.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008-2009, Motorola, Inc.
+ * Copyright (c) 2010-2011, Motorola, Inc.
*
* All rights reserved.
*
@@ -88,6 +88,8 @@ public final class ServerOperation implements Operation, BaseStream {
private boolean mHasBody;
+ private boolean mEndofBody = true;
+
/**
* Creates new ServerOperation
* @param p the parent that created this object
@@ -364,24 +366,31 @@ public final class ServerOperation implements Operation, BaseStream {
* (End of Body) otherwise, we need to send 0x48 (Body)
*/
if ((finalBitSet) || (mPrivateOutput.isClosed())) {
- out.write(0x49);
+ if (mEndofBody) {
+ out.write((byte)0x49);
+ bodyLength += 3;
+ out.write((byte)(bodyLength >> 8));
+ out.write((byte)bodyLength);
+ out.write(body);
+ }
} else {
out.write(0x48);
+ bodyLength += 3;
+ out.write((byte)(bodyLength >> 8));
+ out.write((byte)bodyLength);
+ out.write(body);
}
- bodyLength += 3;
- out.write((byte)(bodyLength >> 8));
- out.write((byte)bodyLength);
- out.write(body);
}
}
if ((finalBitSet) && (type == ResponseCodes.OBEX_HTTP_OK) && (orginalBodyLength <= 0)) {
- out.write(0x49);
- orginalBodyLength = 3;
- out.write((byte)(orginalBodyLength >> 8));
- out.write((byte)orginalBodyLength);
-
+ if (mEndofBody) {
+ out.write(0x49);
+ orginalBodyLength = 3;
+ out.write((byte)(orginalBodyLength >> 8));
+ out.write((byte)orginalBodyLength);
+ }
}
mResponseSize = 3;
@@ -711,4 +720,9 @@ public final class ServerOperation implements Operation, BaseStream {
public void streamClosed(boolean inStream) throws IOException {
}
+
+ public void noEndofBody() {
+ mEndofBody = false;
+ }
+
}