]> nmode's Git Repositories - signal-cli/commitdiff
Add getDefaultLocale utils method
authorAsamK <asamk@gmx.de>
Wed, 10 Nov 2021 20:58:39 +0000 (21:58 +0100)
committerAsamK <asamk@gmx.de>
Wed, 10 Nov 2021 20:58:39 +0000 (21:58 +0100)
lib/src/main/java/org/asamk/signal/manager/RegistrationManager.java
lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java
lib/src/main/java/org/asamk/signal/manager/util/Utils.java

index 4ca12028bd7da62c8bacf96eacd1a3891c0a241b..789173af6d495073464584c5a9865aea4e913cc9 100644 (file)
@@ -26,6 +26,7 @@ import org.asamk.signal.manager.helper.PinHelper;
 import org.asamk.signal.manager.storage.SignalAccount;
 import org.asamk.signal.manager.storage.identities.TrustNewIdentity;
 import org.asamk.signal.manager.util.KeyUtils;
+import org.asamk.signal.manager.util.Utils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.whispersystems.libsignal.util.KeyHelper;
@@ -48,7 +49,6 @@ import org.whispersystems.signalservice.internal.util.DynamicCredentialsProvider
 import java.io.Closeable;
 import java.io.File;
 import java.io.IOException;
-import java.util.Locale;
 
 public class RegistrationManager implements Closeable {
 
@@ -123,7 +123,7 @@ public class RegistrationManager implements Closeable {
     public void register(boolean voiceVerification, String captcha) throws IOException, CaptchaRequiredException {
         final ServiceResponse<RequestVerificationCodeResponse> response;
         if (voiceVerification) {
-            response = accountManager.requestVoiceVerificationCode(getDefaultLocale(),
+            response = accountManager.requestVoiceVerificationCode(Utils.getDefaultLocale(),
                     Optional.fromNullable(captcha),
                     Optional.absent(),
                     Optional.absent());
@@ -140,18 +140,6 @@ public class RegistrationManager implements Closeable {
         }
     }
 
-    private 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;
-    }
-
     public Manager verifyAccount(
             String verificationCode, String pin
     ) throws IOException, PinLockedException, IncorrectPinException {
index d1c4f70e533ab44870686c574c1ecbbf65881948..57e8085d277c2aef48455a98fdfa435af1f9edbb 100644 (file)
@@ -33,7 +33,6 @@ import java.util.Base64;
 import java.util.Date;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Locale;
 import java.util.Objects;
 import java.util.Set;
 
@@ -229,7 +228,7 @@ public final class ProfileHelper {
     }
 
     private SignalServiceProfile retrieveProfileSync(String username) throws IOException {
-        final var locale = Locale.getDefault();
+        final var locale = Utils.getDefaultLocale();
         return dependencies.getMessageReceiver().retrieveProfileByUsername(username, Optional.absent(), locale);
     }
 
@@ -310,7 +309,7 @@ public final class ProfileHelper {
         var profileService = dependencies.getProfileService();
 
         Single<ServiceResponse<ProfileAndCredential>> responseSingle;
-        final var locale = Locale.getDefault();
+        final var locale = Utils.getDefaultLocale();
         try {
             responseSingle = profileService.getProfile(address, profileKey, unidentifiedAccess, requestType, locale);
         } catch (NoClassDefFoundError e) {
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;
+    }
 }