package com.quickblox.sample.pushnotifications.activities; import android.os.Bundle; import android.view.View; import com.quickblox.auth.session.QBSessionManager; import com.quickblox.core.QBEntityCallback; import com.quickblox.core.exception.QBResponseException; import com.quickblox.sample.core.ui.activity.CoreSplashActivity; import com.quickblox.sample.core.utils.configs.CoreConfigUtils; import com.quickblox.sample.core.utils.constant.GcmConsts; import com.quickblox.sample.pushnotifications.R; import com.quickblox.sample.pushnotifications.utils.Consts; import com.quickblox.users.QBUsers; import com.quickblox.users.model.QBUser; public class SplashActivity extends CoreSplashActivity { private String message; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle extras = getIntent().getExtras(); if (extras != null) { message = getIntent().getExtras().getString(GcmConsts.EXTRA_GCM_MESSAGE); } if (checkConfigsWithSnackebarError()){ signInQB(); } } private void signInQB() { if (!checkSignIn()) { QBUser qbUser = CoreConfigUtils.getUserFromConfig(Consts.SAMPLE_CONFIG_FILE_NAME); QBUsers.signIn(qbUser).performAsync(new QBEntityCallback<QBUser>() { @Override public void onSuccess(QBUser qbUser, Bundle bundle) { proceedToTheNextActivity(); } @Override public void onError(QBResponseException e) { showSnackbarError(null, R.string.splash_create_session_error, e, new View.OnClickListener() { @Override public void onClick(View v) { signInQB(); } }); } }); } else { proceedToTheNextActivityWithDelay(); } } @Override protected String getAppName() { return getString(R.string.app_title); } @Override protected void proceedToTheNextActivity() { MessagesActivity.start(this, message); finish(); } @Override protected boolean sampleConfigIsCorrect() { boolean result = super.sampleConfigIsCorrect(); result = result && CoreConfigUtils.getUserFromConfig(Consts.SAMPLE_CONFIG_FILE_NAME) != null; return result; } }