use of com.example.c4q.capstone.database.privateuserdata.PrivateUser in project Grupp by tmoronta1208.
the class CreateProfileFragment method onCreateView.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(com.example.c4q.capstone.R.layout.fragment_create_profile, container, false);
// saveBtn = rootView.findViewById(R.id.create_profile_save_button);
ageGroup = rootView.findViewById(R.id.radio_group_age);
budgetGroup = rootView.findViewById(R.id.radio_group_budget);
radiusGroup = rootView.findViewById(R.id.radio_group_radius);
firstName = rootView.findViewById(R.id.edit_profile_firstname);
lastName = rootView.findViewById(R.id.edit_profile_lastname);
zipCode = rootView.findViewById(R.id.edit_profile_zip_code);
rootRef = FirebaseDatabase.getInstance().getReference();
publicUserReference = rootRef.child(PUBLIC_USER);
privateUserReference = rootRef.child(PRIVATE_USER);
privateUserLocationReference = rootRef.child(PRIVATE_USER);
userIconReference = rootRef.child(USER_ICON);
mAuth = FirebaseAuth.getInstance();
currentUser = mAuth.getCurrentUser();
currentUserID = currentUser.getUid();
currentUserEmail = currentUser.getEmail();
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
privateUser = dataSnapshot.child(currentUserID).getValue(PrivateUser.class);
privateUserLocation = dataSnapshot.child(currentUserID).getValue(PrivateUserLocation.class);
publicUser = dataSnapshot.child(currentUserID).getValue(PublicUser.class);
userIcon = dataSnapshot.child(currentUserID).getValue(UserIcon.class);
Log.d(TAG, "onDataChange: Added information to database: \n" + dataSnapshot.getValue());
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.w(TAG, "Failed to read value.", error.toException());
}
};
publicUserReference.addValueEventListener(valueEventListener);
privateUserReference.addValueEventListener(valueEventListener);
privateUserLocationReference.addValueEventListener(valueEventListener);
userIconReference.addValueEventListener(valueEventListener);
saveBtn = rootView.findViewById(R.id.create_profile_save_button);
radioGroupSelection();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if (currentUser != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" + currentUser.getUid());
// Toast.makeText(EditProfileActivity.this, "Successfully signed in with: " + currentUser.getEmail(), Toast.LENGTH_SHORT).show();
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
// Toast.makeText(EditProfileActivity.this, "Successfully signed out.", Toast.LENGTH_SHORT).show();
}
}
};
saveBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveToDatabase();
}
});
return rootView;
}
use of com.example.c4q.capstone.database.privateuserdata.PrivateUser in project Grupp by tmoronta1208.
the class CreateProfileFragment method saveToDatabase.
private void saveToDatabase() {
firstNameString = firstName.getText().toString().trim();
lastNameString = lastName.getText().toString().trim();
zipCodeString = zipCode.getText().toString();
if (!firstNameString.equals("") && !lastNameString.equals("") && !zipCodeString.equals("")) {
publicUser = new PublicUser(currentUserID, firstNameString, lastNameString, zipCodeString, budgetString, currentUserEmail, over18, over21, radius);
privateUser = new PrivateUser(firstNameString, lastNameString, over18, over21, radius);
privateUserLocation = new PrivateUserLocation(share_location, lat, lng);
userIcon = new UserIcon(iconUrl);
/**
* searchUserReference needs to be added at time of account creation
*/
publicUserReference.child(currentUserID).setValue(publicUser);
privateUserReference.child(currentUserID).setValue(privateUser);
userIconReference.child(currentUserID).setValue(userIcon);
privateUserLocationReference.child(currentUserID).child(PRIVATE_LOCATION).setValue(privateUserLocation);
// startActivity(new Intent(CreateProfileFragment.this.getActivity(), UserProfileActivity.class));
} else {
firstName.setError("Required");
lastName.setError("Required");
zipCode.setError("Required");
}
}
use of com.example.c4q.capstone.database.privateuserdata.PrivateUser in project Grupp by tmoronta1208.
the class CurrentUserUtility method getCurrentPrivateUser.
/**
* ajoxe:
* this method gets current private user (Private user object from db) user from the datatbase
*/
public void getCurrentPrivateUser() {
ValueEventListener privateUserListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (currentUserExists) {
PrivateUser user = dataSnapshot.child(currentUserID).getValue(PrivateUser.class);
if (user != null) {
userHasPrivateProfile = true;
Log.d(TAG, "getPrivateUser: user first name: " + user.getFirst_name());
currentUserListener.getPrivateUser(user);
} else {
userHasPrivateProfile = false;
}
Log.d(TAG, "getPrivateUser: user has private profile: " + userHasPrivateProfile);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Getting Post failed, log a message
Log.d(TAG, "loadPost:onCancelled", databaseError.toException());
// ...
}
};
privateUserReference.addListenerForSingleValueEvent(privateUserListener);
}
use of com.example.c4q.capstone.database.privateuserdata.PrivateUser in project Grupp by tmoronta1208.
the class EditProfileActivity method saveToDatabase.
private void saveToDatabase() {
firstNameString = firstName.getText().toString().trim();
lastNameString = lastName.getText().toString().trim();
zipCodeString = zipCode.getText().toString();
if (!firstNameString.equals("") && !lastNameString.equals("") && !zipCodeString.equals("")) {
publicUser = new PublicUser(currentUserID, firstNameString, lastNameString, zipCodeString, budgetString, currentUserEmail, over18, over21, radius);
privateUser = new PrivateUser(firstNameString, lastNameString, over18, over21, radius);
privateUserLocation = new PrivateUserLocation(share_location, lat, lng);
// will cause a nullPointerException, to be fixed
userIcon = new UserIcon(iconUrl);
/**
* searchUserReference needs to be added at time of account creation
*/
publicUserReference.child(currentUserID).setValue(publicUser);
privateUserReference.child(currentUserID).setValue(privateUser);
userIconReference.child(currentUserID).setValue(userIcon);
privateUserLocationReference.child(currentUserID).child(PRIVATE_LOCATION).setValue(privateUserLocation);
startActivity(new Intent(EditProfileActivity.this, UserProfileActivity.class));
} else {
firstName.setError("Required");
lastName.setError("Required");
zipCode.setError("Required");
}
}
use of com.example.c4q.capstone.database.privateuserdata.PrivateUser in project Grupp by tmoronta1208.
the class EditProfileActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_profile);
saveBtn = findViewById(R.id.edit_profile_save_button);
ageGroup = findViewById(R.id.radio_group_age);
budgetGroup = findViewById(R.id.radio_group_budget);
radiusGroup = findViewById(R.id.radio_group_radius);
firstName = findViewById(R.id.edit_profile_firstname);
lastName = findViewById(R.id.edit_profile_lastname);
zipCode = findViewById(R.id.edit_profile_zip_code);
mAuth = FirebaseAuth.getInstance();
rootRef = FirebaseDatabase.getInstance().getReference();
publicUserReference = rootRef.child(PUBLIC_USER);
privateUserReference = rootRef.child(PRIVATE_USER);
privateUserLocationReference = rootRef.child(PRIVATE_USER);
userIconReference = rootRef.child(USER_ICON);
currentUser = mAuth.getCurrentUser();
currentUserID = currentUser.getUid();
currentUserEmail = currentUser.getEmail();
radioGroupSelection();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if (currentUser != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" + currentUser.getUid());
// Toast.makeText(EditProfileActivity.this, "Successfully signed in with: " + currentUser.getEmail(), Toast.LENGTH_SHORT).show();
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
// Toast.makeText(EditProfileActivity.this, "Successfully signed out.", Toast.LENGTH_SHORT).show();
}
}
};
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
privateUser = dataSnapshot.child(currentUserID).getValue(PrivateUser.class);
privateUserLocation = dataSnapshot.child(currentUserID).getValue(PrivateUserLocation.class);
publicUser = dataSnapshot.child(currentUserID).getValue(PublicUser.class);
userIcon = dataSnapshot.child(currentUserID).getValue(UserIcon.class);
iconUrl = userIcon.getIcon_url();
Log.d(TAG, "onDataChange: Added information to database: \n" + dataSnapshot.getValue());
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.w(TAG, "Failed to read value.", error.toException());
}
};
publicUserReference.addValueEventListener(valueEventListener);
privateUserReference.addValueEventListener(valueEventListener);
privateUserLocationReference.addValueEventListener(valueEventListener);
userIconReference.addListenerForSingleValueEvent(valueEventListener);
saveBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveToDatabase();
}
});
// /////////////////////////////////////////
/**
* code below needs to be place in the launch of the app so the user can give location
* permission beforehand.
*/
LocationManager locationManager = (LocationManager) getSystemService(this.LOCATION_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[] { android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_COARSE_LOCATION }, 1020);
share_location = true;
return;
}
/* Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
lat = location.getLatitude();
lng = location.getLongitude();*/
}
Aggregations