Index: adblockplussbrowser/src/org/adblockplus/sbrowser/contentblocker/engine/Downloader.java |
=================================================================== |
--- a/adblockplussbrowser/src/org/adblockplus/sbrowser/contentblocker/engine/Downloader.java |
+++ b/adblockplussbrowser/src/org/adblockplus/sbrowser/contentblocker/engine/Downloader.java |
@@ -17,16 +17,17 @@ |
package org.adblockplus.sbrowser.contentblocker.engine; |
import java.io.BufferedReader; |
import java.io.IOException; |
import java.io.InputStreamReader; |
import java.net.HttpURLConnection; |
import java.net.URL; |
+import java.nio.charset.StandardCharsets; |
import java.util.HashMap; |
import java.util.HashSet; |
import java.util.Map; |
import java.util.Map.Entry; |
import java.util.concurrent.LinkedBlockingQueue; |
import java.util.concurrent.TimeUnit; |
import java.util.concurrent.locks.ReentrantLock; |
import android.annotation.SuppressLint; |
@@ -37,18 +38,18 @@ import android.util.Log; |
final class Downloader |
{ |
private static final int MAX_RETRIES = 5; |
private static final String TAG = Downloader.class.getSimpleName(); |
private final Engine engine; |
private final ReentrantLock accessLock = new ReentrantLock(); |
private Thread downloaderThread; |
- private LinkedBlockingQueue<DownloadJob> downloadJobs = new LinkedBlockingQueue<DownloadJob>(); |
- private HashSet<String> enqueuedIds = new HashSet<String>(); |
+ private LinkedBlockingQueue<DownloadJob> downloadJobs = new LinkedBlockingQueue<>(); |
+ private HashSet<String> enqueuedIds = new HashSet<>(); |
private boolean downloaderEnabled = true; |
private Downloader(final Engine engine) |
{ |
this.engine = engine; |
} |
void lock() |
@@ -96,30 +97,25 @@ final class Downloader |
{ |
break; |
} |
final String value = connection.getHeaderField(i); |
job.responseHeaders.put(key.toLowerCase(), value); |
} |
final StringBuilder sb = new StringBuilder(); |
- final BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream(), |
- Engine.CHARSET_UTF_8)); |
- try |
+ try (final BufferedReader r = new BufferedReader(new InputStreamReader( |
+ connection.getInputStream(), StandardCharsets.UTF_8))) |
{ |
for (int ch = r.read(); ch != -1; ch = r.read()) |
{ |
sb.append((char) ch); |
} |
job.responseText = sb.toString(); |
} |
- finally |
- { |
- r.close(); |
- } |
} |
public void enqueueDownload(final URL url, final String id, final Map<String, String> headers) |
{ |
this.lock(); |
try |
{ |
if (!this.enqueuedIds.contains(id)) |
@@ -155,17 +151,17 @@ final class Downloader |
{ |
this.downloader = downloader; |
} |
@Override |
public void run() |
{ |
Log.d(TAG, "Handler thread started"); |
- final LinkedBlockingQueue<DownloadJob> reQueue = new LinkedBlockingQueue<DownloadJob>(); |
+ final LinkedBlockingQueue<DownloadJob> reQueue = new LinkedBlockingQueue<>(); |
boolean interrupted = false; |
while (!interrupted) |
{ |
DownloadJob job = null; |
try |
{ |
if (!this.downloader.downloaderEnabled) |
{ |
@@ -244,21 +240,21 @@ final class Downloader |
Log.d(TAG, "Handler thread finished"); |
} |
} |
private static class DownloadJob |
{ |
private final URL url; |
private final String id; |
- private final HashMap<String, String> headers = new HashMap<String, String>(); |
+ private final HashMap<String, String> headers = new HashMap<>(); |
private int retryCount = 0; |
private int responseCode = 0; |
- private HashMap<String, String> responseHeaders = new HashMap<String, String>(); |
+ private HashMap<String, String> responseHeaders = new HashMap<>(); |
private String responseText = null; |
public DownloadJob(final URL url, final String id, final Map<String, String> headers) |
{ |
this.url = url; |
this.id = id; |
if (headers != null) |
{ |