diff options
| author | 2019-10-08 12:45:23 -0400 | |
|---|---|---|
| committer | 2019-10-10 10:07:45 -0400 | |
| commit | e8da8b12c3ee0449ed60f7c28ce983c3ea2b4749 (patch) | |
| tree | 83c65c3eb88d1b83145ce59319b38aa27a6a879f /graphics/java/android | |
| parent | a3b702fa84b258f4bfa456223c2e02aca76de01b (diff) | |
Handle null assetFd like a FNF
Bug: 140961740
Test: TODO
We already catch an FNF and attempt to open the file as an InputStream.
Do the same if null is returned.
I haven't figured out a way to make assetFd set to null and yet opening
an InputStream succeeds, so this is untested.
Change-Id: Iabd05db714bc693ead2dc8cc4c0b46fef9f33d5a
Diffstat (limited to 'graphics/java/android')
| -rw-r--r-- | graphics/java/android/graphics/ImageDecoder.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/graphics/java/android/graphics/ImageDecoder.java b/graphics/java/android/graphics/ImageDecoder.java index 6619dba159c2..e7b0e2899421 100644 --- a/graphics/java/android/graphics/ImageDecoder.java +++ b/graphics/java/android/graphics/ImageDecoder.java @@ -277,6 +277,10 @@ public final class ImageDecoder implements AutoCloseable { assetFd = mResolver.openAssetFileDescriptor(mUri, "r"); } } catch (FileNotFoundException e) { + // Handled below, along with the case where assetFd was set to null. + } + + if (assetFd == null) { // Some images cannot be opened as AssetFileDescriptors (e.g. // bmp, ico). Open them as InputStreams. InputStream is = mResolver.openInputStream(mUri); @@ -286,9 +290,7 @@ public final class ImageDecoder implements AutoCloseable { return createFromStream(is, true, preferAnimation, this); } - if (assetFd == null) { - throw new FileNotFoundException(mUri.toString()); - } + return createFromAssetFileDescriptor(assetFd, preferAnimation, this); } } |