Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. lass LoginActivity : AppCompatActivity(), LoginContract.View {
  2.  
  3. private lateinit var presenter: LoginContract.Presenter
  4.  
  5. override fun onCreate(savedInstanceState: Bundle?) {
  6. super.onCreate(savedInstanceState)
  7. setContentView(R.layout.activity_login)
  8. presenter = LoginPresenter(this)
  9.  
  10. btn_login.setOnClickListener {
  11. presenter.onLoginClick(
  12. input_email.text.toString(),
  13. input_password.text.toString()
  14. )
  15. }
  16.  
  17. }
  18.  
  19. override fun showProgress() {
  20. progress_bar.visibility = View.VISIBLE
  21. btn_login.visibility = View.GONE
  22. }
  23.  
  24. override fun hideProgress() {
  25. progress_bar.visibility = View.GONE
  26. btn_login.visibility = View.VISIBLE
  27. }
  28.  
  29. override fun goToMainPage() {
  30. startActivity<MainActivity>()
  31. finish()
  32. }
  33.  
  34. override fun showMessage(message: String) {
  35. toast(message)
  36. }
  37.  
  38. override fun onDestroy() {
  39. super.onDestroy()
  40. presenter.unsubscribe()
  41. }
  42.  
  43. }
  44.  
  45.  
  46. interface LoginContract {
  47.  
  48. interface View {
  49. fun goToMainPage()
  50. fun showProgress()
  51. fun hideProgress()
  52. fun showMessage(message : String)
  53. }
  54.  
  55. interface Presenter : BaseContract.Presenter {
  56. fun onLoginClick(email : String, password : String)
  57. }
  58.  
  59. }
  60.  
  61. class LoginPresenter(private val view: LoginContract.View) : BasePresenter(), LoginContract.Presenter {
  62.  
  63. override fun onLoginClick(email: String, password: String) {
  64. view.showProgress()
  65. val disposable = UserService.getService()
  66. .authenticate(email, password)
  67. .subscribeOn(Schedulers.io())
  68. .observeOn(AndroidSchedulers.mainThread())
  69. .subscribe(
  70. { response ->
  71. if (response.statusCode == 1 && response.data != null) {
  72. HRApp.user = response.data
  73. HRApp.token = response.data?.apiToken
  74. HRApp.links = response.links
  75. view.goToMainPage()
  76. }else{
  77. view.hideProgress()
  78. }
  79. }, { error ->
  80. view.showMessage(ErrorHandler.getError(error).message)
  81. view.hideProgress()
  82. })
  83.  
  84. subscribe(disposable)
  85. }
  86.  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement