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();
                                    }

                                }
                            });
                }
            });
        }
    });
}

Прошу знающих помочь с решением данной ситуации, спасибо.


Ответы (0 шт):