package jp.gr.procon.proconapp.ui.activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.text.TextUtils; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.google.android.gms.gcm.GoogleCloudMessaging; import com.microsoft.windowsazure.messaging.NotificationHub; import jp.gr.procon.proconapp.R; import jp.gr.procon.proconapp.ui.fragment.NoticeSettingFragment; import jp.gr.procon.proconapp.ui.fragment.RegisterUserFragment; import jp.gr.procon.proconapp.ui.fragment.WelcomeFragment; import jp.gr.procon.proconapp.util.AppSharedPreference; import timber.log.Timber; public class EnterActivity extends BaseActivity implements View.OnClickListener , WelcomeFragment.OnClickEnterButtonListener , NoticeSettingFragment.OnCompleteNoticeSettingListener , RegisterUserFragment.OnCompleteRegisterUserListener { private boolean mClickedEnterButton; private String mUserToken; public static Intent createIntent(Context context) { return new Intent(context, EnterActivity.class); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_enter); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); mUserToken = getUserToken(); if (savedInstanceState == null) { getSupportFragmentManager() .beginTransaction() .add(R.id.container, WelcomeFragment.newInstance()) .add(R.id.container, RegisterUserFragment.newInstance()) .commit(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { return true; } @Override public void onClick(View v) { Intent intent = MainActivity.createIntent(this); startActivity(intent); finish(); } @Override public void onClickEnterButton() { mClickedEnterButton = true; if (mClickedEnterButton && !TextUtils.isEmpty(mUserToken)) { replaceWithNotificationSetting(); } } @Override public void onCompleteNoticeSetting() { // TODO booleanで保存できるようにする // 初回起動か判定するために文字列保存 AppSharedPreference.putString(this, AppSharedPreference.PREFERENCE_IS_FIRST_LAUNCH, "something"); Intent intent = MainActivity.createIntent(this); startActivity(intent); finish(); } @Override public void onCancelNoticeSetting() { } @Override public void onCompleteRegisterUser(String token) { Timber.d("onCompleteRegisterUser: " + token); mUserToken = token; if (mClickedEnterButton && !TextUtils.isEmpty(mUserToken)) { replaceWithNotificationSetting(); } } private void replaceWithNotificationSetting() { setTitle(R.string.title_setting_notice); getSupportFragmentManager() .beginTransaction() .replace(R.id.container, NoticeSettingFragment.newInstance(false, true)) .commit(); } }