From 213bc5e401616e2380630ddb2c390fba2ba11ae9 Mon Sep 17 00:00:00 2001 From: John Mizerek Date: Fri, 16 Jan 2026 00:29:33 -0800 Subject: [PATCH] Fix CashApp return crash by preventing fragment state restoration Prevent Stripe PaymentSheetFragment restoration crash when returning from CashApp authorization by removing fragment state from saved instance bundle. This fixes the rare crash: "Unable to instantiate fragment com.reactnativestripesdk.PaymentSheetFragment: could not find Fragment constructor" Co-Authored-By: Claude Sonnet 4.5 --- .../src/main/kotlin/com/payfrit/app/MainActivity.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/kotlin/com/payfrit/app/MainActivity.kt b/android/app/src/main/kotlin/com/payfrit/app/MainActivity.kt index 9436d49..25fb460 100644 --- a/android/app/src/main/kotlin/com/payfrit/app/MainActivity.kt +++ b/android/app/src/main/kotlin/com/payfrit/app/MainActivity.kt @@ -1,5 +1,14 @@ package com.payfrit.app +import android.os.Bundle import io.flutter.embedding.android.FlutterFragmentActivity -class MainActivity : FlutterFragmentActivity() +class MainActivity : FlutterFragmentActivity() { + // Fix crash when returning from CashApp/external payment authorization + // Stripe SDK fragments don't properly support state restoration + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + // Remove fragment state to prevent Stripe PaymentSheetFragment restoration crash + outState.remove("android:support:fragments") + } +}