I get the error when I compile the app. It says that
task.getResult().getDownloadUrl().toString() cannot find the symbol
filePath.putFile(fileUri).addOnCompleteListener(task -> {
if (task.isSuccessful()){
Map messageTextBody = new HashMap();
messageTextBody.put("message", task.getResult().getDownloadUrl().toString());
messageTextBody.put("name", fileUri.getLastPathSegment());
messageTextBody.put("type", checker);
messageTextBody.put("from", messageSenderID);
messageTextBody.put("to", messageReceiverID);
messageTextBody.put("messageID", messagePushID);
messageTextBody.put("time", saveCurrentTime);
messageTextBody.put("date", saveCurrentDate);
Map messageBodyDetails = new HashMap();
messageBodyDetails.put(messageSenderRef + "/" + messagePushID, messageTextBody);
messageBodyDetails.put(messageReceiverRef + "/" + messagePushID, messageTextBody);
RootRef.updateChildren(messageBodyDetails);
loadingBar.dismiss();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
loadingBar.dismiss();
Toast.makeText(ChatActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double p = (100.0*taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
loadingBar.setMessage((int) p + " % Uploading...");
}
});
What I have tried:
tried to use this code
filePath.putFile(fileUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
filePath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
String downloadUrl = uri.toString();
Map messageImageBody = new HashMap();
messageImageBody.put("message", taskSnapshot.getStorage().getDownloadUrl());
messageImageBody.put("name",fileUri.getLastPathSegment());
messageImageBody.put("type",checker);
messageImageBody.put("from",messageSenderID);
messageImageBody.put("to", messageReceiverID);
messageImageBody.put("messageID", messagePushID);
messageImageBody.put("time", saveCurrentTime);
messageImageBody.put("date", saveCurrentDate);
Map messageBodyDetail = new HashMap();
messageBodyDetail.put(messageSenderRef+ "/" + messagePushID, messageImageBody);
messageBodyDetail.put(messageReceiverRef+ "/" + messagePushID, messageImageBody);
RootRef.updateChildren(messageBodyDetail);
loadingBar.dismiss();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
loadingBar.dismiss();
Toast.makeText(ChatActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double p = (100.0* taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
loadingBar.setMessage((int) p + " % Uploading...");
}
});
but the app gets crash on clicking on the file here is the app source code link
Chat