diff --git a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java index f2605bc9a274bc29b018dbf3f67d6f7cb8a1b257..1e8c20399a2c67348f8931e324d0d9adb5042c4a 100644 --- a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java @@ -607,7 +607,7 @@ public class FileBackend { } try { - if (file.exists() && file.toString().startsWith(mXmppConnectionService.getCacheDir().toString())) { + if (file.exists() && file.toString().startsWith(mXmppConnectionService.getCacheDir().toString()) && Build.VERSION.SDK_INT >= 26) { java.nio.file.Files.setAttribute(file.toPath(), "lastAccessTime", java.nio.file.attribute.FileTime.fromMillis(System.currentTimeMillis())); } } catch (final IOException e) { @@ -1837,6 +1837,7 @@ public class FileBackend { public File getAvatarFile(String avatar) { final var f = new File(mXmppConnectionService.getCacheDir(), "/avatars/" + avatar); + if (Build.VERSION.SDK_INT < 26) return f; // Doesn't support file.toPath try { if (f.exists()) java.nio.file.Files.setAttribute(f.toPath(), "lastAccessTime", java.nio.file.attribute.FileTime.fromMillis(System.currentTimeMillis())); } catch (final IOException e) { diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index bcfd0e315fdbf9ec57c8188f7a6892f240543341..3e532d09dbaeb619ea2c93c56e7fa92e556289de 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -758,7 +758,8 @@ public class XmppConnectionService extends Service { } protected void cleanupCache() { - mStickerScanExecutor.execute(() -> { + if (Build.VERSION.SDK_INT < 26) return; // Doesn't support file.toPath + mStickerScanExecutor.execute(() -> { Thread.currentThread().setPriority(Thread.MIN_PRIORITY); final var now = System.currentTimeMillis(); try { diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 985d42cb1a925234fbd3c11ccb73b26b0bc840d4..e997680a82a01b1b44bb6956f7d34c35351466d2 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -951,7 +951,11 @@ public class ConversationFragment extends XmppFragment final Conversation conversation = this.conversation; final boolean hasSubject = binding.textinputSubject.getText().length() > 0; if (conversation == null || (body.length() == 0 && (conversation.getThread() == null || !hasSubject))) { - binding.textSendButton.showContextMenu(0, 0); + if (Build.VERSION.SDK_INT >= 24) { + binding.textSendButton.showContextMenu(0, 0); + } else { + binding.textSendButton.showContextMenu(); + } return; } if (trustKeysIfNeeded(conversation, REQUEST_TRUST_KEYS_TEXT)) {