package [Link].
businessinventorymanagerapp;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class SignUpActivity extends AppCompatActivity {
ActivitySignUpBinding bindingSignUp;
FirebaseAuth firebaseAuth;
FirebaseFirestore firebaseFirestore;
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
[Link](this);
bindingSignUp = [Link](getLayoutInflater());
setContentView([Link]());
firebaseAuth = [Link]();
firebaseFirestore = [Link]();
if ([Link]() != null)
{
Intent mainActivityIntent = new Intent([Link],
[Link]);
startActivity(mainActivityIntent);
finish();
}
setupBusinessTypeSpinner();
roleCheckBoxListeners();
[Link](new
[Link]() {
@Override
public void onClick(View v) {
String checkedRole = "";
if ([Link]())
{
checkedRole = "Manager";
}
if ([Link]())
{
checkedRole = "Editor";
}
if ([Link]())
{
checkedRole = "Supplier";
}
if ([Link]())
{
checkedRole = "Seller";
}
if ([Link]())
{
checkedRole = "Admin";
}
if ([Link]())
{
checkedRole = "Finance";
}
if ([Link]()) {
checkedRole = "Role Not Selected Yet";
return;
}
String finalCheckedRole = checkedRole;
String userName =
[Link]().toString().trim();
String fullName =
[Link]().toString().trim();
String email =
[Link]().toString().trim();
String phone =
[Link]().toString().trim();
// String role = [Link]();
String businessName =
[Link]().toString().trim();
String businessType =
[Link]().toString().trim();
String storeLocation =
[Link]().toString().trim();
String password =
[Link]().toString().trim();
if (!validateInputs(email, password)) return;
[Link]([Link]);
[Link](email, password)
.addOnCompleteListener(task -> {
[Link]([Link]);
if ([Link]()) {
[Link]([Link], "Welcome, " +
fullName + "!", Toast.LENGTH_SHORT).show();
DocumentReference documentReference =
[Link]("Users").document(email);
Map<String, Object> userInformation = new HashMap<>();
[Link]("UserName", userName);
[Link]("FullName", fullName);
[Link]("Email", email);
[Link]("Phone", phone);
[Link]("Role", finalCheckedRole);
[Link]("BusinessName", businessName);
[Link]("BusinessType", businessType);
[Link]("StoreLocation", storeLocation);
[Link]("Password", password);
[Link](userInformation).addOnSuccessListener(new
OnSuccessListener<Void>() {
@Override
public void onSuccess(Void unused) {
Log.d("User Profile Update", "OnSuccess :
Profile Successfully Created For " + userName);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
[Link]([Link], "Error: " +
[Link](), Toast.LENGTH_SHORT).show();
Log.d("User Profile Update", "OnFailure :
Profile Not Created");
}
});
Intent mainActivityIntent = new
Intent([Link], [Link]);
startActivity(mainActivityIntent);
finish();
} else {
String errorMessage = [Link]() != null ?
[Link]().getMessage() : "Unknown error occurred";
[Link]([Link], "Error: " +
errorMessage, Toast.LENGTH_SHORT).show();
[Link]([Link]);
}
});
}
});
[Link](new
[Link]() {
@Override
public void onClick(View v) {
Intent signInActivityIntent = new Intent([Link],
[Link]);
startActivity(signInActivityIntent);
}
});
}
private void roleCheckBoxListeners() {
[Link](new
[Link]() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
[Link](false);
[Link](false);
[Link](false);
[Link](false);
[Link](false);
}
});
[Link](new
[Link]() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
[Link](false);
[Link](false);
[Link](false);
[Link](false);
[Link](false);
}
});
[Link](new
[Link]() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
[Link](false);
[Link](false);
[Link](false);
[Link](false);
[Link](false);
}
});
[Link](new
[Link]() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
[Link](false);
[Link](false);
[Link](false);
[Link](false);
[Link](false);
}
});
[Link](new
[Link]() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
[Link](false);
[Link](false);
[Link](false);
[Link](false);
[Link](false);
}
});
[Link](new
[Link]() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
[Link](false);
[Link](false);
[Link](false);
[Link](false);
[Link](false);
}
});
}
private boolean validateInputs(String email, String password) {
if ([Link]()) {
[Link]("Email is required");
return false;
}
if (![Link].EMAIL_ADDRESS.matcher(email).matches()) {
[Link]("Enter a valid email");
return false;
}
if (![Link]().endsWith("@[Link]")) {
[Link]("Only Gmail addresses are
allowed");
return false;
}
if ([Link]()) {
[Link]("Password is required");
return false;
}
if ([Link]() < 8) {
[Link]("Password should be at least
8 characters");
return false;
}
return true;
}
public void setupBusinessTypeSpinner() {
ArrayList<String> businessTypeList = new ArrayList<>();
[Link]("Retail Business");
[Link]("E-commerce Store");
[Link]("Wholesale and Distribution");
[Link]("Manufacturing Business");
[Link]("Service-Based Business");
[Link]("Healthcare and Pharmaceutical");
[Link]("Hospitality Business");
[Link]("Construction and Maintenance");
[Link]("Agricultural Business");
[Link]("Technology and Electronics");
[Link]("Education and Institution");
[Link]("Specialty Store");
[Link]("Other ...");
ArrayAdapter<String> businessTypeAdapter = new ArrayAdapter<>(this,
[Link].simple_spinner_dropdown_item, businessTypeList);
[Link]([Link].simple_gallery_item);
[Link](businessTypeAdapter);
}
}