show welcome message

This commit is contained in:
2020-06-07 16:02:55 +03:00
parent c35a10d76b
commit d64098edf8
5 changed files with 96 additions and 1 deletions

Binary file not shown.

View File

@@ -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<ResponseObject<AppVersionModel>> call, Response<ResponseObject<AppVersionModel>> 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<ResponseObject<WelcomeMessageModel>> call = ApiService.apiInterface.getWelcomeMessage(
SessionHelper.getSelectedStore().getStoreName());
call.enqueue(new Callback<ResponseObject<WelcomeMessageModel>>() {
@Override
public void onResponse(Call<ResponseObject<WelcomeMessageModel>> call, Response<ResponseObject<WelcomeMessageModel>> 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<ResponseObject<WelcomeMessageModel>> 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<String, Object> getCheckUpdateParams(){
HashMap<String, Object> params = new HashMap<>();
params.put("application", ApiConstants.APP_TYPE_ID_ANDROID);

View File

@@ -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;

View File

@@ -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<ResponseObject<AppVersionModel>> checkUpdate(@Path("storeName") String storeName,
@FieldMap HashMap<String, Object> body);
@GET("{storeName}" + ApiEndPoints.API_GET_WELCOME_MESSAGE)
Call<ResponseObject<WelcomeMessageModel>> getWelcomeMessage(@Path("storeName") String storeName);
@FormUrlEncoded
@POST("{storeName}" + ApiEndPoints.API_FORGOT_PASSWORD)
Call<ResponseObject> forgotPassword(@Path("storeName") String storeName,

View File

@@ -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;
}
}