@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (SharedPrefsUtil.get.hasLaunchedPrior() && SharedPrefsUtil.get.isPhoneNumberVerified()) { if (ParseUser.getCurrentUser() != null) { startActivity(new Intent(SplashActivity.this, MainActivity.class)); finish(); } else { Intent loginIntent = new Intent(this, SignupActivity.class); startActivity(loginIntent); finish(); } } else if (SharedPrefsUtil.get.hasLaunchedPrior() && !SharedPrefsUtil.get.isPhoneNumberVerified()) { if (ParseUser.getCurrentUser() != null) { startActivity(new Intent(SplashActivity.this, SMSVerificationActivity.class)); finish(); } else { Intent loginIntent = new Intent(this, SignupActivity.class); startActivity(loginIntent); finish(); } } else { setContentView(R.layout.activity_splash); updateStatusBar(getResources().getColor(R.color.main_color_dark)); TitanicTextView splashText = ButterKnife.findById(this, R.id.tv_splash); splashText.setTypeface(TypefaceUtil.BRANNBOLL_BOLD); final Animation in = new AlphaAnimation(0.0f, 1.0f); in.setDuration(2000); mediaPlayer = MediaPlayer.create(this, R.raw.wine_pour); Titanic titanic = new Titanic(); titanic.setAnimatorListener( new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { new Handler() .postDelayed( new Runnable() { @Override public void run() { mediaPlayer.start(); } }, 1000); } @Override public void onAnimationEnd(Animator animation) {} @Override public void onAnimationCancel(Animator animation) {} @Override public void onAnimationRepeat(Animator animation) {} }); splashText.startAnimation(in); titanic.start(splashText); new Handler() .postDelayed( new Runnable() { @Override public void run() { if (isActivityOnScreen) { if (ParseUser.getCurrentUser() == null) { if (!SharedPrefsUtil.get.hasLaunchedPrior()) { startActivity(new Intent(SplashActivity.this, WelcomeActivity.class)); SharedPrefsUtil.get.setAppLaunched(); } else { startActivity(new Intent(SplashActivity.this, SignupActivity.class)); } } else { startActivity(new Intent(SplashActivity.this, MainActivity.class)); } finish(); } } }, SPLASH_DELAY); } }