From d64098edf873013d4173b60a35ce3da3985fc695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?mustafa=20ic=CC=A7men?= Date: Sun, 7 Jun 2020 16:02:55 +0300 Subject: [PATCH] show welcome message --- .idea/caches/build_file_checksums.ser | Bin 542 -> 542 bytes .../android/activity/SplashActivity.java | 58 +++++++++++++++++- .../pizzacucina/android/api/ApiEndPoints.java | 1 + .../pizzacucina/android/api/ApiInterface.java | 4 ++ .../android/model/WelcomeMessageModel.java | 34 ++++++++++ 5 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/ch/pizzacucina/android/model/WelcomeMessageModel.java diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index fd6d7780d96c1b083760a9123078b9112748ea1d..b81ac27337959c6371401af7b6aa127449325dfa 100644 GIT binary patch delta 16 YcmbQoGLL1#bk?H2o0oQMoYTYz06g^vqyPW_ delta 16 YcmbQoGLL1#bk@QR7tSu-IH!pb06jnlqyPW_ diff --git a/app/src/main/java/ch/pizzacucina/android/activity/SplashActivity.java b/app/src/main/java/ch/pizzacucina/android/activity/SplashActivity.java index 4830d0d..a95f972 100644 --- a/app/src/main/java/ch/pizzacucina/android/activity/SplashActivity.java +++ b/app/src/main/java/ch/pizzacucina/android/activity/SplashActivity.java @@ -5,10 +5,12 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Handler; +import android.support.annotation.NonNull; import android.support.v4.view.ViewPager; import android.view.View; import android.widget.TextView; +import com.afollestad.materialdialogs.DialogAction; import com.afollestad.materialdialogs.MaterialDialog; import com.onesignal.OneSignal; @@ -38,6 +40,7 @@ import ch.pizzacucina.android.model.AppVersionModel; import ch.pizzacucina.android.model.CampaignBannerModel; import ch.pizzacucina.android.model.CategoryModel; import ch.pizzacucina.android.model.StoreModel; +import ch.pizzacucina.android.model.WelcomeMessageModel; import ch.pizzacucina.android.model.cart.CartInfoModel; import me.relex.circleindicator.CircleIndicator; import retrofit2.Call; @@ -195,7 +198,7 @@ public class SplashActivity extends BaseActivity { public void onResponse(Call> call, Response> response) { if(response.isSuccessful()){ if(response.body().isSuccess()){ - getCategoryList(); + getWelcomeMessage(); } else{ DialogHelper.hideLoadingDialog(); @@ -216,6 +219,59 @@ public class SplashActivity extends BaseActivity { }); } + private void getWelcomeMessage(){ + Call> call = ApiService.apiInterface.getWelcomeMessage( + SessionHelper.getSelectedStore().getStoreName()); + call.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + if(response.isSuccessful()){ + if(response.body().isSuccess()){ + if(response.body().getData().isShowDialog()){ + DialogHelper.hideLoadingDialog(); + showWelcomeDialog(response.body().getData()); + } + else { + getCategoryList(); + } + } + else{ + DialogHelper.hideLoadingDialog(); + DialogHelper.showUpdateAppDialog(SplashActivity.this); + } + } + else{ + DialogHelper.hideLoadingDialog(); + ApiErrorUtils.parseError(response); + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + DialogHelper.hideLoadingDialog(); + DialogHelper.showFailedDialog(); + } + }); + } + + private void showWelcomeDialog(final WelcomeMessageModel welcomeMessageModel){ + DialogHelper.showOneButtonDialogWithCallback( + welcomeMessageModel.getMessage(), + new MaterialDialog.SingleButtonCallback() { + @Override + public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { + if(welcomeMessageModel.isClosable()){ + DialogHelper.showLoadingDialog(); + getCategoryList(); + } + else { + finishAffinity(); + } + } + }, + false); + } + private HashMap getCheckUpdateParams(){ HashMap params = new HashMap<>(); params.put("application", ApiConstants.APP_TYPE_ID_ANDROID); diff --git a/app/src/main/java/ch/pizzacucina/android/api/ApiEndPoints.java b/app/src/main/java/ch/pizzacucina/android/api/ApiEndPoints.java index 261f9b2..9b436f2 100644 --- a/app/src/main/java/ch/pizzacucina/android/api/ApiEndPoints.java +++ b/app/src/main/java/ch/pizzacucina/android/api/ApiEndPoints.java @@ -22,6 +22,7 @@ public class ApiEndPoints { public static final String API_GET_CUSTOMER_ADDRESSES = PREFIX + "getAddresses" + SUFFIX; public static final String API_GET_PAYMENT_METHODS = PREFIX + "getPaymentMethods" + SUFFIX; public static final String API_CHECK_UPDATE = PREFIX + "checkUpdate" + SUFFIX; + public static final String API_GET_WELCOME_MESSAGE = PREFIX + "getWelcomeMessage" + SUFFIX; public static final String API_FORGOT_PASSWORD = PREFIX + "forgotPassword" + SUFFIX; public static final String API_GET_CITY_LIST = PREFIX + "getCities" + SUFFIX; public static final String API_GET_COUNTRY_LIST = PREFIX + "getCountries" + SUFFIX; diff --git a/app/src/main/java/ch/pizzacucina/android/api/ApiInterface.java b/app/src/main/java/ch/pizzacucina/android/api/ApiInterface.java index c26b863..a597455 100644 --- a/app/src/main/java/ch/pizzacucina/android/api/ApiInterface.java +++ b/app/src/main/java/ch/pizzacucina/android/api/ApiInterface.java @@ -19,6 +19,7 @@ import ch.pizzacucina.android.model.StoreInfoModel; import ch.pizzacucina.android.model.CityModel; import ch.pizzacucina.android.model.StoreModel; import ch.pizzacucina.android.model.StoreShiftModel; +import ch.pizzacucina.android.model.WelcomeMessageModel; import ch.pizzacucina.android.model.ZoneModel; import ch.pizzacucina.android.model.cart.CartInfoModel; import ch.pizzacucina.android.model.CategoryModel; @@ -148,6 +149,9 @@ public interface ApiInterface { Call> checkUpdate(@Path("storeName") String storeName, @FieldMap HashMap body); + @GET("{storeName}" + ApiEndPoints.API_GET_WELCOME_MESSAGE) + Call> getWelcomeMessage(@Path("storeName") String storeName); + @FormUrlEncoded @POST("{storeName}" + ApiEndPoints.API_FORGOT_PASSWORD) Call forgotPassword(@Path("storeName") String storeName, diff --git a/app/src/main/java/ch/pizzacucina/android/model/WelcomeMessageModel.java b/app/src/main/java/ch/pizzacucina/android/model/WelcomeMessageModel.java new file mode 100644 index 0000000..2501147 --- /dev/null +++ b/app/src/main/java/ch/pizzacucina/android/model/WelcomeMessageModel.java @@ -0,0 +1,34 @@ +package ch.pizzacucina.android.model; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +public class WelcomeMessageModel implements Serializable { + + @Expose + @SerializedName("show_dialog") private boolean showDialog; + + @Expose + @SerializedName("is_closable_dialog") private boolean isClosable; + + @Expose + @SerializedName("message") private String message; + + public boolean isShowDialog() { + return showDialog; + } + + public boolean isClosable() { + return isClosable; + } + + public String getMessage() { + if(message == null){ + message = ""; + } + return message; + } + +}