SHARE
TWEET

Untitled

a guest Jun 25th, 2019 57 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top