From 8cc2855c21c3945ed69fbbdf0f17277424576248 Mon Sep 17 00:00:00 2001 From: Jax DesMarais-Leder Date: Wed, 21 Feb 2024 14:42:59 -0600 Subject: [PATCH] Cardinal Cleanup Method (#926) * Call Cardinal cleanup method to resolve memory leak from Cardinal.getInstance * Verified via Leak Canary that the getInstance memory leak is gone --- CHANGELOG.md | 2 ++ .../src/main/java/com/braintreepayments/api/CardinalClient.java | 2 ++ .../java/com/braintreepayments/api/CardinalClientUnitTest.kt | 2 ++ 3 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35f7ba0563..6caa09103c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ * Venmo * Add `setIsFinalAmount()` to `VenmoRequest` +* ThreeDSecure + * Call cleanup method to resolve `Cardinal.getInstance` memory leak ## 4.41.0 (2024-01-18) diff --git a/ThreeDSecure/src/main/java/com/braintreepayments/api/CardinalClient.java b/ThreeDSecure/src/main/java/com/braintreepayments/api/CardinalClient.java index 794d9144d4..b5ff21b9d9 100644 --- a/ThreeDSecure/src/main/java/com/braintreepayments/api/CardinalClient.java +++ b/ThreeDSecure/src/main/java/com/braintreepayments/api/CardinalClient.java @@ -58,6 +58,8 @@ void continueLookup(ThreeDSecureResult threeDSecureResult, CardinalChallengeObse } catch (RuntimeException e) { throw new BraintreeException("Cardinal SDK cca_continue Error.", e); } + + Cardinal.getInstance().cleanup(); } private void configureCardinal(Context context, Configuration configuration, ThreeDSecureRequest request) throws BraintreeException { diff --git a/ThreeDSecure/src/test/java/com/braintreepayments/api/CardinalClientUnitTest.kt b/ThreeDSecure/src/test/java/com/braintreepayments/api/CardinalClientUnitTest.kt index f849bc3676..99d8f01c10 100644 --- a/ThreeDSecure/src/test/java/com/braintreepayments/api/CardinalClientUnitTest.kt +++ b/ThreeDSecure/src/test/java/com/braintreepayments/api/CardinalClientUnitTest.kt @@ -243,6 +243,8 @@ class CardinalClientUnitTest { cardinalChallengeObserver ) } + + verify { cardinalInstance.cleanup() } } @Test