Skip to content

Commit

Permalink
Now user cant click/exit when firebase operation is ongoing (write/re…
Browse files Browse the repository at this point in the history
…ad) - there are some places that still need to be applied to.
  • Loading branch information
AvielCo committed Jun 7, 2020
1 parent baa4f74 commit 513ca6b
Show file tree
Hide file tree
Showing 14 changed files with 177 additions and 138 deletions.
1 change: 0 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ android {
unitTests
}
}

}

tasks.withType(Test) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,13 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
//when clicking on X inside toolbar
toolbar.setNavigationOnClickListener(v -> dismiss());
toolbar.setNavigationOnClickListener(v -> {
if (isFirebaseProcessRunning) {
showInfoToast(R.string.please_wait);
return;
}
dismiss();
});

//title for toolbar
toolbar.setTitleTextColor(ContextCompat.getColor(getContext(), R.color.colorWhite));
Expand All @@ -72,6 +78,11 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat

//when clicking on save icon inside toolbar
toolbar.setOnMenuItemClickListener(item -> {
if (isFirebaseProcessRunning) {
showInfoToast(R.string.please_wait);
return false;
}
isFirebaseProcessRunning = true;
hideSoftKeyboard(view);
String title = mTextInputTitle.getEditText().getText().toString().trim();
String description = mTextInputDescription.getEditText().getText().toString().trim();
Expand All @@ -97,6 +108,7 @@ public boolean saveNote(String title, String description, boolean test) {
dismiss();
} else
showErrorToast();
isFirebaseProcessRunning = false;
});
}
return true;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,29 +1,21 @@
package com.evan.parknbark.credits;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

import androidx.annotation.NonNull;

import com.evan.parknbark.R;
import com.evan.parknbark.contacts.EditContactActivity;
import com.evan.parknbark.utilities.BaseActivity;
import com.evan.parknbark.validation.EditTextValidator;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.android.material.textfield.TextInputLayout;
import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.FirebaseFirestore;

import java.util.ArrayList;
import java.util.List;

public class EditCreditActivity extends BaseActivity implements View.OnClickListener{
private Spinner creditSpinner;
private TextInputLayout updatedCreditFieldTxt;
Expand All @@ -38,8 +30,6 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_credit);

String currentUserPermission = getIntent().getStringExtra("current_user_permission");

setUpViews();
setUpSpinners();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.evan.parknbark.emailpassword;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;

Expand Down Expand Up @@ -64,27 +63,35 @@ public void onComplete(@NonNull Task<Void> task) {
public void onComplete(@NonNull Task<Void> task1) {
if (task1.isSuccessful()) {
showSuccessToast(R.string.change_password_success);
ChangePassActivity.this.startActivity(new Intent(ChangePassActivity.this, LoginActivity.class));
} else
showErrorToast();
isFirebaseProcessRunning = false;
hideProgressBar();
}
});
} else
} else {
isFirebaseProcessRunning = false;
showErrorToast(R.string.change_password_current_invalid);
}
}
});
} else {
showErrorToast(R.string.change_pass_same_old_new);
hideProgressBar();
isFirebaseProcessRunning = false;
}
return true;
}

@Override
public void onClick(View v) {
if (isFirebaseProcessRunning) {
showInfoToast(R.string.please_wait);
return;
}
int i = v.getId();
if (i == R.id.button_change_pass_confirm) {
isFirebaseProcessRunning = true;
final String currentPassword = mTextInputCurrentPassword.getEditText().getText().toString().trim();
final String newPassword = mTextInputNewPassword.getEditText().getText().toString().trim();
hideSoftKeyboard();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener,
private LoadToast mLoadToast;
private Bundle bundle;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand Down Expand Up @@ -93,6 +94,7 @@ public void onComplete(@NonNull Task<AuthResult> task) {
Log.d(TAG, "onFailure: " + e.getMessage());
mLoadToast.error();
showErrorToast(R.string.wrong_email_pass);
isFirebaseProcessRunning = false;
}
}
});
Expand All @@ -116,6 +118,22 @@ public void onComplete(@NonNull Task<DocumentSnapshot> task) {
showErrorToast();
}

private void sendEmailVerification(FirebaseUser user) {
user.sendEmailVerification()
.addOnCompleteListener(this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(LoginActivity.this,
getString(R.string.email_verification_sent) + " " + user.getEmail(),
Toast.LENGTH_SHORT).show();
} else {
showErrorToast(R.string.email_verification_failed);
}
}
});
}

private void updateUI(FirebaseUser firebaseUser, User currentUser) {
if (firebaseUser != null && currentUser != null)
if (firebaseUser.isEmailVerified()) {
Expand All @@ -131,26 +149,15 @@ private void updateUI(FirebaseUser firebaseUser, User currentUser) {
sendEmailVerification(firebaseUser);
mAuth.signOut();
}
}

private void sendEmailVerification(FirebaseUser user) {
user.sendEmailVerification()
.addOnCompleteListener(this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(LoginActivity.this,
getString(R.string.email_verification_sent) + " " + user.getEmail(),
Toast.LENGTH_SHORT).show();
} else {
showErrorToast(R.string.email_verification_failed);
}
}
});
isFirebaseProcessRunning = false;
}

