/*
- * Copyright © 2017-2018 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
*
import android.content.DialogInterface;
import android.net.Uri;
import android.os.Bundle;
-// We have to use `AppCompatDialogFragment` instead of `DialogFragment` or an error is produced on API <= 22.
-import android.support.annotation.NonNull;
-import android.support.v7.app.AppCompatDialogFragment;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.widget.EditText;
import android.widget.TextView;
+import androidx.annotation.NonNull;
+// The AndroidX dialog fragment must be used or an error is produced on API <=22.
+import androidx.fragment.app.DialogFragment;
+
import com.stoutner.privacybrowser.R;
import com.stoutner.privacybrowser.activities.MainWebViewActivity;
import com.stoutner.privacybrowser.helpers.DomainsDatabaseHelper;
-public class AddDomainDialog extends AppCompatDialogFragment {
+public class AddDomainDialog extends DialogFragment {
// The public interface is used to send information back to the parent activity.
public interface AddDomainListener {
- void onAddDomain(AppCompatDialogFragment dialogFragment);
+ void onAddDomain(DialogFragment dialogFragment);
}
// `addDomainListener` is used in `onAttach()` and `onCreateDialog()`.
public void onAttach(Context context) {
+ // Run the default commands.
super.onAttach(context);
- // Get a handle for `AddDomainListener` from `context`.
- try {
- addDomainListener = (AddDomainListener) context;
- } catch(ClassCastException exception) {
- throw new ClassCastException(context.toString() + " must implement `AddDomainListener`.");
- }
+ // Get a handle for the listener from the launching context.
+ addDomainListener = (AddDomainListener) context;
}
// `@SuppressLing("InflateParams")` removes the warning about using `null` as the parent view group when inflating the `AlertDialog`.