package com.androsz.electricsleepbeta.app; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.view.View; import android.view.View.OnClickListener; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.view.Menu; import com.androsz.electricsleepbeta.R; import com.androsz.electricsleepbeta.app.wizard.WelcomeTutorialWizardActivity; public class ZeoSplashActivity extends HostActivity { @Override protected int getContentAreaLayoutId() { return R.layout.activity_returning_zeo_splash; } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putBoolean("keepMe", true); } @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); final ActionBar bar = getSupportActionBar(); bar.setDisplayHomeAsUpEnabled(false); findViewById(R.id.button_get_started).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { finishAndStartHome(); } }); if (savedInstanceState != null && savedInstanceState.getBoolean("keepMe")) { return; } PreferenceManager.setDefaultValues(ZeoSplashActivity.this, R.xml.settings, false); final SharedPreferences userPrefs = getSharedPreferences( SettingsActivity.PREFERENCES_ENVIRONMENT, Context.MODE_PRIVATE); final int prefsVersion = userPrefs.getInt( SettingsActivity.PREFERENCES_ENVIRONMENT, 0); final int currentPrefsVersion = getResources().getInteger( R.integer.prefs_version); if (prefsVersion >= currentPrefsVersion) { // the user isn't new or returning. skip straight to the home // screen. finishAndStartHome(); } else if (prefsVersion == 0) { // the user is new, direct them to the start tutorial finishAndStartTutorial(true); } else { // the user has just upgraded from a previous version, show the // change log userPrefs .edit() .remove(SettingsActivity.PREFERENCES_KEY_DONT_SHOW_ZEO) .putInt(SettingsActivity.PREFERENCES_ENVIRONMENT, getResources().getInteger(R.integer.prefs_version)) .commit(); } } public void finishAndStartTutorial(boolean required) { finishAndStartHome(); startActivity(new Intent(ZeoSplashActivity.this, WelcomeTutorialWizardActivity.class).putExtra("required", required)); } @Override public boolean onCreateOptionsMenu(Menu menu) { return false; } public void finishAndStartHome() { startActivity(new Intent(this, HomeActivity.class)); finish(); } }