diff --git a/app/src/main/java/com/electricdreams/numo/BalanceCheckActivity.kt b/app/src/main/java/com/electricdreams/numo/BalanceCheckActivity.kt index 91f40597..6e15ae5c 100644 --- a/app/src/main/java/com/electricdreams/numo/BalanceCheckActivity.kt +++ b/app/src/main/java/com/electricdreams/numo/BalanceCheckActivity.kt @@ -108,6 +108,12 @@ class BalanceCheckActivity : AppCompatActivity() { Log.d(TAG, "✅ NFC foreground dispatch disabled") } + override fun onDestroy() { + // Prevent leaking the activity through pending callbacks + mainHandler.removeCallbacksAndMessages(null) + super.onDestroy() + } + override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) Log.d(TAG, "=== NFC onNewIntent triggered ===") diff --git a/app/src/main/java/com/electricdreams/numo/ui/components/PosUiCoordinator.kt b/app/src/main/java/com/electricdreams/numo/ui/components/PosUiCoordinator.kt index c0c1b4d7..c75098e0 100644 --- a/app/src/main/java/com/electricdreams/numo/ui/components/PosUiCoordinator.kt +++ b/app/src/main/java/com/electricdreams/numo/ui/components/PosUiCoordinator.kt @@ -161,6 +161,8 @@ class PosUiCoordinator( /** Stop services */ fun stopServices() { nfcPaymentProcessor.stopHceService() + // Prevent leaking the activity reference via pending callbacks + mainHandler.removeCallbacksAndMessages(null) } /** Get requested amount */