src/com/android/bluetooth/opp/BluetoothOppSendFileInfo.java
} else if ("file".equals(scheme)) {
if (uri.getPath() == null) {
Log.e(TAG, "Invalid URI path: " + uri);
return SEND_FILE_INFO_ERROR;
}
//added start
if (fromExternal && !BluetoothOppUtility.isInExternalStorageDir(uri)
&& !BluetoothOppUtility.isInExternalSDcardDir(uri)) {
//added end
//if (fromExternal && !BluetoothOppUtility.isInExternalStorageDir(uri)) {
EventLog.writeEvent(0x534e4554, "35310991", -1, uri.getPath());
Log.e(TAG, "File based URI not in Environment.getExternalStorageDirectory() " +
"is not allowed.");
return SEND_FILE_INFO_ERROR;
}
src/com/android/bluetooth/opp/BluetoothOppUtility.java
//added start
static boolean isInExternalSDcardDir(Uri uri) {
if (!ContentResolver.SCHEME_FILE.equals(uri.getScheme())) {
Log.e(TAG, "Not a file URI: " + uri);
return false;
}
final File file = new File(uri.getCanonicalUri().getPath());
return isSameOrSubDirectory(Environment.getSecondaryStorageDirectory(), file);
}
//added end