@@ -90,9 +90,7 @@ internal class DefaultEmbeddedSheetLauncher @Inject constructor(
9090 private fun handleFormResult (result : EmbeddedActivityResult ) {
9191 when (result) {
9292 is EmbeddedActivityResult .Complete -> {
93- result.customerState?.let { customerStateHolder.setCustomerState(it) }
94- selectionHolder.setPreviousNewSelections(result.previousNewSelections)
95- selectionHolder.setSelection(result.selection)
93+ applyCompleteResult(result)
9694 if (result.hasBeenConfirmed) {
9795 embeddedResultCallbackHelper.setResult(
9896 EmbeddedPaymentElement .Result .Completed ()
@@ -102,7 +100,7 @@ internal class DefaultEmbeddedSheetLauncher @Inject constructor(
102100 }
103101 }
104102 is EmbeddedActivityResult .Cancelled -> {
105- result.customerState?. let { customerStateHolder.setCustomerState(it) }
103+ applyCustomerState( result.customerState)
106104 embeddedResultCallbackHelper.setResult(
107105 EmbeddedPaymentElement .Result .Canceled ()
108106 )
@@ -114,9 +112,7 @@ internal class DefaultEmbeddedSheetLauncher @Inject constructor(
114112 private fun handleManageResult (result : EmbeddedActivityResult ) {
115113 when (result) {
116114 is EmbeddedActivityResult .Complete -> {
117- result.customerState?.let { customerStateHolder.setCustomerState(it) }
118- selectionHolder.setPreviousNewSelections(result.previousNewSelections)
119- selectionHolder.setSelection(result.selection)
115+ applyCompleteResult(result)
120116 if (result.shouldInvokeSelectionCallback && result.selection is PaymentSelection .Saved ) {
121117 rowSelectionImmediateActionHandler.invoke()
122118 }
@@ -129,23 +125,31 @@ internal class DefaultEmbeddedSheetLauncher @Inject constructor(
129125 private fun handlePaymentOptionsResult (result : EmbeddedActivityResult ) {
130126 when (result) {
131127 is EmbeddedActivityResult .Complete -> {
132- result.customerState?.let { customerStateHolder.setCustomerState(it) }
133- selectionHolder.setPreviousNewSelections(result.previousNewSelections)
134- selectionHolder.setSelection(result.selection)
128+ applyCompleteResult(result)
135129 if (result.hasBeenConfirmed) {
136130 embeddedResultCallbackHelper.setResult(
137131 EmbeddedPaymentElement .Result .Completed ()
138132 )
139133 }
140134 }
141135 is EmbeddedActivityResult .Cancelled -> {
142- result.customerState?. let { customerStateHolder.setCustomerState(it) }
136+ applyCustomerState( result.customerState)
143137 clearStaleSelection()
144138 }
145139 is EmbeddedActivityResult .Error -> Unit
146140 }
147141 }
148142
143+ private fun applyCompleteResult (result : EmbeddedActivityResult .Complete ) {
144+ applyCustomerState(result.customerState)
145+ selectionHolder.setPreviousNewSelections(result.previousNewSelections)
146+ selectionHolder.setSelection(result.selection)
147+ }
148+
149+ private fun applyCustomerState (customerState : CustomerState ? ) {
150+ customerState?.let { customerStateHolder.setCustomerState(it) }
151+ }
152+
149153 private fun clearStaleSelection () {
150154 val currentSelection = selectionHolder.selection.value
151155 if (currentSelection is PaymentSelection .Saved ) {
0 commit comments