X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fhelpers%2FCheckPinnedMismatchHelper.kt;h=533304014d9f53da14846fd9e8751a42880ef7d3;hb=3eb8e40ff3c2d65bd450db5c80c4cd0e0f050139;hp=8fa8369fc365e0ae192d60655e6c8a948c662888;hpb=38919c77d15eeacbee96ab337afc62b30ddc74ca;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/helpers/CheckPinnedMismatchHelper.kt b/app/src/main/java/com/stoutner/privacybrowser/helpers/CheckPinnedMismatchHelper.kt index 8fa8369f..53330401 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/helpers/CheckPinnedMismatchHelper.kt +++ b/app/src/main/java/com/stoutner/privacybrowser/helpers/CheckPinnedMismatchHelper.kt @@ -1,5 +1,5 @@ /* - * Copyright © 2018-2019,2021-2022 Soren Stoutner . + * Copyright 2018-2019,2021-2022 Soren Stoutner . * * This file is part of Privacy Browser Android . * @@ -16,16 +16,14 @@ * You should have received a copy of the GNU General Public License * along with Privacy Browser Android. If not, see . */ -package com.stoutner.privacybrowser.helpers -import android.app.Activity +package com.stoutner.privacybrowser.helpers import androidx.fragment.app.DialogFragment import androidx.fragment.app.FragmentManager -import com.stoutner.privacybrowser.R import com.stoutner.privacybrowser.activities.MainWebViewActivity -import com.stoutner.privacybrowser.dataclasses.PendingDialog +import com.stoutner.privacybrowser.dataclasses.PendingDialogDataClass import com.stoutner.privacybrowser.dialogs.PinnedMismatchDialog.Companion.displayDialog import com.stoutner.privacybrowser.views.NestedScrollWebView @@ -35,7 +33,7 @@ import java.util.Date object CheckPinnedMismatchHelper { @JvmStatic - fun checkPinnedMismatch(activity: Activity, fragmentManager: FragmentManager, nestedScrollWebView: NestedScrollWebView) { + fun checkPinnedMismatch(nestedScrollWebView: NestedScrollWebView, supportFragmentManager: FragmentManager, pinnedMismatchString: String) { // Initialize the current SSL certificate variables. var currentWebsiteIssuedToCName = "" var currentWebsiteIssuedToOName = "" @@ -114,23 +112,24 @@ object CheckPinnedMismatchHelper { } // Check to see if the pinned information matches the current information. - if (((nestedScrollWebView.pinnedIpAddresses != "") && (nestedScrollWebView.currentIpAddresses != nestedScrollWebView.pinnedIpAddresses)) || - (nestedScrollWebView.hasPinnedSslCertificate() && ((currentWebsiteIssuedToCName != pinnedSslIssuedToCName) || - (currentWebsiteIssuedToOName != pinnedSslIssuedToOName) || (currentWebsiteIssuedToUName != pinnedSslIssuedToUName) || - (currentWebsiteIssuedByCName != pinnedSslIssuedByCName) || (currentWebsiteIssuedByOName != pinnedSslIssuedByOName) || - (currentWebsiteIssuedByUName != pinnedSslIssuedByUName) || (currentWebsiteSslStartDateString != pinnedSslStartDateString) || - (currentWebsiteSslEndDateString != pinnedSslEndDateString)))) { + if (((nestedScrollWebView.pinnedIpAddresses.isNotEmpty()) && (nestedScrollWebView.currentIpAddresses != nestedScrollWebView.pinnedIpAddresses)) || + (nestedScrollWebView.hasPinnedSslCertificate() && ((currentWebsiteIssuedToCName != pinnedSslIssuedToCName) || + (currentWebsiteIssuedToOName != pinnedSslIssuedToOName) || (currentWebsiteIssuedToUName != pinnedSslIssuedToUName) || + (currentWebsiteIssuedByCName != pinnedSslIssuedByCName) || (currentWebsiteIssuedByOName != pinnedSslIssuedByOName) || + (currentWebsiteIssuedByUName != pinnedSslIssuedByUName) || (currentWebsiteSslStartDateString != pinnedSslStartDateString) || + (currentWebsiteSslEndDateString != pinnedSslEndDateString)))) { + // Get a handle for the pinned mismatch alert dialog. val pinnedMismatchDialogFragment: DialogFragment = displayDialog(nestedScrollWebView.webViewFragmentId) // Try to show the dialog. Sometimes the window is not active. try { // Show the pinned mismatch alert dialog. - pinnedMismatchDialogFragment.show(fragmentManager, activity.getString(R.string.pinned_mismatch)) + pinnedMismatchDialogFragment.show(supportFragmentManager, pinnedMismatchString) } catch (exception: Exception) { // Add the dialog to the pending dialog array list. It will be displayed in `onStart()`. - MainWebViewActivity.pendingDialogsArrayList.add(PendingDialog(pinnedMismatchDialogFragment, activity.getString(R.string.pinned_mismatch))) + MainWebViewActivity.pendingDialogsArrayList.add(PendingDialogDataClass(pinnedMismatchDialogFragment, pinnedMismatchString)) } } } -} \ No newline at end of file +}