]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/util/Utils.java
Add getDefaultLocale utils method
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / util / Utils.java
index 02115c3e18759d3a46dcef1f9317ade363d28f56..806a3bb3dc5c7e07ad9ebd47c2e7e63cba557bf3 100644 (file)
@@ -1,5 +1,7 @@
 package org.asamk.signal.manager.util;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.whispersystems.libsignal.IdentityKey;
 import org.whispersystems.libsignal.fingerprint.Fingerprint;
 import org.whispersystems.libsignal.fingerprint.NumericFingerprintGenerator;
@@ -13,9 +15,12 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.URLConnection;
 import java.nio.file.Files;
+import java.util.Locale;
 
 public class Utils {
 
+    private final static Logger logger = LoggerFactory.getLogger(Utils.class);
+
     public static String getFileMimeType(File file, String defaultMimeType) throws IOException {
         var mime = Files.probeContentType(file.toPath());
         if (mime == null) {
@@ -68,4 +73,16 @@ public class Utils {
                 theirId,
                 theirIdentityKey);
     }
+
+    public static Locale getDefaultLocale() {
+        final var locale = Locale.getDefault();
+        try {
+            Locale.LanguageRange.parse(locale.getLanguage() + "-" + locale.getCountry());
+        } catch (IllegalArgumentException e) {
+            logger.debug("Invalid locale, ignoring: {}", locale);
+            return null;
+        }
+
+        return locale;
+    }
 }