]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/asynctasks/SaveUrl.java
Add share, copy, and save options to About > Version. https://redmine.stoutner.com...
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / asynctasks / SaveUrl.java
index e6b811500726162066086320c13053c9869950b5..ad200216751887d0004e67dcab866f6505804918 100644 (file)
@@ -20,7 +20,6 @@
 package com.stoutner.privacybrowser.asynctasks;
 
 import android.app.Activity;
-import android.content.ActivityNotFoundException;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
@@ -41,7 +40,6 @@ import com.stoutner.privacybrowser.views.NoSwipeViewPager;
 import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.FileOutputStream;
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.lang.ref.WeakReference;
@@ -51,7 +49,7 @@ import java.net.URL;
 import java.text.NumberFormat;
 
 public class SaveUrl extends AsyncTask<String, Long, String> {
-    // Define a weak references for the calling context and activity.
+    // Define a weak references.
     private WeakReference<Context> contextWeakReference;
     private WeakReference<Activity> activityWeakReference;
 
@@ -214,7 +212,7 @@ public class SaveUrl extends AsyncTask<String, Long, String> {
                 // Close the output stream.
                 outputStream.close();
 
-                // Define a media scanner intent, which adds items like pictures to Android's recent file list.
+                // Create a media scanner intent, which adds items like pictures to Android's recent file list.
                 Intent mediaScannerIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
 
                 // Add the URI to the media scanner intent.
@@ -226,7 +224,7 @@ public class SaveUrl extends AsyncTask<String, Long, String> {
                 // Disconnect the HTTP URL connection.
                 httpUrlConnection.disconnect();
             }
-        } catch (IOException exception) {
+        } catch (Exception exception) {
             // Store the error in the save disposition string.
             saveDisposition = exception.toString();
         }
@@ -249,7 +247,7 @@ public class SaveUrl extends AsyncTask<String, Long, String> {
         // Check to see if a download percentage has been calculated.
         if (downloadPercentage[0] < 0) {  // There is no download percentage.  The negative number represents the raw downloaded kilobytes.
             // Calculate the number of bytes downloaded.  When the `downloadPercentage` is negative, it is actually the raw number of kilobytes downloaded.
-            long numberOfBytesDownloaded = - downloadPercentage[0];
+            long numberOfBytesDownloaded = - downloadPercentage[0];
 
             // Format the number of bytes downloaded.
             String formattedNumberOfBytesDownloaded = NumberFormat.getInstance().format(numberOfBytesDownloaded);
@@ -287,11 +285,11 @@ public class SaveUrl extends AsyncTask<String, Long, String> {
 
             // Add an open action if the file is not an APK on API >= 26 (that scenario requires the REQUEST_INSTALL_PACKAGES permission).
             if (!(Build.VERSION.SDK_INT >= 26 && filePathString.endsWith(".apk"))) {
-                fileSavedSnackbar.setAction(R.string.open, (View v) -> {
+                fileSavedSnackbar.setAction(R.string.open, (View view) -> {
                     // Get a file for the file path string.
                     File file = new File(filePathString);
 
-                    // Define a file URI variable
+                    // Declare a file URI variable.
                     Uri fileUri;
 
                     // Get the URI for the file according to the Android version.
@@ -317,14 +315,8 @@ public class SaveUrl extends AsyncTask<String, Long, String> {
                     // Allow the app to read the file URI.
                     openIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
 
-                    // Try the intent.
-                    try {
-                        // Show the chooser.
-                        activity.startActivity(openIntent);
-                    } catch (ActivityNotFoundException exception) {  // There are no apps available to open the URL.
-                        // Show a snackbar with the error.
-                        Snackbar.make(noSwipeViewPager, activity.getString(R.string.error) + "  " + exception, Snackbar.LENGTH_INDEFINITE).show();
-                    }
+                    // Show the chooser.
+                    activity.startActivity(Intent.createChooser(openIntent, context.getString(R.string.open)));
                 });
             }