From b352f7d2302df52305ed5ad67c1fb3e34bf5d3b1 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Mon, 19 Jan 2026 12:08:45 +0100 Subject: [PATCH] fix(local-file-list-adapter): navigation Signed-off-by: alperozturk96 --- .../android/ui/adapter/LocalFileListAdapter.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java index ddcf18e3f3da..676f911e6f49 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java +++ b/app/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java @@ -371,8 +371,6 @@ public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int public void swapDirectory(final File directory) { localFileListFragmentInterface.setLoading(true); currentOffset = 0; - mFiles.clear(); - mFilesAll.clear(); singleThreadExecutor.execute(() -> { // Load first page of folders @@ -398,8 +396,10 @@ public void swapDirectory(final File directory) { @SuppressLint("NotifyDataSetChanged") private void updateUIForFirstPage(List firstPage) { new Handler(Looper.getMainLooper()).post(() -> { - mFiles = new ArrayList<>(firstPage); - mFilesAll = new ArrayList<>(firstPage); + mFiles.clear(); + mFilesAll.clear(); + mFiles.addAll(firstPage); + mFilesAll.addAll(firstPage); notifyDataSetChanged(); localFileListFragmentInterface.setLoading(false); }); @@ -432,15 +432,16 @@ private void loadRemainingEntries(File directory, boolean fetchFolders) { private void notifyItemRange(List updatedList) { new Handler(Looper.getMainLooper()).post(() -> { - int from = mFiles.size(); - int to = updatedList.size(); + int headerOffset = shouldShowHeader() ? 1 : 0; + int startPositionInAdapter = mFiles.size() + headerOffset; + int itemCount = updatedList.size(); mFiles.addAll(updatedList); mFilesAll.addAll(updatedList); Log_OC.d(TAG, "notifyItemRange, item size: " + mFilesAll.size()); - notifyItemRangeInserted(from, to); + notifyItemRangeInserted(startPositionInAdapter, itemCount); }); }