Skip to content

Commit 54db5d4

Browse files
committed
wip
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
1 parent 9ded2fe commit 54db5d4

1 file changed

Lines changed: 26 additions & 7 deletions

File tree

app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/*
22
* Nextcloud - Android Client
33
*
4+
* SPDX-FileCopyrightText: 2026 Alper Ozturk <alper.ozturk@nextcloud.com>
45
* SPDX-FileCopyrightText: 2026 Philipp Hasper <vcs@hasper.info>
56
* SPDX-FileCopyrightText: 2023 TSI-mc
67
* SPDX-FileCopyrightText: 2018-2023 Tobias Kaminsky <tobias@kaminsky.me>
@@ -63,6 +64,7 @@
6364
import com.nextcloud.utils.extensions.OCFileExtensionsKt;
6465
import com.nextcloud.utils.extensions.ViewExtensionsKt;
6566
import com.nextcloud.utils.fileNameValidator.FileNameValidator;
67+
import com.nextcloud.utils.thumbnail.ThumbnailGenerator;
6668
import com.nextcloud.utils.view.FastScrollUtils;
6769
import com.owncloud.android.MainApp;
6870
import com.owncloud.android.R;
@@ -121,7 +123,7 @@
121123
import com.owncloud.android.utils.FileStorageUtils;
122124
import com.owncloud.android.utils.MimeTypeUtil;
123125
import com.owncloud.android.utils.PermissionUtil;
124-
import com.nextcloud.utils.thumbnail.ThumbnailGenerator;
126+
import com.owncloud.android.utils.WebViewUtil;
125127
import com.owncloud.android.utils.theme.ThemeUtils;
126128

127129
import org.apache.commons.httpclient.HttpStatus;
@@ -1220,26 +1222,43 @@ private boolean canPreviewInVirtualFolderPager(OCFile file) {
12201222
return virtualFolderSearch && MimeTypeUtil.isVideo(file);
12211223
}
12221224

1225+
private boolean supportsDirectEditing(OCFile file, boolean webViewAvailable) {
1226+
if (!webViewAvailable) {
1227+
return false;
1228+
}
1229+
1230+
final var account = accountManager.getUser();
1231+
if (account.isAnonymous()) {
1232+
return false;
1233+
}
1234+
1235+
final var capability =
1236+
mContainerActivity.getStorageManager().getCapability(account.getAccountName());
1237+
1238+
final var mimeTypes = capability.getRichDocumentsMimeTypeList();
1239+
return mimeTypes != null
1240+
&& mimeTypes.contains(file.getMimeType())
1241+
&& capability.getRichDocumentsDirectEditing().isTrue()
1242+
&& !file.isEncrypted();
1243+
}
1244+
12231245
private void handlePendingDownloadFile(OCFile file) {
12241246
if (!isAccountManagerInitialized()) {
12251247
Log_OC.e(TAG, "AccountManager not yet initialized");
12261248
return;
12271249
}
12281250

1229-
User account = accountManager.getUser();
1230-
OCCapability capability = mContainerActivity.getStorageManager().getCapability(account.getAccountName());
1251+
boolean webViewAvailable = WebViewUtil.available(getContext());
12311252

12321253
if (MimeTypeUtil.isVideo(file) && !file.isEncrypted() && mContainerActivity instanceof FileDisplayActivity fda) {
12331254
setFabVisible(false);
12341255
fda.startImagePreview(file, true, null);
12351256
} else if (PreviewMediaActivity.Companion.canBePreviewed(file) && !file.isEncrypted() && mContainerActivity instanceof FileDisplayActivity fda) {
12361257
setFabVisible(false);
12371258
fda.startMediaPreview(file, 0, true, true, true, true);
1238-
} else if (editorUtils.getEditor(accountManager.getUser(), file.getMimeType()) != null && !file.isEncrypted()) {
1259+
} else if (webViewAvailable && editorUtils.getEditor(accountManager.getUser(), file.getMimeType()) != null && !file.isEncrypted()) {
12391260
TextEditorWebView.Companion.startTextEditor(file, getContext());
1240-
} else if (capability.getRichDocumentsMimeTypeList() != null &&
1241-
capability.getRichDocumentsMimeTypeList().contains(file.getMimeType()) &&
1242-
capability.getRichDocumentsDirectEditing().isTrue() && !file.isEncrypted()) {
1261+
} else if (supportsDirectEditing(file, webViewAvailable)) {
12431262
mContainerActivity.getFileOperationsHelper().openFileAsRichDocument(file, getContext());
12441263
} else if (mContainerActivity instanceof FileDisplayActivity fda) {
12451264
fda.startDownloadForPreview(file, mFile);

0 commit comments

Comments
 (0)