Skip to content

Commit

Permalink
Add FormActivityUI
Browse files Browse the repository at this point in the history
  • Loading branch information
tjclawson-stripe committed Jan 28, 2025
1 parent b76a650 commit ba43b13
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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()
Expand Down
Original file line number Diff line number Diff line change
@@ -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
)
}
}

0 comments on commit ba43b13

Please sign in to comment.