Merge "Send vCard with Unicode encoded Strings over BT" into gingerbread
diff --git a/src/com/android/bluetooth/pbap/BluetoothPbapVcardManager.java b/src/com/android/bluetooth/pbap/BluetoothPbapVcardManager.java
index cd704a4..95bfe3b 100644
--- a/src/com/android/bluetooth/pbap/BluetoothPbapVcardManager.java
+++ b/src/com/android/bluetooth/pbap/BluetoothPbapVcardManager.java
@@ -536,16 +536,16 @@
if (V) Log.v(TAG, "The length of this vcard is: " + vcardLen);
mVcardResults.append(vcard);
- int vcardStringLen = mVcardResults.toString().length();
- if (V) Log.v(TAG, "The length of this vcardResults is: " + vcardStringLen);
+ int vcardByteLen = mVcardResults.toString().getBytes().length;
+ if (V) Log.v(TAG, "The byte length of this vcardResults is: " + vcardByteLen);
- if (vcardStringLen >= maxPacketSize) {
+ if (vcardByteLen >= maxPacketSize) {
long timestamp = 0;
int position = 0;
// Need while loop to handle the big vcard case
while (!BluetoothPbapObexServer.sIsAborted
- && position < (vcardStringLen - maxPacketSize)) {
+ && position < (vcardByteLen - maxPacketSize)) {
if (V) timestamp = System.currentTimeMillis();
String subStr = mVcardResults.toString().substring(position,
@@ -568,9 +568,9 @@
public void onTerminate() {
// Send out last packet
- String lastStr = mVcardResults.toString();
+ byte[] lastBytes = mVcardResults.toString().getBytes();
try {
- outputStream.write(lastStr.getBytes(), 0, lastStr.length());
+ outputStream.write(lastBytes, 0, lastBytes.length);
} catch (IOException e) {
Log.e(TAG, "write outputstrem failed" + e.toString());
}