@@ -5,8 +5,9 @@ import com.marknkamau.justjava.data.local.PreferencesRepository
55import com.marknkamau.justjava.data.network.db.DatabaseService
66import com.marknkamau.justjava.data.models.Order
77import com.marknkamau.justjava.data.models.UserDetails
8+ import timber.log.Timber
89
9- internal class ProfilePresenter (private val activityView : ProfileView ,
10+ internal class ProfilePresenter (private val view : ProfileView ,
1011 private val preferencesRepository : PreferencesRepository ,
1112 private val authenticationService : AuthenticationService ,
1213 private val databaseService : DatabaseService ) {
@@ -20,48 +21,52 @@ internal class ProfilePresenter(private val activityView: ProfileView,
2021
2122 private fun getUserDetails () {
2223 userDetails = preferencesRepository.getUserDetails()
23- activityView .displayUserDetails(userDetails)
24+ view .displayUserDetails(userDetails)
2425 }
2526
2627 private fun getPreviousOrders () {
28+ view.showOrdersProgressBar()
2729 databaseService.getPreviousOrders(authenticationService.getUserId()!! , object : DatabaseService .PreviousOrdersListener {
2830 override fun onSuccess (previousOrders : MutableList <Order >) {
31+ view.hideOrdersProgressBar()
2932 if (previousOrders.isEmpty()) {
30- activityView .displayNoPreviousOrders()
33+ view .displayNoPreviousOrders()
3134 } else {
3235 val sorted = previousOrders.sortedBy { it.date }.reversed().toMutableList()
33- activityView .displayPreviousOrders(sorted)
36+ view .displayPreviousOrders(sorted)
3437 }
3538 }
3639
3740 override fun onError (reason : String ) {
38- activityView.displayMessage(reason)
41+ view.hideOrdersProgressBar()
42+ view.displayMessage(reason)
3943 }
4044 })
4145 }
4246
4347 fun updateUserDetails (name : String , phone : String , address : String ) {
44- activityView.showProgressBar()
45-
48+ view.showProfileProgressBar()
4649 authenticationService.setUserDisplayName(name, object : AuthenticationService .AuthActionListener {
4750 override fun actionSuccessful (response : String ) {
4851 databaseService.updateUserDetails(userDetails.id, name, phone, address, object : DatabaseService .WriteListener {
4952 override fun onSuccess () {
5053 val newUserDetails = UserDetails (userDetails.id, userDetails.email, name, phone, address)
5154
5255 preferencesRepository.saveUserDetails(newUserDetails)
53- activityView.hideProgressBar ()
54- activityView .displayMessage(" Default values updated" )
56+ view.hideProfileProgressBar ()
57+ view .displayMessage(" Profile updated" )
5558 }
5659
5760 override fun onError (reason : String ) {
58-
61+ Timber .e(reason)
62+ view.hideProfileProgressBar()
63+ view.displayMessage(reason)
5964 }
6065 })
6166 }
6267
6368 override fun actionFailed (response : String? ) {
64- activityView .displayMessage(response)
69+ view .displayMessage(response)
6570 }
6671 })
6772 }
0 commit comments