X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fadapters%2FPinnedMismatchPagerAdapter.kt;h=6cf5485b32f86dd28ffe4cf8270f70b402330853;hp=f955fb8483afc86f61f0d256c23e1d4150913074;hb=48ae68b846bb5bb035e0d86659e4736b6db6f12d;hpb=6ea3e4ebd779594b45ad8f51cc40761bb6d89030 diff --git a/app/src/main/java/com/stoutner/privacybrowser/adapters/PinnedMismatchPagerAdapter.kt b/app/src/main/java/com/stoutner/privacybrowser/adapters/PinnedMismatchPagerAdapter.kt index f955fb84..6cf5485b 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/adapters/PinnedMismatchPagerAdapter.kt +++ b/app/src/main/java/com/stoutner/privacybrowser/adapters/PinnedMismatchPagerAdapter.kt @@ -1,26 +1,25 @@ /* - * Copyright © 2021 Soren Stoutner . + * Copyright © 2021-2022 Soren Stoutner . * - * This file is part of Privacy Browser . + * This file is part of 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 . + * along with Privacy Browser Android. If not, see . */ 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 {