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