Skip to content

Commit

Permalink
Remove RowStyle from PaymentMethodVerticalLayoutInteractor.State (#9836)
Browse files Browse the repository at this point in the history
* Remove RowStyle from PaymentMethodVerticalLayoutInteractor.State
  • Loading branch information
tjclawson-stripe authored Jan 2, 2025
1 parent 25717df commit 83a0766
Show file tree
Hide file tree
Showing 9 changed files with 31 additions and 40 deletions.
18 changes: 8 additions & 10 deletions paymentsheet/detekt-baseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,10 @@
<ID>LongMethod:CustomerSheetScreen.kt$@Composable internal fun SelectPaymentMethod( viewState: CustomerSheetViewState.SelectPaymentMethod, viewActionHandler: (CustomerSheetViewAction) -> Unit, paymentMethodNameProvider: (PaymentMethodCode?) -> ResolvableString, modifier: Modifier = Modifier, )</ID>
<ID>LongMethod:DefaultConfirmationHandlerTest.kt$DefaultConfirmationHandlerTest$private fun test( someDefinitionAction: ConfirmationDefinition.Action&lt;SomeConfirmationDefinition.LauncherArgs> = ConfirmationDefinition.Action.Fail( cause = IllegalStateException("Failed!"), message = R.string.stripe_something_went_wrong.resolvableString, errorType = ConfirmationHandler.Result.Failed.ErrorType.Internal, ), someDefinitionResult: ConfirmationDefinition.Result = ConfirmationDefinition.Result.Failed( cause = IllegalStateException("Failed!"), message = R.string.stripe_something_went_wrong.resolvableString, type = ConfirmationHandler.Result.Failed.ErrorType.Internal, ), someOtherDefinitionAction: ConfirmationDefinition.Action&lt;SomeOtherConfirmationDefinition.LauncherArgs> = ConfirmationDefinition.Action.Fail( cause = IllegalStateException("Failed!"), message = R.string.stripe_something_went_wrong.resolvableString, errorType = ConfirmationHandler.Result.Failed.ErrorType.Internal, ), someOtherDefinitionResult: ConfirmationDefinition.Result = ConfirmationDefinition.Result.Failed( cause = IllegalStateException("Failed!"), message = R.string.stripe_something_went_wrong.resolvableString, type = ConfirmationHandler.Result.Failed.ErrorType.Internal, ), shouldRegister: Boolean = true, savedStateHandle: SavedStateHandle = SavedStateHandle(), dispatcher: CoroutineDispatcher = UnconfinedTestDispatcher(), scenarioTest: suspend Scenario.() -> Unit )</ID>
<ID>LongMethod:EditPaymentMethod.kt$@Composable internal fun EditPaymentMethodUi( viewState: EditPaymentMethodViewState, viewActionHandler: (action: EditPaymentMethodViewAction) -> Unit, modifier: Modifier = Modifier )</ID>
<ID>LongMethod:EmbeddedContentHelper.kt$DefaultEmbeddedContentHelper$private fun createInteractor( coroutineScope: CoroutineScope, paymentMethodMetadata: PaymentMethodMetadata, rowStyle: Embedded.RowStyle ): PaymentMethodVerticalLayoutInteractor</ID>
<ID>LongMethod:EmbeddedContentHelper.kt$DefaultEmbeddedContentHelper$private fun createInteractor( coroutineScope: CoroutineScope, paymentMethodMetadata: PaymentMethodMetadata, ): PaymentMethodVerticalLayoutInteractor</ID>
<ID>LongMethod:FormViewModelTest.kt$FormViewModelTest$@Test fun `Verify params are set when element address fields are complete`()</ID>
<ID>LongMethod:FormViewModelTest.kt$FormViewModelTest$@Test fun `Verify params are set when required address fields are complete`()</ID>
<ID>LongMethod:LinkInlineSignupFields.kt$@Composable internal fun LinkInlineSignupFields( sectionError: Int?, emailController: TextFieldController, phoneNumberController: PhoneNumberController, nameController: TextFieldController, signUpState: SignUpState, enabled: Boolean, isShowingPhoneFirst: Boolean, requiresNameCollection: Boolean, errorMessage: ErrorMessage?, didShowAllFields: Boolean, onShowingAllFields: () -> Unit, modifier: Modifier = Modifier, emailFocusRequester: FocusRequester = remember { FocusRequester() }, phoneFocusRequester: FocusRequester = remember { FocusRequester() }, nameFocusRequester: FocusRequester = remember { FocusRequester() }, )</ID>
<ID>LongMethod:PaymentMethodMetadataTest.kt$PaymentMethodMetadataTest$@OptIn(ExperimentalCardBrandFilteringApi::class) @Test fun `should create metadata properly with elements session response, payment sheet config, and data specs`()</ID>
<ID>LongMethod:PaymentMethodVerticalLayoutInteractor.kt$DefaultPaymentMethodVerticalLayoutInteractor.Companion$fun create( viewModel: BaseSheetViewModel, paymentMethodMetadata: PaymentMethodMetadata, customerStateHolder: CustomerStateHolder, bankFormInteractor: BankFormInteractor, ): PaymentMethodVerticalLayoutInteractor</ID>
<ID>LongMethod:PaymentSheetConfigurationKtx.kt$internal fun PaymentSheet.Appearance.parseAppearance()</ID>
Expand All @@ -46,6 +47,7 @@
<ID>MagicNumber:NewPaymentMethodTabLayoutUI.kt$.5f</ID>
<ID>MagicNumber:PrimaryButton.kt$PrimaryButton$0.5f</ID>
<ID>MagicNumber:USBankAccountForm.kt$0.5f</ID>
<ID>MatchingDeclarationName:ErrorText.kt$ErrorTextStyle</ID>
<ID>MaxLineLength:CardDefinition.kt$internal</ID>
<ID>MaxLineLength:CustomerRepositoryTest.kt$CustomerRepositoryTest$fun</ID>
<ID>MaxLineLength:CustomerSheetViewModelTest.kt$CustomerSheetViewModelTest$fun</ID>
Expand All @@ -58,6 +60,7 @@
<ID>MaxLineLength:InjectableActivityScenario.kt$InjectableActivityScenario$delegate ?: throw IllegalStateException("Cannot move to state $newState since the activity hasn't been launched.")</ID>
<ID>MaxLineLength:InjectableActivityScenario.kt$InjectableActivityScenario$val d = delegate ?: throw IllegalStateException("Cannot run onActivity since the activity hasn't been launched.")</ID>
<ID>MaxLineLength:IntentConfirmationDefinitionTest.kt$IntentConfirmationDefinitionTest$private inline</ID>
<ID>MaxLineLength:LinkActivityResultTest.kt$LinkActivityResultTest$"link-popup://complete?link_status=complete&amp;pm=eyJpZCI6InBtXzFOSmVFckx1NW8zUDE4WnBtWHBDdElyUiIsIm9iamVjdCI6InBheW1lbnRfbWV0aG9kIiwiYmlsbGluZ19kZXRhaWxzIjp7ImFkZHJlc3MiOnsiY2l0eSI6bnVsbCwiY291bnRyeSI6bnVsbCwibGluZTEiOm51bGwsImxpbmUyIjpudWxsLCJwb3N0YWxfY29kZSI6bnVsbCwic3RhdGUiOm51bGx9LCJlbWFpbCI6bnVsbCwibmFtZSI6bnVsbCwicGhvbmUiOm51bGx9LCJjYXJkIjp7ImJyYW5kIjoidmlzYSIsImNoZWNrcyI6eyJhZGRyZXNzX2xpbmUxX2NoZWNrIjpudWxsLCJhZGRyZXNzX3Bvc3RhbF9jb2RlX2NoZWNrIjpudWxsLCJjdmNfY2hlY2siOm51bGx9LCJjb3VudHJ5IjpudWxsLCJleHBfbW9udGgiOjEyLCJleHBfeWVhciI6MjAzNCwiZnVuZGluZyI6ImNyZWRpdCIsImdlbmVyYXRlZF9mcm9tIjpudWxsLCJsYXN0NCI6IjAwMDAiLCJuZXR3b3JrcyI6eyJhdmFpbGFibGUiOlsidmlzYSJdLCJwcmVmZXJyZWQiOm51bGx9LCJ0aHJlZV9kX3NlY3VyZV91c2FnZSI6eyJzdXBwb3J0ZWQiOnRydWV9LCJ3YWxsZXQiOnsiZHluYW1pY19sYXN0NCI6bnVsbCwibGluayI6e30sInR5cGUiOiJsaW5rIn19LCJjcmVhdGVkIjoxNjg2OTI4MDIxLCJjdXN0b21lciI6bnVsbCwibGl2ZW1vZGUiOmZhbHNlLCJ0eXBlIjoiY2FyZCJ9ICAg"</ID>
<ID>MaxLineLength:PaymentSheet.kt$PaymentSheet.Address$*</ID>
<ID>MaxLineLength:PaymentSheet.kt$PaymentSheet.BillingDetails$*</ID>
<ID>MaxLineLength:PaymentSheet.kt$PaymentSheet.Configuration$*</ID>
Expand All @@ -69,23 +72,18 @@
<ID>MaxLineLength:SupportedPaymentMethod.kt$SupportedPaymentMethod$/** This describes the image in the LPM selector. These can be found internally [here](https://www.figma.com/file/2b9r3CJbyeVAmKi1VHV2h9/Mobile-Payment-Element?node-id=1128%3A0) */</ID>
<ID>MaxLineLength:USBankAccountFormViewModelTest.kt$USBankAccountFormViewModelTest$fun</ID>
<ID>MaximumLineLength:CardDefinition.kt$internal</ID>
<ID>SwallowedException:LinkActivityResult.kt$e: Exception</ID>
<ID>TooGenericExceptionCaught:LinkActivityResult.kt$e: Exception</ID>
<ID>TooManyFunctions:CustomerSheetEventReporter.kt$CustomerSheetEventReporter</ID>
<ID>TooManyFunctions:DefaultCustomerSheetEventReporter.kt$DefaultCustomerSheetEventReporter : CustomerSheetEventReporter</ID>
<ID>TooManyFunctions:DefaultEventReporter.kt$DefaultEventReporter : EventReporter</ID>
<ID>TooManyFunctions:DefaultFlowController.kt$DefaultFlowController : FlowController</ID>
<ID>TooManyFunctions:DefaultLinkEventsReporter.kt$DefaultLinkEventsReporter : LinkEventsReporter</ID>
<ID>TooManyFunctions:DelegateDrawable.kt$DelegateDrawable : Drawable</ID>
<ID>TooManyFunctions:EventReporter.kt$EventReporter</ID>
<ID>TooManyFunctions:LinkEventsReporter.kt$LinkEventsReporter</ID>
<ID>TooManyFunctions:PaymentMethodMetadata.kt$PaymentMethodMetadata : Parcelable</ID>
<ID>TooManyFunctions:SharedPaymentElementViewModel.kt$SharedPaymentElementViewModelModule</ID>
<ID>UnusedPrivateClass:PaymentOptionsViewModelTest.kt$PaymentOptionsViewModelTest$MyHostActivity : AppCompatActivity</ID>
<ID>LongMethod:LinkInlineSignupFields.kt$@Composable internal fun LinkInlineSignupFields( sectionError: Int?, emailController: TextFieldController, phoneNumberController: PhoneNumberController, nameController: TextFieldController, signUpState: SignUpState, enabled: Boolean, isShowingPhoneFirst: Boolean, requiresNameCollection: Boolean, errorMessage: ErrorMessage?, didShowAllFields: Boolean, onShowingAllFields: () -> Unit, modifier: Modifier = Modifier, emailFocusRequester: FocusRequester = remember { FocusRequester() }, phoneFocusRequester: FocusRequester = remember { FocusRequester() }, nameFocusRequester: FocusRequester = remember { FocusRequester() }, )</ID>
<ID>MatchingDeclarationName:ErrorText.kt$ErrorTextStyle</ID>
<ID>MaxLineLength:InjectableActivityScenario.kt$InjectableActivityScenario$delegate ?: throw IllegalStateException("Cannot move to state $newState since the activity hasn't been launched.")</ID>
<ID>MaxLineLength:InjectableActivityScenario.kt$InjectableActivityScenario$val d = delegate ?: throw IllegalStateException("Cannot run onActivity since the activity hasn't been launched.")</ID>
<ID>MaxLineLength:LinkActivityResultTest.kt$LinkActivityResultTest$"link-popup://complete?link_status=complete&amp;pm=eyJpZCI6InBtXzFOSmVFckx1NW8zUDE4WnBtWHBDdElyUiIsIm9iamVjdCI6InBheW1lbnRfbWV0aG9kIiwiYmlsbGluZ19kZXRhaWxzIjp7ImFkZHJlc3MiOnsiY2l0eSI6bnVsbCwiY291bnRyeSI6bnVsbCwibGluZTEiOm51bGwsImxpbmUyIjpudWxsLCJwb3N0YWxfY29kZSI6bnVsbCwic3RhdGUiOm51bGx9LCJlbWFpbCI6bnVsbCwibmFtZSI6bnVsbCwicGhvbmUiOm51bGx9LCJjYXJkIjp7ImJyYW5kIjoidmlzYSIsImNoZWNrcyI6eyJhZGRyZXNzX2xpbmUxX2NoZWNrIjpudWxsLCJhZGRyZXNzX3Bvc3RhbF9jb2RlX2NoZWNrIjpudWxsLCJjdmNfY2hlY2siOm51bGx9LCJjb3VudHJ5IjpudWxsLCJleHBfbW9udGgiOjEyLCJleHBfeWVhciI6MjAzNCwiZnVuZGluZyI6ImNyZWRpdCIsImdlbmVyYXRlZF9mcm9tIjpudWxsLCJsYXN0NCI6IjAwMDAiLCJuZXR3b3JrcyI6eyJhdmFpbGFibGUiOlsidmlzYSJdLCJwcmVmZXJyZWQiOm51bGx9LCJ0aHJlZV9kX3NlY3VyZV91c2FnZSI6eyJzdXBwb3J0ZWQiOnRydWV9LCJ3YWxsZXQiOnsiZHluYW1pY19sYXN0NCI6bnVsbCwibGluayI6e30sInR5cGUiOiJsaW5rIn19LCJjcmVhdGVkIjoxNjg2OTI4MDIxLCJjdXN0b21lciI6bnVsbCwibGl2ZW1vZGUiOmZhbHNlLCJ0eXBlIjoiY2FyZCJ9ICAg"</ID>
<ID>SwallowedException:LinkActivityResult.kt$e: Exception</ID>
<ID>TooGenericExceptionCaught:LinkActivityResult.kt$e: Exception</ID>
<ID>TooManyFunctions:DefaultLinkEventsReporter.kt$DefaultLinkEventsReporter : LinkEventsReporter</ID>
<ID>TooManyFunctions:LinkEventsReporter.kt$LinkEventsReporter</ID>
</CurrentIssues>
</SmellBaseline>
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,19 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.unit.dp
import com.stripe.android.core.strings.ResolvableString
import com.stripe.android.paymentelement.ExperimentalEmbeddedPaymentElementApi
import com.stripe.android.paymentsheet.PaymentSheet.Appearance.Embedded
import com.stripe.android.paymentsheet.ui.Mandate
import com.stripe.android.paymentsheet.verticalmode.PaymentMethodEmbeddedLayoutUI
import com.stripe.android.paymentsheet.verticalmode.PaymentMethodVerticalLayoutInteractor
import com.stripe.android.uicore.strings.resolve

@Immutable
@OptIn(ExperimentalEmbeddedPaymentElementApi::class)
internal data class EmbeddedContent(
private val interactor: PaymentMethodVerticalLayoutInteractor,
val mandate: ResolvableString? = null,
private val rowStyle: Embedded.RowStyle
) {
@Composable
fun Content() {
Expand All @@ -36,6 +40,7 @@ internal data class EmbeddedContent(
PaymentMethodEmbeddedLayoutUI(
interactor = interactor,
modifier = Modifier.padding(bottom = 8.dp),
rowStyle = rowStyle
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ internal class DefaultEmbeddedContentHelper @AssistedInject constructor(
interactor = createInteractor(
coroutineScope = coroutineScope,
paymentMethodMetadata = state.paymentMethodMetadata,
rowStyle = state.rowStyle
)
),
rowStyle = state.rowStyle
)
}
}
Expand All @@ -110,7 +110,6 @@ internal class DefaultEmbeddedContentHelper @AssistedInject constructor(
private fun createInteractor(
coroutineScope: CoroutineScope,
paymentMethodMetadata: PaymentMethodMetadata,
rowStyle: Embedded.RowStyle
): PaymentMethodVerticalLayoutInteractor {
val paymentMethodIncentiveInteractor = PaymentMethodIncentiveInteractor(
incentive = paymentMethodMetadata.paymentMethodIncentive,
Expand Down Expand Up @@ -171,7 +170,6 @@ internal class DefaultEmbeddedContentHelper @AssistedInject constructor(
reportFormShown = eventReporter::onPaymentMethodFormShown,
onUpdatePaymentMethod = savedPaymentMethodMutator::updatePaymentMethod,
isLiveMode = paymentMethodMetadata.stripeIntent.isLiveMode,
rowStyle = rowStyle
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ internal const val TEST_TAG_PAYMENT_METHOD_EMBEDDED_LAYOUT = "TEST_TAG_PAYMENT_M
@Composable
internal fun PaymentMethodEmbeddedLayoutUI(
interactor: PaymentMethodVerticalLayoutInteractor,
modifier: Modifier = Modifier
modifier: Modifier = Modifier,
rowStyle: Embedded.RowStyle
) {
val context = LocalContext.current
val imageLoader = remember {
Expand Down Expand Up @@ -62,7 +63,7 @@ internal fun PaymentMethodEmbeddedLayoutUI(
imageLoader = imageLoader,
modifier = modifier
.testTag(TEST_TAG_PAYMENT_METHOD_EMBEDDED_LAYOUT),
rowStyle = state.rowType
rowStyle = rowStyle
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@ import com.stripe.android.core.strings.resolvableString
import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadata
import com.stripe.android.model.PaymentMethod
import com.stripe.android.model.PaymentMethodCode
import com.stripe.android.paymentelement.ExperimentalEmbeddedPaymentElementApi
import com.stripe.android.paymentsheet.CustomerStateHolder
import com.stripe.android.paymentsheet.DisplayableSavedPaymentMethod
import com.stripe.android.paymentsheet.FormHelper
import com.stripe.android.paymentsheet.LinkInlineHandler
import com.stripe.android.paymentsheet.PaymentSheet.Appearance.Embedded
import com.stripe.android.paymentsheet.R
import com.stripe.android.paymentsheet.analytics.code
import com.stripe.android.paymentsheet.forms.FormFieldValues
Expand All @@ -33,7 +31,6 @@ import kotlinx.coroutines.launch
import kotlin.coroutines.CoroutineContext
import com.stripe.android.R as PaymentsCoreR

@OptIn(ExperimentalEmbeddedPaymentElementApi::class)
internal interface PaymentMethodVerticalLayoutInteractor {
val isLiveMode: Boolean

Expand All @@ -49,7 +46,6 @@ internal interface PaymentMethodVerticalLayoutInteractor {
val selection: PaymentSelection?,
val displayedSavedPaymentMethod: DisplayableSavedPaymentMethod?,
val availableSavedPaymentMethodAction: SavedPaymentMethodAction,
val rowType: Embedded.RowStyle
)

sealed interface ViewAction {
Expand All @@ -66,7 +62,6 @@ internal interface PaymentMethodVerticalLayoutInteractor {
}
}

@OptIn(ExperimentalEmbeddedPaymentElementApi::class)
internal class DefaultPaymentMethodVerticalLayoutInteractor(
paymentMethodMetadata: PaymentMethodMetadata,
processing: StateFlow<Boolean>,
Expand All @@ -91,7 +86,6 @@ internal class DefaultPaymentMethodVerticalLayoutInteractor(
private val onUpdatePaymentMethod: (DisplayableSavedPaymentMethod) -> Unit,
override val isLiveMode: Boolean,
dispatcher: CoroutineContext = Dispatchers.Default,
private val rowStyle: Embedded.RowStyle = Embedded.RowStyle.FloatingButton.default
) : PaymentMethodVerticalLayoutInteractor {

sealed interface FormType {
Expand Down Expand Up @@ -223,7 +217,6 @@ internal class DefaultPaymentMethodVerticalLayoutInteractor(
selection = mostRecentSelection,
displayedSavedPaymentMethod = displayedSavedPaymentMethod,
availableSavedPaymentMethodAction = action,
rowType = rowStyle
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.stripe.android.core.strings.resolvableString
import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFactory
import com.stripe.android.paymentelement.ExperimentalEmbeddedPaymentElementApi
import com.stripe.android.paymentsheet.PaymentSheet
import com.stripe.android.paymentsheet.verticalmode.FakePaymentMethodVerticalLayoutInteractor
import com.stripe.android.screenshottesting.PaparazziRule
import org.junit.Rule
import kotlin.test.Test

@OptIn(ExperimentalEmbeddedPaymentElementApi::class)
internal class EmbeddedContentScreenshotTest {
@get:Rule
val paparazziRule = PaparazziRule(boxModifier = Modifier.padding(horizontal = 20.dp))
Expand All @@ -18,7 +21,10 @@ internal class EmbeddedContentScreenshotTest {
fun displaysVerticalModeList() {
val metadata = PaymentMethodMetadataFactory.create()
val interactor = FakePaymentMethodVerticalLayoutInteractor.create(metadata)
val content = EmbeddedContent(interactor)
val content = EmbeddedContent(
interactor = interactor,
rowStyle = PaymentSheet.Appearance.Embedded.RowStyle.FloatingButton.default
)
paparazziRule.snapshot {
content.Content()
}
Expand All @@ -28,7 +34,11 @@ internal class EmbeddedContentScreenshotTest {
fun displaysVerticalModeListWithMandate() {
val metadata = PaymentMethodMetadataFactory.create()
val interactor = FakePaymentMethodVerticalLayoutInteractor.create(metadata)
val content = EmbeddedContent(interactor, mandate = "Some mandate".resolvableString)
val content = EmbeddedContent(
interactor = interactor,
mandate = "Some mandate".resolvableString,
rowStyle = PaymentSheet.Appearance.Embedded.RowStyle.FloatingButton.default
)
paparazziRule.snapshot {
content.Content()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import com.stripe.android.model.PaymentMethodCode
import com.stripe.android.model.PaymentMethodCreateParams
import com.stripe.android.model.PaymentMethodFixtures
import com.stripe.android.model.SetupIntentFixtures
import com.stripe.android.paymentelement.ExperimentalEmbeddedPaymentElementApi
import com.stripe.android.paymentsheet.DisplayableSavedPaymentMethod
import com.stripe.android.paymentsheet.analytics.code
import com.stripe.android.paymentsheet.forms.FormFieldValues
Expand All @@ -32,7 +31,6 @@ import org.junit.Test
import com.stripe.android.paymentsheet.R as PaymentSheetR

@Suppress("LargeClass")
@OptIn(ExperimentalEmbeddedPaymentElementApi::class)
class DefaultPaymentMethodVerticalLayoutInteractorTest {

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,11 @@ package com.stripe.android.paymentsheet.verticalmode

import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadata
import com.stripe.android.lpmfoundations.paymentmethod.PaymentMethodMetadataFactory
import com.stripe.android.paymentelement.ExperimentalEmbeddedPaymentElementApi
import com.stripe.android.paymentsheet.PaymentSheet.Appearance.Embedded
import com.stripe.android.paymentsheet.ViewActionRecorder
import com.stripe.android.paymentsheet.model.PaymentSelection
import com.stripe.android.uicore.utils.stateFlowOf
import kotlinx.coroutines.flow.StateFlow

@OptIn(ExperimentalEmbeddedPaymentElementApi::class)
internal class FakePaymentMethodVerticalLayoutInteractor(
initialState: PaymentMethodVerticalLayoutInteractor.State,
initialShowsWalletsHeader: Boolean = false,
Expand Down Expand Up @@ -38,7 +35,6 @@ internal class FakePaymentMethodVerticalLayoutInteractor(
displayedSavedPaymentMethod = null,
availableSavedPaymentMethodAction =
PaymentMethodVerticalLayoutInteractor.SavedPaymentMethodAction.MANAGE_ALL,
rowType = Embedded.RowStyle.FloatingButton.default
)
return FakePaymentMethodVerticalLayoutInteractor(
initialState = initialState,
Expand Down
Loading

0 comments on commit 83a0766

Please sign in to comment.