Fix bug with calls to the typeless open API.
Fix bug where we weren't using the default stream if a caller requested "*/*" as a type. This broke apps calling the old open APIs on content providers that did not report MIME types. Change-Id: Id6e3e64e36cb8637097c3a7834b09407c27487d2
This commit is contained in:
@ -851,8 +851,14 @@ public abstract class ContentProvider implements ComponentCallbacks {
|
||||
*/
|
||||
public AssetFileDescriptor openTypedAssetFile(Uri uri, String mimeTypeFilter, Bundle opts)
|
||||
throws FileNotFoundException {
|
||||
if ("*/*".equals(mimeTypeFilter)) {
|
||||
// If they can take anything, the untyped open call is good enough.
|
||||
return openAssetFile(uri, "r");
|
||||
}
|
||||
String baseType = getType(uri);
|
||||
if (baseType != null && compareMimeTypes(baseType, mimeTypeFilter)) {
|
||||
// Use old untyped open call if this provider has a type for this
|
||||
// URI and it matches the request.
|
||||
return openAssetFile(uri, "r");
|
||||
}
|
||||
throw new FileNotFoundException("Can't open " + uri + " as type " + mimeTypeFilter);
|
||||
|
Reference in New Issue
Block a user