package edu.hebtu.movingcampus.activity.login;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.StrictMode;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.widget.Toast;
import edu.hebtu.movingcampus.AppInfo;
import edu.hebtu.movingcampus.R;
import edu.hebtu.movingcampus.activity.MainActivity;
import edu.hebtu.movingcampus.activity.base.BaseActivity;
import edu.hebtu.movingcampus.activity.wrapper.IPreference;
import edu.hebtu.movingcampus.config.Configs;
import edu.hebtu.movingcampus.config.Constants;
import edu.hebtu.movingcampus.entity.User;
import edu.hebtu.movingcampus.utils.LogUtil;
import edu.hebtu.movingcampus.utils.NetWorkHelper;
import edu.hebtu.movingcampus.utils.TimeUtil;
public class SplashActivity extends BaseActivity {
private String str1; // 用户名
private String str2; // 密码
private Handler mHandler = new Handler();
private TimeUtil timer;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
timer = new TimeUtil(this, Constants.REMEMBER_PASSWORD_TIME);
View view = View.inflate(this, R.layout.activity_preview, null);
setContentView(view);
Animation animation = AnimationUtils.loadAnimation(this, R.anim.alpha);
view.startAnimation(animation);
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation arg0) {
}
@Override
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationEnd(Animation arg0) {
LogUtil.i("msg", "动画结束了");
SharedPreferences localSharedPreferences = SplashActivity.this
.getSharedPreferences(Constants.PREFER_FILE, 0);
str1 = localSharedPreferences.getString(Constants.USERNAME, "");
str2 = localSharedPreferences.getString(Constants.PASSWORD, "");
// 没有记住密码或者第一次登录
if (str1 == null || str1.equals("") || str2 == null
|| str2.equals("")) {
try {
if (!NetWorkHelper
.isMobileDataEnable(SplashActivity.this)
&& !NetWorkHelper
.isWifiDataEnable(SplashActivity.this)) {
Toast.makeText(SplashActivity.this,
"您暂时没有可用的网络,请检查网络", 0).show();
openActivity(LoginActivity.class);
// startActivity(new
// Intent("android.settings.WIRELESS_SETTINGS"));
} else {
LogUtil.i("msg", "启动LoginActivity");
openActivity(LoginActivity.class);
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
// 或者记住密码超时
if ((System.currentTimeMillis() - timer.getUpdateTime()) > Configs.Remember_Password_Time)
try {
Intent i = new Intent(SplashActivity.this,
LoginActivity.class);
i.putExtra("remember_password_time_passed", true);
startActivity(i);
} catch (Exception e) {
e.printStackTrace();
}
else {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
goHome();
}
}, 2000);
}
}
try {
StrictMode
.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads().detectDiskWrites()
.detectNetwork().penaltyLog().build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects().penaltyLog()
.penaltyDeath().build());
} catch (Exception e) {
}
}
});
}
protected void onResume() {
super.onResume();
}
private void goHome() {
LogUtil.i("msg", "启动PreviewActivity");
/**
* 以下为改动代码
*/
User res = IPreference.getInstance(SplashActivity.this).getProfile();
// new UserDao(SplashActivity.this).mapperJson(str1, str2);
try {
if (res == null) {
LogUtil.i("msg", "返回值为空");
Toast localToast2 = Toast.makeText(SplashActivity.this,
"请重新输入用户名和密码", 0);
localToast2.setGravity(17, 0, 0);
localToast2.show();
// 跳转到登陆界面
openActivity(LoginActivity.class);
return;
}
} catch (Exception localException) {
Toast localToast1 = Toast.makeText(SplashActivity.this,
"用户名信息异常,请注意", 0);
localToast1.setGravity(17, 0, 0);
localToast1.show();
return;
}
if (res != null) {
LogUtil.i("msg", "返回值为正确");
AppInfo.setUser(res);
SharedPreferences.Editor localEditor = getSharedPreferences(
Constants.PREFER_FILE, 0).edit();
localEditor
.putString(LoginActivity.KEY, AppInfo.getUser().getJid());
localEditor.commit();
SplashActivity.this.startActivity(new Intent(SplashActivity.this,
MainActivity.class));
}
defaultFinish();
}
@Override
protected void bindButton() {
// TODO Auto-generated method stub
}
@Override
protected void onDestroy(){
LogUtil.w("save data:", "IPreferrence");
try {
IPreference.save(this);
} catch (Throwable e) {
e.printStackTrace();
}
super.onDestroy();
}
}