Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////////////////////////WRITE
- private void setDataCurrentUser(){
- DatabaseReference db = FirebaseDatabase.getInstance().getReference();
- Query query = db.child(getString(R.string.db_Users))
- .orderByKey()
- .equalTo(FirebaseAuth.getInstance().getCurrentUser().getUid());
- query.addListenerForSingleValueEvent(new ValueEventListener() {
- @Override
- public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
- for(DataSnapshot single : dataSnapshot.getChildren()){
- User user = single.getValue(User.class);
- Log.d(TAG, "Get user from database: " + user.getUid());
- //email.setText(auth.getCurrentUser().getEmail());
- name.setText(user.getName() + " " + user.getSurname());
- email.setText(auth.getCurrentUser().getEmail());
- setImage(user.getImage());
- }
- }
- @Override
- public void onCancelled(@NonNull DatabaseError databaseError) {
- }
- });
- }
- private void setImage(String url){
- if(url != null && url.isEmpty() == false){
- Picasso.get()
- .load(url)
- .into(avatar);
- Log.d(TAG, "onSetImage: " + url);
- }
- }
- ,
- //////////////////////////////SAVe
- btnSave.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if(successStatus){
- if(!name.getText().equals("") || !surname.getText().equals("")){
- FirebaseUtils.connectStorage();
- progress.show();
- final StorageReference storageRef = FirebaseUtils.mStorageRef.child(imageUri.getLastPathSegment());
- storageRef.putFile(imageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
- @Override
- public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
- Task<Uri> urlTask = taskSnapshot.getStorage().getDownloadUrl();
- while (!urlTask.isSuccessful());
- Uri downloadUrl = urlTask.getResult();
- url = downloadUrl.toString();
- Log.d(TAG, "Image Url: " + url);
- DatabaseReference db = FirebaseDatabase.getInstance().getReference();
- db.child(getString(R.string.db_Users)).child(currentUser.getUid()).setValue(currentUser).addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(@NonNull Task<Void> task) {
- Log.d(TAG, "onComplete: update current user");
- DatabaseReference db = FirebaseDatabase.getInstance().getReference();
- db.child(getString(R.string.db_Users)).child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("name").setValue(name.getText().toString());
- db.child(getString(R.string.db_Users)).child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("surname").setValue(surname.getText().toString());
- db.child(getString(R.string.db_Users)).child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("image").setValue(url);
- FirebaseAuth.getInstance().getCurrentUser().updateProfile(UpdateProfile()).addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(@NonNull Task<Void> task) {
- Log.d(TAG, "onComplete: Update Profile");
- try {
- String fileName = getResources().getString(R.string.account_settings);
- InputStream input = openFileInput(fileName);
- Properties properties = new Properties();
- properties.load(input);
- properties.setProperty(getResources().getString(R.string.name), name.getText().toString());
- properties.setProperty(getResources().getString(R.string.surname), surname.getText().toString());
- OutputStream out = openFileOutput(getResources().getString(R.string.account_settings), MODE_PRIVATE);
- properties.store(out, null);
- out.close();
- Log.d(TAG, "Added data to config.");
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- progress.dismiss();
- Intent intent = new Intent(getApplicationContext(), MainActivity.class);
- startActivity(intent);
- finish();
- }
- });
- Toast.makeText(getApplicationContext(), "Personal data is saved",Toast.LENGTH_LONG).show();
- }
- }).addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(@NonNull Exception e) {
- progress.dismiss();
- Log.e(TAG, "Cannot save data");
- Toast.makeText(getApplicationContext(), "Cannot save data, please try again", Toast.LENGTH_LONG).show();
- }
- });
- //progress.dismiss();
- }
- }).addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(@NonNull Exception e) {
- progress.dismiss();
- Log.e(TAG, "Error: ", e);
- Toast.makeText(getApplicationContext(), "Cannot upload image, try again", Toast.LENGTH_LONG).show();
- }
- });
- //progress.dismiss();
- }
- else{
- Toast.makeText(getApplicationContext(), "Fill all fields, please.", Toast.LENGTH_LONG).show();
- }
- }
- else{
- Toast.makeText(getApplicationContext(), "Choose image to upload, please.", Toast.LENGTH_LONG).show();
- }
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement