Set max transmit packet size for OBEX packets to the max if they exceed the

max allowed packet size

Tag: #feature
Bug: 187174891
Test: Manual
Merged-In: I80422e03d14958f2ea95327f95d010c747948e2c
Change-Id: I80422e03d14958f2ea95327f95d010c747948e2c
This commit is contained in:
Rahul Sabnis 2021-06-04 14:19:33 -07:00 committed by William Escande
parent 4db95cceb9
commit 6338fb0d7f
2 changed files with 10 additions and 6 deletions

View File

@ -34,6 +34,8 @@
package javax.obex;
import android.util.Log;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
@ -43,7 +45,6 @@ import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import android.util.Log;
/**
* This class defines a set of helper methods for the implementation of Obex.
@ -1083,11 +1084,12 @@ public final class ObexHelper {
}
private static int validateMaxPacketSize(int size) {
if(VDBG && (size > MAX_PACKET_SIZE_INT)) Log.w(TAG,
"The packet size supported for the connection (" + size + ") is larger"
+ " than the configured OBEX packet size: " + MAX_PACKET_SIZE_INT);
if(size != -1) {
if(size < LOWER_LIMIT_MAX_PACKET_SIZE) {
if (VDBG && (size > MAX_PACKET_SIZE_INT)) {
Log.w(TAG, "The packet size supported for the connection (" + size + ") is larger"
+ " than the configured OBEX packet size: " + MAX_PACKET_SIZE_INT);
}
if (size != -1 && size < MAX_PACKET_SIZE_INT) {
if (size < LOWER_LIMIT_MAX_PACKET_SIZE) {
throw new IllegalArgumentException(size + " is less that the lower limit: "
+ LOWER_LIMIT_MAX_PACKET_SIZE);
}

View File

@ -81,6 +81,8 @@ public interface ObexTransport {
* size. Therefore this value shall not change.
* For RFCOMM or other transport types where the OBEX packets size
* is unrelated to the transport packet size, return -1;
* Exception can be made (like PBAP transport) with a smaller value
* to avoid bad effect on other profiles using the RFCOMM;
* @return the maximum allowed OBEX packet that can be send over
* the transport. Or -1 in case of don't care.
*/