From: AsamK Date: Wed, 10 Nov 2021 20:58:39 +0000 (+0100) Subject: Add getDefaultLocale utils method X-Git-Tag: v0.10.0~56 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/d3490facc84a130551d9b4cf6a7baf701b2b10a6 Add getDefaultLocale utils method --- diff --git a/lib/src/main/java/org/asamk/signal/manager/RegistrationManager.java b/lib/src/main/java/org/asamk/signal/manager/RegistrationManager.java index 4ca12028..789173af 100644 --- a/lib/src/main/java/org/asamk/signal/manager/RegistrationManager.java +++ b/lib/src/main/java/org/asamk/signal/manager/RegistrationManager.java @@ -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 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 { diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java index d1c4f70e..57e8085d 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java @@ -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> responseSingle; - final var locale = Locale.getDefault(); + final var locale = Utils.getDefaultLocale(); try { responseSingle = profileService.getProfile(address, profileKey, unidentifiedAccess, requestType, locale); } catch (NoClassDefFoundError e) { diff --git a/lib/src/main/java/org/asamk/signal/manager/util/Utils.java b/lib/src/main/java/org/asamk/signal/manager/util/Utils.java index 02115c3e..806a3bb3 100644 --- a/lib/src/main/java/org/asamk/signal/manager/util/Utils.java +++ b/lib/src/main/java/org/asamk/signal/manager/util/Utils.java @@ -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; + } }