From 366a1c91b833f864f9682d56a157af927661b0d9 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 26 Feb 2015 21:04:17 -0500 Subject: [PATCH] Always close the output stream --- .../com/limelight/grid/assets/DiskAssetLoader.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/limelight/grid/assets/DiskAssetLoader.java b/app/src/main/java/com/limelight/grid/assets/DiskAssetLoader.java index 6845395b..fd5a313c 100644 --- a/app/src/main/java/com/limelight/grid/assets/DiskAssetLoader.java +++ b/app/src/main/java/com/limelight/grid/assets/DiskAssetLoader.java @@ -44,13 +44,19 @@ public class DiskAssetLoader implements CachedAppAssetLoader.CachedLoader { @Override public void populateCache(CachedAppAssetLoader.LoaderTuple tuple, Bitmap bitmap) { + FileOutputStream out = null; try { // PNG ignores quality setting - FileOutputStream out = CacheHelper.openCacheFileForOutput(cacheDir, "boxart", tuple.computer.uuid.toString(), tuple.app.getAppId() + ".png"); + out = CacheHelper.openCacheFileForOutput(cacheDir, "boxart", tuple.computer.uuid.toString(), tuple.app.getAppId() + ".png"); bitmap.compress(Bitmap.CompressFormat.PNG, 0, out); - out.close(); } catch (IOException e) { e.printStackTrace(); + } finally { + if (out != null) { + try { + out.close(); + } catch (IOException ignored) {} + } } } }