service model architecture changed

This commit is contained in:
2017-10-05 22:08:24 +03:00
parent 8edec08d3e
commit 0c955a15ab
12 changed files with 148 additions and 141 deletions

View File

@@ -17,9 +17,10 @@ import butterknife.OnClick;
import ch.pizzalink.android.R;
import ch.pizzalink.android.api.ApiErrorUtils;
import ch.pizzalink.android.api.ApiService;
import ch.pizzalink.android.api.ResponseObject;
import ch.pizzalink.android.helper.DialogHelper;
import ch.pizzalink.android.helper.SharedPrefsHelper;
import ch.pizzalink.android.model.responseModel.LoginCustomerResponseModel;
import ch.pizzalink.android.model.UserModel;
import ch.pizzalink.android.view.PizzalinkButton;
import ch.pizzalink.android.view.PizzalinkEditText;
import retrofit2.Call;
@@ -88,16 +89,15 @@ public class LoginActivity extends BaseActivity {
private void login(){
DialogHelper.showLoadingDialog();
Call<LoginCustomerResponseModel> call = ApiService.apiInterface.login(
Call<ResponseObject<UserModel>> call = ApiService.apiInterface.login(
emailPizzalinkEditText.getText(), passwordPizzalinkEditText.getText());
call.enqueue(new Callback<LoginCustomerResponseModel>() {
call.enqueue(new Callback<ResponseObject<UserModel>>() {
@Override
public void onResponse(Call<LoginCustomerResponseModel> call, Response<LoginCustomerResponseModel> response) {
public void onResponse(Call<ResponseObject<UserModel>> call, Response<ResponseObject<UserModel>> response) {
DialogHelper.hideLoadingDialog();
if(response.isSuccessful() &&
response.body() != null &&
response.body().getData() != null &&
response.body().isSuccess()){
response.body().getData().checkNull();
SharedPrefsHelper.saveUser(response.body().getData());
SharedPrefsHelper.saveCustomerToken(response.body().getData().getToken());
SharedPrefsHelper.setCustomerLoggedIn(true);
@@ -108,7 +108,7 @@ public class LoginActivity extends BaseActivity {
}
@Override
public void onFailure(Call<LoginCustomerResponseModel> call, Throwable t) {
public void onFailure(Call<ResponseObject<UserModel>> call, Throwable t) {
DialogHelper.hideLoadingDialog();
DialogHelper.showFailedDialog();
}

View File

@@ -15,10 +15,10 @@ import butterknife.OnClick;
import ch.pizzalink.android.R;
import ch.pizzalink.android.api.ApiErrorUtils;
import ch.pizzalink.android.api.ApiService;
import ch.pizzalink.android.api.ResponseObject;
import ch.pizzalink.android.helper.DialogHelper;
import ch.pizzalink.android.helper.SharedPrefsHelper;
import ch.pizzalink.android.model.UserModel;
import ch.pizzalink.android.model.responseModel.LoginCustomerResponseModel;
import ch.pizzalink.android.view.PizzalinkButton;
import ch.pizzalink.android.view.PizzalinkEditText;
import ch.pizzalink.android.view.PizzalinkToolbar;
@@ -97,17 +97,19 @@ public class RegisterActivity extends BaseActivity {
private void registerUser(){
DialogHelper.showLoadingDialog();
Call<LoginCustomerResponseModel> call = ApiService.apiInterface.register(
pizzalinkEditTextList.get(0).getText(), pizzalinkEditTextList.get(1).getText(),pizzalinkEditTextList.get(2).getText(),
pizzalinkEditTextList.get(3).getText(),pizzalinkEditTextList.get(4).getText(),pizzalinkEditTextList.get(5).getText(),
pizzalinkEditTextList.get(6).getText(),pizzalinkEditTextList.get(7).getText(),pizzalinkEditTextList.get(8).getText(),
pizzalinkEditTextList.get(9).getText(),pizzalinkEditTextList.get(10).getText(),pizzalinkEditTextList.get(11).getText());
call.enqueue(new Callback<LoginCustomerResponseModel>() {
Call<ResponseObject<UserModel>> call = ApiService.apiInterface.register(
pizzalinkEditTextList.get(0).getText(), pizzalinkEditTextList.get(1).getText(),
pizzalinkEditTextList.get(2).getText(), pizzalinkEditTextList.get(3).getText(),
pizzalinkEditTextList.get(4).getText(), pizzalinkEditTextList.get(5).getText(),
pizzalinkEditTextList.get(6).getText(), pizzalinkEditTextList.get(7).getText(),
pizzalinkEditTextList.get(8).getText(), pizzalinkEditTextList.get(9).getText(),
pizzalinkEditTextList.get(10).getText(),pizzalinkEditTextList.get(11).getText());
call.enqueue(new Callback<ResponseObject<UserModel>>() {
@Override
public void onResponse(Call<LoginCustomerResponseModel> call, Response<LoginCustomerResponseModel> response) {
public void onResponse(Call<ResponseObject<UserModel>> call, Response<ResponseObject<UserModel>> response) {
DialogHelper.hideLoadingDialog();
if(response.isSuccessful() &&
response.body() != null &&
response.body().getData() != null &&
response.body().isSuccess()){
response.body().getData().checkNull();
SharedPrefsHelper.saveUser(response.body().getData());
@@ -120,7 +122,7 @@ public class RegisterActivity extends BaseActivity {
}
@Override
public void onFailure(Call<LoginCustomerResponseModel> call, Throwable t) {
public void onFailure(Call<ResponseObject<UserModel>> call, Throwable t) {
DialogHelper.hideLoadingDialog();
DialogHelper.showFailedDialog();
}

View File

@@ -16,13 +16,13 @@ import butterknife.ButterKnife;
import ch.pizzalink.android.R;
import ch.pizzalink.android.api.ApiErrorUtils;
import ch.pizzalink.android.api.ApiService;
import ch.pizzalink.android.api.ResponseArray;
import ch.pizzalink.android.helper.DialogHelper;
import ch.pizzalink.android.helper.DisplayHelper;
import ch.pizzalink.android.helper.NetworkHelper;
import ch.pizzalink.android.helper.SessionHelper;
import ch.pizzalink.android.helper.SharedPrefsHelper;
import ch.pizzalink.android.model.CategoryModel;
import ch.pizzalink.android.model.responseModel.CategoryResponseModel;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@@ -43,12 +43,12 @@ public class SplashActivity extends BaseActivity {
}
private void getCategoryList(){
Call<CategoryResponseModel> call = ApiService.apiInterface.getAllCategories();
call.enqueue(new Callback<CategoryResponseModel>() {
Call<ResponseArray<CategoryModel>> call = ApiService.apiInterface.getAllCategories();
call.enqueue(new Callback<ResponseArray<CategoryModel>>() {
@Override
public void onResponse(Call<CategoryResponseModel> call, Response<CategoryResponseModel> response) {
public void onResponse(Call<ResponseArray<CategoryModel>> call, Response<ResponseArray<CategoryModel>> response) {
if(response.isSuccessful() &&
response.body() != null &&
response.body().getData() != null &&
response.body().isSuccess()){
CategoryModel.checkNull(response.body().getData());
SharedPrefsHelper.saveCategoryList(response.body().getData());
@@ -59,7 +59,7 @@ public class SplashActivity extends BaseActivity {
}
@Override
public void onFailure(Call<CategoryResponseModel> call, Throwable t) {
public void onFailure(Call<ResponseArray<CategoryModel>> call, Throwable t) {
DialogHelper.showFailedDialog();
}
});

View File

@@ -3,11 +3,9 @@ package ch.pizzalink.android.api;
import java.util.ArrayList;
import java.util.HashMap;
import ch.pizzalink.android.model.CategoryModel;
import ch.pizzalink.android.model.OrderModel;
import ch.pizzalink.android.model.responseModel.BaseResponseModel;
import ch.pizzalink.android.model.responseModel.CategoryResponseModel;
import ch.pizzalink.android.model.responseModel.LoginCustomerResponseModel;
import ch.pizzalink.android.model.responseModel.OrderHistoryResponseModel;
import ch.pizzalink.android.model.UserModel;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
@@ -23,11 +21,11 @@ import retrofit2.http.Query;
public interface ApiInterface {
@GET(ApiEndPoints.API_GET_ALL_CATEGORIES)
Call<CategoryResponseModel> getAllCategories();
Call<ResponseArray<CategoryModel>> getAllCategories();
@FormUrlEncoded
@POST(ApiEndPoints.API_REGISTER)
Call<LoginCustomerResponseModel> register(@Field("firstname") String firstname,
Call<ResponseObject<UserModel>> register(@Field("firstname") String firstname,
@Field("lastname") String lastname,
@Field("telephone") String telephone,
@Field("email") String email,
@@ -42,14 +40,39 @@ public interface ApiInterface {
@FormUrlEncoded
@POST(ApiEndPoints.API_LOGIN)
Call<LoginCustomerResponseModel> login(@Field("email") String email, @Field("password") String password);
Call<ResponseObject<UserModel>> login(@Field("email") String email, @Field("password") String password);
@FormUrlEncoded
@POST(ApiEndPoints.API_LOGOUT)
Call<BaseResponseModel> logout(@Field("token") String customerToken);
Call<ResponseObject> logout(@Field("token") String customerToken);
@GET(ApiEndPoints.API_GET_ORDER_HISTORY)
Call<OrderHistoryResponseModel> getOrderHistory(@Query("token") String token);
Call<ResponseArray<OrderModel>> getOrderHistory(@Query("token") String token);
/*

View File

@@ -0,0 +1,30 @@
package ch.pizzalink.android.api;
import com.google.gson.annotations.SerializedName;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* Created by cimenmus on 05/10/2017.
*/
public class ResponseArray<T> implements Serializable {
@SerializedName("success") private boolean success;
@SerializedName("message") private String message;
@SerializedName("data") private ArrayList<T> data;
public boolean isSuccess() {
return success;
}
public String getMessage() {
return message;
}
public ArrayList<T> getData() {
return data;
}
}

View File

@@ -0,0 +1,28 @@
package ch.pizzalink.android.api;
import com.google.gson.annotations.SerializedName;
import java.io.Serializable;
/**
* Created by cimenmus on 05/10/2017.
*/
public class ResponseObject<T> implements Serializable {
@SerializedName("success") private boolean success;
@SerializedName("message") private String message;
@SerializedName("data") private T data;
public boolean isSuccess() {
return success;
}
public String getMessage() {
return message;
}
public T getData() {
return data;
}
}

View File

@@ -20,11 +20,11 @@ import ch.pizzalink.android.activity.BaseActivity;
import ch.pizzalink.android.adapter.recycler.OrderHistoryRecyclerAdapter;
import ch.pizzalink.android.api.ApiErrorUtils;
import ch.pizzalink.android.api.ApiService;
import ch.pizzalink.android.api.ResponseArray;
import ch.pizzalink.android.helper.DialogHelper;
import ch.pizzalink.android.helper.SessionHelper;
import ch.pizzalink.android.interfaces.RecyclerItemClickListener;
import ch.pizzalink.android.model.OrderModel;
import ch.pizzalink.android.model.responseModel.OrderHistoryResponseModel;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@@ -82,6 +82,7 @@ public class HistoryFragment extends BaseFragment {
}
// "cP1sbSmwc6GEE7fCy6du7KqRbkR7bY1q"
/*
private void getOrderHistory(){
DialogHelper.showLoadingDialog();
HashMap<String, Object> params = new HashMap<>();
@@ -107,6 +108,31 @@ public class HistoryFragment extends BaseFragment {
}
});
}
*/
private void getOrderHistory(){
DialogHelper.showLoadingDialog();
Call<ResponseArray<OrderModel>> call = ApiService.apiInterface.
getOrderHistory(SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseArray<OrderModel>>() {
@Override
public void onResponse(Call<ResponseArray<OrderModel>> call, Response<ResponseArray<OrderModel>> response) {
DialogHelper.hideLoadingDialog();
if(response.isSuccessful() &&
response.body().getData() != null &&
response.body().isSuccess())
fillAndNotifyOrderHistoryList(response.body().getData());
else
ApiErrorUtils.parseError(response);
}
@Override
public void onFailure(Call<ResponseArray<OrderModel>> call, Throwable t) {
DialogHelper.hideLoadingDialog();
DialogHelper.showFailedDialog();
}
});
}
private void fillAndNotifyOrderHistoryList(ArrayList<OrderModel> orderList){
if(orderList == null)

View File

@@ -16,10 +16,10 @@ import ch.pizzalink.android.activity.BaseActivity;
import ch.pizzalink.android.activity.LoginActivity;
import ch.pizzalink.android.api.ApiErrorUtils;
import ch.pizzalink.android.api.ApiService;
import ch.pizzalink.android.api.ResponseObject;
import ch.pizzalink.android.helper.DialogHelper;
import ch.pizzalink.android.helper.SessionHelper;
import ch.pizzalink.android.helper.SharedPrefsHelper;
import ch.pizzalink.android.model.responseModel.BaseResponseModel;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@@ -67,21 +67,19 @@ public class ProfileFragment extends BaseFragment {
private void logOutOnWeb(){
DialogHelper.showLoadingDialog();
Call<BaseResponseModel> call = ApiService.apiInterface.logout(SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<BaseResponseModel>() {
Call<ResponseObject> call = ApiService.apiInterface.logout(SessionHelper.getCustomerToken().getToken());
call.enqueue(new Callback<ResponseObject>() {
@Override
public void onResponse(Call<BaseResponseModel> call, Response<BaseResponseModel> response) {
public void onResponse(Call<ResponseObject> call, Response<ResponseObject> response) {
DialogHelper.hideLoadingDialog();
if(response.isSuccessful() &&
response.body() != null &&
response.body().isSuccess())
if(response.isSuccessful() && response.body().isSuccess())
logoutLocally();
else
ApiErrorUtils.parseError(response);
}
@Override
public void onFailure(Call<BaseResponseModel> call, Throwable t) {
public void onFailure(Call<ResponseObject> call, Throwable t) {
DialogHelper.hideLoadingDialog();
DialogHelper.showFailedDialog();
}

View File

@@ -1,36 +0,0 @@
package ch.pizzalink.android.model.responseModel;
/**
* Created by cimenmus on 26/09/2017.
*/
public class BaseResponseModel {
private boolean success;
private String message;
private int error_code;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public int getError_code() {
return error_code;
}
public void setError_code(int error_code) {
this.error_code = error_code;
}
}

View File

@@ -1,22 +0,0 @@
package ch.pizzalink.android.model.responseModel;
import java.util.ArrayList;
import ch.pizzalink.android.model.CategoryModel;
/**
* Created by cimenmus on 26/09/2017.
*/
public class CategoryResponseModel extends BaseResponseModel {
private ArrayList<CategoryModel> data;
public ArrayList<CategoryModel> getData() {
return data;
}
public void setData(ArrayList<CategoryModel> data) {
this.data = data;
}
}

View File

@@ -1,20 +0,0 @@
package ch.pizzalink.android.model.responseModel;
import ch.pizzalink.android.model.UserModel;
/**
* Created by cimenmus on 26/09/2017.
*/
public class LoginCustomerResponseModel extends BaseResponseModel {
private UserModel data;
public UserModel getData() {
return data;
}
public void setData(UserModel data) {
this.data = data;
}
}

View File

@@ -1,22 +0,0 @@
package ch.pizzalink.android.model.responseModel;
import java.util.ArrayList;
import ch.pizzalink.android.model.OrderModel;
/**
* Created by cimenmus on 04/10/2017.
*/
public class OrderHistoryResponseModel extends BaseResponseModel{
private ArrayList<OrderModel> data;
public ArrayList<OrderModel> getData() {
return data;
}
public void setData(ArrayList<OrderModel> data) {
this.data = data;
}
}