|
|
@@ -14,6 +14,7 @@ import android.view.animation.Animation;
|
|
|
import android.view.animation.AnimationUtils;
|
|
|
import android.widget.RelativeLayout;
|
|
|
import android.widget.TextView;
|
|
|
+import android.widget.Toast;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
@@ -22,6 +23,7 @@ import com.android.volley.Response;
|
|
|
import com.android.volley.VolleyError;
|
|
|
import com.common.LogUtil;
|
|
|
import com.common.data.JSONUtil;
|
|
|
+import com.common.data.StringUtil;
|
|
|
import com.common.file.FileUtils;
|
|
|
import com.common.hmac.Md5Util;
|
|
|
import com.common.preferences.PreferenceUtils;
|
|
|
@@ -34,12 +36,14 @@ import com.core.dao.UserDao;
|
|
|
import com.core.model.ConfigBean;
|
|
|
import com.core.model.LoginRegisterResult;
|
|
|
import com.core.model.User;
|
|
|
+import com.core.net.http.ViewUtil;
|
|
|
import com.core.net.volley.ObjectResult;
|
|
|
import com.core.net.volley.Result;
|
|
|
import com.core.net.volley.StringJsonObjectRequest;
|
|
|
import com.core.utils.CommonUtil;
|
|
|
import com.core.utils.StatusBarUtil;
|
|
|
import com.core.utils.TimeUtils;
|
|
|
+import com.core.utils.ToastUtil;
|
|
|
import com.core.utils.helper.LoginHelper;
|
|
|
import com.core.utils.sp.UserSp;
|
|
|
import com.me.network.app.base.HttpCallback;
|
|
|
@@ -73,12 +77,16 @@ import pl.droidsonroids.gif.GifImageView;
|
|
|
public class SplashActivity extends BaseActivity {
|
|
|
private final int TIMER_SPLASH_COUNDOWN = 0x11;
|
|
|
|
|
|
+ private final int AUTO_LOGIN_SUCCESS = 0x12;
|
|
|
+ private final int AUTO_LOGIN_FAIL = 0x13;
|
|
|
+
|
|
|
private RelativeLayout mSelectLv;
|
|
|
private GifImageView mGifImageView;
|
|
|
private TextView mSkipTextView;
|
|
|
|
|
|
private final String IS_FIRST = "IS_FIRST";
|
|
|
boolean isJumpable = false, isCountDown = false;
|
|
|
+ private int mLoginState = AUTO_LOGIN_SUCCESS;
|
|
|
|
|
|
private boolean mConfigReady = false;// 配置获取成功
|
|
|
private GifDrawable mGifDrawable;
|
|
|
@@ -145,6 +153,7 @@ public class SplashActivity extends BaseActivity {
|
|
|
mSelectLv = (RelativeLayout) findViewById(R.id.select_lv);
|
|
|
mSelectLv.setVisibility(View.INVISIBLE);
|
|
|
initConfig();// 初始化配置
|
|
|
+ autoLogin();//自动登录
|
|
|
updateAccountToken();//更新账户中心token
|
|
|
requestSplash();
|
|
|
|
|
|
@@ -160,12 +169,71 @@ public class SplashActivity extends BaseActivity {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 自动登录
|
|
|
+ */
|
|
|
+ private void autoLogin() {
|
|
|
+ String role = CommonUtil.getUserRole();
|
|
|
+ String user_phone = CommonUtil.getSharedPreferences(this, "user_phone");
|
|
|
+ String password = PreferenceUtils.getString(this, "PASS_WORDS");
|
|
|
+ String erp_master = com.xzjmyk.pm.activity.util.oa.CommonUtil.getSharedPreferences(ct, "erp_master");
|
|
|
+
|
|
|
+ if (StringUtil.hasOneEmpty(user_phone, password, CommonUtil.getAppBaseUrl(this))) {
|
|
|
+ mLoginState = AUTO_LOGIN_FAIL;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (role.equals("2")) {//Erp用户
|
|
|
+ HttpRequest.getInstance().sendRequest(CommonUtil.getAppBaseUrl(this),
|
|
|
+ new HttpParams.Builder()
|
|
|
+ .url("mobile/login.action")
|
|
|
+ .addParam("username", user_phone)
|
|
|
+ .addParam("password", password)
|
|
|
+ .addParam("master", erp_master)
|
|
|
+ .connectTimeOut(3)
|
|
|
+ .readTimeOut(3)
|
|
|
+ .method(Method.POST)
|
|
|
+ .build(), new HttpCallback() {
|
|
|
+ @Override
|
|
|
+ public void onSuccess(int flag, Object o) throws Exception {
|
|
|
+ try {
|
|
|
+ String result = o.toString();
|
|
|
+ JSONObject resultObject = JSON.parseObject(result);
|
|
|
+ boolean success = JSONUtil.getBoolean(resultObject, "success");
|
|
|
+ if (success) {
|
|
|
+ mLoginState = AUTO_LOGIN_SUCCESS;
|
|
|
+ } else {
|
|
|
+ mLoginState = AUTO_LOGIN_FAIL;
|
|
|
+ ViewUtil.clearAccount(MyApplication.getInstance());
|
|
|
+ String reason = JSONUtil.getText(resultObject, "reason");
|
|
|
+ if (!TextUtils.isEmpty(reason)) {
|
|
|
+ Toast.makeText(MyApplication.getInstance(), reason, Toast.LENGTH_LONG).show();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ mLoginState = AUTO_LOGIN_SUCCESS;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onFail(int flag, String failStr) throws Exception {
|
|
|
+ Toast.makeText(MyApplication.getInstance(), failStr, Toast.LENGTH_LONG).show();
|
|
|
+ mLoginState = AUTO_LOGIN_FAIL;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void showSplash() {
|
|
|
try {
|
|
|
List<String> pictures = FileUtils.getPictures(Constants.SPLASH_FILE_PATH);
|
|
|
if (pictures != null && pictures.size() > 0) {
|
|
|
isCountDown = false;
|
|
|
- mSkipTextView.setVisibility(View.VISIBLE);
|
|
|
+ new Handler().postDelayed(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ mSkipTextView.setVisibility(View.VISIBLE);
|
|
|
+ }
|
|
|
+ }, 1000);
|
|
|
mTimer = new Timer();
|
|
|
mTimer.schedule(new TimerTask() {
|
|
|
@Override
|
|
|
@@ -519,7 +587,7 @@ public class SplashActivity extends BaseActivity {
|
|
|
intent.setClass(this, ADActivity.class);
|
|
|
intent.putExtra("type", type);
|
|
|
} else {
|
|
|
- if (type == 1) {
|
|
|
+ if (type == 1 && mLoginState == AUTO_LOGIN_SUCCESS) {
|
|
|
intent.setClass(this, MainActivity.class);
|
|
|
} else {
|
|
|
intent.setClass(this, LoginActivity.class);
|