diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/TutorTab.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/TutorTab.java index f99e155..45e8001 100644 --- a/app/src/main/java/com/uam/wmi/findmytutor/activity/TutorTab.java +++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/TutorTab.java @@ -1,16 +1,10 @@ package com.uam.wmi.findmytutor.activity; import android.os.Bundle; -import android.support.design.widget.FloatingActionButton; -import android.support.design.widget.Snackbar; -import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.View; -import android.widget.ArrayAdapter; import android.widget.Button; -import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; @@ -26,137 +20,141 @@ import com.uam.wmi.findmytutor.service.UserService; import com.uam.wmi.findmytutor.utils.PrefUtils; import com.uam.wmi.findmytutor.utils.RestApiHelper; -import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.List; -import io.reactivex.Single; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.disposables.Disposable; import io.reactivex.observers.DisposableSingleObserver; import io.reactivex.schedulers.Schedulers; import okhttp3.ResponseBody; import retrofit2.Response; -import static com.mapbox.mapboxsdk.Mapbox.getApplicationContext; - public class TutorTab extends AppCompatActivity { - private TutorTabApi tutorTabService; - private UserService userService; - private CompositeDisposable disposable = new CompositeDisposable(); - private TextView userName; - private TextView userDutyHours; - private TextView userNote; - private TextView userRoom; - private TextView userEmail; - private TextView department; - private Button saveButon; - @Override - protected void onCreate(Bundle savedInstanceState) { + private TutorTabApi tutorTabService; + private UserService userService; + private CompositeDisposable disposable = new CompositeDisposable(); + private TextView userName; + private TextView userDutyHours; + private TextView userNote; + private TextView userRoom; + private TextView userEmail; + private TextView department; + private Button saveButon; + + @Override + protected void onCreate(Bundle savedInstanceState) { + + super.onCreate(savedInstanceState); + tutorTabService = ApiClient.getClient(getApplicationContext()) + .create(TutorTabApi.class); + userService = ApiClient.getClient(getApplicationContext()) + .create(UserService.class); + setContentView(R.layout.content_tutor_tab); + TextView userName = findViewById(R.id.userName); + TextView userDutyHours = findViewById(R.id.userDutyHours); + TextView userNote = findViewById(R.id.userNote); + TextView userRoom = findViewById(R.id.userRoom); + TextView userEmail = findViewById(R.id.userEmail); + TextView department = findViewById(R.id.userDepartment); + Button saveButon = findViewById(R.id.saveButon); + userName.setText(String.format("%s %s", PrefUtils.getUserFirstName(getApplicationContext()), PrefUtils.getUserLastName(getApplicationContext()))); + disposable.add( + tutorTabService.apiUsersTutorTabByTutorIdGet(PrefUtils.getUserId(getApplicationContext())) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeWith(new DisposableSingleObserver() { + @Override + public void onSuccess(TutorTabViewModel tutorTabViewModel) { + List dutyHoursList = Stream.of(tutorTabViewModel.getDutyHours()) + .map(DutyHourViewModel::getSummary).toList(); + Log.d("TUTORTAB", Arrays.toString(dutyHoursList.toArray())); + userRoom.setText(String.format("%s: %s", getString(R.string.userRoom), tutorTabViewModel.getRoom())); + userEmail.setText(String.format("%s: %s", getString(R.string.userEmail), tutorTabViewModel.getEmailTutorTab())); + if (!tutorTabViewModel.getNote().equals("")) { + userNote.setText(String.format("%s", tutorTabViewModel.getNote())); + } + userDutyHours.setText(String.format("%s: %s", getString(R.string.userDutyHoursHeader), Arrays.toString(dutyHoursList.toArray()))); - super.onCreate(savedInstanceState); - tutorTabService = ApiClient.getClient(getApplicationContext()) - .create(TutorTabApi.class); - userService = ApiClient.getClient(getApplicationContext()) - .create(UserService.class); - setContentView(R.layout.content_tutor_tab); - TextView userName = findViewById(R.id.userName); - TextView userDutyHours = findViewById(R.id.userDutyHours); - TextView userNote = findViewById(R.id.userNote); - TextView userRoom = findViewById(R.id.userRoom); - TextView userEmail = findViewById(R.id.userEmail); - TextView department = findViewById(R.id.userDepartment); - Button saveButon = findViewById(R.id.saveButon); - userName.setText(String.format("%s %s", PrefUtils.getUserFirstName(getApplicationContext()), PrefUtils.getUserLastName(getApplicationContext()))); - disposable.add( - tutorTabService.apiUsersTutorTabByTutorIdGet(PrefUtils.getUserId(getApplicationContext())) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribeWith(new DisposableSingleObserver() { - @Override - public void onSuccess(TutorTabViewModel tutorTabViewModel) { - List dutyHoursList = Stream.of(tutorTabViewModel.getDutyHours()) - .map(DutyHourViewModel::getSummary).toList(); - Log.d("TUTORTAB",Arrays.toString(dutyHoursList.toArray())); - userRoom.setText(String.format("%s: %s", getString(R.string.userRoom), tutorTabViewModel.getRoom())); - userEmail.setText(String.format("%s: %s", getString(R.string.userEmail), tutorTabViewModel.getEmailTutorTab())); - if (!tutorTabViewModel.getNote().equals("")) { - userNote.setText(String.format("%s", tutorTabViewModel.getNote())); } - userDutyHours.setText(String.format("%s: %s", getString(R.string.userDutyHoursHeader),Arrays.toString(dutyHoursList.toArray()))); - } - - @Override - public void onError(Throwable e) { - showError(e); - } - })); - disposable.add( + @Override + public void onError(Throwable e) { + showError(e); + } + })); + disposable.add( // userService.getUserById(PrefUtils.getUserId(getApplicationContext())) - userService.getUserById(PrefUtils.getUserId(getApplicationContext())) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribeWith(new DisposableSingleObserver () { - @Override - public void onSuccess(User user) { - department.setText(user.getDepartment()); - Log.d("TUTORTAB",(user.getDepartment())); + userService.getUserById(PrefUtils.getUserId(getApplicationContext())) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeWith(new DisposableSingleObserver() { + @Override + public void onSuccess(User user) { + department.setText(user.getDepartment()); + Log.d("TUTORTAB", (user.getDepartment())); - } + } - @Override - public void onError(Throwable e) { - showError(e); - } - })); + @Override + public void onError(Throwable e) { + showError(e); + } + })); // setUpSaveListener(); - } -/* private void setUpSaveListener(){ - saveButon.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - TutorTabViewModel newTab = new TutorTabViewModel(); - disposable.add(tutorTabService.apiUsersTutorTabByTutorIdPut(PrefUtils.getUserId(getApplicationContext()),newTab) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(this::handleResponse, this::handleError)); - } - }); - }*/ - private void handleResponse(Response resp) { - Toast.makeText(getApplicationContext(), getApplicationContext().getString(R.string.modal_feedback_thankyou), Toast.LENGTH_SHORT).show(); - } + } - private void handleError(Throwable error) { - if (error instanceof HttpException) { + private void setUpSaveListener() { + saveButon.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + TutorTabViewModel newTab = new TutorTabViewModel(); + putUserTab(newTab); + } + }); + } + + private void putUserTab(TutorTabViewModel tutorTabViewModel) { + disposable.add(tutorTabService.apiUsersTutorTabByTutorIdPut(PrefUtils.getUserId(getApplicationContext()), tutorTabViewModel) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(this::handleResponse, this::handleError)); + } - ResponseBody responseBody = ((HttpException) error).response().errorBody(); - Toast.makeText(getApplicationContext(), - RestApiHelper.getErrorMessage(responseBody), Toast.LENGTH_SHORT).show(); + private void handleResponse(TutorTabViewModel tutorTabViewModel) { + Toast.makeText(getApplicationContext(), getApplicationContext().getString(R.string.modal_feedback_thankyou), Toast.LENGTH_SHORT).show(); - } else { - Toast.makeText(getApplicationContext(), - "Network error " + error.getMessage(), Toast.LENGTH_SHORT).show(); - Log.d("FEEDBACK",error.getMessage()); - } - } - private void showError(Throwable e) { - String message; + } - if (e instanceof HttpException) { - ResponseBody responseBody = ((HttpException) e).response().errorBody(); - message = RestApiHelper.getErrorMessage(responseBody); - }else{ - message = "Network Error !"; - } + + private void handleError(Throwable error) { + if (error instanceof HttpException) { + + ResponseBody responseBody = ((HttpException) error).response().errorBody(); + Toast.makeText(getApplicationContext(), + RestApiHelper.getErrorMessage(responseBody), Toast.LENGTH_SHORT).show(); + + } else { + Toast.makeText(getApplicationContext(), + "Network error " + error.getMessage(), Toast.LENGTH_SHORT).show(); + Log.d("FEEDBACK", error.getMessage()); + } + } + + private void showError(Throwable e) { + String message; + + if (e instanceof HttpException) { + ResponseBody responseBody = ((HttpException) e).response().errorBody(); + message = RestApiHelper.getErrorMessage(responseBody); + } else { + message = "Network Error !"; + } // Snackbar.make(coordinatorLayout, message, Snackbar.LENGTH_LONG) // .show(); - Toast.makeText(getApplicationContext(),message,Toast.LENGTH_SHORT).show(); - } + Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show(); + } } diff --git a/app/src/main/java/com/uam/wmi/findmytutor/service/TutorTabApi.java b/app/src/main/java/com/uam/wmi/findmytutor/service/TutorTabApi.java index e2f6d9a..e5ba6b1 100644 --- a/app/src/main/java/com/uam/wmi/findmytutor/service/TutorTabApi.java +++ b/app/src/main/java/com/uam/wmi/findmytutor/service/TutorTabApi.java @@ -51,7 +51,7 @@ public interface TutorTabApi { "Content-Type:application/json" }) @PUT("api/users/tutorTab/{tutorId}") - Observable apiUsersTutorTabByTutorIdPut( + Observable apiUsersTutorTabByTutorIdPut( @retrofit2.http.Path("tutorId") String tutorId, @retrofit2.http.Body TutorTabViewModel tutorTab );