Fix retrofit rxjava

This commit is contained in:
Mieszko Wrzeszczyński 2018-11-27 11:45:50 +01:00
parent 2b19229552
commit 6dbe50761a
2 changed files with 111 additions and 113 deletions

View File

@ -1,16 +1,10 @@
package com.uam.wmi.findmytutor.activity; package com.uam.wmi.findmytutor.activity;
import android.os.Bundle; 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.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
@ -26,22 +20,16 @@ import com.uam.wmi.findmytutor.service.UserService;
import com.uam.wmi.findmytutor.utils.PrefUtils; import com.uam.wmi.findmytutor.utils.PrefUtils;
import com.uam.wmi.findmytutor.utils.RestApiHelper; import com.uam.wmi.findmytutor.utils.RestApiHelper;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable; import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.disposables.Disposable;
import io.reactivex.observers.DisposableSingleObserver; import io.reactivex.observers.DisposableSingleObserver;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import okhttp3.ResponseBody; import okhttp3.ResponseBody;
import retrofit2.Response; import retrofit2.Response;
import static com.mapbox.mapboxsdk.Mapbox.getApplicationContext;
public class TutorTab extends AppCompatActivity { public class TutorTab extends AppCompatActivity {
private TutorTabApi tutorTabService; private TutorTabApi tutorTabService;
private UserService userService; private UserService userService;
@ -53,6 +41,7 @@ public class TutorTab extends AppCompatActivity {
private TextView userEmail; private TextView userEmail;
private TextView department; private TextView department;
private Button saveButon; private Button saveButon;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -115,22 +104,30 @@ public class TutorTab extends AppCompatActivity {
})); }));
// setUpSaveListener(); // setUpSaveListener();
} }
/* private void setUpSaveListener(){
private void setUpSaveListener() {
saveButon.setOnClickListener(new View.OnClickListener() { saveButon.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
TutorTabViewModel newTab = new TutorTabViewModel(); TutorTabViewModel newTab = new TutorTabViewModel();
disposable.add(tutorTabService.apiUsersTutorTabByTutorIdPut(PrefUtils.getUserId(getApplicationContext()),newTab) putUserTab(newTab);
}
});
}
private void putUserTab(TutorTabViewModel tutorTabViewModel) {
disposable.add(tutorTabService.apiUsersTutorTabByTutorIdPut(PrefUtils.getUserId(getApplicationContext()), tutorTabViewModel)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(this::handleResponse, this::handleError)); .subscribe(this::handleResponse, this::handleError));
} }
});
}*/ private void handleResponse(TutorTabViewModel tutorTabViewModel) {
private void handleResponse(Response<Void> resp) {
Toast.makeText(getApplicationContext(), getApplicationContext().getString(R.string.modal_feedback_thankyou), Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), getApplicationContext().getString(R.string.modal_feedback_thankyou), Toast.LENGTH_SHORT).show();
} }
private void handleError(Throwable error) { private void handleError(Throwable error) {
if (error instanceof HttpException) { if (error instanceof HttpException) {
@ -144,6 +141,7 @@ public class TutorTab extends AppCompatActivity {
Log.d("FEEDBACK", error.getMessage()); Log.d("FEEDBACK", error.getMessage());
} }
} }
private void showError(Throwable e) { private void showError(Throwable e) {
String message; String message;

View File

@ -51,7 +51,7 @@ public interface TutorTabApi {
"Content-Type:application/json" "Content-Type:application/json"
}) })
@PUT("api/users/tutorTab/{tutorId}") @PUT("api/users/tutorTab/{tutorId}")
Observable<Void> apiUsersTutorTabByTutorIdPut( Observable<TutorTabViewModel> apiUsersTutorTabByTutorIdPut(
@retrofit2.http.Path("tutorId") String tutorId, @retrofit2.http.Body TutorTabViewModel tutorTab @retrofit2.http.Path("tutorId") String tutorId, @retrofit2.http.Body TutorTabViewModel tutorTab
); );