]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/dialogs/DownloadFileDialog.java
Use the public download directory. https://redmine.stoutner.com/issues/224
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / dialogs / DownloadFileDialog.java
index a496eb2075810042569d126019e307b644d59f29..cbf08390254a854a4023c234e402117e279dfeff 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2018 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -48,9 +48,10 @@ public class DownloadFileDialog extends AppCompatDialogFragment {
     private String fileSize;
 
     public static DownloadFileDialog fromUrl(String urlString, String contentDisposition, long contentLength) {
-        // Create `argumentsBundle`.
+        // Create an arguments bundle.
         Bundle argumentsBundle = new Bundle();
 
+        // Create a variable for the file name string.
         String fileNameString;
 
         // Parse `filename` from `contentDisposition`.
@@ -65,12 +66,12 @@ public class DownloadFileDialog extends AppCompatDialogFragment {
             fileNameString = downloadUri.getLastPathSegment();
         }
 
-        // Store the variables in the `Bundle`.
+        // Store the variables in the bundle.
         argumentsBundle.putString("URL", urlString);
         argumentsBundle.putString("File_Name", fileNameString);
         argumentsBundle.putLong("File_Size", contentLength);
 
-        // Add `argumentsBundle` to this instance of `DownloadFileDialog`.
+        // Add the arguments bundle to this instance of `DownloadFileDialog`.
         DownloadFileDialog thisDownloadFileDialog = new DownloadFileDialog();
         thisDownloadFileDialog.setArguments(argumentsBundle);
         return thisDownloadFileDialog;
@@ -80,6 +81,9 @@ public class DownloadFileDialog extends AppCompatDialogFragment {
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
+        // Remove the warning below that `getArguments()` might be null.
+        assert getArguments() != null;
+
         // Store the strings in the local class variables.
         downloadUrl = getArguments().getString("URL");
         downloadFileName = getArguments().getString("File_Name");
@@ -120,6 +124,9 @@ public class DownloadFileDialog extends AppCompatDialogFragment {
     // `@SuppressLing("InflateParams")` removes the warning about using `null` as the parent view group when inflating the `AlertDialog`.
     @SuppressLint("InflateParams")
     public Dialog onCreateDialog(Bundle savedInstanceState) {
+        // Remove the warning below that `getActivity()` might be null;
+        assert getActivity() != null;
+
         // Get the activity's layout inflater.
         LayoutInflater layoutInflater = getActivity().getLayoutInflater();
 
@@ -140,20 +147,14 @@ public class DownloadFileDialog extends AppCompatDialogFragment {
         dialogBuilder.setView(layoutInflater.inflate(R.layout.download_file_dialog, null));
 
         // Set an `onClick()` listener on the negative button.
-        dialogBuilder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int which) {
-                // Do nothing if `Cancel` is clicked.  The `Dialog` will automatically close.
-            }
+        dialogBuilder.setNegativeButton(R.string.cancel, (DialogInterface dialog, int which) -> {
+            // Do nothing if `Cancel` is clicked.  The `Dialog` will automatically close.
         });
 
         // Set an `onClick()` listener on the positive button
-        dialogBuilder.setPositiveButton(R.string.download, new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int which) {
-                // trigger `onDownloadFile()` and return the `DialogFragment` and the download URL to the parent activity.
-                downloadFileListener.onDownloadFile(DownloadFileDialog.this, downloadUrl);
-            }
+        dialogBuilder.setPositiveButton(R.string.download, (DialogInterface dialog, int which) -> {
+            // trigger `onDownloadFile()` and return the `DialogFragment` and the download URL to the parent activity.
+            downloadFileListener.onDownloadFile(DownloadFileDialog.this, downloadUrl);
         });
 
         // Create an `AlertDialog` from the `AlertDialog.Builder`.
@@ -169,28 +170,27 @@ public class DownloadFileDialog extends AppCompatDialogFragment {
         alertDialog.show();
 
         // Set the text for `downloadFileSizeTextView`.
-        TextView downloadFileSizeTextView = (TextView) alertDialog.findViewById(R.id.download_file_size);
+        TextView downloadFileSizeTextView = alertDialog.findViewById(R.id.download_file_size);
         downloadFileSizeTextView.setText(fileSize);
 
         // Set the text for `downloadFileNameTextView`.
-        EditText downloadFileNameTextView = (EditText) alertDialog.findViewById(R.id.download_file_name);
+        EditText downloadFileNameTextView = alertDialog.findViewById(R.id.download_file_name);
         downloadFileNameTextView.setText(downloadFileName);
 
         // Allow the `enter` key on the keyboard to save the file from `downloadFileNameTextView`.
-        downloadFileNameTextView.setOnKeyListener(new View.OnKeyListener() {
-            @Override
-            public boolean onKey (View v, int keyCode, KeyEvent event) {
-                // If the event is an `ACTION_DOWN` on the `enter` key, initiate the download.
-                if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
-                    // trigger `onDownloadFile()` and return the `DialogFragment` and the URL to the parent activity.
-                    downloadFileListener.onDownloadFile(DownloadFileDialog.this, downloadUrl);
-                    // Manually dismiss `alertDialog`.
-                    alertDialog.dismiss();
-                    // Consume the event.
-                    return true;
-                } else {  // If any other key was pressed, do not consume the event.
-                    return false;
-                }
+        downloadFileNameTextView.setOnKeyListener((View v, int keyCode, KeyEvent event) -> {
+            // If the event is an `ACTION_DOWN` on the `enter` key, initiate the download.
+            if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
+                // trigger `onDownloadFile()` and return the `DialogFragment` and the URL to the parent activity.
+                downloadFileListener.onDownloadFile(DownloadFileDialog.this, downloadUrl);
+
+                // Manually dismiss the alert dialog.
+                alertDialog.dismiss();
+
+                // Consume the event.
+                return true;
+            } else {  // If any other key was pressed, do not consume the event.
+                return false;
             }
         });