diff --git a/app/build.gradle b/app/build.gradle index f9a01f5..88471e6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,7 +33,6 @@ android { unitTests } } - } tasks.withType(Test) { diff --git a/app/src/main/java/com/evan/parknbark/bulletinboard/NewNoteDialog.java b/app/src/main/java/com/evan/parknbark/bulletinboard/NewNoteDialog.java index 0600684..c4db415 100644 --- a/app/src/main/java/com/evan/parknbark/bulletinboard/NewNoteDialog.java +++ b/app/src/main/java/com/evan/parknbark/bulletinboard/NewNoteDialog.java @@ -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)); @@ -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(); @@ -97,6 +108,7 @@ public boolean saveNote(String title, String description, boolean test) { dismiss(); } else showErrorToast(); + isFirebaseProcessRunning = false; }); } return true; diff --git a/app/src/main/java/com/evan/parknbark/credits/EditCreditActivity.java b/app/src/main/java/com/evan/parknbark/credits/EditCreditActivity.java index eb7b0c1..ca4440a 100644 --- a/app/src/main/java/com/evan/parknbark/credits/EditCreditActivity.java +++ b/app/src/main/java/com/evan/parknbark/credits/EditCreditActivity.java @@ -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; @@ -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(); } diff --git a/app/src/main/java/com/evan/parknbark/emailpassword/ChangePassActivity.java b/app/src/main/java/com/evan/parknbark/emailpassword/ChangePassActivity.java index 5408234..04be949 100644 --- a/app/src/main/java/com/evan/parknbark/emailpassword/ChangePassActivity.java +++ b/app/src/main/java/com/evan/parknbark/emailpassword/ChangePassActivity.java @@ -1,6 +1,5 @@ package com.evan.parknbark.emailpassword; -import android.content.Intent; import android.os.Bundle; import android.view.View; @@ -64,27 +63,35 @@ public void onComplete(@NonNull Task task) { public void onComplete(@NonNull Task 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(); diff --git a/app/src/main/java/com/evan/parknbark/emailpassword/LoginActivity.java b/app/src/main/java/com/evan/parknbark/emailpassword/LoginActivity.java index 4217ebd..a4bfe34 100644 --- a/app/src/main/java/com/evan/parknbark/emailpassword/LoginActivity.java +++ b/app/src/main/java/com/evan/parknbark/emailpassword/LoginActivity.java @@ -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); @@ -93,6 +94,7 @@ public void onComplete(@NonNull Task task) { Log.d(TAG, "onFailure: " + e.getMessage()); mLoadToast.error(); showErrorToast(R.string.wrong_email_pass); + isFirebaseProcessRunning = false; } } }); @@ -116,6 +118,22 @@ public void onComplete(@NonNull Task task) { showErrorToast(); } + private void sendEmailVerification(FirebaseUser user) { + user.sendEmailVerification() + .addOnCompleteListener(this, new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task 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()) { @@ -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() { - @Override - public void onComplete(@NonNull Task 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: @@ -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(); @@ -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; diff --git a/app/src/main/java/com/evan/parknbark/emailpassword/RegisterActivity.java b/app/src/main/java/com/evan/parknbark/emailpassword/RegisterActivity.java index c4554dd..578fac7 100644 --- a/app/src/main/java/com/evan/parknbark/emailpassword/RegisterActivity.java +++ b/app/src/main/java/com/evan/parknbark/emailpassword/RegisterActivity.java @@ -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 @@ -82,7 +81,7 @@ public void onComplete(@NonNull Task task) { } }); } else { - isProcessRunning = false; + isFirebaseProcessRunning = false; Log.d(TAG, "createUserWithEmailAndPassword: onComplete: ERROR!!! " + task.getException().getMessage()); showErrorToast(); } @@ -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(); @@ -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(); @@ -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(); - } } \ No newline at end of file diff --git a/app/src/main/java/com/evan/parknbark/emailpassword/ResetPassActivity.java b/app/src/main/java/com/evan/parknbark/emailpassword/ResetPassActivity.java index 8b35e3d..339a897 100644 --- a/app/src/main/java/com/evan/parknbark/emailpassword/ResetPassActivity.java +++ b/app/src/main/java/com/evan/parknbark/emailpassword/ResetPassActivity.java @@ -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); } @@ -46,6 +44,7 @@ public void onComplete(@NonNull Task task) { startActivity(new Intent(ResetPassActivity.this, LoginActivity.class)); } else showErrorToast(); + isFirebaseProcessRunning = false; hideProgressBar(); } }); @@ -54,8 +53,13 @@ public void onComplete(@NonNull Task 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); diff --git a/app/src/main/java/com/evan/parknbark/settings/admin/BanActivity.java b/app/src/main/java/com/evan/parknbark/settings/admin/BanActivity.java index 3c0ddbc..b0c54a5 100644 --- a/app/src/main/java/com/evan/parknbark/settings/admin/BanActivity.java +++ b/app/src/main/java/com/evan/parknbark/settings/admin/BanActivity.java @@ -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")) @@ -62,6 +67,7 @@ public void onComplete(@NonNull Task task) { } else { showErrorToast(); } + isFirebaseProcessRunning = false; hideProgressBar(); } }); diff --git a/app/src/main/java/com/evan/parknbark/settings/admin/UsersListActivity.java b/app/src/main/java/com/evan/parknbark/settings/admin/UsersListActivity.java index a9adc0f..8a0b3e9 100644 --- a/app/src/main/java/com/evan/parknbark/settings/admin/UsersListActivity.java +++ b/app/src/main/java/com/evan/parknbark/settings/admin/UsersListActivity.java @@ -26,6 +26,7 @@ import com.google.firebase.firestore.FieldPath; import com.google.firebase.firestore.FirebaseFirestore; import com.google.firebase.firestore.QueryDocumentSnapshot; +import com.google.firebase.firestore.QuerySnapshot; import com.squareup.picasso.Picasso; import java.util.ArrayList; @@ -34,7 +35,7 @@ import es.dmoral.toasty.Toasty; -public class UsersListActivity extends BaseActivity { +public class UsersListActivity extends BaseActivity implements ExpandableListView.OnChildClickListener { private ExpandableListView expandableListView; private List userList; private HashMap> userItemOptions; @@ -45,80 +46,36 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { setContentView(R.layout.activity_users_list); expandableListView = findViewById(R.id.expandable_list_view_users); initData(); - expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { - @Override - public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { - switch (childPosition) { - case 0: - getUserProfile(userList.get(groupPosition)); - break; - case 1: - final UserItem user = userList.get(groupPosition); - if (!user.isBanned()) { - Bundle b = new Bundle(); - b.putString("uid", userList.get(groupPosition).getUid()); - b.putString("name", userList.get(groupPosition).getDisplayName()); - b.putString("email", userList.get(groupPosition).getEmail()); - startActivity(new Intent(UsersListActivity.this, BanActivity.class).putExtras(b)); - finish(); - } else { - DialogInterface.OnClickListener dialogClickListener = (dialog, which) -> { - if (which == DialogInterface.BUTTON_POSITIVE) - permitUser(user); - dialog.dismiss(); - }; - new AlertDialog.Builder(UsersListActivity.this) - .setTitle(getString(R.string.permit_user)) - .setMessage(getString(R.string.permit_user_ask) + user.getDisplayName()) - .setPositiveButton("Permit", dialogClickListener) - .setNegativeButton("Cancel", dialogClickListener) - .setCancelable(false) - .show(); - } - break; - } - return true; - } - }); - } - - private void permitUser(UserItem userItem) { - FieldPath bannedField = FieldPath.of("banned"), - reasonField = FieldPath.of("banReason"); - db.collection("users").document(userItem.getUid()) - .update(bannedField, false, reasonField, "") - .addOnCompleteListener(new OnCompleteListener() { - @Override - public void onComplete(@NonNull Task task) { - if (task.isSuccessful()) { - Toasty.info(getBaseContext(), getString(R.string.permit_user_success) + userItem.getDisplayName(), Toasty.LENGTH_SHORT).show(); - finish(); - startActivity(new Intent(getBaseContext(), UsersListActivity.class)); - } else { - showErrorToast(); - } - } - }); + expandableListView.setOnChildClickListener(this); } private void initData() { + isFirebaseProcessRunning = true; userList = new ArrayList<>(); userItemOptions = new HashMap<>(); getUsersFromDB(); } private void getUsersFromDB() { - db.collection("users").get().addOnCompleteListener(task -> { - for (QueryDocumentSnapshot document : task.getResult()) { - String firstName = (String) document.get("firstName"); - String lastName = (String) document.get("lastName"); - String email = (String) document.get("emailAddress"); - boolean banned = (boolean) document.get("banned"); - String uid = document.getId(); - UserItem user = new UserItem(firstName + " " + lastName, email, uid, banned); - userList.add(user); + db.collection("users").get().addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (task.isSuccessful()) { + for (QueryDocumentSnapshot document : task.getResult()) { + String firstName = (String) document.get("firstName"); + String lastName = (String) document.get("lastName"); + String email = (String) document.get("emailAddress"); + boolean banned = (boolean) document.get("banned"); + String uid = document.getId(); + UserItem user = new UserItem(firstName + " " + lastName, email, uid, banned); + userList.add(user); + } + UsersListActivity.this.initOptionsHashMap(); + } else { + isFirebaseProcessRunning = false; + showErrorToast(); + } } - initOptionsHashMap(); }); } @@ -143,6 +100,7 @@ private void initOptionsHashMap() { private void initAdapter() { UsersListAdapter adapter = new UsersListAdapter(this, userItemOptions, userList); expandableListView.setAdapter(adapter); + isFirebaseProcessRunning = false; } private void getUserProfile(final UserItem user) { @@ -193,4 +151,64 @@ private void displayProfileDetail(final Profile profile) { profileDialog.getWindow().setAttributes(lp); profileDialog.show(); } + + private void permitUser(UserItem userItem) { + FieldPath bannedField = FieldPath.of("banned"), + reasonField = FieldPath.of("banReason"); + db.collection("users").document(userItem.getUid()) + .update(bannedField, false, reasonField, "") + .addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (task.isSuccessful()) { + Toasty.info(getBaseContext(), getString(R.string.permit_user_success) + userItem.getDisplayName(), Toasty.LENGTH_SHORT).show(); + finish(); + startActivity(new Intent(getBaseContext(), UsersListActivity.class)); + } else { + showErrorToast(); + } + isFirebaseProcessRunning = false; + } + }); + } + + @Override + public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { + switch (childPosition) { + case 0: + getUserProfile(userList.get(groupPosition)); + break; + case 1: + final UserItem user = userList.get(groupPosition); + if (!user.isBanned()) { + Bundle b = new Bundle(); + b.putString("uid", userList.get(groupPosition).getUid()); + b.putString("name", userList.get(groupPosition).getDisplayName()); + b.putString("email", userList.get(groupPosition).getEmail()); + startActivity(new Intent(UsersListActivity.this, BanActivity.class).putExtras(b)); + finish(); + } else { + if (isFirebaseProcessRunning) { + showInfoToast(R.string.please_wait); + return false; + } + DialogInterface.OnClickListener dialogClickListener = (dialog, which) -> { + if (which == DialogInterface.BUTTON_POSITIVE) { + isFirebaseProcessRunning = true; + permitUser(user); + } + dialog.dismiss(); + }; + new AlertDialog.Builder(UsersListActivity.this) + .setTitle(getString(R.string.permit_user)) + .setMessage(getString(R.string.permit_user_ask) + user.getDisplayName()) + .setPositiveButton(R.string.permit_text, dialogClickListener) + .setNegativeButton(R.string.cancel_text, dialogClickListener) + .setCancelable(false) + .show(); + } + break; + } + return true; + } } diff --git a/app/src/main/java/com/evan/parknbark/utilities/BaseActivity.java b/app/src/main/java/com/evan/parknbark/utilities/BaseActivity.java index 25ba854..f0d5691 100644 --- a/app/src/main/java/com/evan/parknbark/utilities/BaseActivity.java +++ b/app/src/main/java/com/evan/parknbark/utilities/BaseActivity.java @@ -24,12 +24,10 @@ public abstract class BaseActivity extends AppCompatActivity { protected FirebaseFirestore db; private final String KEY_LANGUAGE = "Language"; - public ProgressBar mProgressBar; - protected String ERROR_MSG; - protected static Boolean hasErrorInText = true; + protected boolean isFirebaseProcessRunning = false; @Override public void setContentView(int layoutResID) { @@ -63,6 +61,17 @@ protected void hideSoftKeyboard() { } } + @Override + public void onBackPressed() { + if (isFirebaseProcessRunning) { + showInfoToast(R.string.please_wait); + return; + } + super.onBackPressed(); + } + + //Toast related methods + protected void showErrorToast() { Toasty.error(getApplicationContext(), ERROR_MSG, Toasty.LENGTH_LONG).show(); } @@ -79,12 +88,14 @@ protected void showInfoToast(int resId) { Toasty.info(getApplicationContext(), getString(resId), Toasty.LENGTH_SHORT).show(); } + //Language related methods + protected void loadLocale(Context context) { changeLang(getPrefLanguage(), context); } - protected void changeToNewLocale(String newLanguage, Context context){ - if(getPrefLanguage().equals(newLanguage)) + protected void changeToNewLocale(String newLanguage, Context context) { + if (getPrefLanguage().equals(newLanguage)) return; changeLang(newLanguage, context); saveLocale(newLanguage); diff --git a/app/src/main/java/com/evan/parknbark/utilities/BaseDialogFragment.java b/app/src/main/java/com/evan/parknbark/utilities/BaseDialogFragment.java index f506c7e..bfd4a7b 100644 --- a/app/src/main/java/com/evan/parknbark/utilities/BaseDialogFragment.java +++ b/app/src/main/java/com/evan/parknbark/utilities/BaseDialogFragment.java @@ -3,7 +3,6 @@ import android.content.Context; import android.view.View; import android.view.inputmethod.InputMethodManager; -import android.widget.ProgressBar; import androidx.fragment.app.DialogFragment; @@ -13,11 +12,11 @@ import es.dmoral.toasty.Toasty; -public class BaseDialogFragment extends DialogFragment { - public ProgressBar mProgressBar; +public abstract class BaseDialogFragment extends DialogFragment { protected FirebaseAuth mAuth; protected FirebaseFirestore db; protected String ERROR_MSG; + protected boolean isFirebaseProcessRunning = false; @Override public void onStart() { @@ -27,22 +26,6 @@ public void onStart() { mAuth = FirebaseAuth.getInstance(); } - public void setProgressBar(int resId, View v) { - mProgressBar = v.findViewById(resId); - } - - public void showProgressBar() { - if (mProgressBar != null) { - mProgressBar.setVisibility(View.VISIBLE); - } - } - - public void hideProgressBar() { - if (mProgressBar != null) { - mProgressBar.setVisibility(View.INVISIBLE); - } - } - protected void hideSoftKeyboard(View v) { InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(), 0); @@ -55,4 +38,8 @@ protected void showErrorToast() { protected void showSuccessToast(int resId) { Toasty.success(getContext(), getResources().getString(resId), Toasty.LENGTH_SHORT).show(); } + + protected void showInfoToast(int resId) { + Toasty.info(getContext(), getResources().getString(resId), Toasty.LENGTH_SHORT).show(); + } } diff --git a/app/src/main/java/com/evan/parknbark/utilities/BaseNavDrawerActivity.java b/app/src/main/java/com/evan/parknbark/utilities/BaseNavDrawerActivity.java index 74308be..391968b 100644 --- a/app/src/main/java/com/evan/parknbark/utilities/BaseNavDrawerActivity.java +++ b/app/src/main/java/com/evan/parknbark/utilities/BaseNavDrawerActivity.java @@ -42,7 +42,6 @@ public abstract class BaseNavDrawerActivity extends BaseActivity implements Popu public static final String CHECKIN_FIELD = "currentProfilesInPark"; public static final String INVITE_TXT = "Come and join ParkN'Bark at "; public static final String SHARE_WITH_TXT = "Share with"; - public static final String WRONG_PERMISSION = "You don't have the right permission"; private String userCheckinPark; private String parkName; protected String currentUserPermission; diff --git a/app/src/main/java/com/evan/parknbark/utilities/SplashScreenActivity.java b/app/src/main/java/com/evan/parknbark/utilities/SplashScreenActivity.java index b312892..bcad0ff 100644 --- a/app/src/main/java/com/evan/parknbark/utilities/SplashScreenActivity.java +++ b/app/src/main/java/com/evan/parknbark/utilities/SplashScreenActivity.java @@ -23,6 +23,7 @@ public class SplashScreenActivity extends BaseActivity { @Override public void onCreate(@Nullable Bundle savedInstanceState) { + loadLocale(this); super.onCreate(savedInstanceState); //Create a bundle to pass to the next activity diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6b41770..8348558 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -108,4 +108,7 @@ Please verify your email. Please wait. Input must contain at most 30 characters + Share with + Permit + Cancel