diff --git a/paymentsheet/src/main/java/com/stripe/android/paymentelement/embedded/form/FormActivity.kt b/paymentsheet/src/main/java/com/stripe/android/paymentelement/embedded/form/FormActivity.kt index 6dc2a4df600..e5f5a9eabf4 100644 --- a/paymentsheet/src/main/java/com/stripe/android/paymentelement/embedded/form/FormActivity.kt +++ b/paymentsheet/src/main/java/com/stripe/android/paymentelement/embedded/form/FormActivity.kt @@ -8,9 +8,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.compose.material.ExperimentalMaterialApi import com.stripe.android.common.ui.ElementsBottomSheetLayout import com.stripe.android.paymentsheet.analytics.EventReporter -import com.stripe.android.paymentsheet.utils.EventReporterProvider import com.stripe.android.paymentsheet.verticalmode.DefaultVerticalModeFormInteractor -import com.stripe.android.paymentsheet.verticalmode.VerticalModeFormUI import com.stripe.android.uicore.StripeTheme import com.stripe.android.uicore.elements.bottomsheet.rememberStripeBottomSheetState import com.stripe.android.uicore.utils.fadeOut @@ -50,25 +48,22 @@ internal class FormActivity : AppCompatActivity() { val bottomSheetState = rememberStripeBottomSheetState() ElementsBottomSheetLayout( state = bottomSheetState, - onDismissed = { - setResult( - Activity.RESULT_OK, - FormResult.toIntent(intent, FormResult.Cancelled) - ) - finish() - } + onDismissed = ::setCancelAndFinish ) { - EventReporterProvider(eventReporter) { - VerticalModeFormUI( - interactor = formInteractor, - showsWalletHeader = false - ) - } + FormActivityUI( + interactor = formInteractor, + eventReporter = eventReporter + ) } } } } + private fun setCancelAndFinish() { + setFormResult(FormResult.Cancelled) + finish() + } + override fun finish() { super.finish() fadeOut() diff --git a/paymentsheet/src/main/java/com/stripe/android/paymentelement/embedded/form/FormActivityUI.kt b/paymentsheet/src/main/java/com/stripe/android/paymentelement/embedded/form/FormActivityUI.kt new file mode 100644 index 00000000000..20d00b836ea --- /dev/null +++ b/paymentsheet/src/main/java/com/stripe/android/paymentelement/embedded/form/FormActivityUI.kt @@ -0,0 +1,20 @@ +package com.stripe.android.paymentelement.embedded.form + +import androidx.compose.runtime.Composable +import com.stripe.android.paymentsheet.analytics.EventReporter +import com.stripe.android.paymentsheet.utils.EventReporterProvider +import com.stripe.android.paymentsheet.verticalmode.DefaultVerticalModeFormInteractor +import com.stripe.android.paymentsheet.verticalmode.VerticalModeFormUI + +@Composable +internal fun FormActivityUI( + interactor: DefaultVerticalModeFormInteractor, + eventReporter: EventReporter +) { + EventReporterProvider(eventReporter) { + VerticalModeFormUI( + interactor = interactor, + showsWalletHeader = false + ) + } +}