X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fdialogs%2FCreateBookmarkDialog.java;h=d034aac7504a404ee894645973dc5ecf65e1e319;hb=012e5595c82d6e8d0b8a46f1ef18a02a56341182;hp=b2966c14a4fb9fd067c22a55aac95a3c6b6ccfee;hpb=e75f230075b4059be6a9b6d27d8b6b202c74a6ff;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateBookmarkDialog.java b/app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateBookmarkDialog.java index b2966c14..d034aac7 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateBookmarkDialog.java +++ b/app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateBookmarkDialog.java @@ -1,5 +1,5 @@ /* - * Copyright © 2016-2017 Soren Stoutner . + * Copyright © 2016-2018 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -51,12 +51,8 @@ public class CreateBookmarkDialog extends AppCompatDialogFragment { public void onAttach(Context context) { super.onAttach(context); - // Get a handle for `CreateBookmarkListener` from `context`. - try { - createBookmarkListener = (CreateBookmarkListener) context; - } catch(ClassCastException exception) { - throw new ClassCastException(context.toString() + " must implement `CreateBookmarkListener`."); - } + // Get a handle for `CreateBookmarkListener` from the launching context. + createBookmarkListener = (CreateBookmarkListener) context; } // `@SuppressLing("InflateParams")` removes the warning about using `null` as the parent view group when inflating the `AlertDialog`. @@ -81,33 +77,34 @@ public class CreateBookmarkDialog extends AppCompatDialogFragment { dialogBuilder.setTitle(R.string.create_bookmark); dialogBuilder.setIcon(favoriteIconDrawable); + // Remove the warning below that `getLayoutInflater()` might be null. + assert getActivity() != null; + // Set the view. The parent view is `null` because it will be assigned by the `AlertDialog`. dialogBuilder.setView(getActivity().getLayoutInflater().inflate(R.layout.create_bookmark_dialog, null)); // Set an `onClick()` listener for the negative button. - dialogBuilder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - // Do nothing. The `AlertDialog` will close automatically. - } + dialogBuilder.setNegativeButton(R.string.cancel, (DialogInterface dialog, int which) -> { + // Do nothing. The `AlertDialog` will close automatically. }); // Set an `onClick()` listener for the positive button. - dialogBuilder.setPositiveButton(R.string.create, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - // Return the `DialogFragment` to the parent activity. - createBookmarkListener.onCreateBookmark(CreateBookmarkDialog.this); - } + dialogBuilder.setPositiveButton(R.string.create, (DialogInterface dialog, int which) -> { + // Return the `DialogFragment` to the parent activity. + createBookmarkListener.onCreateBookmark(CreateBookmarkDialog.this); }); - // Create an `AlertDialog` from the `AlertDialog.Builder`. final AlertDialog alertDialog = dialogBuilder.create(); - // Remove the warning below that `setSoftInputMode` might produce `java.lang.NullPointerException`. + // Remove the warning below that `getWindow()` might be null. assert alertDialog.getWindow() != null; + // Disable screenshots if not allowed. + if (!MainWebViewActivity.allowScreenshots) { + alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); + } + // Show the keyboard when the `AlertDialog` is displayed on the screen. alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); @@ -115,50 +112,46 @@ public class CreateBookmarkDialog extends AppCompatDialogFragment { alertDialog.show(); // Get a handle for `create_bookmark_name_edittext`. - EditText createBookmarkNameEditText = (EditText) alertDialog.findViewById(R.id.create_bookmark_name_edittext); + EditText createBookmarkNameEditText = alertDialog.findViewById(R.id.create_bookmark_name_edittext); // Set the current `WebView` title as the text for `create_bookmark_name_edittext`. createBookmarkNameEditText.setText(MainWebViewActivity.webViewTitle); // Allow the `enter` key on the keyboard to create the bookmark from `create_bookmark_name_edittext`. - createBookmarkNameEditText.setOnKeyListener(new View.OnKeyListener() { - public boolean onKey(View view, int keyCode, KeyEvent event) { - // If the event is a key-down on the `enter` key, select the `PositiveButton` `Create`. - if ((keyCode == KeyEvent.KEYCODE_ENTER) && (event.getAction() == KeyEvent.ACTION_DOWN)) { - // Trigger `createBookmarkListener` and return the `DialogFragment` to the parent activity. - createBookmarkListener.onCreateBookmark(CreateBookmarkDialog.this); - - // Manually dismiss the `AlertDialog`. - alertDialog.dismiss(); - - // Consume the event. - return true; - } else { // If any other key was pressed, do not consume the event. - return false; - } + createBookmarkNameEditText.setOnKeyListener((View view, int keyCode, KeyEvent event) -> { + // If the event is a key-down on the `enter` key, select the `PositiveButton` `Create`. + if ((keyCode == KeyEvent.KEYCODE_ENTER) && (event.getAction() == KeyEvent.ACTION_DOWN)) { + // Trigger `createBookmarkListener` and return the `DialogFragment` to the parent activity. + createBookmarkListener.onCreateBookmark(CreateBookmarkDialog.this); + + // Manually dismiss the `AlertDialog`. + alertDialog.dismiss(); + + // Consume the event. + return true; + } else { // If any other key was pressed, do not consume the event. + return false; } }); // Set the formattedUrlString as the initial text of `create_bookmark_url_edittext`. - EditText createBookmarkUrlEditText = (EditText) alertDialog.findViewById(R.id.create_bookmark_url_edittext); + EditText createBookmarkUrlEditText = alertDialog.findViewById(R.id.create_bookmark_url_edittext); createBookmarkUrlEditText.setText(MainWebViewActivity.formattedUrlString); // Allow the `enter` key on the keyboard to create the bookmark from `create_bookmark_url_edittext`. - createBookmarkUrlEditText.setOnKeyListener(new View.OnKeyListener() { - public boolean onKey(View v, int keyCode, KeyEvent event) { - // If the event is a key-down on the "enter" key, select the PositiveButton "Create". - if ((keyCode == KeyEvent.KEYCODE_ENTER) && (event.getAction() == KeyEvent.ACTION_DOWN)) { - // Trigger `createBookmarkListener` and return the DialogFragment to the parent activity. - createBookmarkListener.onCreateBookmark(CreateBookmarkDialog.this); - - // Manually dismiss the `AlertDialog`. - alertDialog.dismiss(); - - // Consume the event. - return true; - } else { // If any other key was pressed, do not consume the event. - return false; - } + createBookmarkUrlEditText.setOnKeyListener((View v, int keyCode, KeyEvent event) -> { + // If the event is a key-down on the "enter" key, select the PositiveButton "Create". + if ((keyCode == KeyEvent.KEYCODE_ENTER) && (event.getAction() == KeyEvent.ACTION_DOWN)) { + // Trigger `createBookmarkListener` and return the DialogFragment to the parent activity. + createBookmarkListener.onCreateBookmark(CreateBookmarkDialog.this); + + // Manually dismiss the `AlertDialog`. + alertDialog.dismiss(); + + // Consume the event. + return true; + } else { // If any other key was pressed, do not consume the event. + return false; } });