Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.aspireone.myapplication;
- import android.Manifest;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.net.Uri;
- import android.os.Build;
- import android.support.annotation.NonNull;
- import android.support.v4.app.ActivityCompat;
- import android.support.v4.content.ContextCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.text.TextUtils;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.OnFailureListener;
- import com.google.android.gms.tasks.OnSuccessListener;
- import com.google.android.gms.tasks.Task;
- import com.google.firebase.auth.AuthResult;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.firestore.FieldValue;
- import com.google.firebase.firestore.FirebaseFirestore;
- import com.google.firebase.storage.FirebaseStorage;
- import com.google.firebase.storage.StorageReference;
- import com.google.firebase.storage.UploadTask;
- import com.theartofdev.edmodo.cropper.CropImage;
- import com.theartofdev.edmodo.cropper.CropImageView;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Objects;
- import de.hdodenhof.circleimageview.CircleImageView;
- public class Register extends AppCompatActivity {
- private Button button_register;
- private EditText nickName_register;
- private FirebaseAuth mAuth;
- private FirebaseFirestore firestore;
- private CircleImageView registerImage;
- private Uri mainImageUri = null; // android.net
- private StorageReference storageReference;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_design);
- button_register = (Button) findViewById(R.id.button_register);
- nickName_register = (EditText) findViewById(R.id.nickName_register);
- registerImage = (CircleImageView) findViewById(R.id.circleImage_register);
- mAuth = FirebaseAuth.getInstance();
- firestore = FirebaseFirestore.getInstance();
- storageReference = FirebaseStorage.getInstance().getReference();
- registerImage.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- if (ContextCompat.checkSelfPermission(Register.this, android.Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
- ActivityCompat.requestPermissions(Register.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
- } else {
- imagePicker();
- }
- } else {
- imagePicker();
- }
- }
- });
- newRegister();
- }
- public void imagePicker() {
- CropImage.activity()
- .setGuidelines(CropImageView.Guidelines.ON)
- .setAspectRatio(1, 1)
- .start(Register.this);
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
- CropImage.ActivityResult result = CropImage.getActivityResult(data);
- if (resultCode == RESULT_OK) {
- mainImageUri = result.getUri();
- registerImage.setImageURI(mainImageUri);
- } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
- Exception error = result.getError();
- }
- }
- }
- public void newRegister() {
- button_register.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String nickName = nickName_register.getText().toString();
- if (!TextUtils.isEmpty(nickName)) {
- if (mainImageUri != null) {
- if (mAuth.getCurrentUser() != null) {
- final String currentUserId = mAuth.getCurrentUser().getUid();
- final StorageReference image_path = storageReference.child("profile_image").child(currentUserId + ".jpg");
- image_path.putFile(mainImageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
- @Override
- public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
- image_path.getDownloadUrl().addOnCompleteListener(new OnCompleteListener<Uri>() {
- @Override
- public void onComplete(@NonNull Task<Uri> task) {
- if (task.getResult() != null) {
- String download_uri = task.getResult().toString();
- Map<String, Object> value = new HashMap<>();
- value.put("photo", download_uri);
- value.put("name", nickName);
- value.put("timestamp", FieldValue.serverTimestamp());
- // SET TO FIRESTORE
- firestore.collection("Photos").add(value).addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(@NonNull Task<Void> task) {
- if (task.isSuccessful()) {
- Toast.makeText(Input.this, "Input Berhasil", Toast.LENGTH_LONG).show();
- }
- }
- });
- }
- }
- });
- }
- }).addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(@NonNull Exception e) {
- Toast.makeText(Input.this, "Message !" + e.getMessage(), Toast.LENGTH_SHORT).show();
- }
- });
- } else {
- Toast.makeText(Input.this, "silahkan login ", Toast.LENGTH_LONG).show();
- }
- }
- }
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement