package com.stoutner.privacybrowser.dialogs
-import android.annotation.SuppressLint
import android.app.Dialog
import android.content.DialogInterface
import android.content.res.Configuration
}
}
- // `@SuppressLint("InflateParams")` removes the warning about using `null` as the parent view group when inflating the `AlertDialog`.
- @SuppressLint("InflateParams")
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
// Get a handle for the arguments.
val arguments = requireArguments()
// Set the title.
dialogBuilder.setTitle(R.string.http_authentication)
- // Set the view. The parent view is `null` because it will be assigned by the alert dialog.
- dialogBuilder.setView(layoutInflater.inflate(R.layout.http_authentication_dialog, null))
+ // Set the view.
+ dialogBuilder.setView(R.layout.http_authentication_dialog)
// Set the close button listener.
dialogBuilder.setNegativeButton(R.string.close) { _: DialogInterface?, _: Int ->
- // Cancel the HTTP authentication request.
- httpAuthHandler.cancel()
+ if (httpAuthHandler != null) {
+ // Cancel the HTTP authentication request.
+ httpAuthHandler.cancel()
- // Reset the HTTP authentication handler.
- nestedScrollWebView.resetHttpAuthHandler()
- }// Set the proceed button listener.
+ // Reset the HTTP authentication handler.
+ nestedScrollWebView.resetHttpAuthHandler()
+ }
+ }
+
+ // Set the proceed button listener.
dialogBuilder.setPositiveButton(R.string.proceed) { _: DialogInterface?, _: Int ->
// Send the login information
- login(httpAuthHandler)
-
- // Reset the HTTP authentication handler.
- nestedScrollWebView.resetHttpAuthHandler()
+ login(httpAuthHandler, nestedScrollWebView)
}
// Create an alert dialog from the alert dialog builder.
// Check the key code and event.
if (keyCode == KeyEvent.KEYCODE_ENTER && event.action == KeyEvent.ACTION_DOWN) { // The enter key was pressed.
// Send the login information.
- login(httpAuthHandler)
+ login(httpAuthHandler, nestedScrollWebView)
// Manually dismiss the alert dialog.
alertDialog.dismiss()
// Check the key code and event.
if (keyCode == KeyEvent.KEYCODE_ENTER && event.action == KeyEvent.ACTION_DOWN) { // The enter key was pressed.
// Send the login information.
- login(httpAuthHandler)
+ login(httpAuthHandler, nestedScrollWebView)
// Manually dismiss the alert dialog.
alertDialog.dismiss()
}
}
- private fun login(httpAuthHandler: HttpAuthHandler) {
- // Send the login information.
- httpAuthHandler.proceed(usernameEditText.text.toString(), passwordEditText.text.toString())
+ private fun login(httpAuthHandler: HttpAuthHandler?, nestedScrollWebView: NestedScrollWebView) {
+ if (httpAuthHandler != null) {
+ // Send the login information.
+ httpAuthHandler.proceed(usernameEditText.text.toString(), passwordEditText.text.toString())
+
+ // Reset the HTTP authentication handler.
+ nestedScrollWebView.resetHttpAuthHandler()
+ }
}
}
\ No newline at end of file