Guest User

Untitled

a guest
Dec 13th, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.98 KB | None | 0 0
  1. public class ProfileEditInfo extends AppCompatActivity {
  2. private EditText newUserName, newUserEmail, newUserPhone;
  3. private Button save;
  4. private DatabaseReference databaseReference;
  5. private FirebaseAuth firebaseAuth;
  6. private FirebaseDatabase firebaseDatabase;
  7. private ImageView updateProfilePic;
  8. private static int PICK_IMAGE = 123;
  9. Uri imagePath;
  10. private StorageReference storageReference;
  11. private FirebaseStorage firebaseStorage;
  12.  
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activity_profile_edit_info);
  17. updateProfilePic = findViewById(R.id.ivProfileUpdate);
  18. newUserName = findViewById(R.id.etNameUpdate);
  19. newUserEmail = findViewById(R.id.etEmailUpdate);
  20. newUserPhone = findViewById(R.id.etPhoneUpdate);
  21. save = findViewById(R.id.btnSave);
  22. databaseReference= FirebaseDatabase.getInstance().getReference("users");
  23. getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  24. firebaseAuth = FirebaseAuth.getInstance();
  25. firebaseDatabase = FirebaseDatabase.getInstance();
  26. String userID = firebaseAuth.getUid();
  27. firebaseStorage = FirebaseStorage.getInstance();
  28.  
  29. storageReference = FirebaseStorage.getInstance().getReference();
  30.  
  31. final StorageReference storageReference = firebaseStorage.getReference();
  32. storageReference.child("images").child(firebaseAuth.getUid() + "." + "jpg").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
  33. @Override
  34. public void onSuccess(Uri uri) {
  35. Picasso.get().load(uri).fit().centerCrop().into(updateProfilePic);
  36. }
  37. });
  38.  
  39. // final DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("users").child(userID);
  40. databaseReference.child(userID).addListenerForSingleValueEvent(new ValueEventListener()
  41. {
  42. @Override
  43. public void onDataChange(DataSnapshot dataSnapshot) {
  44. Users userProfile = dataSnapshot.getValue(Users.class);
  45.  
  46. newUserName.setText(userProfile.getName());
  47. newUserPhone.setText(userProfile.getPhone());
  48. newUserEmail.setText(userProfile.getEmail());
  49. }
  50.  
  51. @Override
  52. public void onCancelled(@NonNull DatabaseError databaseError) {
  53. Toast.makeText(ProfileEditInfo.this, databaseError.getCode(), Toast.LENGTH_SHORT).show();
  54. }
  55.  
  56. });
  57.  
  58.  
  59.  
  60. save.setOnClickListener(new View.OnClickListener() {
  61.  
  62. @Override
  63.  
  64. public void onClick(View view) {
  65.  
  66. String name = newUserName.getText().toString();
  67. String phone = newUserPhone.getText().toString();
  68. String email = newUserEmail.getText().toString();
  69. // Users userProfile = new Users(name, phone, email);
  70. // databaseReference.setValue(userProfile);
  71.  
  72.  
  73.  
  74.  
  75. String id = firebaseAuth.getCurrentUser().getUid();
  76. Users user = new Users(id,name, email, phone);
  77. databaseReference.child(id).setValue(user);
  78.  
  79. StorageReference imageReference = storageReference.child("images").child(firebaseAuth.getUid() + "." + "jpg"); //User id/Images/Profile Pic.jpg
  80. UploadTask uploadTask = imageReference.putFile(imagePath);
  81.  
  82. uploadTask.addOnFailureListener(new OnFailureListener() {
  83. public void onFailure(@NonNull Exception e) {
  84. Toast.makeText(ProfileEditInfo.this, "Upload failed!", Toast.LENGTH_SHORT).show();
  85. startActivity(new Intent(ProfileEditInfo.this, DisplayProfile.class));
  86. finish();
  87. }
  88.  
  89. }).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
  90. @Override
  91. public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
  92. Toast.makeText(ProfileEditInfo.this, "Upload successful!", Toast.LENGTH_SHORT).show();
  93. startActivity(new Intent(ProfileEditInfo.this, DisplayProfile.class));
  94. finish();
  95.  
  96. }
  97.  
  98. });
  99.  
  100. finish();
  101. }
  102. });
  103.  
  104. updateProfilePic.setOnClickListener(new View.OnClickListener() {
  105.  
  106. @Override
  107.  
  108. public void onClick(View view) {
  109. Intent intent = new Intent();
  110. intent.setType("image/*");
  111. intent.setAction(Intent.ACTION_GET_CONTENT);
  112. startActivityForResult(Intent.createChooser(intent, "Select Image"), PICK_IMAGE);
  113.  
  114. }
  115.  
  116. });
  117.  
  118.  
  119. }
  120.  
  121. @Override
  122.  
  123. protected void onActivityResult(int requestCode, int resultCode, Intent data)
  124. {
  125. if (requestCode == PICK_IMAGE && resultCode == RESULT_OK && data.getData() != null) {
  126. imagePath = data.getData();
  127. try {
  128. Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), imagePath);
  129. updateProfilePic.setImageBitmap(bitmap);
  130. } catch (IOException e) {
  131. e.printStackTrace();
  132. }
  133.  
  134. }
  135. super.onActivityResult(requestCode, resultCode, data);
  136. }
  137. }
  138.  
  139. package com.example.deepak.myapplication;
  140.  
  141. public class Users {
  142. public String imageUrl;
  143. public String imageName;
  144. public String uid;
  145. public String name;
  146. public String email;
  147. public String password;
  148. public String phone;
  149.  
  150. public Users(){}
  151.  
  152. public Users(String id, String name, String phone, String email){}
  153. public Users(String uid, String name, String email, String password, String phone) {
  154. this.uid = uid;
  155. this.name = name;
  156. this.email = email;
  157. this.password = password;
  158. this.phone = phone;
  159. }
  160.  
  161. public String getUid() {
  162. return uid;
  163. }
  164.  
  165. public void setUid(String uid) {
  166. this.uid = uid;
  167. }
  168.  
  169. public String getName() {
  170. return name;
  171. }
  172.  
  173. public void setName(String name) {
  174. this.name = name;
  175. }
  176.  
  177. public String getEmail() {
  178. return email;
  179. }
  180.  
  181. public void setEmail(String email) {
  182. this.email = email;
  183. }
  184.  
  185. public String getPassword() {
  186. return password;
  187. }
  188.  
  189. public void setPassword(String password) {
  190. this.password = password;
  191. }
  192.  
  193. public String getPhone() {
  194. return phone;
  195. }
  196. public void setPhone(String phone) {
  197. this.phone = phone;
  198. }
  199. }
Add Comment
Please, Sign In to add comment