Skip to content

Instantly share code, notes, and snippets.

@laurentyhuel
laurentyhuel / activity.kt
Created May 9, 2022 08:21
2x screen : show presentation
private var presentation: DefaultPresentation? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
[...]
getCustomerDisplay(this)?.let { display ->
presentation = DefaultPresentation(display, applicationContext)
presentation?.setImage(uri)
}
}
@laurentyhuel
laurentyhuel / full_layout.xml
Created May 9, 2022 08:24
2x screen : full layout
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<ViewFlipper
android:id="@+id/viewFlipper"
android:theme="@style/IO">
<androidx.constraintlayout.widget.ConstraintLayout
@laurentyhuel
laurentyhuel / CustomerDisplayViewModel.kt
Created May 9, 2022 08:29
2x screen SharedViewModel
class CustomerDisplayViewModel : ViewModel() {
enum class CustomerDisplayState(val flipperViewIndex: Int) {
DEFAULT(0), CART(1), CONFIRM_PRINT(2)
}
val stateLiveData = MutableLiveData<CustomerDisplayState>()
val cartLiveData = MutableLiveData<OrderCartPresentationModel>()
@laurentyhuel
laurentyhuel / CustomerDisplayPresentation.kt
Created May 9, 2022 08:33
2x screen CustomerDisplayPresentation
class CustomerDisplayPresentation(
context: Context,
display: Display,
private var lifecycleOwner: LifecycleOwner?,
private var customerDisplayViewModel: CustomerDisplayViewModel?
) : Presentation(context, display) {
private val adapter = OrderItemPresentationAdapter(context)
private lateinit var binding: PresentationCustomerDisplayBinding
private var cartItems: List<OrderItemModel>