X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fadapters%2FPinnedMismatchPagerAdapter.kt;h=9a0d10907f9ade83780834bae5620d3c5616bc8a;hb=HEAD;hp=294e6055356b5b70cb758e42123027996faada74;hpb=8142ac5fc2489de735de4b6fa21a1eae733ccfce;p=PrivacyBrowserAndroid.git 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 294e6055..9a0d1090 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/adapters/PinnedMismatchPagerAdapter.kt +++ b/app/src/main/java/com/stoutner/privacybrowser/adapters/PinnedMismatchPagerAdapter.kt @@ -1,5 +1,5 @@ /* - * Copyright © 2021-2022 Soren Stoutner . + * Copyright © 2021-2023 Soren Stoutner . * * This file is part of Privacy Browser Android . * @@ -20,7 +20,6 @@ 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 @@ -64,10 +63,10 @@ class PinnedMismatchPagerAdapter(private val context: Context, private val layou // Setup each tab. override fun instantiateItem(container: ViewGroup, tabNumber: Int): Any { // Get the current position of this WebView fragment. - val webViewPosition = MainWebViewActivity.webViewPagerAdapter.getPositionForId(webViewFragmentId) + val webViewPosition = MainWebViewActivity.webViewStateAdapter!!.getPositionForId(webViewFragmentId) // Get the WebView tab fragment. - val webViewTabFragment = MainWebViewActivity.webViewPagerAdapter.getPageFragment(webViewPosition) + val webViewTabFragment = MainWebViewActivity.webViewStateAdapter!!.getPageFragment(webViewPosition) // Get the WebView fragment view. val webViewFragmentView = webViewTabFragment.requireView() @@ -91,13 +90,13 @@ class PinnedMismatchPagerAdapter(private val context: Context, private val layou val endDateTextView = tabLayout.findViewById(R.id.end_date) // Setup the labels. - val domainNameLabel = context.getString(R.string.domain_label) + " " - val ipAddressesLabel = context.getString(R.string.ip_addresses) + " " - val cNameLabel = context.getString(R.string.common_name) + " " - val oNameLabel = context.getString(R.string.organization) + " " - val uNameLabel = context.getString(R.string.organizational_unit) + " " - val startDateLabel = context.getString(R.string.start_date) + " " - val endDateLabel = context.getString(R.string.end_date) + " " + val domainNameLabel = context.getString(R.string.domain_label) + val ipAddressesLabel = context.getString(R.string.ip_addresses) + val cNameLabel = context.getString(R.string.common_name) + val oNameLabel = context.getString(R.string.organization) + val uNameLabel = context.getString(R.string.organizational_unit) + val startDateLabel = context.getString(R.string.start_date) + val endDateLabel = context.getString(R.string.end_date) // Convert the URL to a URI. val currentUri = Uri.parse(nestedScrollWebView.url) @@ -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,36 +182,13 @@ 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) { - blueColorSpan = ForegroundColorSpan(context.getColor(R.color.blue_700)) - redColorSpan = ForegroundColorSpan(context.getColor(R.color.red_a700)) - } else { - blueColorSpan = ForegroundColorSpan(context.getColor(R.color.violet_700)) - redColorSpan = ForegroundColorSpan(context.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) @@ -295,4 +271,4 @@ class PinnedMismatchPagerAdapter(private val context: Context, private val layou // Return the tab layout. return tabLayout } -} \ No newline at end of file +}