]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/dialogs/PinnedMismatchDialog.java
Update the URL edit text when switching tabs.
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / dialogs / PinnedMismatchDialog.java
index 0a25771dfbb994c4605559a31ccc61a004bbf3e9..7e86bbdb740589a78c182ab1c0c2710313b6e013 100644 (file)
@@ -29,11 +29,6 @@ import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.net.http.SslCertificate;
 import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.design.widget.TabLayout;
-import android.support.v4.view.PagerAdapter;
-// `AppCompatDialogFragment` is used instead of `DialogFragment` to avoid an error on API <=22.
-import android.support.v7.app.AppCompatDialogFragment;
 import android.text.SpannableStringBuilder;
 import android.text.Spanned;
 import android.text.style.ForegroundColorSpan;
@@ -43,15 +38,21 @@ import android.view.ViewGroup;
 import android.view.WindowManager;
 import android.widget.TextView;
 
+import com.google.android.material.tabs.TabLayout;
+
 import com.stoutner.privacybrowser.R;
 import com.stoutner.privacybrowser.activities.MainWebViewActivity;
-import com.stoutner.privacybrowser.definitions.WrapVerticalContentViewPager;
+import com.stoutner.privacybrowser.views.WrapVerticalContentViewPager;
 import com.stoutner.privacybrowser.helpers.DomainsDatabaseHelper;
 
 import java.text.DateFormat;
 import java.util.Date;
 
-public class PinnedMismatchDialog extends AppCompatDialogFragment {
+import androidx.annotation.NonNull;
+import androidx.fragment.app.DialogFragment;  // The AndroidX dialog fragment must be used or an error is produced on API <=22.
+import androidx.viewpager.widget.PagerAdapter;
+
+public class PinnedMismatchDialog extends DialogFragment {
     // Instantiate the class variables.
     private PinnedMismatchListener pinnedMismatchListener;
     private LayoutInflater layoutInflater;
@@ -82,13 +83,14 @@ public class PinnedMismatchDialog extends AppCompatDialogFragment {
         pinnedMismatchListener = (PinnedMismatchListener) context;
     }
 
-    public static PinnedMismatchDialog displayDialog(boolean pinnedSslCertificate, boolean pinnedIpAddresses) {
+    public static PinnedMismatchDialog displayDialog(int domainSettingsDatabaseId, boolean pinnedSslCertificate, boolean pinnedIpAddresses) {
         // Create an arguments bundle.
         Bundle argumentsBundle = new Bundle();
 
         // Store the variables in the bundle.
-        argumentsBundle.putBoolean("Pinned_SSL_Certificate", pinnedSslCertificate);
-        argumentsBundle.putBoolean("Pinned_IP_Addresses", pinnedIpAddresses);
+        argumentsBundle.putInt("domain_settings_database_id", domainSettingsDatabaseId);
+        argumentsBundle.putBoolean("pinned_sss_certificate", pinnedSslCertificate);
+        argumentsBundle.putBoolean("pinned_ip_addresses", pinnedIpAddresses);
 
         // Add the arguments bundle to this instance of `PinnedMismatchDialog`.
         PinnedMismatchDialog thisPinnedMismatchDialog = new PinnedMismatchDialog();
@@ -123,8 +125,9 @@ public class PinnedMismatchDialog extends AppCompatDialogFragment {
         assert getArguments() != null;
 
         // Get the variables from the bundle.
-        pinnedSslCertificate = getArguments().getBoolean("Pinned_SSL_Certificate");
-        pinnedIpAddresses = getArguments().getBoolean("Pinned_IP_Addresses");
+        int domainSettingsDatabaseId = getArguments().getInt("domain_settings_database_id");
+        pinnedSslCertificate = getArguments().getBoolean("pinned_ssl_certificate");
+        pinnedIpAddresses = getArguments().getBoolean("pinned_ip_addresses");
 
         // Set the favorite icon as the dialog icon if it exists.
         if (MainWebViewActivity.favoriteIconBitmap.equals(MainWebViewActivity.favoriteIconDefaultBitmap)) {  // There is no favorite icon.
@@ -163,7 +166,7 @@ public class PinnedMismatchDialog extends AppCompatDialogFragment {
             // Update the SSL certificate if it is pinned.
             if (pinnedSslCertificate) {
                 // Update the pinned SSL certificate in the domain database.
-                domainsDatabaseHelper.updatePinnedSslCertificate(MainWebViewActivity.domainSettingsDatabaseId, currentSslIssuedToCName, currentSslIssuedToOName, currentSslIssuedToUName,
+                domainsDatabaseHelper.updatePinnedSslCertificate(domainSettingsDatabaseId, currentSslIssuedToCName, currentSslIssuedToOName, currentSslIssuedToUName,
                         currentSslIssuedByCName, currentSslIssuedByOName, currentSslIssuedByUName, currentSslStartDateLong, currentSslEndDateLong);
 
                 // Update the pinned SSL certificate class variables to match the information that is now in the database.
@@ -180,7 +183,7 @@ public class PinnedMismatchDialog extends AppCompatDialogFragment {
             // Update the IP addresses if they are pinned.
             if (pinnedIpAddresses) {
                 // Update the pinned IP addresses in the domain database.
-                domainsDatabaseHelper.updatePinnedIpAddresses(MainWebViewActivity.domainSettingsDatabaseId, MainWebViewActivity.currentHostIpAddresses);
+                domainsDatabaseHelper.updatePinnedIpAddresses(domainSettingsDatabaseId, MainWebViewActivity.currentHostIpAddresses);
 
                 // Update the pinned IP addresses class variable to match the information that is now in the database.
                 MainWebViewActivity.pinnedHostIpAddresses = MainWebViewActivity.currentHostIpAddresses;