Armin Schrenk 5 년 전
부모
커밋
e5ce3cb62d
1개의 변경된 파일10개의 추가작업 그리고 5개의 파일을 삭제
  1. 10 5
      main/commons/src/main/java/org/cryptomator/common/settings/VaultSettings.java

+ 10 - 5
main/commons/src/main/java/org/cryptomator/common/settings/VaultSettings.java

@@ -34,9 +34,10 @@ public class VaultSettings {
 	public static final boolean DEFAULT_USES_INDIVIDUAL_MOUNTPATH = false;
 	public static final boolean DEFAULT_USES_READONLY_MODE = false;
 	public static final String DEFAULT_MOUNT_FLAGS = "";
+	public static final String DEFAULT_MOUNT_NAME = "Vault";
 	public static final int DEFAULT_FILENAME_LENGTH_LIMIT = -1;
 	public static final WhenUnlocked DEFAULT_ACTION_AFTER_UNLOCK = WhenUnlocked.ASK;
-	
+
 	private static final Random RNG = new Random(); 
 
 	private final String id;
@@ -55,16 +56,20 @@ public class VaultSettings {
 	public VaultSettings(String id) {
 		this.id = Objects.requireNonNull(id);
 
-		EasyBind.subscribe(path, this::deriveMountNameFromPath);
+		EasyBind.subscribe(path, this::deriveMountNameFromPathOrUseDefault);
 	}
 
 	Observable[] observables() {
 		return new Observable[]{path, mountName, winDriveLetter, unlockAfterStartup, revealAfterMount, useCustomMountPath, customMountPath, usesReadOnlyMode, mountFlags, filenameLengthLimit, actionAfterUnlock};
 	}
 
-	private void deriveMountNameFromPath(Path path) {
-		if (path != null && StringUtils.isBlank(mountName.get())) {
-			mountName.set(normalizeMountName(path.getFileName().toString()));
+	private void deriveMountNameFromPathOrUseDefault(Path path) {
+		if (StringUtils.isBlank(mountName.get())) {
+			if (path != null && path.getFileName() != null) {
+				mountName.set(normalizeMountName(path.getFileName().toString()));
+			} else {
+				mountName.set(DEFAULT_MOUNT_NAME);
+			}
 		}
 	}