]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/adapters/PinnedMismatchPagerAdapter.kt
Add Night Theme dual tone blue text. https://redmine.stoutner.com/issues/878
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / adapters / PinnedMismatchPagerAdapter.kt
index f955fb8483afc86f61f0d256c23e1d4150913074..6cf5485b32f86dd28ffe4cf8270f70b402330853 100644 (file)
@@ -1,26 +1,25 @@
 /*
- * Copyright © 2021 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2021-2022 Soren Stoutner <soren@stoutner.com>.
  *
- * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+ * This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
  *
- * Privacy Browser is free software: you can redistribute it and/or modify
+ * Privacy Browser Android is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation, either version 3 of the License, or
  * (at your option) any later version.
  *
- * Privacy Browser is distributed in the hope that it will be useful,
+ * Privacy Browser Android is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>.
+ * along with Privacy Browser Android.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 package com.stoutner.privacybrowser.adapters
 
 import android.content.Context
-import android.content.res.Configuration
 import android.net.Uri
 import android.text.SpannableStringBuilder
 import android.text.Spanned
@@ -130,12 +129,12 @@ class PinnedMismatchPagerAdapter(private val context: Context, private val layou
             currentSslEndDate = sslCertificate.validNotAfterDate
         }
 
-        // Get the pinned SSL certificate.
-        val pinnedSslCertificateArrayList = nestedScrollWebView.getPinnedSslCertificate()
+        // Get the pinned SSL certificate pair.
+        val pinnedSslCertificatePair = nestedScrollWebView.getPinnedSslCertificate()
 
         // Extract the arrays from the array list.
-        val pinnedSslCertificateStringArray = pinnedSslCertificateArrayList[0] as Array<*>
-        val pinnedSslCertificateDateArray = pinnedSslCertificateArrayList[1] as Array<*>
+        val pinnedSslCertificateStringArray = pinnedSslCertificatePair.first
+        val pinnedSslCertificateDateArray = pinnedSslCertificatePair.second
 
         // Setup the domain name spannable string builder.
         val domainNameStringBuilder = SpannableStringBuilder(domainNameLabel + domainName)
@@ -183,46 +182,19 @@ class PinnedMismatchPagerAdapter(private val context: Context, private val layou
             issuedByCNameStringBuilder = SpannableStringBuilder(cNameLabel + pinnedSslCertificateStringArray[3])
             issuedByONameStringBuilder = SpannableStringBuilder(oNameLabel + pinnedSslCertificateStringArray[4])
             issuedByUNameStringBuilder = SpannableStringBuilder(uNameLabel + pinnedSslCertificateStringArray[5])
-
-            // Set the dates if they aren't null.  Formatting a null date causes a crash.
-            startDateStringBuilder = if (pinnedSslCertificateDateArray[0] == null) {
-                SpannableStringBuilder(startDateLabel)
-            } else {
-                SpannableStringBuilder(startDateLabel + DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.LONG).format(pinnedSslCertificateDateArray[0]))
-            }
-
-            endDateStringBuilder = if (pinnedSslCertificateDateArray[1] == null) {
-                SpannableStringBuilder(endDateLabel)
-            } else {
-                SpannableStringBuilder(endDateLabel + DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.LONG).format(pinnedSslCertificateDateArray[1]))
-            }
+            startDateStringBuilder = SpannableStringBuilder(startDateLabel + DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.LONG).format(pinnedSslCertificateDateArray[0]))
+            endDateStringBuilder = SpannableStringBuilder(endDateLabel + DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.LONG).format(pinnedSslCertificateDateArray[1]))
         }
 
-        // Define the color spans.
-        val blueColorSpan: ForegroundColorSpan
-        val redColorSpan: ForegroundColorSpan
-
-        // Get the current theme status.
-        val currentThemeStatus = context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
-
-        // Set the color spans according to the theme.  The deprecated `resources` must be used until the minimum API >= 23.
-        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-            @Suppress("DEPRECATION")
-            blueColorSpan = ForegroundColorSpan(context.resources.getColor(R.color.blue_700))
-            @Suppress("DEPRECATION")
-            redColorSpan = ForegroundColorSpan(context.resources.getColor(R.color.red_a700))
-        } else {
-            @Suppress("DEPRECATION")
-            blueColorSpan = ForegroundColorSpan(context.resources.getColor(R.color.violet_700))
-            @Suppress("DEPRECATION")
-            redColorSpan = ForegroundColorSpan(context.resources.getColor(R.color.red_900))
-        }
+        // Create the color spans.
+        val blueColorSpan = ForegroundColorSpan(context.getColor(R.color.alt_blue_text))
+        val redColorSpan = ForegroundColorSpan(context.getColor(R.color.red_text))
 
         // Set the domain name to be blue.
         domainNameStringBuilder.setSpan(blueColorSpan, domainNameLabel.length, domainNameStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
 
         // Color coordinate the IP addresses if they are pinned.
-        if (!nestedScrollWebView.pinnedIpAddresses.equals("")) {
+        if (nestedScrollWebView.pinnedIpAddresses != "") {
             if (nestedScrollWebView.currentIpAddresses == nestedScrollWebView.pinnedIpAddresses) {
                 ipAddressesStringBuilder.setSpan(blueColorSpan, ipAddressesLabel.length, ipAddressesStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
             } else {