Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.ramastudio.jwtez.utils;
- import android.content.Context;
- import android.util.Log;
- import android.widget.Toast;
- import com.google.gson.Gson;
- import com.google.gson.reflect.TypeToken;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.io.IOException;
- import okhttp3.ResponseBody;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Response;
- public abstract class ApiHandler implements Callback<ResponseBody> {
- public abstract void onSuccess(String data);
- public abstract void onComplete(boolean error, String msg);
- // handle data dari server
- @Override
- public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
- if(response.isSuccessful()){
- String resp = null;
- try {
- resp = response.body().string();
- Log.i("REQ_NOT",resp);
- int index = resp.indexOf("{\"error\"");
- JSONObject obj = new JSONObject(resp.substring(index));
- boolean error = obj.getBoolean("error");
- onComplete(error, obj.getString("msg"));
- if(!error){
- String data = obj.getString("data");
- onSuccess(data);
- }
- } catch (IOException e) {
- e.printStackTrace();
- onComplete(true, "Gagal membaca data");
- } catch (JSONException e) {
- e.printStackTrace();
- onComplete(true, "Gagal parsing data");
- }
- } else {
- String err = "";
- try {
- err = response.errorBody().string();
- } catch (IOException e) {
- e.printStackTrace();
- }
- onComplete(true, "Request gagal");
- Log.e("REQ_NOT", err);
- }
- }
- @Override
- public void onFailure(Call<ResponseBody> call, Throwable t) {
- onComplete(true, t.getMessage());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement