From 13c2ed63471ccb1f5cc920c808ae59ba6624420f Mon Sep 17 00:00:00 2001 From: Dimitris Dafnis <68849116+jim-daf@users.noreply.github.com> Date: Thu, 23 Apr 2026 11:43:45 +0200 Subject: [PATCH] fix(DefaultUIController): guard SSL dialog with isFinishing (#1065) --- .../main/java/com/just/agentweb/DefaultUIController.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/agentweb-core/src/main/java/com/just/agentweb/DefaultUIController.java b/agentweb-core/src/main/java/com/just/agentweb/DefaultUIController.java index bbd2224d..a46e4276 100644 --- a/agentweb-core/src/main/java/com/just/agentweb/DefaultUIController.java +++ b/agentweb-core/src/main/java/com/just/agentweb/DefaultUIController.java @@ -367,6 +367,14 @@ public void onPermissionsDeny(String[] permissions, String permissionType, Strin @Override public void onShowSslCertificateErrorDialog(final WebView view, final SslErrorHandler handler, final SslError error) { + Activity mActivity; + if ((mActivity = this.mActivity) == null || mActivity.isFinishing()) { + // Issue #1065: Avoid BadTokenException when the host activity has + // already started finishing. Mirror the guard used by every other + // dialog method in this class (onLoading, onCancelLoading, ...). + handler.cancel(); + return; + } AlertDialog.Builder alertDialog = new AlertDialog.Builder(mActivity); String sslErrorMessage; switch (error.getPrimaryError()) {