Refactor the code to make all the Java files lint free.
[PrivacyBrowser.git] / app / src / main / java / com / stoutner / privacybrowser / CreateBookmark.java
index 4b09ba1a4ca102021fb4b63cab5c7119aa9f2c2e..8aa5dbcef912a6d45557376f7d15c5a521e59221 100644 (file)
 
 package com.stoutner.privacybrowser;
 
-import android.app.Activity;
+import android.annotation.SuppressLint;
 import android.app.Dialog;
 import android.app.DialogFragment;
+import android.content.Context;
 import android.content.DialogInterface;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
@@ -43,17 +44,19 @@ public class CreateBookmark extends DialogFragment {
     private CreateBookmarkListener createBookmarkListener;
 
 
-    public void onAttach(Activity parentActivity) {
-        super.onAttach(parentActivity);
+    public void onAttach(Context context) {
+        super.onAttach(context);
 
-        // Get a handle for `CreateBookmarkListener` from `parentActivity`.
+        // Get a handle for `CreateBookmarkListener` from `context`.
         try {
-            createBookmarkListener = (CreateBookmarkListener) parentActivity;
+            createBookmarkListener = (CreateBookmarkListener) context;
         } catch(ClassCastException exception) {
-            throw new ClassCastException(parentActivity.toString() + " must implement CreateBookmarkListener.");
+            throw new ClassCastException(context.toString() + " must implement CreateBookmarkListener.");
         }
     }
 
+    // `@SuppressLing("InflateParams")` removes the warning about using `null` as the parent view group when inflating the `AlertDialog`.
+    @SuppressLint("InflateParams")
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         // Create a drawable version of the favorite icon.
@@ -87,6 +90,9 @@ public class CreateBookmark extends DialogFragment {
         // Create an `AlertDialog` from the `AlertDialog.Builder`.
         final AlertDialog alertDialog = dialogBuilder.create();
 
+        // Remove the warning below that `setSoftInputMode` might produce `java.lang.NullPointerException`.
+        assert alertDialog.getWindow() != null;
+
         // Show the keyboard when the `Dialog` is displayed on the screen.
         alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);