From 4a1e24b710cedb29c0c81800a799a107fee1a504 Mon Sep 17 00:00:00 2001 From: emanuele-f Date: Sat, 4 Jun 2022 12:17:26 +0200 Subject: [PATCH] Fix possible IllegalStateException in mitm wizard --- .../fragments/mitmwizard/InstallCertificate.java | 12 ++++++++++-- .../remote_capture/interfaces/MitmListener.java | 2 ++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/emanuelef/remote_capture/fragments/mitmwizard/InstallCertificate.java b/app/src/main/java/com/emanuelef/remote_capture/fragments/mitmwizard/InstallCertificate.java index 01855535..38c74fb9 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/fragments/mitmwizard/InstallCertificate.java +++ b/app/src/main/java/com/emanuelef/remote_capture/fragments/mitmwizard/InstallCertificate.java @@ -163,6 +163,14 @@ public class InstallCertificate extends StepFragment implements MitmListener { @Override public void onMitmGetCaCertificateResult(@Nullable String ca_pem) { mAddon.disconnect(); + + // NOTE: this may be called when context is null + Context context = getContext(); + if(context == null) { + Log.d(TAG, "null context"); + return; + } + mCaPem = ca_pem; // NOTE: onMitmGetCaCertificateResult can be called by fallbackToCertExport @@ -178,7 +186,7 @@ public class InstallCertificate extends StepFragment implements MitmListener { certOk(); else { // Cert not installed - MitmAddon.setDecryptionSetupDone(requireContext(), false); + MitmAddon.setDecryptionSetupDone(context, false); mStepIcon.setColorFilter(mWarnColor); mStepButton.setEnabled(true); @@ -195,7 +203,7 @@ public class InstallCertificate extends StepFragment implements MitmListener { }); } } else { - Toast.makeText(requireContext(), "addon did not return certificate", Toast.LENGTH_LONG).show(); + Toast.makeText(context, "addon did not return certificate", Toast.LENGTH_LONG).show(); certFail(); } } diff --git a/app/src/main/java/com/emanuelef/remote_capture/interfaces/MitmListener.java b/app/src/main/java/com/emanuelef/remote_capture/interfaces/MitmListener.java index f0d7ce0d..1f9a2920 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/interfaces/MitmListener.java +++ b/app/src/main/java/com/emanuelef/remote_capture/interfaces/MitmListener.java @@ -22,7 +22,9 @@ package com.emanuelef.remote_capture.interfaces; import org.jetbrains.annotations.Nullable; public interface MitmListener { + // NOTE: for fragments, this may be called when their context is null void onMitmGetCaCertificateResult(@Nullable String ca_pem); + void onMitmServiceConnect(); void onMitmServiceDisconnect(); }