Esempio n. 1
0
  private void register() {
    mProgressDialog.show();

    EditText first = (EditText) findViewById(R.id.firstName);
    EditText last = (EditText) findViewById(R.id.lastName);
    EditText email = (EditText) findViewById(R.id.email);
    EditText pwrd = (EditText) findViewById(R.id.pword);
    EditText pwrdCheck = (EditText) findViewById(R.id.pwordCheck);
    firstName = first.getText().toString();
    lastName = last.getText().toString();
    emailS = email.getText().toString();
    password = pwrd.getText().toString();
    String passwordCheck = pwrdCheck.getText().toString();

    if (password.equals(passwordCheck)) {
      firebaseRef.createUser(
          emailS,
          password,
          new Firebase.ValueResultHandler<Map<String, Object>>() {
            @Override
            public void onSuccess(Map<String, Object> result) {
              addDetails();
              showDialog("Account created successfully", false);
            }

            @Override
            public void onError(FirebaseError firebaseError) {
              showDialog(firebaseError.toString(), true);
            }
          });
    } else {
      showDialog("Passwords are not the same, please ensure that they are the same.", true);
    }
  }
Esempio n. 2
0
  @Override
  public void signUp(final String email, String password, final AuthCallback callback) {
    firebase.createUser(
        email,
        password,
        new Firebase.ValueResultHandler<Map<String, Object>>() {
          @Override
          public void onSuccess(Map<String, Object> result) {
            String id = result.get("uid").toString();

            User user = new User(id);
            user.setEmail(email);

            callback.onSuccess(user);
          }

          @Override
          public void onError(FirebaseError firebaseError) {
            callback.onError(FireBaseErrorHandler.getErrorMessage(firebaseError, context));
          }
        });
  }
    @Override
    protected Boolean doInBackground(Void... params) {
      // Fire base reference for login and writting data.
      final Firebase myFirebaseRef = new Firebase("https://todorpg.firebaseio.com/");

      // attempt authentication against a network service.

      myFirebaseRef.authWithPassword(
          mEmail,
          mPassword,
          new Firebase.AuthResultHandler() {

            @Override
            public void onAuthenticated(final AuthData authData) {
              CheckBox rememberMe = (CheckBox) findViewById(R.id.autoLoginBox);
              // Save in Preferences if remember me is checked.
              if (rememberMe.isChecked()) {
                SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
                SharedPreferences.Editor editor = settings.edit();
                editor.putBoolean("rememberMe", true);
                editor.putString("username", mEmail);
                editor.putString("password", mPassword);
                editor.commit();
              } else {
                SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
                SharedPreferences.Editor editor = settings.edit();
                editor.putBoolean("rememberMe", false);
                editor.commit();
              }
              myFirebaseRef.addListenerForSingleValueEvent(
                  new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot snapshot) {
                      long numTasks =
                          (long)
                              snapshot
                                  .child("Users")
                                  .child(authData.getUid())
                                  .child("numTasks")
                                  .getValue();
                      // Create an account for the data passed only the User ID.
                      Account account =
                          new Account("user", "pass", authData.getUid(), 0, (int) numTasks);

                      // Pass the account to the start of the task activity via intent.
                      System.out.println(
                          snapshot
                              .child("Users")
                              .child(authData.getUid())
                              .child("intelligenceXP")
                              .getValue());
                      long intelligenceXP =
                          (long)
                              snapshot
                                  .child("Users")
                                  .child(authData.getUid())
                                  .child("intelligenceXP")
                                  .getValue();
                      long healthXP =
                          (long)
                              snapshot
                                  .child("Users")
                                  .child(authData.getUid())
                                  .child("healthXP")
                                  .getValue();
                      long fitnessXP =
                          (long)
                              snapshot
                                  .child("Users")
                                  .child(authData.getUid())
                                  .child("fitnessXP")
                                  .getValue();
                      long charismaXP =
                          (long)
                              snapshot
                                  .child("Users")
                                  .child(authData.getUid())
                                  .child("charismaXP")
                                  .getValue();
                      account.setCharismaXP(Integer.parseInt(Long.toString(charismaXP)));
                      account.setHealthXP(Integer.parseInt(Long.toString(healthXP)));
                      account.setFitnessXP(Integer.parseInt(Long.toString(fitnessXP)));
                      account.setIntelligenceXP(Integer.parseInt(Long.toString(intelligenceXP)));

                      Intent i = new Intent(getApplicationContext(), TaskPage.class);
                      i.putExtra("Account", account);
                      //    finish();
                      startActivity(i);
                      finish();
                    }

                    @Override
                    public void onCancelled(FirebaseError firebaseError) {}
                  });
            }

            @Override
            public void onAuthenticationError(FirebaseError firebaseError) {
              Toast.makeText(LoginActivity.this, "No Authentication", Toast.LENGTH_LONG).show();

              Intent intent = getIntent();
              // finish();
              startActivity(intent);
              finish();
            }
          });

      //  tr to register the new account here if could not authenciate.
      myFirebaseRef.createUser(
          mEmail,
          mPassword,
          new Firebase.ValueResultHandler<Map<String, Object>>() {
            @Override
            public void onSuccess(Map<String, Object> result) {
              Account account = new Account(mEmail, mPassword, (String) result.get("uid"), 1, 0);
              account.setFitnessXP(0);
              account.setIntelligenceXP(0);
              account.setHealthXP(0);
              account.setCharismaXP(0);
              // Store Account data on success.

              Firebase ref =
                  new Firebase("https://todorpg.firebaseio.com/Users").child(account.getUserID());
              // Write basic user Data to database.
              ref.child("email").setValue(account.getUsername());
              ref.child("Password").setValue(account.getPassword());
              ref.child("numTasks").setValue(account.getNumTasks());
              ref.child("fitnessXP").setValue(account.getFitnessXP());
              ref.child("charismaXP").setValue(account.getCharismaXP());
              ref.child("intelligenceXP").setValue(account.getIntelligenceXP());
              ref.child("healthXP").setValue(account.getHealthXP());

              Toast.makeText(LoginActivity.this, "New User", Toast.LENGTH_LONG).show();
              // Start Task page activity.
              Intent i = new Intent(getApplicationContext(), TaskPage.class);
              i.putExtra("Account", account);
              // finish();
              startActivity(i);
              finish();
            }

            @Override
            public void onError(FirebaseError firebaseError) {
              Toast.makeText(LoginActivity.this, "Did not make new User", Toast.LENGTH_LONG).show();

              Intent intent = getIntent();

              // finish();
              startActivity(intent);
              finish();
            }
          });

      return true;
    }
  private void registerUser() {
    ringProgressDialog =
        ProgressDialog.show(
            MobileVerificationActivity.this, "Please wait ...", "Signing up User ...", true);
    ringProgressDialog.setCancelable(true);

    Firebase ref = new Firebase(Constants.BASE_URL);
    ref.createUser(
        emailAuth,
        password,
        new Firebase.ValueResultHandler<Map<String, Object>>() {
          @Override
          public void onSuccess(Map<String, Object> result) {
            Log.v(Tag, "Registeration Response: " + result.toString());
            System.out.println("Successfully created user account with uid: " + result.get("uid"));
            // Login User here
            ringProgressDialog.dismiss();
            loggingUser();
          }

          @Override
          public void onError(FirebaseError firebaseError) {
            // there was an error
            ringProgressDialog.dismiss();
            switch (firebaseError.getCode()) {
              case FirebaseError.USER_DOES_NOT_EXIST:
                // handle a non existing user
                Log.v(Tag, "Register Error Code: USER_DOES_NOT_EXIST");
                break;
              case FirebaseError.INVALID_PASSWORD:
                // handle an invalid password
                Log.v(Tag, "Register Error Code: INVALID_PASSWORD");
                break;
              case FirebaseError.AUTHENTICATION_PROVIDER_DISABLED:
                // handle an invalid password
                Log.v(Tag, "Register Error Code: AUTHENTICATION_PROVIDER_DISABLED");
                break;
              case FirebaseError.EMAIL_TAKEN:
                // handle an invalid password
                loggingUser();
                Log.v(Tag, "Register Error Code: EMAIL_TAKEN");
                break;
              case FirebaseError.INVALID_AUTH_ARGUMENTS:
                // handle an invalid password
                Log.v(Tag, "Register Error Code: INVALID_AUTH_ARGUMENTS");
                break;
              case FirebaseError.INVALID_CONFIGURATION:
                // handle an invalid password
                Log.v(Tag, "IRegister Error Code: NVALID_CONFIGURATION");
                break;
              case FirebaseError.INVALID_CREDENTIALS:
                // handle an invalid password
                Log.v(Tag, "Register Error Code: INVALID_CREDENTIALS");
                break;
              case FirebaseError.INVALID_EMAIL:
                // handle an invalid password
                Log.v(Tag, "Register Error Code: INVALID_EMAIL");
                break;
              case FirebaseError.INVALID_TOKEN:
                // handle an invalid password
                Log.v(Tag, "Register Error Code: INVALID_TOKEN");
                break;
              case FirebaseError.NETWORK_ERROR:
                // handle an invalid password
                Log.v(Tag, "Register Error Code: NETWORK_ERROR");
                break;
              case FirebaseError.PREEMPTED:
                // handle an invalid password
                Log.v(Tag, "Register Error Code: PREEMPTED");
                break;
              case FirebaseError.PROVIDER_ERROR:
                // handle an invalid password
                Log.v(Tag, "Register Error Code: PROVIDER_ERROR");
                break;
              case FirebaseError.UNKNOWN_ERROR:
                // handle an invalid password
                Log.v(Tag, "Register Error Code: UNKNOWN_ERROR");
                break;
              case FirebaseError.DENIED_BY_USER:
                // handle an invalid password
                Log.v(Tag, "Register Error Code: DENIED_BY_USER");
                break;
              default:
                // handle other errors
                Log.v(Tag, "Register Error Code: DEFAULT ERROR");
                break;
            }
          }
        });
  }