Slide 19
Slide 19 text
Triad
class LoginScreen : Screen() {
override val layoutResId = R.layout.screen_login
override fun createPresenter(viewId: Int) = LoginPresenter(applicationComponent.triad)
}
interface LoginContainer : Container {
fun setUpEmail(email: String)
fun setUpPassword(password: String)
}
class LoginPresenter(private val triad: Triad) : BasePresenter() {
fun signInButtonClicked() {
triad.goTo(WelcomeScreen())
}
}
class LoginView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) :
LinearLayoutContainer(context, attrs,
defStyle), LoginContainer {
override fun onFinishInflate() {
super.onFinishInflate()
signInButton.setOnClickListener { presenter.signInButtonClicked() }
}
override fun setUpEmail(email: String) {
emailEdit.setText(email)
}
override fun setUpPassword(password: String) {
passwordEdit.setText(password)
}
}