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=f85952e270a6dfe247dd6167f6d71c029934d54b;hp=74968df9508599744504dec070bf568297ef992c;hb=d4f39c36beb5e6c3568a1e075274ad66defd8e8e;hpb=ba4a1c032dbffde044b70c804f9d3c1f1ba7b939 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 74968df9..f85952e2 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/asynctasks/GetUrlSize.java +++ b/app/src/main/java/com/stoutner/privacybrowser/asynctasks/GetUrlSize.java @@ -1,5 +1,5 @@ /* - * Copyright © 2020 Soren Stoutner . + * Copyright © 2020-2021 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -19,12 +19,13 @@ package com.stoutner.privacybrowser.asynctasks; -import android.app.AlertDialog; import android.content.Context; import android.os.AsyncTask; import android.webkit.CookieManager; import android.widget.TextView; +import androidx.appcompat.app.AlertDialog; + import com.stoutner.privacybrowser.R; import com.stoutner.privacybrowser.helpers.ProxyHelper; @@ -35,17 +36,17 @@ import java.net.URL; import java.text.NumberFormat; public class GetUrlSize extends AsyncTask { - // Define a weak reference for the calling context and fragment. - private WeakReference contextWeakReference; - private WeakReference alertDialogWeakReference; + // Define weak references for the calling context and alert dialog. + private final WeakReference contextWeakReference; + private final WeakReference alertDialogWeakReference; // Define the class variables. - private String userAgent; - private boolean cookiesEnabled; + private final String userAgent; + private final boolean cookiesEnabled; // 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); @@ -68,7 +69,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]); @@ -87,7 +88,7 @@ public class GetUrlSize extends AsyncTask { // 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. @@ -108,7 +109,7 @@ public class GetUrlSize extends AsyncTask { return formattedFileSize; } - // Get the status code. + // Get the status code. This initiates a network connection. int responseCode = httpUrlConnection.getResponseCode(); // Exit if the task has been cancelled. @@ -128,13 +129,10 @@ public class GetUrlSize extends AsyncTask { // Get the content length header. 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); @@ -156,7 +154,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. @@ -167,6 +165,9 @@ public class GetUrlSize extends AsyncTask { // Get a handle for the file size text view. TextView fileSizeTextView = alertDialog.findViewById(R.id.file_size_textview); + // Remove the incorrect warning below that the file size text view might be null. + assert fileSizeTextView != null; + // Update the file size. fileSizeTextView.setText(fileSize); }