X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fasynctasks%2FGetUrlSize.java;h=5f0020d0403c9e994e68e448586385207d3465c6;hp=fa4d3742ac046c0a5f19035d45002ed2b1bac84a;hb=f52255e6eeb1a6be9f190e733563cc37b5d1f2b5;hpb=8f7e9b7db429568e26f00bc2eef88402d722bec7 diff --git a/app/src/main/java/com/stoutner/privacybrowser/asynctasks/GetUrlSize.java b/app/src/main/java/com/stoutner/privacybrowser/asynctasks/GetUrlSize.java index fa4d3742..5f0020d0 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/asynctasks/GetUrlSize.java +++ b/app/src/main/java/com/stoutner/privacybrowser/asynctasks/GetUrlSize.java @@ -28,7 +28,6 @@ import android.widget.TextView; import com.stoutner.privacybrowser.R; import com.stoutner.privacybrowser.helpers.ProxyHelper; -import java.io.IOException; import java.lang.ref.WeakReference; import java.net.HttpURLConnection; import java.net.Proxy; @@ -36,7 +35,7 @@ import java.net.URL; import java.text.NumberFormat; public class GetUrlSize extends AsyncTask { - // Define a weak reference for the calling context and fragment. + // Define weak references for the calling context and alert dialog. private WeakReference contextWeakReference; private WeakReference alertDialogWeakReference; @@ -46,7 +45,7 @@ public class GetUrlSize extends AsyncTask { // The public constructor. public GetUrlSize(Context context, AlertDialog alertDialog, String userAgent, boolean cookiesEnabled) { - // Populate the week references to the calling activity and fragment. + // Populate the week references for the context and alert dialog. contextWeakReference = new WeakReference<>(context); alertDialogWeakReference = new WeakReference<>(alertDialog); @@ -69,7 +68,7 @@ public class GetUrlSize extends AsyncTask { // Initialize the formatted file size string. String formattedFileSize = context.getString(R.string.unknown_size); - // Because everything relating to requesting data from a webserver can throw errors, the entire section much catch `IOExceptions`. + // Because everything relating to requesting data from a webserver can throw errors, the entire section must catch exceptions. try { // Get the URL from the calling fragment. URL url = new URL(urlToSave[0]); @@ -81,20 +80,20 @@ public class GetUrlSize extends AsyncTask { Proxy proxy = proxyHelper.getCurrentProxy(context); // Open a connection to the URL. No data is actually sent at this point. - HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(proxy); + HttpURLConnection httpUrlConnection = (HttpURLConnection) url.openConnection(proxy); // Add the user agent to the header property. - httpURLConnection.setRequestProperty("User-Agent", userAgent); + httpUrlConnection.setRequestProperty("User-Agent", userAgent); // Add the cookies if they are enabled. if (cookiesEnabled) { - // Ge the cookies for the current domain. + // Get the cookies for the current domain. String cookiesString = CookieManager.getInstance().getCookie(url.toString()); // Only add the cookies if they are not null. if (cookiesString != null) { // Add the cookies to the header property. - httpURLConnection.setRequestProperty("Cookie", cookiesString); + httpUrlConnection.setRequestProperty("Cookie", cookiesString); } } @@ -103,19 +102,19 @@ public class GetUrlSize extends AsyncTask { // Exit if the task has been cancelled. if (isCancelled()) { // Disconnect the HTTP URL connection. - httpURLConnection.disconnect(); + httpUrlConnection.disconnect(); // Return the formatted file size string. return formattedFileSize; } - // Get the status code. - int responseCode = httpURLConnection.getResponseCode(); + // Get the status code. This initiates a network connection. + int responseCode = httpUrlConnection.getResponseCode(); // Exit if the task has been cancelled. if (isCancelled()) { // Disconnect the HTTP URL connection. - httpURLConnection.disconnect(); + httpUrlConnection.disconnect(); // Return the formatted file size string. return formattedFileSize; @@ -124,18 +123,15 @@ public class GetUrlSize extends AsyncTask { // Check the response code. if (responseCode >= 400) { // The response code is an error message. // Set the formatted file size to indicate a bad URL. - formattedFileSize = context.getString(R.string.bad_url); + formattedFileSize = context.getString(R.string.invalid_url); } else { // The response code is not an error message. // Get the content length header. - String contentLengthString = httpURLConnection.getHeaderField("Content-Length"); + String contentLengthString = httpUrlConnection.getHeaderField("Content-Length"); - // Define the file size long. - long fileSize; - - // Make sure the content length isn't null. - if (contentLengthString != null) { // The content length isn't null. - // Convert the content length to a long. - fileSize = Long.parseLong(contentLengthString); + // Only process the content length string if it isn't null. + if (contentLengthString != null) { + // Convert the content length string to a long. + long fileSize = Long.parseLong(contentLengthString); // Format the file size. formattedFileSize = NumberFormat.getInstance().format(fileSize) + " " + context.getString(R.string.bytes); @@ -143,11 +139,11 @@ public class GetUrlSize extends AsyncTask { } } finally { // Disconnect the HTTP URL connection. - httpURLConnection.disconnect(); + httpUrlConnection.disconnect(); } - } catch (IOException exception) { + } catch (Exception exception) { // Set the formatted file size to indicate a bad URL. - formattedFileSize = context.getString(R.string.bad_url); + formattedFileSize = context.getString(R.string.invalid_url); } // Return the formatted file size string. @@ -157,7 +153,7 @@ public class GetUrlSize extends AsyncTask { // `onPostExecute()` operates on the UI thread. @Override protected void onPostExecute(String fileSize) { - // Get a handle for the context and alert dialog. + // Get a handle for the alert dialog. AlertDialog alertDialog = alertDialogWeakReference.get(); // Abort if the alert dialog is gone.