public void copyAllAsynchronousWithGui(final Activity activity, final Folder source, final Folder target, final boolean move, final Consumer<FolderProcessResult> callback) {
        FolderProcessTask.process(
                activity,
                activity.getString(move ? R.string.folder_move_progressbar_title : R.string.folder_copy_progressbar_title, source.toUserDisplayableString(), target.toUserDisplayableString()),
                ci -> copyAll(source, target, move, null, ci),
                folderProcessResult -> displayCopyAllDoneDialog(activity, folderProcessResult, source, target, move, callback)
        );
    }
Like {@link #copyAll(Folder, Folder, boolean)}, but performs the copy process asynchronously
and provides a GUI for it (progress bar and final screen with copy result)

@param activity activity to display copy Gui to
@param source   source folder with content to copy
@param target   target folder to copy content to
@param move     if true, content is MOVED (e.g. sdeleted in source)
@param callback called after copying was done with copy result
main/src/main/java/cgeo/geocaching/storage/FolderUtils.java