Advertisement
Guest User

Untitled

a guest
Jan 19th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.63 KB | None | 0 0
  1. ////////////////////////WRITE
  2.  
  3. private void setDataCurrentUser(){
  4.         DatabaseReference db = FirebaseDatabase.getInstance().getReference();
  5.  
  6.         Query query = db.child(getString(R.string.db_Users))
  7.                 .orderByKey()
  8.                 .equalTo(FirebaseAuth.getInstance().getCurrentUser().getUid());
  9.  
  10.         query.addListenerForSingleValueEvent(new ValueEventListener() {
  11.             @Override
  12.             public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  13.                 for(DataSnapshot single : dataSnapshot.getChildren()){
  14.                     User user = single.getValue(User.class);
  15.                     Log.d(TAG, "Get user from database: " + user.getUid());
  16.                     //email.setText(auth.getCurrentUser().getEmail());
  17.                     name.setText(user.getName() + " " + user.getSurname());
  18.                     email.setText(auth.getCurrentUser().getEmail());
  19.                     setImage(user.getImage());
  20.                 }
  21.             }
  22.  
  23.             @Override
  24.             public void onCancelled(@NonNull DatabaseError databaseError) {
  25.  
  26.             }
  27.         });
  28.     }
  29.  
  30.     private void setImage(String url){
  31.         if(url != null && url.isEmpty() == false){
  32.             Picasso.get()
  33.                     .load(url)
  34.                     .into(avatar);
  35.             Log.d(TAG, "onSetImage: " + url);
  36.         }
  37.     }
  38. ,
  39.  
  40. //////////////////////////////SAVe
  41.  
  42.  
  43.       btnSave.setOnClickListener(new View.OnClickListener() {
  44.             @Override
  45.             public void onClick(View v) {
  46.                 if(successStatus){
  47.                     if(!name.getText().equals("") || !surname.getText().equals("")){
  48.                         FirebaseUtils.connectStorage();
  49.  
  50.                         progress.show();
  51.                         final StorageReference storageRef = FirebaseUtils.mStorageRef.child(imageUri.getLastPathSegment());
  52.                         storageRef.putFile(imageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
  53.                             @Override
  54.                             public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
  55.                                 Task<Uri> urlTask = taskSnapshot.getStorage().getDownloadUrl();
  56.                                 while (!urlTask.isSuccessful());
  57.                                 Uri downloadUrl = urlTask.getResult();
  58.  
  59.                                 url = downloadUrl.toString();
  60.                                 Log.d(TAG, "Image Url: " + url);
  61.                                 DatabaseReference db = FirebaseDatabase.getInstance().getReference();
  62.                                 db.child(getString(R.string.db_Users)).child(currentUser.getUid()).setValue(currentUser).addOnCompleteListener(new OnCompleteListener<Void>() {
  63.                                     @Override
  64.                                     public void onComplete(@NonNull Task<Void> task) {
  65.                                         Log.d(TAG, "onComplete: update current user");
  66.                                         DatabaseReference db = FirebaseDatabase.getInstance().getReference();
  67.                                         db.child(getString(R.string.db_Users)).child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("name").setValue(name.getText().toString());
  68.                                         db.child(getString(R.string.db_Users)).child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("surname").setValue(surname.getText().toString());
  69.                                         db.child(getString(R.string.db_Users)).child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("image").setValue(url);
  70.  
  71.                                         FirebaseAuth.getInstance().getCurrentUser().updateProfile(UpdateProfile()).addOnCompleteListener(new OnCompleteListener<Void>() {
  72.                                             @Override
  73.                                             public void onComplete(@NonNull Task<Void> task) {
  74.                                                 Log.d(TAG, "onComplete: Update Profile");
  75.                                                 try {
  76.                                                     String fileName = getResources().getString(R.string.account_settings);
  77.                                                     InputStream input = openFileInput(fileName);
  78.                                                     Properties properties = new Properties();
  79.                                                     properties.load(input);
  80.                                                     properties.setProperty(getResources().getString(R.string.name), name.getText().toString());
  81.                                                     properties.setProperty(getResources().getString(R.string.surname), surname.getText().toString());
  82.                                                     OutputStream out = openFileOutput(getResources().getString(R.string.account_settings), MODE_PRIVATE);
  83.                                                     properties.store(out, null);
  84.                                                     out.close();
  85.                                                     Log.d(TAG, "Added data to config.");
  86.                                                 } catch (FileNotFoundException e) {
  87.                                                     e.printStackTrace();
  88.                                                 } catch (IOException e) {
  89.                                                     e.printStackTrace();
  90.                                                 }
  91.                                                 progress.dismiss();
  92.                                                 Intent intent = new Intent(getApplicationContext(), MainActivity.class);
  93.                                                 startActivity(intent);
  94.                                                 finish();
  95.                                             }
  96.                                         });
  97.                                         Toast.makeText(getApplicationContext(), "Personal data is saved",Toast.LENGTH_LONG).show();
  98.                                     }
  99.                                 }).addOnFailureListener(new OnFailureListener() {
  100.                                     @Override
  101.                                     public void onFailure(@NonNull Exception e) {
  102.                                         progress.dismiss();
  103.                                         Log.e(TAG, "Cannot save data");
  104.                                         Toast.makeText(getApplicationContext(), "Cannot save data, please try again", Toast.LENGTH_LONG).show();
  105.                                     }
  106.                                 });
  107.                                 //progress.dismiss();
  108.                             }
  109.                         }).addOnFailureListener(new OnFailureListener() {
  110.                             @Override
  111.                             public void onFailure(@NonNull Exception e) {
  112.                                 progress.dismiss();
  113.                                 Log.e(TAG, "Error: ", e);
  114.                                 Toast.makeText(getApplicationContext(), "Cannot upload image, try again", Toast.LENGTH_LONG).show();
  115.                             }
  116.                         });
  117.                         //progress.dismiss();
  118.                     }
  119.                     else{
  120.                         Toast.makeText(getApplicationContext(), "Fill all fields, please.", Toast.LENGTH_LONG).show();
  121.                     }
  122.                 }
  123.                 else{
  124.                     Toast.makeText(getApplicationContext(), "Choose image to upload, please.", Toast.LENGTH_LONG).show();
  125.                 }
  126.             }
  127.         });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement