From f91de28421735ff9e679d16992bf541eaa28dccf Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Mon, 26 Jun 2023 11:03:49 +0200 Subject: [PATCH 1/2] Correctly update file after sharing Signed-off-by: tobiasKaminsky --- .../com/owncloud/android/ui/activity/FileActivity.java | 2 +- .../owncloud/android/ui/adapter/OCFileListAdapter.java | 8 ++++++++ .../owncloud/android/ui/fragment/OCFileListFragment.java | 6 ------ 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java index fa8e6c84b9a4..1875b7063278 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java @@ -813,7 +813,7 @@ private void onCreateShareViaLinkOperationFinish(CreateShareViaLinkOperation ope } if (fileListFragment instanceof OCFileListFragment && file != null) { - ((OCFileListFragment) fileListFragment).updateOCFile(file); + ((OCFileListFragment) fileListFragment).getAdapter().replaceFile(file); } } else { // Detect Failure (403) --> maybe needs password diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java index a74ce369a325..c2adb61c1d35 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java +++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java @@ -830,6 +830,14 @@ public void setData(List objects, new Handler(Looper.getMainLooper()).post(this::notifyDataSetChanged); } + @SuppressLint("NotifyDataSetChanged") + public void replaceFile(OCFile file) { + mFiles.remove(file); + mFiles.add(file); + mFiles = sortOrder.sortCloudFiles(mFiles); + notifyDataSetChanged(); + } + private void parseShares(List objects) { List shares = new ArrayList<>(); diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java index 3af6eb035c0a..a69f02194b68 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java +++ b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java @@ -1366,12 +1366,6 @@ public void listDirectory(OCFile directory, OCFile file, boolean onlyOnDevice, b } } - public void updateOCFile(OCFile file) { - List mFiles = mAdapter.getFiles(); - mFiles.set(mFiles.indexOf(file), file); - mAdapter.notifyItemChanged(file); - } - private void updateLayout() { // decide grid vs list view if (isGridViewPreferred(mFile)) { From 3e5d887a8f362cf64fe57fdbb39fdc85bf1ff6fa Mon Sep 17 00:00:00 2001 From: Tobias Kaminsky Date: Mon, 20 Nov 2023 09:03:30 +0100 Subject: [PATCH 2/2] Update app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java Co-authored-by: Tom <70907959+ZetaTom@users.noreply.github.com> Signed-off-by: Tobias Kaminsky Signed-off-by: tobiasKaminsky --- .../com/owncloud/android/ui/adapter/OCFileListAdapter.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java index c2adb61c1d35..3d00a61942cf 100644 --- a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java +++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java @@ -830,12 +830,9 @@ public void setData(List objects, new Handler(Looper.getMainLooper()).post(this::notifyDataSetChanged); } - @SuppressLint("NotifyDataSetChanged") public void replaceFile(OCFile file) { - mFiles.remove(file); - mFiles.add(file); - mFiles = sortOrder.sortCloudFiles(mFiles); - notifyDataSetChanged(); + mFiles.set(mFiles.indexOf(file), file); + notifyItemChanged(file); } private void parseShares(List objects) {