diff options
author | Brint E. Kriebel <bekit@cyngn.com> | 2014-05-20 17:22:59 -0700 |
---|---|---|
committer | Brint E. Kriebel <bekit@cyngn.com> | 2014-05-20 17:22:59 -0700 |
commit | 4f63bf9904f4babfd928250adc6646c6669bf484 (patch) | |
tree | 2aeaa41f4e70f7f229e34340ce5648b6c5041970 /src | |
parent | 66b6af8c7dab5cb9b70127d1653ece0d9cfbe5b5 (diff) | |
parent | 15bb907b0a1ccdcec7617778371748bee5f7eeb3 (diff) | |
download | android_packages_apps_Bluetooth-4f63bf9904f4babfd928250adc6646c6669bf484.tar.gz android_packages_apps_Bluetooth-4f63bf9904f4babfd928250adc6646c6669bf484.tar.bz2 android_packages_apps_Bluetooth-4f63bf9904f4babfd928250adc6646c6669bf484.zip |
Merge remote-tracking branch 'github/cm-11.0' into HEADcm-11.0-XNPH25R-bacon-d22b777afacm-11.0-XNPH22R-bacon-03d77315ea
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/bluetooth/hfpclient/HandsfreeClientStateMachine.java | 2 | ||||
-rw-r--r-- | src/com/android/bluetooth/opp/BluetoothOppObexServerSession.java | 93 |
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) { |