From cfe2a8ccf6129ec12cade2c5e27ed13198a01f15 Mon Sep 17 00:00:00 2001 From: Stefan Niedermann Date: Mon, 15 Aug 2022 10:22:07 +0200 Subject: =?UTF-8?q?=E2=9A=99=EF=B8=8F=20Support=20custom=20file=20extensio?= =?UTF-8?q?ns=20(Notes=20=E2=89=A5=204.5.0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stefan Niedermann --- .../owncloud/notes/shared/model/ApiVersion.java | 25 ++++++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'app/src/main/java/it/niedermann/owncloud/notes/shared') diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java index 7ac09d66..f0dcf0ad 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java @@ -4,16 +4,16 @@ package it.niedermann.owncloud.notes.shared.model; import androidx.annotation.NonNull; import java.util.Objects; -import java.util.regex.Matcher; import java.util.regex.Pattern; @SuppressWarnings("WeakerAccess") public class ApiVersion implements Comparable { private static final Pattern NUMBER_EXTRACTION_PATTERN = Pattern.compile("[0-9]+"); - private static final ApiVersion VERSION_1_2 = new ApiVersion("1.2", 1, 2); - public static final ApiVersion API_VERSION_0_2 = new ApiVersion(0, 2); - public static final ApiVersion API_VERSION_1_0 = new ApiVersion(1, 0); + public static final ApiVersion API_VERSION_0_2 = new ApiVersion("0.2", 0, 2); + public static final ApiVersion API_VERSION_1_0 = new ApiVersion("1.0", 1, 0); + public static final ApiVersion API_VERSION_1_2 = new ApiVersion("1.2", 1, 2); + public static final ApiVersion API_VERSION_1_3 = new ApiVersion("1.3", 1, 3); public static final ApiVersion[] SUPPORTED_API_VERSIONS = new ApiVersion[]{ API_VERSION_1_0, @@ -45,7 +45,7 @@ public class ApiVersion implements Comparable { public static ApiVersion of(String versionString) { int major = 0, minor = 0; if (versionString != null) { - String[] split = versionString.split("\\."); + final String[] split = versionString.split("\\."); if (split.length > 0) { major = extractNumber(split[0]); if (split.length > 1) { @@ -80,8 +80,19 @@ public class ApiVersion implements Comparable { return 0; } - public boolean supportsSettings() { - return getMajor() >= 1 && getMinor() >= 2; + /** + * While setting the file suffix to .txt or .md was possible starting + * with {@link #API_VERSION_1_2}, we will only support this feature with {@link #API_VERSION_1_3} + * because it allows us to set any value and skip client side validations. + * + * @see Settings API + */ + public boolean supportsFileSuffixChange() { + return getMajor() >= API_VERSION_1_3.getMajor() && getMinor() >= API_VERSION_1_3.getMinor(); + } + + public boolean supportsNotesPathChange() { + return getMajor() >= API_VERSION_1_2.getMajor() && getMinor() >= API_VERSION_1_2.getMinor(); } /** -- cgit v1.2.3