@@ -32,7 +32,7 @@ import io.snabble.sdk.ui.telemetry.Telemetry
3232import io.snabble.sdk.ui.utils.*
3333
3434
35- class CheckoutBar @JvmOverloads constructor(
35+ open class CheckoutBar @JvmOverloads constructor(
3636 context : Context , attrs : AttributeSet ? = null , defStyleAttr : Int = 0
3737) : LinearLayout(context, attrs, defStyleAttr), Checkout.OnCheckoutStateChangedListener {
3838 private lateinit var progressDialog: DelayedProgressDialog
@@ -75,15 +75,15 @@ class CheckoutBar @JvmOverloads constructor(
7575
7676 binding.pay.setOneShotClickListener {
7777 cart.taxation = ShoppingCart .Taxation .UNDECIDED
78- payClick ()
78+ handleButtonClick ()
7979 }
8080
8181 binding.googlePayButtonLayout.googlePayButton.setOneShotClickListener {
8282 val packageName = " com.google.android.apps.walletnfcrel"
8383 val pm = context.packageManager
8484 try {
8585 pm.getPackageInfo(packageName, PackageManager .GET_ACTIVITIES )
86- payClick ()
86+ handleButtonClick ()
8787 } catch (e: PackageManager .NameNotFoundException ) {
8888 try {
8989 context.startActivity(Intent (Intent .ACTION_VIEW ,
@@ -127,15 +127,19 @@ class CheckoutBar @JvmOverloads constructor(
127127 })
128128 }
129129
130- private fun payClick () {
130+ private fun handleButtonClick () {
131131 if (cart.isRestorable) {
132132 cart.restore()
133133 update()
134134 } else {
135- pay ()
135+ onPayClick ()
136136 }
137137 }
138138
139+ protected open fun onPayClick () {
140+ pay()
141+ }
142+
139143 private fun update () {
140144 updatePaymentSelector()
141145 updatePayAndText()
@@ -197,7 +201,7 @@ class CheckoutBar @JvmOverloads constructor(
197201 }
198202 }
199203
200- private fun pay () {
204+ protected fun pay () {
201205 if (cart.hasReachedMaxCheckoutLimit()) {
202206 val message = resources.getString(R .string.Snabble_limitsAlert_checkoutNotAvailable ,
203207 project.priceFormatter.format(project.maxCheckoutLimit))
0 commit comments