From 597899d2bf363175ce292228e032ae5727f4b3a2 Mon Sep 17 00:00:00 2001 From: JaniruTEC Date: Tue, 11 Aug 2020 02:23:42 +0200 Subject: [PATCH] Fixed random set order and updated #getAvailableDriveLetter() Fixed bug introduced by 32a810fe1d0439435045827c5b653a2e10f5c621: The Set of existing DriveLetters was in random order because Collectors#toUnmodifiableSet is an unordered collector. Changed #getAvailableDriveLetter() to use Stream#findFirst() instead of #findAny() --- .../org/cryptomator/common/vaults/WindowsDriveLetters.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/main/commons/src/main/java/org/cryptomator/common/vaults/WindowsDriveLetters.java b/main/commons/src/main/java/org/cryptomator/common/vaults/WindowsDriveLetters.java index 35757cccd..f3ef2c7dc 100644 --- a/main/commons/src/main/java/org/cryptomator/common/vaults/WindowsDriveLetters.java +++ b/main/commons/src/main/java/org/cryptomator/common/vaults/WindowsDriveLetters.java @@ -5,6 +5,7 @@ *******************************************************************************/ package org.cryptomator.common.vaults; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import org.apache.commons.lang3.SystemUtils; @@ -25,7 +26,7 @@ public final class WindowsDriveLetters { static { try (IntStream stream = IntStream.rangeClosed('C', 'Z')) { - C_TO_Z = stream.mapToObj(i -> String.valueOf((char) i)).collect(Collectors.toUnmodifiableSet()); + C_TO_Z = stream.mapToObj(i -> String.valueOf((char) i)).collect(ImmutableSet.toImmutableSet()); } } @@ -51,7 +52,7 @@ public final class WindowsDriveLetters { } public Optional getAvailableDriveLetter() { - return getAvailableDriveLetters().stream().findAny(); + return getAvailableDriveLetters().stream().findFirst(); } public Optional getAvailableDriveLetterPath() {