package jp.gr.procon.proconapp.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import jp.gr.procon.proconapp.R;
import jp.gr.procon.proconapp.util.AppSharedPreference;
public class SplashActivity extends AppCompatActivity {
private static final int DELAY_TIME = 2000;
private Handler mHandler;
private Runnable mRunnable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
// 前回登録したGCMのregister idの情報を削除
// 本来なら起動時に前回との差分を見て異なった場合だけAPIサーバーへ登録する方が良い
// 今回はとりあえず起動ごとにAPIサーバーへ投げるようにするためにリセット
AppSharedPreference.putString(this, AppSharedPreference.PREFERENCE_GCM_REGISTER_ID, null);
}
@Override
protected void onResume() {
super.onResume();
if (mHandler == null) {
mHandler = new Handler();
}
boolean isFirstLaunch = TextUtils.isEmpty(AppSharedPreference.getString(this, AppSharedPreference.PREFERENCE_IS_FIRST_LAUNCH));
mRunnable = isFirstLaunch ? new FirstLaunchRunnable() : new HomeLaunchRunnable();
mHandler.postDelayed(mRunnable, DELAY_TIME);
}
@Override
protected void onPause() {
mHandler.removeCallbacks(mRunnable);
super.onPause();
}
private class HomeLaunchRunnable implements Runnable {
@Override
public void run() {
Intent intent = MainActivity.createIntent(getBaseContext());
startActivity(intent);
overridePendingTransition(R.anim.abc_fade_in, R.anim.abc_fade_out);
finish();
}
}
private class FirstLaunchRunnable implements Runnable {
@Override
public void run() {
Intent intent = EnterActivity.createIntent(getBaseContext());
startActivity(intent);
overridePendingTransition(R.anim.abc_fade_in, R.anim.abc_fade_out);
finish();
}
}
}