check update and login

This commit is contained in:
cimenmus
2017-10-22 13:49:09 +03:00
parent 5f32921d89
commit 4c8b5b9625
11 changed files with 180 additions and 23 deletions

View File

@@ -2,6 +2,8 @@ package ch.pizzalink.android.activity;
import android.annotation.TargetApi;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
@@ -11,9 +13,11 @@ import android.view.Window;
import android.view.WindowManager;
import java.util.ArrayList;
import java.util.HashMap;
import butterknife.ButterKnife;
import ch.pizzalink.android.R;
import ch.pizzalink.android.api.ApiConstants;
import ch.pizzalink.android.api.ApiErrorUtils;
import ch.pizzalink.android.api.ApiService;
import ch.pizzalink.android.api.ResponseArray;
@@ -23,6 +27,7 @@ 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.AppVersionModel;
import ch.pizzalink.android.model.CategoryModel;
import ch.pizzalink.android.model.cart.CartInfoModel;
import retrofit2.Call;
@@ -38,11 +43,54 @@ public class SplashActivity extends BaseActivity {
ButterKnife.bind(this);
//DisplayHelper.changeStatusColor();
if(NetworkHelper.isNetworkAvailable())
getCategoryList();
checkVersion();
else
DialogHelper.showNoNetworkDialog();
}
private void checkVersion(){
Call<ResponseObject<AppVersionModel>> call = ApiService.apiInterface.checkUpdate(getCheckUpdateParams());
call.enqueue(new Callback<ResponseObject<AppVersionModel>>() {
@Override
public void onResponse(Call<ResponseObject<AppVersionModel>> call, Response<ResponseObject<AppVersionModel>> response) {
if(response.isSuccessful()){
if(response.body().isSuccess()){
getCategoryList();
}
else{
DialogHelper.showUpdateAppDialog(SplashActivity.this);
}
}
else{
ApiErrorUtils.parseError(response);
}
}
@Override
public void onFailure(Call<ResponseObject<AppVersionModel>> call, Throwable t) {
DialogHelper.showFailedDialog();
}
});
}
private HashMap<String, Object> getCheckUpdateParams(){
HashMap<String, Object> params = new HashMap<>();
params.put("application", ApiConstants.APP_TYPE_ID_ANDROID);
params.put("version", getAppVersionCode());
return params;
}
private int getAppVersionCode(){
PackageInfo pInfo = null;
try {
pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return 0;
}
return pInfo.versionCode;
}
private void getCategoryList(){
Call<ResponseArray<CategoryModel>> call = ApiService.apiInterface.getAllCategories();
call.enqueue(new Callback<ResponseArray<CategoryModel>>() {
@@ -66,6 +114,7 @@ public class SplashActivity extends BaseActivity {
});
}
/*
private void checkCustomerToken(){
if(SessionHelper.isCustomerLoggedIn()){
@@ -77,6 +126,16 @@ public class SplashActivity extends BaseActivity {
else
openActivity(LoginActivity.class);
}
*/
private void checkCustomerToken(){
if(SessionHelper.isCustomerLoggedIn()){
getCartItemCount();
}
else{
openActivity(LoginActivity.class);
}
}
private void openActivity(final Class<?> cls){
Handler handler = new Handler();
@@ -130,6 +189,7 @@ public class SplashActivity extends BaseActivity {
}
else
//response.body().getErrorCode()
ApiErrorUtils.parseError(response);
}