Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.shreesoftsolutions.apps.thescribbledstories;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.design.widget.FloatingActionButton;
- import android.support.design.widget.Snackbar;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.util.Log;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.Toast;
- import com.firebase.ui.auth.AuthUI;
- import com.firebase.ui.auth.ErrorCodes;
- import com.firebase.ui.auth.IdpResponse;
- import com.firebase.ui.auth.ResultCodes;
- import com.google.firebase.FirebaseApp;
- import com.google.firebase.auth.FirebaseAuth;
- import com.shreesoftsolutions.apps.thescribbledstories.Utils.MenuNavigation;
- import java.util.Arrays;
- public class MainActivity extends AppCompatActivity {
- private View mRootView;
- private final String TAG = "MainActivity";
- private FirebaseAuth auth;
- private FirebaseApp firebaseApp;
- private static final int RC_SIGN_IN = 123;
- private MenuNavigation menuNavigation;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
- fab.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Log.d(TAG,"Starting Capture Text");
- startActivity(new Intent(view.getContext(), CaptureText.class));
- }
- });
- firebaseApp = FirebaseApp.initializeApp(getApplicationContext());
- auth = FirebaseAuth.getInstance();
- checkLoginStatus();
- menuNavigation = new MenuNavigation(this);
- }
- @Override
- protected void onResume() {
- super.onResume();
- checkLoginStatus();
- }
- private void checkLoginStatus(){
- if(auth.getCurrentUser() != null){
- //already signed in
- // Keep the user on this page
- }else{
- //Log the user in
- startActivityForResult(
- AuthUI.getInstance(firebaseApp)
- .createSignInIntentBuilder()
- .setProviders(Arrays.asList(
- new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build()
- ))
- .build(),
- RC_SIGN_IN);
- }
- }
- private void callNextActivity(){
- startActivity(new Intent(this, ProfileActivity.class));
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- // RC_SIGN_IN is the request code you passed into startActivityForResult(...) when starting the sign in flow.
- if (requestCode == RC_SIGN_IN) {
- IdpResponse response = IdpResponse.fromResultIntent(data);
- // Successfully signed in
- if (resultCode == ResultCodes.OK) {
- //Signed in for the first Time.
- //Now show the profile page.
- callNextActivity();
- finish();
- return;
- } else {
- // Sign in failed
- if (response == null) {
- // User pressed back button
- showSnackbar(R.string.sign_in_cancelled);
- return;
- }
- if (response.getErrorCode() == ErrorCodes.NO_NETWORK) {
- showSnackbar(R.string.no_internet_connection);
- return;
- }
- if (response.getErrorCode() == ErrorCodes.UNKNOWN_ERROR) {
- showSnackbar(R.string.unknown_error);
- return;
- }
- }
- showSnackbar(R.string.unknown_sign_in_response);
- }
- }
- private void showSnackbar(int text){
- Toast.makeText(getApplicationContext(),text,Toast.LENGTH_LONG).show();
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_main, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item){
- return menuNavigation.handleMenuOption(item);
- }
- }
Add Comment
Please, Sign In to add comment