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); } }
@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; } } }); }