From 8a6ad810273a1b2488c6da9ef6f3138806111ba5 Mon Sep 17 00:00:00 2001 From: Anthony Restaino Date: Mon, 14 Sep 2015 19:58:46 -0400 Subject: [PATCH] Extract anonymous caching class to its own inner class --- .../browser/lightning/view/LightningView.java | 46 +++++++++++-------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/acr/browser/lightning/view/LightningView.java b/app/src/main/java/acr/browser/lightning/view/LightningView.java index b4b377c..5941260 100644 --- a/app/src/main/java/acr/browser/lightning/view/LightningView.java +++ b/app/src/main/java/acr/browser/lightning/view/LightningView.java @@ -517,24 +517,7 @@ public class LightningView { if (uri.getHost() == null) { return; } - new Thread(new Runnable() { - @Override - public void run() { - String hash = String.valueOf(uri.getHost().hashCode()); - Log.d(Constants.TAG, "Caching icon for " + uri.getHost()); - FileOutputStream fos = null; - try { - File image = new File(BrowserApp.getAppContext().getCacheDir(), hash + ".png"); - fos = new FileOutputStream(image); - icon.compress(Bitmap.CompressFormat.PNG, 100, fos); - fos.flush(); - } catch (IOException e) { - e.printStackTrace(); - } finally { - Utils.close(fos); - } - } - }).start(); + new Thread(new IconCacheTask(uri, icon)).start(); } @SuppressLint("NewApi") @@ -629,6 +612,33 @@ public class LightningView { } } + private static class IconCacheTask implements Runnable { + private final Uri uri; + private final Bitmap icon; + + public IconCacheTask(Uri uri, Bitmap icon) { + this.uri = uri; + this.icon = icon; + } + + @Override + public void run() { + String hash = String.valueOf(uri.getHost().hashCode()); + Log.d(Constants.TAG, "Caching icon for " + uri.getHost()); + FileOutputStream fos = null; + try { + File image = new File(BrowserApp.getAppContext().getCacheDir(), hash + ".png"); + fos = new FileOutputStream(image); + icon.compress(Bitmap.CompressFormat.PNG, 100, fos); + fos.flush(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + Utils.close(fos); + } + } + } + public class LightningWebClient extends WebViewClient { final Activity mActivity;