summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrint E. Kriebel <bekit@cyngn.com>2014-05-20 17:22:59 -0700
committerBrint E. Kriebel <bekit@cyngn.com>2014-05-20 17:22:59 -0700
commit4f63bf9904f4babfd928250adc6646c6669bf484 (patch)
tree2aeaa41f4e70f7f229e34340ce5648b6c5041970
parent66b6af8c7dab5cb9b70127d1653ece0d9cfbe5b5 (diff)
parent15bb907b0a1ccdcec7617778371748bee5f7eeb3 (diff)
downloadandroid_packages_apps_Bluetooth-cm-11.0-XNPH22R-bacon-03d77315ea.tar.gz
android_packages_apps_Bluetooth-cm-11.0-XNPH22R-bacon-03d77315ea.tar.bz2
android_packages_apps_Bluetooth-cm-11.0-XNPH22R-bacon-03d77315ea.zip
Merge remote-tracking branch 'github/cm-11.0' into HEADcm-11.0-XNPH25R-bacon-d22b777afacm-11.0-XNPH22R-bacon-03d77315ea
-rw-r--r--src/com/android/bluetooth/hfpclient/HandsfreeClientStateMachine.java2
-rw-r--r--src/com/android/bluetooth/opp/BluetoothOppObexServerSession.java93
2 files changed, 59 insertions, 36 deletions
diff --git a/src/com/android/bluetooth/hfpclient/HandsfreeClientStateMachine.java b/src/com/android/bluetooth/hfpclient/HandsfreeClientStateMachine.java
index 32132e4ec..fe072eeeb 100644
--- a/src/com/android/bluetooth/hfpclient/HandsfreeClientStateMachine.java
+++ b/src/com/android/bluetooth/hfpclient/HandsfreeClientStateMachine.java
@@ -1597,6 +1597,8 @@ final class HandsfreeClientStateMachine extends StateMachine {
}
break;
case SET_SPEAKER_VOLUME:
+ Log.d(TAG,"Volume is set to " + message.arg1);
+ mAudioManager.setParameters("hfp_volume=" + message.arg1);
if (mVgsFromStack) {
mVgsFromStack = false;
break;
diff --git a/src/com/android/bluetooth/opp/BluetoothOppObexServerSession.java b/src/com/android/bluetooth/opp/BluetoothOppObexServerSession.java
index e5db30bcb..0303eb676 100644
--- a/src/com/android/bluetooth/opp/BluetoothOppObexServerSession.java
+++ b/src/com/android/bluetooth/opp/BluetoothOppObexServerSession.java
@@ -47,6 +47,7 @@ import android.os.Handler;
import android.os.Message;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
+import android.provider.Settings;
import android.os.Process;
import android.util.Log;
import android.webkit.MimeTypeMap;
@@ -255,6 +256,8 @@ public class BluetoothOppObexServerSession extends ServerRequestHandler implemen
}
boolean isWhitelisted = BluetoothOppManager.getInstance(mContext).
isWhitelisted(destination);
+ boolean acceptAllFilesIsEnabled = Settings.System.getInt(mContext.getContentResolver(),
+ Settings.System.BLUETOOTH_ACCEPT_ALL_FILES, 0) == 1;
try {
boolean pre_reject = false;
@@ -277,47 +280,65 @@ public class BluetoothOppObexServerSession extends ServerRequestHandler implemen
obexResponse = ResponseCodes.OBEX_HTTP_BAD_REQUEST;
}
- if (!pre_reject) {
- /* first we look for Mimetype in Android map */
- String extension, type;
- int dotIndex = name.lastIndexOf(".");
- if (dotIndex < 0 && mimeType == null) {
- if (D) Log.w(TAG, "There is no file extension or mime type," +
- "reject the transfer");
- pre_reject = true;
- obexResponse = ResponseCodes.OBEX_HTTP_BAD_REQUEST;
- } else {
- extension = name.substring(dotIndex + 1).toLowerCase();
- MimeTypeMap map = MimeTypeMap.getSingleton();
- type = map.getMimeTypeFromExtension(extension);
- if (V) Log.v(TAG, "Mimetype guessed from extension " + extension + " is " + type);
- if (type != null) {
- mimeType = type;
-
+ if (!acceptAllFilesIsEnabled) {
+ if (!pre_reject) {
+ /* first we look for Mimetype in Android map */
+ String extension, type;
+ int dotIndex = name.lastIndexOf(".");
+ if (dotIndex < 0 && mimeType == null) {
+ if (D)
+ Log.w(TAG, "There is no file extension or mime type," +
+ "reject the transfer. File name:" + name);
+ pre_reject = true;
+ obexResponse = ResponseCodes.OBEX_HTTP_BAD_REQUEST;
} else {
- if (mimeType == null) {
- if (D) Log.w(TAG, "Can't get mimetype, reject the transfer");
- pre_reject = true;
- obexResponse = ResponseCodes.OBEX_HTTP_UNSUPPORTED_TYPE;
+ extension = name.substring(dotIndex + 1).toLowerCase();
+ MimeTypeMap map = MimeTypeMap.getSingleton();
+ type = map.getMimeTypeFromExtension(extension);
+ if (V)
+ Log.v(TAG, "Mimetype guessed from extension " + extension + " is "
+ + type);
+ if (type != null) {
+ mimeType = type;
+
+ } else {
+ if (mimeType == null) {
+ if (D)
+ Log.w(TAG, "Can't get mimetype, reject the transfer");
+ pre_reject = true;
+ obexResponse = ResponseCodes.OBEX_HTTP_UNSUPPORTED_TYPE;
+ }
+ }
+ if (mimeType != null) {
+ mimeType = mimeType.toLowerCase();
}
- }
- if (mimeType != null) {
- mimeType = mimeType.toLowerCase();
}
}
- }
- // Reject policy: anything outside the "white list" plus unspecified
- // MIME Types. Also reject everything in the "black list".
- if (!pre_reject
- && (mimeType == null
- || (!isWhitelisted && !Constants.mimeTypeMatches(mimeType,
- Constants.ACCEPTABLE_SHARE_INBOUND_TYPES))
- || Constants.mimeTypeMatches(mimeType,
- Constants.UNACCEPTABLE_SHARE_INBOUND_TYPES))) {
- if (D) Log.w(TAG, "mimeType is null or in unacceptable list, reject the transfer");
- pre_reject = true;
- obexResponse = ResponseCodes.OBEX_HTTP_UNSUPPORTED_TYPE;
+ // Reject policy: anything outside the "white list" plus
+ // unspecified
+ // MIME Types. Also reject everything in the "black list".
+ if (!pre_reject
+ && (mimeType == null
+ || (!isWhitelisted && !Constants.mimeTypeMatches(mimeType,
+ Constants.ACCEPTABLE_SHARE_INBOUND_TYPES))
+ || Constants.mimeTypeMatches(mimeType,
+ Constants.UNACCEPTABLE_SHARE_INBOUND_TYPES))) {
+ if (D)
+ Log.w(TAG,
+ "mimeType is null or in unacceptable list, reject the transfer. mimeType is "
+ + ((mimeType == null) ? "null" : mimeType));
+ pre_reject = true;
+ obexResponse = ResponseCodes.OBEX_HTTP_UNSUPPORTED_TYPE;
+ }
+ } else {
+ if (D)
+ Log.i(TAG, "acceptAllFilesIsEnabled is true, skipped check of mime type");
+ if (mimeType == null) {
+ mimeType = "*/*";
+ if (D)
+ Log.i(TAG, "mimeType is null. Fixed to */*");
+ }
}
if (pre_reject && obexResponse != ResponseCodes.OBEX_HTTP_OK) {