Attempt to invoke virtual method 'java.lang.String android.net.Uri.getLastPathSegment()' on a null object reference ((FireBase))
Всем добрый день, был написан некий код для работы с Firebase ( DataBase\Storage), он отлично работает на Android 9 и 10, однако как только я пытаюсь протестировать его на Android 7, мы получаем ошибку: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getLastPathSegment()' on a null object reference
Сам код где произошла ошибка:
StorageReference mStorage = FirebaseStorage.getInstance().getReference().child("users_photos");
final StorageReference imageFilePath = mStorage.child(pickedImgUri.getLastPathSegment()); // Контретно эта строка
Код всей функции:
private void updateUserInfo(final String name, Uri pickedImgUri, final FirebaseUser currentUser) {
// first we need to upload user photo to firebase storage and get url
StorageReference mStorage = FirebaseStorage.getInstance().getReference().child("users_photos");
final StorageReference imageFilePath = mStorage.child(pickedImgUri.getLastPathSegment());
imageFilePath.putFile(pickedImgUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// image uploaded succesfully
// now we can get our image url
imageFilePath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
// uri contain user image url
UserProfileChangeRequest profleUpdate = new UserProfileChangeRequest.Builder()
.setDisplayName(name)
.setPhotoUri(uri)
.build();
currentUser.updateProfile(profleUpdate)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
// user info updated successfully
showMessage("Регистрация завершена");
updateUI();
}
}
});
}
});
}
});
}
Прошу знающих помочь с решением данной ситуации, спасибо.