diff --git a/app/build.gradle b/app/build.gradle index 6524179..5e910b8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -57,6 +57,8 @@ dependencies { // Retrofit implementation "com.squareup.retrofit2:retrofit:$rootProject.retrofit_version" implementation "com.squareup.retrofit2:converter-gson:$rootProject.retrofit_version" + implementation "com.squareup.moshi:moshi:1.11.0" + implementation "com.squareup.retrofit2:converter-moshi:2.4.0" implementation "com.squareup.okhttp3:logging-interceptor:$rootProject.okhttp_version" // RxAndroid diff --git a/app/src/main/java/com/tip/lunchbox/data/server/ApiManager.java b/app/src/main/java/com/tip/lunchbox/data/server/ApiManager.java index 04d5948..0308e87 100644 --- a/app/src/main/java/com/tip/lunchbox/data/server/ApiManager.java +++ b/app/src/main/java/com/tip/lunchbox/data/server/ApiManager.java @@ -1,14 +1,10 @@ package com.tip.lunchbox.data.server; -import com.google.gson.FieldNamingPolicy; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory; -import retrofit2.converter.gson.GsonConverterFactory; +import retrofit2.converter.moshi.MoshiConverterFactory; public class ApiManager { @@ -22,7 +18,7 @@ private static Retrofit getRetrofitClient() { .baseUrl(BASE_URL) .client(getOkHttpClient()) .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) - .addConverterFactory(getGson()).build(); + .addConverterFactory(MoshiConverterFactory.create()).build(); } return retrofit; } @@ -39,13 +35,6 @@ private static OkHttpClient getOkHttpClient() { .build(); } - private static GsonConverterFactory getGson() { - Gson gson = new GsonBuilder() - .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) - .create(); - return GsonConverterFactory.create(gson); - } - public static ApiService getApiService() { if (apiService == null) { apiService = getRetrofitClient().create(ApiService.class); diff --git a/app/src/main/java/com/tip/lunchbox/data/zomato/ZomatoApiManager.java b/app/src/main/java/com/tip/lunchbox/data/zomato/ZomatoApiManager.java index 176fa8c..a521b21 100644 --- a/app/src/main/java/com/tip/lunchbox/data/zomato/ZomatoApiManager.java +++ b/app/src/main/java/com/tip/lunchbox/data/zomato/ZomatoApiManager.java @@ -1,5 +1,7 @@ package com.tip.lunchbox.data.zomato; +import java.util.concurrent.TimeUnit; + import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; @@ -27,11 +29,11 @@ private static Retrofit getRetrofitClient() { private static OkHttpClient getOkHttpClient() { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); - return new OkHttpClient() .newBuilder() .addInterceptor(new ZomatoApiInterceptor()) .addInterceptor(logging) + .readTimeout(5, TimeUnit.SECONDS) .build(); } diff --git a/app/src/main/java/com/tip/lunchbox/model/server/request/Comment.java b/app/src/main/java/com/tip/lunchbox/model/server/request/Comment.java index 0ae6cc1..9153ec0 100644 --- a/app/src/main/java/com/tip/lunchbox/model/server/request/Comment.java +++ b/app/src/main/java/com/tip/lunchbox/model/server/request/Comment.java @@ -8,12 +8,12 @@ public class Comment { @Expose private int rating; @Expose - private int zomatoResId; + private int zomato_res_id; - public Comment(String comment, int rating, String zomatoResId) { + public Comment(String comment, int rating, String zomato_res_id) { this.comment = comment; this.rating = rating; - this.zomatoResId = Integer.parseInt(zomatoResId); + this.zomato_res_id = Integer.parseInt(zomato_res_id); } public String getComment() { @@ -27,7 +27,7 @@ public int getRating() { public String getZomatoResId() { - return "" + zomatoResId; + return "" + zomato_res_id; } } diff --git a/app/src/main/java/com/tip/lunchbox/model/server/request/FavouriteRestaurants.java b/app/src/main/java/com/tip/lunchbox/model/server/request/FavouriteRestaurants.java index d3b8ff2..e8cbe93 100644 --- a/app/src/main/java/com/tip/lunchbox/model/server/request/FavouriteRestaurants.java +++ b/app/src/main/java/com/tip/lunchbox/model/server/request/FavouriteRestaurants.java @@ -1,16 +1,14 @@ package com.tip.lunchbox.model.server.request; -import com.google.gson.annotations.Expose; - public class FavouriteRestaurants { - @Expose - private int zomatoResId; + + private int zomato_res_id; public String getZomatoResId() { - return "" + zomatoResId; + return "" + zomato_res_id; } - public void setZomatoResId(int zomatoResId) { - this.zomatoResId = zomatoResId; + public void setZomatoResId(int zomato_res_id) { + this.zomato_res_id = zomato_res_id; } } diff --git a/app/src/main/java/com/tip/lunchbox/model/server/request/Login.java b/app/src/main/java/com/tip/lunchbox/model/server/request/Login.java index 90e1351..d2e81b1 100644 --- a/app/src/main/java/com/tip/lunchbox/model/server/request/Login.java +++ b/app/src/main/java/com/tip/lunchbox/model/server/request/Login.java @@ -1,11 +1,9 @@ package com.tip.lunchbox.model.server.request; -import com.google.gson.annotations.Expose; - +// Required for Moshi +@SuppressWarnings("unused") public class Login { - @Expose private String username; - @Expose private String password; public Login(String username, String password) { diff --git a/app/src/main/java/com/tip/lunchbox/model/server/request/SignUp.java b/app/src/main/java/com/tip/lunchbox/model/server/request/SignUp.java index a701213..8d0032f 100644 --- a/app/src/main/java/com/tip/lunchbox/model/server/request/SignUp.java +++ b/app/src/main/java/com/tip/lunchbox/model/server/request/SignUp.java @@ -1,6 +1,5 @@ package com.tip.lunchbox.model.server.request; -import com.google.gson.annotations.Expose; /** * This class represents a request made to the SignUp endpoint of the api @@ -8,12 +7,11 @@ * password represents password of the user * phone represents phone number of the user. **/ +// Required for Moshi +@SuppressWarnings("unused") public class SignUp { - @Expose private String username; - @Expose private String password; - @Expose private long phone; public SignUp(String username, String password, long phone) { diff --git a/app/src/main/java/com/tip/lunchbox/model/server/response/CommentsResponse.java b/app/src/main/java/com/tip/lunchbox/model/server/response/CommentsResponse.java index af45a17..6acad14 100644 --- a/app/src/main/java/com/tip/lunchbox/model/server/response/CommentsResponse.java +++ b/app/src/main/java/com/tip/lunchbox/model/server/response/CommentsResponse.java @@ -1,19 +1,16 @@ package com.tip.lunchbox.model.server.response; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; +import com.squareup.moshi.Json; +// Required for Moshi +@SuppressWarnings("unused") public class CommentsResponse { - @SerializedName("_id") - @Expose + @Json(name = "_id") private String id; - @Expose private Integer rating; - @Expose private String comment; - @Expose - private int zomatoResId; - @SerializedName("user_name") + private int zomato_res_id; + @Json(name = "user_name") private String author; public String getId() { @@ -29,7 +26,7 @@ public String getComment() { } public int getZomatoResId() { - return zomatoResId; + return zomato_res_id; } public String getAuthor() { diff --git a/app/src/main/java/com/tip/lunchbox/model/server/response/CommentsResponseContainer.java b/app/src/main/java/com/tip/lunchbox/model/server/response/CommentsResponseContainer.java index 04007f0..13fc993 100644 --- a/app/src/main/java/com/tip/lunchbox/model/server/response/CommentsResponseContainer.java +++ b/app/src/main/java/com/tip/lunchbox/model/server/response/CommentsResponseContainer.java @@ -2,8 +2,10 @@ import java.util.List; +// Required for Moshi +@SuppressWarnings("unused") public class CommentsResponseContainer { - List comments; + private List comments; public List getComments() { return comments; diff --git a/app/src/main/java/com/tip/lunchbox/model/server/response/FavouriteRestaurantsResponse.java b/app/src/main/java/com/tip/lunchbox/model/server/response/FavouriteRestaurantsResponse.java index 856b254..73418e7 100644 --- a/app/src/main/java/com/tip/lunchbox/model/server/response/FavouriteRestaurantsResponse.java +++ b/app/src/main/java/com/tip/lunchbox/model/server/response/FavouriteRestaurantsResponse.java @@ -1,9 +1,8 @@ package com.tip.lunchbox.model.server.response; -import com.google.gson.annotations.Expose; - +// Required for Moshi +@SuppressWarnings("unused") public class FavouriteRestaurantsResponse { - @Expose private Integer[] result; public Integer[] getResult() { diff --git a/app/src/main/java/com/tip/lunchbox/model/server/response/RefreshResponse.java b/app/src/main/java/com/tip/lunchbox/model/server/response/RefreshResponse.java index 84d8b1e..cf31082 100644 --- a/app/src/main/java/com/tip/lunchbox/model/server/response/RefreshResponse.java +++ b/app/src/main/java/com/tip/lunchbox/model/server/response/RefreshResponse.java @@ -1,9 +1,11 @@ package com.tip.lunchbox.model.server.response; +// Required for Moshi +@SuppressWarnings("unused") public class RefreshResponse { - String authToken; + String auth_token; public String getAuthToken() { - return authToken; + return auth_token; } } diff --git a/app/src/main/java/com/tip/lunchbox/model/server/response/Tokens.java b/app/src/main/java/com/tip/lunchbox/model/server/response/Tokens.java index e75de51..0b7157d 100644 --- a/app/src/main/java/com/tip/lunchbox/model/server/response/Tokens.java +++ b/app/src/main/java/com/tip/lunchbox/model/server/response/Tokens.java @@ -1,19 +1,17 @@ package com.tip.lunchbox.model.server.response; -import com.google.gson.annotations.Expose; - +// Required for Moshi +@SuppressWarnings("unused") //Response for both signup and login endpoints public class Tokens { - @Expose - private String authToken; - @Expose - private String refreshToken; + private String auth_token; + private String refresh_token; public String getAuthToken() { - return authToken; + return auth_token; } public String getRefreshToken() { - return refreshToken; + return refresh_token; } }