]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/dialogs/HttpAuthenticationDialog.kt
Migrate the rest of the dialogs to Kotlin. https://redmine.stoutner.com/issues/683
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / dialogs / HttpAuthenticationDialog.kt
index 7c94fcfbfdd72f52a2df00054dbea60cd0fee0ec..42e43d91a4cfe1b00e618a8a28b6ae12d717ced8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2017-2021 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -16,6 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>.
  */
+
 package com.stoutner.privacybrowser.dialogs
 
 import android.annotation.SuppressLint
@@ -41,21 +42,21 @@ import com.stoutner.privacybrowser.R
 import com.stoutner.privacybrowser.activities.MainWebViewActivity
 import com.stoutner.privacybrowser.views.NestedScrollWebView
 
-// Declare the class constants.
+// Define the class constants.
 private const val HOST = "host"
 private const val REALM = "realm"
 private const val WEBVIEW_FRAGMENT_ID = "webview_fragment_id"
 
-class HttpAuthenticationDialog: DialogFragment() {
+class HttpAuthenticationDialog : DialogFragment() {
     // Define the class variables.
     private var dismissDialog: Boolean = false
 
-    // Define the class views.
+    // Declare the class views.
     private lateinit var usernameEditText: EditText
     private lateinit var passwordEditText: EditText
 
     companion object {
-        // `@JvmStatic` will no longer be required once all the code has transitioned to Kotlin.  Also, the function can then be moved out of a companion object and just become a package-level function.
+        // `@JvmStatic` will no longer be required once all the code has transitioned to Kotlin.
         @JvmStatic
         fun displayDialog(host: String, realm: String, webViewFragmentId: Long): HttpAuthenticationDialog {
             // Create an arguments bundle.
@@ -108,24 +109,13 @@ class HttpAuthenticationDialog: DialogFragment() {
             // Use an alert dialog builder to create the alert dialog.
             val dialogBuilder = AlertDialog.Builder(requireActivity(), R.style.PrivacyBrowserAlertDialog)
 
-            // Get the current theme status.
-            val currentThemeStatus = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
-
             // Set the icon according to the theme.
-            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-                dialogBuilder.setIcon(R.drawable.lock_day)
-            } else {
-
-                dialogBuilder.setIcon(R.drawable.lock_night)
-            }
+            dialogBuilder.setIconAttribute(R.attr.lockBlueIcon)
 
             // Set the title.
             dialogBuilder.setTitle(R.string.http_authentication)
 
-            // Get the activity's layout inflater.
-            val layoutInflater = requireActivity().layoutInflater
-
-            // Set the layout.  The parent view is `null` because it will be assigned by the alert dialog.
+            // 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 close button listener.
@@ -180,6 +170,9 @@ class HttpAuthenticationDialog: DialogFragment() {
             val hostLabel = getString(R.string.host) + "  "
             val hostStringBuilder = SpannableStringBuilder(hostLabel + httpAuthHost)
 
+            // Get the current theme status.
+            val currentThemeStatus = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
+
             // Create a blue foreground color span.
             val blueColorSpan: ForegroundColorSpan
 
@@ -189,7 +182,7 @@ class HttpAuthenticationDialog: DialogFragment() {
                 ForegroundColorSpan(resources.getColor(R.color.blue_700))
             } else {
                 @Suppress("DEPRECATION")
-                ForegroundColorSpan(resources.getColor(R.color.violet_500))
+                ForegroundColorSpan(resources.getColor(R.color.violet_700))
             }
 
             // Setup the span to display the host name in blue.  `SPAN_INCLUSIVE_INCLUSIVE` allows the span to grow in either direction.