StorageReference storageRef = FirebaseStorage.getInstance().getReference();
StorageReference imageRef;
//AFter getting selected Image URI from Image Picker
imageRef = storageRef.child("images/" + selectedImage.getLastPathSegment());
lv.setVisibility(View.INVISIBLE);
progressBar.setVisibility(View.VISIBLE);
progressText.setVisibility(View.VISIBLE);
UploadTask uploadTask = imageRef.putFile(selectedImage);
Task < Uri > urlTask = uploadTask.continueWithTask(new Continuation < UploadTask.TaskSnapshot, Task < Uri >> () {
@Override
public Task < Uri > then(@NonNull Task < UploadTask.TaskSnapshot > task) throws Exception {
if (!task.isSuccessful()) {
throw task.getException();
}
return imageRef.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener < Uri > () {
@Override
public void onComplete(@NonNull Task < Uri > task) {
if (task.isSuccessful()) {
Uri downloadUri = task.getResult();
progressBar.setVisibility(View.INVISIBLE);
progressText.setVisibility(View.INVISIBLE);
lv.setVisibility(View.VISIBLE);
message.setImgRef(downloadUri.toString());
Toast.makeText(Main3Activity.this, "Upload Successful", Toast.LENGTH_SHORT).show();
mRootRef.child(message.getMsgId()).setValue(message);
pickImage.setImageURI(null);
pickImage.setBackgroundResource(R.drawable.addimage);
selectedImage = null;
} else {
Toast.makeText(Main3Activity.this, "Upload Failed", Toast.LENGTH_SHORT).show();
}
}
});
//Delete
Uri uri = Uri.parse(displayList.get(position).getImgRef());
StorageReference deleteRef = storageRef.child(uri.getLastPathSegment());
//String s = deleteRef.toString();
deleteRef.delete().addOnSuccessListener(new OnSuccessListener < Void > () {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(Main3Activity.this, "Delete Successful", Toast.LENGTH_SHORT).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
Log.d("demo", exception.toString());
}
});