X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fdialogs%2FDownloadImageDialog.java;h=94f258685b3bab4c7d4a24b5f6b17832290115de;hp=2221bfe98c20b5ffebbad4019d1d7f1abb73a2f0;hb=012e5595c82d6e8d0b8a46f1ef18a02a56341182;hpb=0a5d2eabceeafb49a957598538aa74d4f11dfce0 diff --git a/app/src/main/java/com/stoutner/privacybrowser/dialogs/DownloadImageDialog.java b/app/src/main/java/com/stoutner/privacybrowser/dialogs/DownloadImageDialog.java index 2221bfe9..94f25868 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/dialogs/DownloadImageDialog.java +++ b/app/src/main/java/com/stoutner/privacybrowser/dialogs/DownloadImageDialog.java @@ -41,9 +41,23 @@ import com.stoutner.privacybrowser.activities.MainWebViewActivity; // `android.support.v7.app.AlertDialog` uses more of the horizontal screen real estate versus `android.app.AlertDialog's` smaller width. // We have to use `AppCompatDialogFragment` instead of `DialogFragment` or an error is produced on API <=22. public class DownloadImageDialog extends AppCompatDialogFragment { + // `downloadImageListener` is used in `onAttach()` and `onCreateDialog()`. + private DownloadImageListener downloadImageListener; + + // The public interface is used to send information back to the parent activity. + public interface DownloadImageListener { + void onDownloadImage(AppCompatDialogFragment dialogFragment, String downloadUrl); + } + + // Check to make sure tha the parent activity implements the listener. + @Override + public void onAttach(Context context) { + // Run the default commands. + super.onAttach(context); - private String imageUrl; - private String imageFileName; + // Get a handle for `DownloadImageListener` from the launching context. + downloadImageListener = (DownloadImageListener) context; + } public static DownloadImageDialog imageUrl(String imageUrlString) { // Create an arguments bundle. @@ -66,42 +80,18 @@ public class DownloadImageDialog extends AppCompatDialogFragment { return thisDownloadFileDialog; } - @Override - 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. - imageUrl = getArguments().getString("URL"); - imageFileName = getArguments().getString("Image_Name"); - } - - // The public interface is used to send information back to the parent activity. - public interface DownloadImageListener { - void onDownloadImage(AppCompatDialogFragment dialogFragment, String downloadUrl); - } - - // `downloadImageListener` is used in `onAttach()` and `onCreateDialog()`. - private DownloadImageListener downloadImageListener; - - // Check to make sure tha the parent activity implements the listener. - @Override - public void onAttach(Context context) { - super.onAttach(context); - try { - downloadImageListener = (DownloadImageListener) context; - } catch (ClassCastException exception) { - throw new ClassCastException(context.toString() + " must implement DownloadImageListener."); - } - } - // `@SuppressLing("InflateParams")` removes the warning about using `null` as the parent view group when inflating the `AlertDialog`. @SuppressLint("InflateParams") @Override @NonNull public Dialog onCreateDialog(Bundle savedInstanceState) { + // Remove the warning below that `getArguments()` might be null. + assert getArguments() != null; + + // Get the strings from the bundle. + String imageUrl = getArguments().getString("URL"); + String imageFileName = getArguments().getString("Image_Name"); + // Remove the warning below that `.getActivity()` might be null. assert getActivity() != null;