Avoid ParcelableArrayList and support URI for file

One of the files I was trying to attach used a URI instead of a path. This caused .exists() to fail.