Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.56 KB | None | 0 0
  1. package com.example.aspireone.myapplication;
  2.  
  3. import android.Manifest;
  4. import android.content.Intent;
  5. import android.content.pm.PackageManager;
  6. import android.net.Uri;
  7. import android.os.Build;
  8. import android.support.annotation.NonNull;
  9. import android.support.v4.app.ActivityCompat;
  10. import android.support.v4.content.ContextCompat;
  11. import android.support.v7.app.AppCompatActivity;
  12. import android.os.Bundle;
  13. import android.text.TextUtils;
  14. import android.view.View;
  15. import android.widget.Button;
  16. import android.widget.EditText;
  17. import android.widget.ProgressBar;
  18. import android.widget.TextView;
  19. import android.widget.Toast;
  20.  
  21. import com.google.android.gms.tasks.OnCompleteListener;
  22. import com.google.android.gms.tasks.OnFailureListener;
  23. import com.google.android.gms.tasks.OnSuccessListener;
  24. import com.google.android.gms.tasks.Task;
  25. import com.google.firebase.auth.AuthResult;
  26. import com.google.firebase.auth.FirebaseAuth;
  27. import com.google.firebase.firestore.FieldValue;
  28. import com.google.firebase.firestore.FirebaseFirestore;
  29. import com.google.firebase.storage.FirebaseStorage;
  30. import com.google.firebase.storage.StorageReference;
  31. import com.google.firebase.storage.UploadTask;
  32. import com.theartofdev.edmodo.cropper.CropImage;
  33. import com.theartofdev.edmodo.cropper.CropImageView;
  34.  
  35. import java.util.HashMap;
  36. import java.util.Map;
  37. import java.util.Objects;
  38.  
  39. import de.hdodenhof.circleimageview.CircleImageView;
  40.  
  41.  
  42. public class Register extends AppCompatActivity {
  43.  
  44. private Button button_register;
  45. private EditText nickName_register;
  46.  
  47. private FirebaseAuth mAuth;
  48. private FirebaseFirestore firestore;
  49.  
  50. private CircleImageView registerImage;
  51. private Uri mainImageUri = null; // android.net
  52.  
  53. private StorageReference storageReference;
  54.  
  55.  
  56. @Override
  57. protected void onCreate(Bundle savedInstanceState) {
  58. super.onCreate(savedInstanceState);
  59. setContentView(R.layout.activity_design);
  60.  
  61. button_register = (Button) findViewById(R.id.button_register);
  62.  
  63. nickName_register = (EditText) findViewById(R.id.nickName_register);
  64.  
  65. registerImage = (CircleImageView) findViewById(R.id.circleImage_register);
  66.  
  67. mAuth = FirebaseAuth.getInstance();
  68. firestore = FirebaseFirestore.getInstance();
  69. storageReference = FirebaseStorage.getInstance().getReference();
  70.  
  71. registerImage.setOnClickListener(new View.OnClickListener() {
  72. @Override
  73. public void onClick(View v) {
  74.  
  75. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
  76.  
  77. if (ContextCompat.checkSelfPermission(Register.this, android.Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
  78.  
  79. ActivityCompat.requestPermissions(Register.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
  80.  
  81. } else {
  82.  
  83. imagePicker();
  84.  
  85. }
  86.  
  87. } else {
  88. imagePicker();
  89. }
  90.  
  91. }
  92. });
  93.  
  94. newRegister();
  95. }
  96.  
  97. public void imagePicker() {
  98.  
  99. CropImage.activity()
  100. .setGuidelines(CropImageView.Guidelines.ON)
  101. .setAspectRatio(1, 1)
  102. .start(Register.this);
  103.  
  104. }
  105.  
  106. @Override
  107. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  108. super.onActivityResult(requestCode, resultCode, data);
  109.  
  110. if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
  111.  
  112. CropImage.ActivityResult result = CropImage.getActivityResult(data);
  113. if (resultCode == RESULT_OK) {
  114.  
  115. mainImageUri = result.getUri();
  116.  
  117. registerImage.setImageURI(mainImageUri);
  118.  
  119. } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
  120. Exception error = result.getError();
  121. }
  122.  
  123. }
  124.  
  125. }
  126.  
  127.  
  128. public void newRegister() {
  129.  
  130. button_register.setOnClickListener(new View.OnClickListener() {
  131. @Override
  132. public void onClick(View v) {
  133.  
  134. String nickName = nickName_register.getText().toString();
  135. if (!TextUtils.isEmpty(nickName)) {
  136. if (mainImageUri != null) {
  137.  
  138. if (mAuth.getCurrentUser() != null) {
  139. final String currentUserId = mAuth.getCurrentUser().getUid();
  140.  
  141. final StorageReference image_path = storageReference.child("profile_image").child(currentUserId + ".jpg");
  142. image_path.putFile(mainImageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
  143. @Override
  144. public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
  145.  
  146. image_path.getDownloadUrl().addOnCompleteListener(new OnCompleteListener<Uri>() {
  147. @Override
  148. public void onComplete(@NonNull Task<Uri> task) {
  149.  
  150. if (task.getResult() != null) {
  151.  
  152. String download_uri = task.getResult().toString();
  153.  
  154. Map<String, Object> value = new HashMap<>();
  155.  
  156. value.put("photo", download_uri);
  157. value.put("name", nickName);
  158. value.put("timestamp", FieldValue.serverTimestamp());
  159.  
  160. // SET TO FIRESTORE
  161. firestore.collection("Photos").add(value).addOnCompleteListener(new OnCompleteListener<Void>() {
  162. @Override
  163. public void onComplete(@NonNull Task<Void> task) {
  164.  
  165. if (task.isSuccessful()) {
  166.  
  167. Toast.makeText(Input.this, "Input Berhasil", Toast.LENGTH_LONG).show();
  168. }
  169.  
  170. }
  171. });
  172. }
  173.  
  174. }
  175. });
  176. }
  177. }).addOnFailureListener(new OnFailureListener() {
  178. @Override
  179. public void onFailure(@NonNull Exception e) {
  180. Toast.makeText(Input.this, "Message !" + e.getMessage(), Toast.LENGTH_SHORT).show();
  181. }
  182. });
  183.  
  184.  
  185. } else {
  186. Toast.makeText(Input.this, "silahkan login ", Toast.LENGTH_LONG).show();
  187. }
  188.  
  189. }
  190. }
  191. }
  192. });
  193. }
  194.  
  195. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement