package views; import com.brink.main.R; import com.brink.main.api.ApiManager; import com.brink.main.api.FacebookLogin; import com.brink.main.contracts.ITaskNotifier; import com.brink.main.models.LoginResult; import android.app.Activity; import android.content.Intent; import android.view.View; import android.widget.ImageButton; public class LoginViewManager extends BaseViewManager implements ITaskNotifier<LoginResult> { public LoginViewManager(Activity parent) { super(parent); this.ShowView(R.layout.login); this.CreateFacebookButtonListener(); this.CreateNativeButtonListener(); } private void CreateNativeButtonListener() { ((ImageButton)_parent.findViewById(R.id.btn_native_login)).setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // The user has chosen to create a new // user with us, so switch to the new // user creation view. _parent.startActivity(new Intent("com.brink.CreateNativeUserActivity")); } }); } private void CreateFacebookButtonListener() { final LoginViewManager scope = this; ((ImageButton)_parent.findViewById(R.id.btn_facebook_login)).setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // The user hasn't logged on yet, but // just clicked the Sign in w/ FB button, // so we create a new user after they // supply their credentials. FacebookLogin login = new FacebookLogin(); login.Login(scope); } }); } // Simple helper to simplify the API. public static void Manage(Activity parent) { new LoginViewManager(parent); } // Facebook login just completed public void OnTaskComplete(LoginResult results) { if (results.Result) { ApiManager.Login.SetStoredUser(results.User); _parent.startActivity(new Intent("com.brink.ViewHandler")); } } }