package com.novoda.bonfire.login; import android.content.Intent; import android.os.Bundle; import android.support.v7.widget.Toolbar; import com.novoda.bonfire.BaseActivity; import com.novoda.bonfire.Dependencies; import com.novoda.bonfire.R; import com.novoda.bonfire.login.displayer.LoginDisplayer; import com.novoda.bonfire.login.presenter.LoginPresenter; import com.novoda.bonfire.navigation.AndroidLoginNavigator; import com.novoda.bonfire.navigation.AndroidNavigator; public class LoginActivity extends BaseActivity { private static final int RC_SIGN_IN = 42; private LoginPresenter presenter; private AndroidLoginNavigator navigator; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); setSupportActionBar((Toolbar) findViewById(R.id.toolbar)); LoginDisplayer loginDisplayer = (LoginDisplayer) findViewById(R.id.login_view); LoginGoogleApiClient loginGoogleApiClient = new LoginGoogleApiClient(this); loginGoogleApiClient.setupGoogleApiClient(); navigator = new AndroidLoginNavigator(this, loginGoogleApiClient, new AndroidNavigator(this)); presenter = new LoginPresenter(Dependencies.INSTANCE.getLoginService(), loginDisplayer, navigator, Dependencies.INSTANCE.getErrorLogger(), Dependencies.INSTANCE.getAnalytics()); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (!navigator.onActivityResult(requestCode, resultCode, data)) { super.onActivityResult(requestCode, resultCode, data); } } @Override protected void onStart() { super.onStart(); presenter.startPresenting(); } @Override protected void onStop() { super.onStop(); presenter.stopPresenting(); } }