Skip to content

Commit cf1a603

Browse files
committed
use observeView instead of old approach
1 parent 6dcaf5f commit cf1a603

File tree

2 files changed

+5
-54
lines changed

2 files changed

+5
-54
lines changed

java-sample/src/main/java/io/snabble/testapp/BaseActivity.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,21 @@
11
package io.snabble.testapp;
22

3-
import android.app.Activity;
4-
import android.content.Context;
53
import android.content.Intent;
64
import android.os.Bundle;
75
import android.view.KeyEvent;
86
import android.view.View;
97
import android.widget.ProgressBar;
108
import android.widget.TextView;
11-
12-
import androidx.annotation.NonNull;
13-
import androidx.annotation.Nullable;
149
import androidx.appcompat.app.AppCompatActivity;
1510
import androidx.fragment.app.Fragment;
16-
17-
import io.snabble.sdk.Snabble;
1811
import io.snabble.sdk.codes.ScannedCode;
1912
import io.snabble.sdk.ui.SnabbleUI;
2013
import io.snabble.sdk.ui.cart.ShoppingCartActivity;
21-
import io.snabble.sdk.ui.checkout.CheckoutActivity;
22-
import io.snabble.sdk.ui.payment.AgeVerificationInputActivity;
23-
import io.snabble.sdk.ui.payment.CreditCardInputActivity;
24-
import io.snabble.sdk.ui.payment.PaydirektInputActivity;
2514
import io.snabble.sdk.ui.payment.PaymentCredentialsListActivity;
2615
import io.snabble.sdk.ui.payment.PaymentOptionsActivity;
27-
import io.snabble.sdk.ui.payment.PayoneInputActivity;
28-
import io.snabble.sdk.ui.payment.ProjectPaymentOptionsActivity;
29-
import io.snabble.sdk.ui.payment.SEPACardInputActivity;
3016
import io.snabble.sdk.ui.scanner.SelfScanningActivity;
31-
import io.snabble.sdk.ui.search.ProductSearchActivity;
3217
import io.snabble.sdk.ui.utils.ZebraSupport;
3318
import io.snabble.sdk.ui.scanner.ProductResolver;
34-
import kotlin.Unit;
35-
import kotlin.jvm.functions.Function2;
3619

3720
public abstract class BaseActivity extends AppCompatActivity {
3821

ui/src/main/java/io/snabble/sdk/ui/cart/CheckoutBar.kt

Lines changed: 5 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import io.snabble.sdk.utils.Logger
3737

3838
open class CheckoutBar @JvmOverloads constructor(
3939
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
40-
) : LinearLayout(context, attrs, defStyleAttr), Checkout.OnCheckoutStateChangedListener {
40+
) : LinearLayout(context, attrs, defStyleAttr) {
4141
init {
4242
inflate(getContext(), R.layout.snabble_view_checkout_bar, this)
4343
}
@@ -126,19 +126,9 @@ open class CheckoutBar @JvmOverloads constructor(
126126
false
127127
})
128128

129-
context.requireFragmentActivity().lifecycle.addObserver(object : LifecycleObserver {
130-
@OnLifecycleEvent(Lifecycle.Event.ON_START)
131-
fun onStart() {
132-
if (isAttachedToWindow) {
133-
registerListeners()
134-
}
135-
}
136-
137-
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
138-
fun onStop() {
139-
unregisterListeners()
140-
}
141-
})
129+
project.checkout.checkoutState.observeView(this) {
130+
onStateChanged(it)
131+
}
142132
}
143133

144134
private fun handleButtonClick() {
@@ -266,28 +256,7 @@ open class CheckoutBar @JvmOverloads constructor(
266256
}
267257
}
268258

269-
private fun registerListeners() {
270-
project.checkout.addOnCheckoutStateChangedListener(this)
271-
}
272-
273-
private fun unregisterListeners() {
274-
project.checkout.removeOnCheckoutStateChangedListener(this)
275-
progressDialog.dismiss()
276-
}
277-
278-
override fun onAttachedToWindow() {
279-
super.onAttachedToWindow()
280-
if (!isInEditMode) {
281-
registerListeners()
282-
}
283-
}
284-
285-
override fun onDetachedFromWindow() {
286-
super.onDetachedFromWindow()
287-
unregisterListeners()
288-
}
289-
290-
override fun onStateChanged(state: Checkout.State) {
259+
protected fun onStateChanged(state: Checkout.State) {
291260
when (state) {
292261
Checkout.State.HANDSHAKING -> {
293262
progressDialog.showAfterDelay(300)
@@ -344,7 +313,6 @@ open class CheckoutBar @JvmOverloads constructor(
344313
putString(CheckoutActivity.ARG_PROJECT_ID, project.id)
345314
})
346315
progressDialog.dismiss()
347-
unregisterListeners()
348316
}
349317
Checkout.State.INVALID_PRODUCTS -> {
350318
val invalidProducts = project.checkout.invalidProducts

0 commit comments

Comments
 (0)