@Override public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) { Context context = view.getContext(); AlertDialog.Builder builder = new AlertDialog.Builder(context); LayoutInflater layoutInflater = LayoutInflater.from(context); View dialogView = layoutInflater.inflate(R.layout.auth_dialog, new LinearLayout(context)); EditText username = dialogView.findViewById(R.id.username); EditText password = dialogView.findViewById(R.id.password); TextView auth_detail = dialogView.findViewById(R.id.auth_detail); String text = context.getString(R.string.auth_dialog_detail, view.getUrl()); auth_detail.setText(text); builder.setView(dialogView) .setTitle(R.string.auth_dialog_title) .setPositiveButton(R.string.auth_dialog_login, (dialog, whichButton) -> handler.proceed( username.getText().toString(), password.getText().toString())) .setNegativeButton(android.R.string.cancel, (dialog, whichButton) -> handler.cancel()) .setOnDismissListener(dialog -> handler.cancel()) .show(); }
@Override public void showDialog(Activity activity) { super.showDialog(activity); dismissDialog(activity); AlertDialog.Builder dialog = new AlertDialog.Builder(activity); dialog.setTitle(R.string.connection_error_command_title); StringBuilder commands = new StringBuilder(); for (String cmd : mCommands) { commands.append('/'); commands.append(cmd); commands.append('\n'); } SpannableString commandsSeq = new SpannableString(commands); commandsSeq.setSpan(new TypefaceSpan("monospace"), 0, commandsSeq.length(), SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE); dialog.setMessage(SpannableStringHelper.format(activity.getResources().getQuantityText( R.plurals.connection_error_command_dialog_content, mCommands.size()), mNetworkName, commandsSeq)); dialog.setPositiveButton(R.string.action_ok, null); dialog.setOnDismissListener((DialogInterface di) -> { dismiss(); }); mDialog = dialog.show(); }
@Override public void showDialog(Activity activity) { dismissDialog(null); AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setTitle(activity.getString(R.string.certificate_error, getServerName())); LayoutInflater inflater = activity.getLayoutInflater(); View view = inflater.inflate(R.layout.bad_certificate_layout, null, false); ((TextView) view.findViewById(R.id.error_certificate)).setText(ServerCertificateManager.buildCertOverviewString(mCertificate)); ((TextView) view.findViewById(R.id.error_header)).setText(String.format(activity.getString(mStringId), mStringArgs)); builder.setView(view); builder.setCancelable(false); builder.setPositiveButton(R.string.action_cancel, (DialogInterface dialog, int which) -> { mReturnValue.set(false); dismiss(); }); builder.setNegativeButton(R.string.certificate_error_ignore, (DialogInterface dialog, int which) -> { if (mReturnValue.isDone()) return; boolean remember = (((CheckBox) view.findViewById(R.id.error_remember)).isChecked()); addCertificateException(mCertificate, !remember); mReturnValue.set(true); dismiss(); }); builder.setOnDismissListener((DialogInterface di) -> { if (mLastDialog != null && mLastDialog.get() == di) mLastDialog = null; }); mLastDialog = new WeakReference<>(builder.show()); }
}) .setOnCancelListener(d -> finish()) .setOnDismissListener(d -> finish()) .create(); dialog.show();
builder.setOnDismissListener(dialog -> { filterDialog = null; });
ModelHelper.setTemporaryTrustAllCertificatesAccessGrant( account, false)) .setOnDismissListener(dialogInterface -> mDialog = null) .create(); mDialog.show();
@Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case R.id.menu_mark_as_read: performMarkAsReadAccountNotifications(); return true; case R.id.menu_delete_all: //noinspection ConstantConditions mDialog = new AlertDialog.Builder(getActivity()) .setTitle(R.string.account_notifications_delete_title) .setMessage(R.string.account_notifications_delete_message) .setPositiveButton(R.string.action_yes, (dialog, which) -> performDeleteAccountNotifications()) .setNegativeButton(android.R.string.cancel, null) .setOnDismissListener(dialogInterface -> mDialog = null) .create(); mDialog.show(); return true; default: return super.onOptionsItemSelected(item); } }
@Override public Builder setOnDismissListener(OnDismissListener onDismissListener) { super.setOnDismissListener(onDismissListener); return this; }