@Override
public void onClick(View v) {
if (isFirebaseProcessRunning) {
showInfoToast(R.string.please_wait);
return;
}
int i = v.getId();
switch (i) {
case R.id.button_register:
Expand All @@ -161,6 +168,7 @@ public void onClick(View v) {
startActivity(new Intent(LoginActivity.this, ResetPassActivity.class));
break;
case R.id.button_login:
isFirebaseProcessRunning = true;
hideSoftKeyboard();
String emailInput = mTextInputEmail.getEditText().getText().toString().trim().toLowerCase();
String passwordInput = mTextInputPassword.getEditText().getText().toString().trim();
Expand All @@ -184,6 +192,10 @@ protected void onActivityResult(int requestCode, int resultCode, @Nullable Inten

@Override
public void onBackPressed() {
if (isFirebaseProcessRunning) {
showInfoToast(R.string.please_wait);
return;
}
if (mBackPressedTime + 2000 > System.currentTimeMillis()) {
super.onBackPressed();
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@

public class RegisterActivity extends BaseActivity implements View.OnClickListener {
private static final String TAG = "Register";
private boolean isProcessRunning = false;
private TextInputLayout mTextInputFName, mTextInputLName, mTextInputEmail, mTextInputPassword;

@Override
Expand Down Expand Up @@ -82,7 +81,7 @@ public void onComplete(@NonNull Task<Void> task) {
}
});
} else {
isProcessRunning = false;
isFirebaseProcessRunning = false;
Log.d(TAG, "createUserWithEmailAndPassword: onComplete: ERROR!!! " + task.getException().getMessage());
showErrorToast();
}
Expand Down Expand Up @@ -115,7 +114,7 @@ private void updateUI(FirebaseUser user, String email, String password) {
Intent i = new Intent();
i.putExtra("email_reg", email);
i.putExtra("pass_reg", password);
isProcessRunning = false;
isFirebaseProcessRunning = false;
setResult(RESULT_OK, i);
mAuth.signOut();
finish();
Expand All @@ -126,7 +125,7 @@ private void updateUI(FirebaseUser user, String email, String password) {
public void onClick(View v) {
int i = v.getId();
if (i == R.id.button_register) {
isProcessRunning = true;
isFirebaseProcessRunning = true;
hideSoftKeyboard();
String emailInput = mTextInputEmail.getEditText().getText().toString().trim().toLowerCase();
String passwordInput = mTextInputPassword.getEditText().getText().toString().trim();
Expand All @@ -135,13 +134,4 @@ public void onClick(View v) {
signUp(emailInput, passwordInput, firstNameInput, lastNameInput, false);
}
}

@Override
public void onBackPressed() {
if (isProcessRunning) {
showInfoToast(R.string.please_wait);
return;
}
super.onBackPressed();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,7 @@ protected void onCreate(Bundle savedInstanceState) {

private void initElements() {
mTextInputEmail = findViewById(R.id.text_input_email_reset_pass);

mTextInputEmail.getEditText().addTextChangedListener(new EditTextListener(mTextInputEmail, this));

findViewById(R.id.button_send_reset_pass).setOnClickListener(this);
}

Expand All @@ -46,6 +44,7 @@ public void onComplete(@NonNull Task<Void> task) {
startActivity(new Intent(ResetPassActivity.this, LoginActivity.class));
} else
showErrorToast();
isFirebaseProcessRunning = false;
hideProgressBar();
}
});
Expand All @@ -54,8 +53,13 @@ public void onComplete(@NonNull Task<Void> task) {

@Override
public void onClick(View v) {
if (isFirebaseProcessRunning) {
showInfoToast(R.string.please_wait);
return;
}
int i = v.getId();
if (i == R.id.button_send_reset_pass) {
isFirebaseProcessRunning = true;
hideSoftKeyboard();
String email = mTextInputEmail.getEditText().getText().toString().trim();
resetPassword(email);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,16 @@ protected void onCreate(Bundle savedInstanceState) {

@Override
public void onClick(View v) {
if (isFirebaseProcessRunning) {
showInfoToast(R.string.please_wait);
return;
}
int i = v.getId();
if (i == R.id.ban_user_button) {
if (banReason.getText().toString().trim().isEmpty()) {
Toasty.info(BanActivity.this, getString(R.string.empty_field), Toasty.LENGTH_SHORT).show();
} else {
isFirebaseProcessRunning = true;
hideSoftKeyboard();
showProgressBar();
db.collection("users").document(b.getString("uid"))
Expand All @@ -62,6 +67,7 @@ public void onComplete(@NonNull Task<Void> task) {
} else {
showErrorToast();
}
isFirebaseProcessRunning = false;
hideProgressBar();
}
});
Expand Down
Loading

0 comments on commit 513ca6b

Please sign in to comment.