@Override
    public void onViewCreated(final View view, @Nullable final Bundle savedState) {

        imageHelper = new ImageActivityHelper(this.getActivity(), (r, imgs, uk) -> {
            final List<Image> imagesToAdd = CollectionStream.of(imgs).map(img -> ImageUtils.toLocalLogImage(geocode, img).buildUpon().setTargetScale(getFastImageAutoScale()).build()).toList();
            imageList.addItems(imagesToAdd);
        });
        imageList = new ImageListAdapter(view.findViewById(R.id.image_list));

        this.binding.imageAddMulti.setOnClickListener(v ->
                imageHelper.getMultipleImagesFromStorage(geocode, false, null, null));
        this.binding.imageAddCamera.setOnClickListener(v ->
                imageHelper.getImageFromCamera(geocode, false, null));
        this.binding.imageAddOwn.setOnClickListener(v ->
                imageHelper.getMultipleImagesFromStorage(geocode, false, null, ownImageFolderUri));

        if (savedState != null) {
            imageList.setItems(savedState.getParcelableArrayList(SAVED_STATE_IMAGELIST));
            imageHelper.setState(savedState.getBundle(SAVED_STATE_IMAGEHELPER));
        }
    }
adjusts image persistent state to what is actually in the list
main/src/main/java/cgeo/geocaching/ui/ImageListFragment.java