Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.martin.chatapp;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.text.TextUtils;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.Toast;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.Task;
- import com.google.firebase.auth.AuthResult;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.auth.FirebaseUser;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.rengwuxian.materialedittext.MaterialEditText;
- import com.virgilsecurity.android.ethree.kotlin.interaction.EThree;
- import org.jetbrains.annotations.NotNull;
- import java.util.HashMap;
- public class RegisterActivity extends AppCompatActivity {
- MaterialEditText username, email, password;
- Button btn_register;
- EThree eThree;
- FirebaseAuth auth;
- DatabaseReference reference;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_register);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- getSupportActionBar().setTitle("Register");
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- username = findViewById(R.id.username);
- email = findViewById(R.id.email);
- password = findViewById(R.id.password);
- btn_register = findViewById(R.id.btn_register);
- auth = FirebaseAuth.getInstance();
- btn_register.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- final String txt_username = username.getText().toString();
- String txt_email = email.getText().toString();
- String txt_password = password.getText().toString();
- if (TextUtils.isEmpty(txt_username) || TextUtils.isEmpty(txt_email) || TextUtils.isEmpty(txt_password)){
- Toast.makeText(RegisterActivity.this, "All fileds are required", Toast.LENGTH_SHORT).show();
- } else if (txt_password.length() < 6 ){
- Toast.makeText(RegisterActivity.this, "password must be at least 6 characters", Toast.LENGTH_SHORT).show();
- } else {
- register(txt_email, txt_password);
- }
- }
- });
- }
- private void register(String email, String password){
- // Listener for register
- final EThree.OnCompleteListener onRegisterListener = new EThree.OnCompleteListener() {
- @Override public void onSuccess() {
- Log.d("success", "onSuccess: It worked");
- FirebaseUser firebaseUser = auth.getCurrentUser();
- assert firebaseUser != null;
- String userid = firebaseUser.getUid();
- reference = FirebaseDatabase.getInstance().getReference("Users").child(userid);
- final String txt_username = username.getText().toString();
- HashMap<String, String> hashMap = new HashMap<>();
- hashMap.put("id", userid);
- hashMap.put("username", txt_username);
- hashMap.put("imageURL", "default");
- hashMap.put("status", "offline");
- hashMap.put("search", txt_username.toLowerCase());
- reference.setValue(hashMap).addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(@NonNull Task<Void> task) {
- if (task.isSuccessful()){
- Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(intent);
- finish();
- }
- }
- });
- }
- @Override public void onError(@NotNull final Throwable throwable) {
- throw new Error("I dont know whats going wrong!");
- }
- };
- auth.createUserWithEmailAndPassword(email, password)
- .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- if (task.isSuccessful()){
- Log.d("test", "onComplete: so far so good");
- eThree.register(onRegisterListener);
- } else {
- Toast.makeText(RegisterActivity.this, "You can't register with this email or password", Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement