package com.lzx.lock.module.splash;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.content.Intent;
import android.os.Bundle;
import android.provider.Settings;
import android.widget.ImageView;
import com.lzx.lock.R;
import com.lzx.lock.module.lock.GestureSelfUnlockActivity;
import com.lzx.lock.base.BaseActivity;
import com.lzx.lock.base.AppConstants;
import com.lzx.lock.module.pwd.CreatePwdActivity;
import com.lzx.lock.service.LoadAppListService;
import com.lzx.lock.service.LockService;
import com.lzx.lock.utils.AppUtils;
import com.lzx.lock.utils.LockUtil;
import com.lzx.lock.utils.SpUtil;
import com.lzx.lock.utils.ToastUtil;
import com.lzx.lock.widget.DialogPermission;
/**
* Created by xian on 2017/2/17.
*/
public class SplashActivity extends BaseActivity {
private ImageView mImgSplash;
private ObjectAnimator animator;
private int RESULT_ACTION_USAGE_ACCESS_SETTINGS = 1;
private int RESULT_ACTION_MANAGE_OVERLAY_PERMISSION = 2;
@Override
public int getLayoutId() {
return R.layout.activity_splash;
}
@Override
protected void initViews(Bundle savedInstanceState) {
AppUtils.hideStatusBar(getWindow(), true);
mImgSplash = (ImageView) findViewById(R.id.img_splash);
}
@Override
protected void initData() {
startService(new Intent(this, LoadAppListService.class));
if (SpUtil.getInstance().getBoolean(AppConstants.LOCK_STATE, false)) {
startService(new Intent(this, LockService.class));
}
animator = ObjectAnimator.ofFloat(mImgSplash, "alpha", 0.5f, 1);
animator.setDuration(1500);
animator.start();
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
boolean isFirstLock = SpUtil.getInstance().getBoolean(AppConstants.LOCK_IS_FIRST_LOCK, true);
if (isFirstLock) { //如果第一次
showDialog();
} else {
Intent intent = new Intent(SplashActivity.this, GestureSelfUnlockActivity.class);
intent.putExtra(AppConstants.LOCK_PACKAGE_NAME, AppConstants.APP_PACKAGE_NAME); //传自己的包名
intent.putExtra(AppConstants.LOCK_FROM, AppConstants.LOCK_FROM_LOCK_MAIN_ACITVITY);
startActivity(intent);
finish();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
}
});
}
/**
* 弹出dialog
*/
private void showDialog() {
if (!LockUtil.isStatAccessPermissionSet(SplashActivity.this)) {
DialogPermission dialog = new DialogPermission(SplashActivity.this);
dialog.show();
dialog.setOnClickListener(new DialogPermission.onClickListener() {
@Override
public void onClick() {
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivityForResult(intent, RESULT_ACTION_USAGE_ACCESS_SETTINGS);
}
});
} else {
gotoCreatePwdActivity();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_ACTION_USAGE_ACCESS_SETTINGS) {
if (LockUtil.isStatAccessPermissionSet(SplashActivity.this)) {
gotoCreatePwdActivity();
} else {
ToastUtil.showToast("没有权限");
finish();
}
}
}
private void gotoCreatePwdActivity() {
Intent intent = new Intent(SplashActivity.this, CreatePwdActivity.class);
startActivity(intent);
finish();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
@Override
protected void initAction() {
}
@Override
protected void onDestroy() {
super.onDestroy();
animator = null;
}
}