From ad9191b076e8cd71a70a465ae656e4a5a20a23c7 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 23 Nov 2018 12:28:11 +0000 Subject: [PATCH] Static imports. --- .../account/AndroidAccountManager.java | 4 +- .../network/AndroidNetworkManager.java | 3 +- .../bluetooth/AndroidBluetoothPlugin.java | 3 +- .../plugin/tcp/AndroidLanTcpPlugin.java | 7 +- .../plugin/tor/AndroidTorPluginFactory.java | 4 +- .../bramble/system/AndroidLocationUtils.java | 3 +- .../bramble/util/AndroidUtils.java | 3 +- .../bramble/util/RenewableWakeLock.java | 3 +- .../org/briarproject/bramble/api/Bytes.java | 6 +- .../api/client/BdfMessageValidator.java | 3 +- .../bramble/api/identity/Author.java | 4 +- .../bramble/api/plugin/TransportId.java | 4 +- .../bramble/api/sync/ClientId.java | 5 +- .../briarproject/bramble/util/IoUtils.java | 3 +- .../bramble/util/ValidationUtils.java | 6 +- .../briarproject/bramble/PoliteExecutor.java | 3 +- .../bramble/TimeLoggingExecutor.java | 3 +- .../bramble/account/AccountManagerImpl.java | 3 +- .../contact/ContactExchangeTaskImpl.java | 3 +- .../bramble/crypto/AsciiArmour.java | 8 +- .../bramble/crypto/CryptoComponentImpl.java | 30 ++-- .../bramble/crypto/FrameEncoder.java | 14 +- .../bramble/crypto/MessageEncrypter.java | 12 +- .../bramble/crypto/ScryptKdf.java | 8 +- .../bramble/crypto/Sec1KeyParser.java | 4 +- .../bramble/crypto/StreamDecrypterImpl.java | 8 +- .../bramble/crypto/StreamEncrypterImpl.java | 8 +- .../bramble/crypto/TransportCryptoImpl.java | 15 +- .../bramble/db/DatabaseComponentImpl.java | 3 +- .../briarproject/bramble/db/H2Database.java | 4 +- .../bramble/db/HyperSqlDatabase.java | 4 +- .../briarproject/bramble/db/JdbcDatabase.java | 4 +- .../bramble/db/Migration38_39.java | 4 +- .../bramble/db/Migration39_40.java | 4 +- .../bramble/identity/AuthorFactoryImpl.java | 8 +- .../bramble/identity/IdentityManagerImpl.java | 3 +- .../keyagreement/ConnectionChooserImpl.java | 3 +- .../keyagreement/KeyAgreementConnector.java | 3 +- .../keyagreement/KeyAgreementTaskImpl.java | 3 +- .../keyagreement/KeyAgreementTransport.java | 3 +- .../lifecycle/LifecycleManagerImpl.java | 3 +- .../bramble/plugin/ConnectionManagerImpl.java | 3 +- .../plugin/ConnectionRegistryImpl.java | 3 +- .../bramble/plugin/PluginManagerImpl.java | 3 +- .../briarproject/bramble/plugin/Poller.java | 3 +- .../BluetoothConnectionLimiterImpl.java | 3 +- .../plugin/bluetooth/BluetoothPlugin.java | 3 +- .../bramble/plugin/file/FilePlugin.java | 4 +- .../plugin/file/FileTransportReader.java | 3 +- .../plugin/file/FileTransportWriter.java | 3 +- .../bramble/plugin/tcp/LanTcpPlugin.java | 26 ++-- .../bramble/plugin/tcp/PortMapperImpl.java | 4 +- .../bramble/plugin/tcp/TcpPlugin.java | 9 +- .../bramble/plugin/tor/TorPlugin.java | 13 +- .../bramble/record/RecordReaderImpl.java | 4 +- .../bramble/record/RecordWriterImpl.java | 4 +- .../briarproject/bramble/reliability/Ack.java | 8 +- .../bramble/reliability/Frame.java | 12 +- .../reliability/ReliabilityLayerImpl.java | 3 +- .../bramble/reporting/DevReporterImpl.java | 14 +- .../bramble/socks/SocksSocket.java | 5 +- .../bramble/sync/DuplexOutgoingSession.java | 3 +- .../bramble/sync/GroupFactoryImpl.java | 9 +- .../bramble/sync/IncomingSession.java | 3 +- .../bramble/sync/MessageFactoryImpl.java | 9 +- .../bramble/sync/SimplexOutgoingSession.java | 3 +- .../bramble/sync/SyncRecordReaderImpl.java | 4 +- .../validation/ValidationManagerImpl.java | 3 +- .../bramble/transport/KeyManagerImpl.java | 4 +- .../transport/TransportKeyManagerImpl.java | 3 +- .../bramble/client/ClientHelperImplTest.java | 3 +- .../bramble/crypto/Blake2bDigestTest.java | 16 +- .../briarproject/bramble/crypto/HashTest.java | 12 +- .../crypto/PasswordBasedEncryptionTest.java | 6 +- .../bramble/crypto/ScryptKdfTest.java | 3 +- .../bramble/crypto/SignatureTest.java | 16 +- .../crypto/StreamDecrypterImplTest.java | 36 ++--- .../crypto/StreamEncrypterImplTest.java | 23 +-- ...alsa20Poly1305AuthenticatedCipherTest.java | 10 +- .../bramble/data/BdfWriterImplTest.java | 34 ++-- .../bramble/db/BasicDatabaseTest.java | 24 +-- .../briarproject/bramble/db/BasicH2Test.java | 9 +- .../bramble/db/BasicHyperSqlTest.java | 9 +- .../bramble/db/DatabaseMigrationTest.java | 7 +- .../bramble/db/DatabasePerformanceTest.java | 4 +- .../bramble/db/DatabaseTraceTest.java | 5 +- .../db/H2TransactionIsolationTest.java | 7 +- .../bramble/record/RecordReaderImplTest.java | 6 +- .../bramble/record/RecordWriterImplTest.java | 4 +- .../bramble/sync/SyncIntegrationTest.java | 6 +- .../system/UnixSecureRandomSpiTest.java | 8 +- .../transport/ReorderingWindowTest.java | 4 +- .../StreamReaderWriterIntegrationTest.java | 8 +- .../transport/TestStreamDecrypter.java | 6 +- .../transport/TestStreamEncrypter.java | 6 +- .../TransportKeyManagerImplTest.java | 8 +- .../bramble/util/ByteUtilsTest.java | 147 ++++++++++-------- .../bramble/util/StringUtilsTest.java | 71 +++++---- .../lifecycle/WindowsShutdownManagerImpl.java | 3 +- .../bramble/network/JavaNetworkManager.java | 3 +- .../plugin/bluetooth/JavaBluetoothPlugin.java | 3 +- .../bramble/plugin/modem/ModemImpl.java | 4 +- .../bramble/plugin/modem/ModemPlugin.java | 12 +- .../plugin/modem/ModemPluginFactory.java | 5 +- .../bramble/system/JavaLocationUtils.java | 4 +- .../bramble/plugin/tor/BridgeTest.java | 6 +- briar-android/project.properties | 14 -- .../bramble/account/BriarAccountManager.java | 5 +- .../AndroidNotificationManagerImpl.java | 11 +- .../briarproject/briar/android/AppModule.java | 4 +- .../briar/android/BriarApplicationImpl.java | 5 +- .../briar/android/BriarService.java | 4 +- .../briar/android/NetworkUsageLogger.java | 3 +- .../briar/android/RecentEmojiImpl.java | 7 +- .../android/ScreenFilterMonitorImpl.java | 7 +- .../android/account/LockManagerImpl.java | 3 +- .../briar/android/activity/BaseActivity.java | 4 +- .../briar/android/activity/BriarActivity.java | 4 +- .../android/blog/BaseControllerImpl.java | 3 +- .../android/blog/BlogControllerImpl.java | 3 +- .../android/blog/FeedControllerImpl.java | 3 +- .../briar/android/blog/FeedFragment.java | 4 +- .../briar/android/blog/RssFeedAdapter.java | 6 +- .../android/blog/RssFeedImportActivity.java | 3 +- .../android/blog/RssFeedManageActivity.java | 3 +- .../android/blog/WriteBlogPostActivity.java | 3 +- .../android/contact/ContactListFragment.java | 4 +- .../contact/ContactListItemViewHolder.java | 7 +- .../ContactSelectorControllerImpl.java | 3 +- .../controller/BriarControllerImpl.java | 3 +- .../android/controller/DbControllerImpl.java | 4 +- .../conversation/ConversationActivity.java | 3 +- .../conversation/ConversationAdapter.java | 7 +- .../android/forum/CreateForumActivity.java | 7 +- .../android/forum/ForumControllerImpl.java | 3 +- .../briar/android/forum/ForumListAdapter.java | 4 +- .../android/forum/ForumListFragment.java | 4 +- .../introduction/ContactChooserFragment.java | 4 +- .../IntroductionMessageFragment.java | 4 +- .../android/keyagreement/CameraView.java | 6 +- .../keyagreement/ContactExchangeActivity.java | 3 +- .../keyagreement/KeyAgreementActivity.java | 7 +- .../keyagreement/KeyAgreementFragment.java | 9 +- .../android/keyagreement/QrCodeDecoder.java | 4 +- .../android/keyagreement/QrCodeUtils.java | 4 +- .../android/login/AuthorNameFragment.java | 4 +- .../android/login/ChangePasswordActivity.java | 8 +- .../briar/android/login/DozeFragment.java | 4 +- .../briar/android/login/PasswordActivity.java | 6 +- .../briar/android/login/PasswordFragment.java | 6 +- .../android/login/SetupControllerImpl.java | 4 +- .../briar/android/login/UnlockActivity.java | 5 +- .../briar/android/logout/ExitActivity.java | 4 +- .../android/navdrawer/NavDrawerActivity.java | 3 +- .../navdrawer/NavDrawerControllerImpl.java | 4 +- .../panic/PanicPreferencesFragment.java | 31 ++-- .../android/panic/PanicResponderActivity.java | 3 +- .../conversation/GroupControllerImpl.java | 3 +- .../creation/CreateGroupControllerImpl.java | 3 +- .../creation/CreateGroupFragment.java | 4 +- .../list/GroupListControllerImpl.java | 3 +- .../privategroup/list/GroupListFragment.java | 4 +- .../privategroup/list/GroupViewHolder.java | 4 +- .../GroupMemberListControllerImpl.java | 3 +- .../reveal/RevealContactsControllerImpl.java | 4 +- .../android/reporting/BriarReportPrimer.java | 4 +- .../android/reporting/DevReportActivity.java | 3 +- .../android/settings/SettingsFragment.java | 13 +- .../android/sharing/InvitationActivity.java | 3 +- .../sharing/InvitationControllerImpl.java | 3 +- .../sharing/ShareBlogControllerImpl.java | 3 +- .../sharing/ShareForumControllerImpl.java | 3 +- .../sharing/SharingInvitationViewHolder.java | 7 +- .../sharing/SharingStatusActivity.java | 3 +- .../android/splash/SplashScreenActivity.java | 3 +- .../threaded/BaseThreadItemViewHolder.java | 4 +- .../android/threaded/ThreadListActivity.java | 3 +- .../threaded/ThreadListControllerImpl.java | 3 +- .../briar/android/view/AuthorView.java | 4 +- .../view/BriarRecyclerViewBehavior.java | 44 ------ .../view/KeyboardAwareLinearLayout.java | 3 +- .../android/widget/LinkDialogFragment.java | 10 +- .../briar/android/TestBriarApplication.java | 3 +- .../android/forum/ForumActivityTest.java | 5 +- .../briar/api/sharing/Shareable.java | 2 +- .../briar/blog/BlogPostFactoryImpl.java | 6 +- .../briar/feed/FeedFactoryImpl.java | 4 +- .../briar/feed/FeedManagerImpl.java | 29 ++-- .../briar/forum/ForumFactoryImpl.java | 4 +- .../IntroduceeProtocolEngine.java | 3 +- .../briar/introduction/IntroduceeSession.java | 2 +- .../privategroup/PrivateGroupFactoryImpl.java | 4 +- .../sharing/ForumProtocolEngineImpl.java | 2 +- .../briar/test/TestDataCreatorImpl.java | 3 +- .../briar/client/MessageTrackerTest.java | 13 +- .../briar/client/MessageTreeImplTest.java | 4 +- .../feed/FeedManagerIntegrationTest.java | 7 +- .../SimplexMessagingIntegrationTest.java | 4 +- .../GroupInvitationManagerImplTest.java | 3 +- .../briar/test/BriarIntegrationTest.java | 11 +- 200 files changed, 781 insertions(+), 681 deletions(-) delete mode 100644 briar-android/project.properties delete mode 100644 briar-android/src/main/java/org/briarproject/briar/android/view/BriarRecyclerViewBehavior.java diff --git a/bramble-android/src/main/java/org/briarproject/bramble/account/AndroidAccountManager.java b/bramble-android/src/main/java/org/briarproject/bramble/account/AndroidAccountManager.java index f23e249ae..87524ea03 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/account/AndroidAccountManager.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/account/AndroidAccountManager.java @@ -17,11 +17,13 @@ import java.util.logging.Logger; import javax.annotation.Nullable; import javax.inject.Inject; +import static java.util.logging.Logger.getLogger; + class AndroidAccountManager extends AccountManagerImpl implements AccountManager { private static final Logger LOG = - Logger.getLogger(AndroidAccountManager.class.getName()); + getLogger(AndroidAccountManager.class.getName()); private static final String PREF_DB_KEY = "key"; diff --git a/bramble-android/src/main/java/org/briarproject/bramble/network/AndroidNetworkManager.java b/bramble-android/src/main/java/org/briarproject/bramble/network/AndroidNetworkManager.java index af0e9a881..414b40846 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/network/AndroidNetworkManager.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/network/AndroidNetworkManager.java @@ -37,13 +37,14 @@ import static android.os.PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED; import static java.util.concurrent.TimeUnit.MINUTES; import static java.util.concurrent.TimeUnit.SECONDS; import static java.util.logging.Level.INFO; +import static java.util.logging.Logger.getLogger; @MethodsNotNullByDefault @ParametersNotNullByDefault class AndroidNetworkManager implements NetworkManager, Service { private static final Logger LOG = - Logger.getLogger(AndroidNetworkManager.class.getName()); + getLogger(AndroidNetworkManager.class.getName()); // See android.net.wifi.WifiManager private static final String WIFI_AP_STATE_CHANGED_ACTION = diff --git a/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java b/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java index 95e082001..75f8f5b63 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java @@ -51,6 +51,7 @@ import static android.bluetooth.BluetoothDevice.EXTRA_DEVICE; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.PrivacyUtils.scrubMacAddress; @MethodsNotNullByDefault @@ -58,7 +59,7 @@ import static org.briarproject.bramble.util.PrivacyUtils.scrubMacAddress; class AndroidBluetoothPlugin extends BluetoothPlugin { private static final Logger LOG = - Logger.getLogger(AndroidBluetoothPlugin.class.getName()); + getLogger(AndroidBluetoothPlugin.class.getName()); private static final int MAX_DISCOVERY_MS = 10_000; diff --git a/bramble-android/src/main/java/org/briarproject/bramble/plugin/tcp/AndroidLanTcpPlugin.java b/bramble-android/src/main/java/org/briarproject/bramble/plugin/tcp/AndroidLanTcpPlugin.java index b3c3a98ae..50d412976 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/plugin/tcp/AndroidLanTcpPlugin.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/plugin/tcp/AndroidLanTcpPlugin.java @@ -32,17 +32,18 @@ import static android.net.ConnectivityManager.TYPE_WIFI; import static android.os.Build.VERSION.SDK_INT; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; +import static java.util.logging.Logger.getLogger; @NotNullByDefault class AndroidLanTcpPlugin extends LanTcpPlugin implements EventListener { + private static final Logger LOG = + getLogger(AndroidLanTcpPlugin.class.getName()); + private static final byte[] WIFI_AP_ADDRESS_BYTES = {(byte) 192, (byte) 168, 43, 1}; private static final InetAddress WIFI_AP_ADDRESS; - private static final Logger LOG = - Logger.getLogger(AndroidLanTcpPlugin.class.getName()); - static { try { WIFI_AP_ADDRESS = InetAddress.getByAddress(WIFI_AP_ADDRESS_BYTES); diff --git a/bramble-android/src/main/java/org/briarproject/bramble/plugin/tor/AndroidTorPluginFactory.java b/bramble-android/src/main/java/org/briarproject/bramble/plugin/tor/AndroidTorPluginFactory.java index df3de1c77..c25c85659 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/plugin/tor/AndroidTorPluginFactory.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/plugin/tor/AndroidTorPluginFactory.java @@ -26,12 +26,14 @@ import java.util.logging.Logger; import javax.annotation.concurrent.Immutable; import javax.net.SocketFactory; +import static java.util.logging.Logger.getLogger; + @Immutable @NotNullByDefault public class AndroidTorPluginFactory implements DuplexPluginFactory { private static final Logger LOG = - Logger.getLogger(AndroidTorPluginFactory.class.getName()); + getLogger(AndroidTorPluginFactory.class.getName()); private static final int MAX_LATENCY = 30 * 1000; // 30 seconds private static final int MAX_IDLE_TIME = 30 * 1000; // 30 seconds diff --git a/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidLocationUtils.java b/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidLocationUtils.java index 226064d6f..49609aca5 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidLocationUtils.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidLocationUtils.java @@ -15,12 +15,13 @@ import java.util.logging.Logger; import javax.inject.Inject; import static android.content.Context.TELEPHONY_SERVICE; +import static java.util.logging.Logger.getLogger; @NotNullByDefault class AndroidLocationUtils implements LocationUtils { private static final Logger LOG = - Logger.getLogger(AndroidLocationUtils.class.getName()); + getLogger(AndroidLocationUtils.class.getName()); private final Context appContext; diff --git a/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java b/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java index d54ad4ea3..03d48f4c9 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java @@ -14,6 +14,7 @@ import java.util.List; import static android.content.Context.MODE_PRIVATE; import static android.os.Build.VERSION.SDK_INT; +import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; public class AndroidUtils { @@ -49,7 +50,7 @@ public class AndroidUtils { } private static boolean isValidBluetoothAddress(String address) { - return !StringUtils.isNullOrEmpty(address) + return !isNullOrEmpty(address) && BluetoothAdapter.checkBluetoothAddress(address) && !address.equals(FAKE_BLUETOOTH_ADDRESS); } diff --git a/bramble-android/src/main/java/org/briarproject/bramble/util/RenewableWakeLock.java b/bramble-android/src/main/java/org/briarproject/bramble/util/RenewableWakeLock.java index 1681cbfd1..a0c779903 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/util/RenewableWakeLock.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/util/RenewableWakeLock.java @@ -14,13 +14,14 @@ import javax.annotation.concurrent.ThreadSafe; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.INFO; +import static java.util.logging.Logger.getLogger; @ThreadSafe @NotNullByDefault public class RenewableWakeLock { private static final Logger LOG = - Logger.getLogger(RenewableWakeLock.class.getName()); + getLogger(RenewableWakeLock.class.getName()); /** * Automatically release the lock this many milliseconds after it's due diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/Bytes.java b/bramble-api/src/main/java/org/briarproject/bramble/api/Bytes.java index 1a862bbd8..b9b69a35c 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/Bytes.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/Bytes.java @@ -1,13 +1,14 @@ package org.briarproject.bramble.api; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.StringUtils; import java.util.Arrays; import java.util.Comparator; import javax.annotation.concurrent.ThreadSafe; +import static org.briarproject.bramble.util.StringUtils.toHexString; + /** * A wrapper around a byte array, to allow it to be stored in maps etc. */ @@ -56,8 +57,7 @@ public class Bytes implements Comparable { @Override public String toString() { - return getClass().getSimpleName() + - "(" + StringUtils.toHexString(getBytes()) + ")"; + return getClass().getSimpleName() + "(" + toHexString(getBytes()) + ")"; } public static class BytesComparator implements Comparator { diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/client/BdfMessageValidator.java b/bramble-api/src/main/java/org/briarproject/bramble/api/client/BdfMessageValidator.java index 3dfde81bf..fa82d9e30 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/client/BdfMessageValidator.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/client/BdfMessageValidator.java @@ -16,6 +16,7 @@ import java.util.logging.Logger; import javax.annotation.concurrent.Immutable; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.transport.TransportConstants.MAX_CLOCK_DIFFERENCE; @Immutable @@ -23,7 +24,7 @@ import static org.briarproject.bramble.api.transport.TransportConstants.MAX_CLOC public abstract class BdfMessageValidator implements MessageValidator { protected static final Logger LOG = - Logger.getLogger(BdfMessageValidator.class.getName()); + getLogger(BdfMessageValidator.class.getName()); protected final ClientHelper clientHelper; protected final MetadataEncoder metadataEncoder; diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/identity/Author.java b/bramble-api/src/main/java/org/briarproject/bramble/api/identity/Author.java index 4d2d030e5..e2d92f0c3 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/identity/Author.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/identity/Author.java @@ -2,12 +2,12 @@ package org.briarproject.bramble.api.identity; import org.briarproject.bramble.api.Nameable; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.StringUtils; import javax.annotation.concurrent.Immutable; import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; +import static org.briarproject.bramble.util.StringUtils.toUtf8; /** * A pseudonym for a user. @@ -28,7 +28,7 @@ public class Author implements Nameable { public Author(AuthorId id, int formatVersion, String name, byte[] publicKey) { - int nameLength = StringUtils.toUtf8(name).length; + int nameLength = toUtf8(name).length; if (nameLength == 0 || nameLength > MAX_AUTHOR_NAME_LENGTH) throw new IllegalArgumentException(); if (publicKey.length == 0 || publicKey.length > MAX_PUBLIC_KEY_LENGTH) diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/TransportId.java b/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/TransportId.java index 5ad3762df..5a488d366 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/TransportId.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/TransportId.java @@ -1,6 +1,6 @@ package org.briarproject.bramble.api.plugin; -import org.briarproject.bramble.util.StringUtils; +import static org.briarproject.bramble.util.StringUtils.toUtf8; /** * Type-safe wrapper for a namespaced string that uniquely identifies a @@ -16,7 +16,7 @@ public class TransportId { private final String id; public TransportId(String id) { - int length = StringUtils.toUtf8(id).length; + int length = toUtf8(id).length; if (length == 0 || length > MAX_TRANSPORT_ID_LENGTH) throw new IllegalArgumentException(); this.id = id; diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientId.java b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientId.java index a0f4e6675..c5c355232 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientId.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientId.java @@ -1,10 +1,11 @@ package org.briarproject.bramble.api.sync; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.StringUtils; import javax.annotation.concurrent.Immutable; +import static org.briarproject.bramble.util.StringUtils.toUtf8; + /** * Type-safe wrapper for a namespaced string that uniquely identifies a sync * client. @@ -21,7 +22,7 @@ public class ClientId implements Comparable { private final String id; public ClientId(String id) { - int length = StringUtils.toUtf8(id).length; + int length = toUtf8(id).length; if (length == 0 || length > MAX_CLIENT_ID_LENGTH) throw new IllegalArgumentException(); this.id = id; diff --git a/bramble-api/src/main/java/org/briarproject/bramble/util/IoUtils.java b/bramble-api/src/main/java/org/briarproject/bramble/util/IoUtils.java index dea0fb423..29d02505f 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/util/IoUtils.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/util/IoUtils.java @@ -16,12 +16,13 @@ import java.util.logging.Logger; import javax.annotation.Nullable; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @NotNullByDefault public class IoUtils { - private static final Logger LOG = Logger.getLogger(IoUtils.class.getName()); + private static final Logger LOG = getLogger(IoUtils.class.getName()); public static void deleteFileOrDir(File f) { if (f.isFile()) { diff --git a/bramble-api/src/main/java/org/briarproject/bramble/util/ValidationUtils.java b/bramble-api/src/main/java/org/briarproject/bramble/util/ValidationUtils.java index fffacae0c..dc7c67a89 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/util/ValidationUtils.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/util/ValidationUtils.java @@ -7,13 +7,15 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import javax.annotation.Nullable; +import static org.briarproject.bramble.util.StringUtils.toUtf8; + @NotNullByDefault public class ValidationUtils { public static void checkLength(@Nullable String s, int minLength, int maxLength) throws FormatException { if (s != null) { - int length = StringUtils.toUtf8(s).length; + int length = toUtf8(s).length; if (length < minLength) throw new FormatException(); if (length > maxLength) throw new FormatException(); } @@ -21,7 +23,7 @@ public class ValidationUtils { public static void checkLength(@Nullable String s, int length) throws FormatException { - if (s != null && StringUtils.toUtf8(s).length != length) + if (s != null && toUtf8(s).length != length) throw new FormatException(); } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java b/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java index 152210598..11b17517b 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java @@ -10,6 +10,7 @@ import java.util.logging.Logger; import javax.annotation.concurrent.GuardedBy; import static java.util.logging.Level.FINE; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.now; /** @@ -42,7 +43,7 @@ public class PoliteExecutor implements Executor { int maxConcurrentTasks) { this.delegate = delegate; this.maxConcurrentTasks = maxConcurrentTasks; - log = Logger.getLogger(tag); + log = getLogger(tag); } @Override diff --git a/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java b/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java index c786d1b96..ccde397a4 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java @@ -9,6 +9,7 @@ import java.util.concurrent.TimeUnit; import java.util.logging.Logger; import static java.util.logging.Level.FINE; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.now; @NotNullByDefault @@ -22,7 +23,7 @@ public class TimeLoggingExecutor extends ThreadPoolExecutor { RejectedExecutionHandler handler) { super(corePoolSize, maxPoolSize, keepAliveTime, unit, workQueue, handler); - log = Logger.getLogger(tag); + log = getLogger(tag); } @Override diff --git a/bramble-core/src/main/java/org/briarproject/bramble/account/AccountManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/account/AccountManagerImpl.java index 63c24088e..edcadcb0d 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/account/AccountManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/account/AccountManagerImpl.java @@ -22,6 +22,7 @@ import javax.annotation.Nullable; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.StringUtils.fromHexString; import static org.briarproject.bramble.util.StringUtils.toHexString; @@ -31,7 +32,7 @@ import static org.briarproject.bramble.util.StringUtils.toHexString; class AccountManagerImpl implements AccountManager { private static final Logger LOG = - Logger.getLogger(AccountManagerImpl.class.getName()); + getLogger(AccountManagerImpl.class.getName()); private static final String DB_KEY_FILENAME = "db.key"; private static final String DB_KEY_BACKUP_FILENAME = "db.key.bak"; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java index 696097962..5eacad2c4 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java @@ -43,6 +43,7 @@ import java.util.logging.Logger; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.contact.RecordTypes.CONTACT_INFO; import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_SIGNATURE_LENGTH; import static org.briarproject.bramble.util.LogUtils.logException; @@ -54,7 +55,7 @@ import static org.briarproject.bramble.util.ValidationUtils.checkSize; class ContactExchangeTaskImpl extends Thread implements ContactExchangeTask { private static final Logger LOG = - Logger.getLogger(ContactExchangeTaskImpl.class.getName()); + getLogger(ContactExchangeTaskImpl.class.getName()); private static final String SIGNING_LABEL_EXCHANGE = "org.briarproject.briar.contact/EXCHANGE"; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/AsciiArmour.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/AsciiArmour.java index 2bf79875e..6c715a953 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/AsciiArmour.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/AsciiArmour.java @@ -2,13 +2,15 @@ package org.briarproject.bramble.crypto; import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.StringUtils; + +import static org.briarproject.bramble.util.StringUtils.fromHexString; +import static org.briarproject.bramble.util.StringUtils.toHexString; @NotNullByDefault class AsciiArmour { static String wrap(byte[] b, int lineLength) { - String wrapped = StringUtils.toHexString(b); + String wrapped = toHexString(b); StringBuilder s = new StringBuilder(); int length = wrapped.length(); for (int i = 0; i < length; i += lineLength) { @@ -21,7 +23,7 @@ class AsciiArmour { static byte[] unwrap(String s) throws FormatException { try { - return StringUtils.fromHexString(s.replaceAll("[^0-9a-fA-F]", "")); + return fromHexString(s.replaceAll("[^0-9a-fA-F]", "")); } catch (IllegalArgumentException e) { throw new FormatException(); } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java index dc0470a6f..66cb73211 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java @@ -12,8 +12,6 @@ import org.briarproject.bramble.api.crypto.PublicKey; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.system.SecureRandomProvider; -import org.briarproject.bramble.util.ByteUtils; -import org.briarproject.bramble.util.StringUtils; import org.spongycastle.crypto.CryptoException; import org.spongycastle.crypto.Digest; import org.spongycastle.crypto.digests.Blake2bDigest; @@ -31,15 +29,19 @@ import javax.annotation.Nullable; import javax.inject.Inject; import static java.util.logging.Level.INFO; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.ByteUtils.INT_32_BYTES; +import static org.briarproject.bramble.util.ByteUtils.readUint32; +import static org.briarproject.bramble.util.ByteUtils.writeUint32; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.now; +import static org.briarproject.bramble.util.StringUtils.toUtf8; @NotNullByDefault class CryptoComponentImpl implements CryptoComponent { private static final Logger LOG = - Logger.getLogger(CryptoComponentImpl.class.getName()); + getLogger(CryptoComponentImpl.class.getName()); private static final int SIGNATURE_KEY_PAIR_BITS = 256; private static final int STORAGE_IV_BYTES = 24; // 196 bits @@ -216,26 +218,26 @@ class CryptoComponentImpl implements CryptoComponent { private void updateSignature(Signature signature, String label, byte[] toSign) throws GeneralSecurityException { - byte[] labelBytes = StringUtils.toUtf8(label); + byte[] labelBytes = toUtf8(label); byte[] length = new byte[INT_32_BYTES]; - ByteUtils.writeUint32(labelBytes.length, length, 0); + writeUint32(labelBytes.length, length, 0); signature.update(length); signature.update(labelBytes); - ByteUtils.writeUint32(toSign.length, length, 0); + writeUint32(toSign.length, length, 0); signature.update(length); signature.update(toSign); } @Override public byte[] hash(String label, byte[]... inputs) { - byte[] labelBytes = StringUtils.toUtf8(label); + byte[] labelBytes = toUtf8(label); Digest digest = new Blake2bDigest(256); byte[] length = new byte[INT_32_BYTES]; - ByteUtils.writeUint32(labelBytes.length, length, 0); + writeUint32(labelBytes.length, length, 0); digest.update(length, 0, length.length); digest.update(labelBytes, 0, labelBytes.length); for (byte[] input : inputs) { - ByteUtils.writeUint32(input.length, length, 0); + writeUint32(input.length, length, 0); digest.update(length, 0, length.length); digest.update(input, 0, input.length); } @@ -246,14 +248,14 @@ class CryptoComponentImpl implements CryptoComponent { @Override public byte[] mac(String label, SecretKey macKey, byte[]... inputs) { - byte[] labelBytes = StringUtils.toUtf8(label); + byte[] labelBytes = toUtf8(label); Digest mac = new Blake2bDigest(macKey.getBytes(), 32, null, null); byte[] length = new byte[INT_32_BYTES]; - ByteUtils.writeUint32(labelBytes.length, length, 0); + writeUint32(labelBytes.length, length, 0); mac.update(length, 0, length.length); mac.update(labelBytes, 0, labelBytes.length); for (byte[] input : inputs) { - ByteUtils.writeUint32(input.length, length, 0); + writeUint32(input.length, length, 0); mac.update(length, 0, length.length); mac.update(input, 0, input.length); } @@ -300,7 +302,7 @@ class CryptoComponentImpl implements CryptoComponent { System.arraycopy(salt, 0, output, outputOff, salt.length); outputOff += salt.length; // Cost parameter - ByteUtils.writeUint32(cost, output, outputOff); + writeUint32(cost, output, outputOff); outputOff += INT_32_BYTES; // IV System.arraycopy(iv, 0, output, outputOff, iv.length); @@ -336,7 +338,7 @@ class CryptoComponentImpl implements CryptoComponent { System.arraycopy(input, inputOff, salt, 0, salt.length); inputOff += salt.length; // Cost parameter - long cost = ByteUtils.readUint32(input, inputOff); + long cost = readUint32(input, inputOff); inputOff += INT_32_BYTES; if (cost < 2 || cost > Integer.MAX_VALUE) return null; // Invalid cost parameter diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/FrameEncoder.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/FrameEncoder.java index b56119b24..6f25b9ce7 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/FrameEncoder.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/FrameEncoder.java @@ -1,13 +1,15 @@ package org.briarproject.bramble.crypto; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.ByteUtils; import static org.briarproject.bramble.api.transport.TransportConstants.FRAME_HEADER_PLAINTEXT_LENGTH; import static org.briarproject.bramble.api.transport.TransportConstants.FRAME_NONCE_LENGTH; import static org.briarproject.bramble.api.transport.TransportConstants.MAX_PAYLOAD_LENGTH; import static org.briarproject.bramble.util.ByteUtils.INT_16_BYTES; import static org.briarproject.bramble.util.ByteUtils.INT_64_BYTES; +import static org.briarproject.bramble.util.ByteUtils.readUint16; +import static org.briarproject.bramble.util.ByteUtils.writeUint16; +import static org.briarproject.bramble.util.ByteUtils.writeUint64; @NotNullByDefault class FrameEncoder { @@ -16,7 +18,7 @@ class FrameEncoder { if (dest.length < FRAME_NONCE_LENGTH) throw new IllegalArgumentException(); if (frameNumber < 0) throw new IllegalArgumentException(); - ByteUtils.writeUint64(frameNumber, dest, 0); + writeUint64(frameNumber, dest, 0); if (header) dest[0] |= 0x80; for (int i = INT_64_BYTES; i < FRAME_NONCE_LENGTH; i++) dest[i] = 0; } @@ -29,8 +31,8 @@ class FrameEncoder { if (paddingLength < 0) throw new IllegalArgumentException(); if (payloadLength + paddingLength > MAX_PAYLOAD_LENGTH) throw new IllegalArgumentException(); - ByteUtils.writeUint16(payloadLength, dest, 0); - ByteUtils.writeUint16(paddingLength, dest, INT_16_BYTES); + writeUint16(payloadLength, dest, 0); + writeUint16(paddingLength, dest, INT_16_BYTES); if (finalFrame) dest[0] |= 0x80; } @@ -43,12 +45,12 @@ class FrameEncoder { static int getPayloadLength(byte[] header) { if (header.length < FRAME_HEADER_PLAINTEXT_LENGTH) throw new IllegalArgumentException(); - return ByteUtils.readUint16(header, 0) & 0x7FFF; + return readUint16(header, 0) & 0x7FFF; } static int getPaddingLength(byte[] header) { if (header.length < FRAME_HEADER_PLAINTEXT_LENGTH) throw new IllegalArgumentException(); - return ByteUtils.readUint16(header, INT_16_BYTES); + return readUint16(header, INT_16_BYTES); } } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/MessageEncrypter.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/MessageEncrypter.java index 6a86ad97c..30535ea11 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/MessageEncrypter.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/MessageEncrypter.java @@ -5,7 +5,6 @@ import org.briarproject.bramble.api.crypto.KeyParser; import org.briarproject.bramble.api.crypto.PrivateKey; import org.briarproject.bramble.api.crypto.PublicKey; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.StringUtils; import org.spongycastle.asn1.teletrust.TeleTrusTNamedCurves; import org.spongycastle.asn1.x9.X9ECParameters; import org.spongycastle.crypto.AsymmetricCipherKeyPair; @@ -45,6 +44,9 @@ import java.util.Scanner; import javax.annotation.concurrent.Immutable; +import static org.briarproject.bramble.util.StringUtils.fromHexString; +import static org.briarproject.bramble.util.StringUtils.toHexString; + @Immutable @NotNullByDefault public class MessageEncrypter { @@ -210,11 +212,11 @@ public class MessageEncrypter { MessageEncrypter encrypter = new MessageEncrypter(random); KeyPair keyPair = encrypter.generateKeyPair(); PrintStream out = new PrintStream(new FileOutputStream(publicKeyFile)); - out.print(StringUtils.toHexString(keyPair.getPublic().getEncoded())); + out.print(toHexString(keyPair.getPublic().getEncoded())); out.flush(); out.close(); out = new PrintStream(new FileOutputStream(privateKeyFile)); - out.print(StringUtils.toHexString(keyPair.getPrivate().getEncoded())); + out.print(toHexString(keyPair.getPrivate().getEncoded())); out.flush(); out.close(); } @@ -223,7 +225,7 @@ public class MessageEncrypter { SecureRandom random = new SecureRandom(); MessageEncrypter encrypter = new MessageEncrypter(random); InputStream in = new FileInputStream(publicKeyFile); - byte[] keyBytes = StringUtils.fromHexString(readFully(in).trim()); + byte[] keyBytes = fromHexString(readFully(in).trim()); PublicKey publicKey = encrypter.getKeyParser().parsePublicKey(keyBytes); String message = readFully(System.in); @@ -236,7 +238,7 @@ public class MessageEncrypter { SecureRandom random = new SecureRandom(); MessageEncrypter encrypter = new MessageEncrypter(random); InputStream in = new FileInputStream(privateKeyFile); - byte[] keyBytes = StringUtils.fromHexString(readFully(in).trim()); + byte[] keyBytes = fromHexString(readFully(in).trim()); PrivateKey privateKey = encrypter.getKeyParser().parsePrivateKey(keyBytes); byte[] ciphertext = AsciiArmour.unwrap(readFully(System.in)); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java index 2b204e9ac..ce6eb9b82 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java @@ -2,7 +2,6 @@ package org.briarproject.bramble.crypto; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.api.system.Clock; -import org.briarproject.bramble.util.StringUtils; import org.spongycastle.crypto.generators.SCrypt; import java.util.logging.Logger; @@ -10,13 +9,14 @@ import java.util.logging.Logger; import javax.inject.Inject; import static java.util.logging.Level.INFO; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.now; +import static org.briarproject.bramble.util.StringUtils.toUtf8; class ScryptKdf implements PasswordBasedKdf { - private static final Logger LOG = - Logger.getLogger(ScryptKdf.class.getName()); + private static final Logger LOG = getLogger(ScryptKdf.class.getName()); private static final int MIN_COST = 256; // Min parameter N private static final int MAX_COST = 1024 * 1024; // Max parameter N @@ -53,7 +53,7 @@ class ScryptKdf implements PasswordBasedKdf { @Override public SecretKey deriveKey(String password, byte[] salt, int cost) { long start = now(); - byte[] passwordBytes = StringUtils.toUtf8(password); + byte[] passwordBytes = toUtf8(password); SecretKey k = new SecretKey(SCrypt.generate(passwordBytes, salt, cost, BLOCK_SIZE, PARALLELIZATION, SecretKey.LENGTH)); logDuration(LOG, "Deriving key from password", start); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java index a769af06d..59dae00f0 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java @@ -16,6 +16,7 @@ import java.util.logging.Logger; import javax.annotation.concurrent.Immutable; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.now; @@ -28,8 +29,7 @@ import static org.briarproject.bramble.util.LogUtils.now; @NotNullByDefault class Sec1KeyParser implements KeyParser { - private static final Logger LOG = - Logger.getLogger(Sec1KeyParser.class.getName()); + private static final Logger LOG = getLogger(Sec1KeyParser.class.getName()); private final ECDomainParameters params; private final BigInteger modulus; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/StreamDecrypterImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/StreamDecrypterImpl.java index 16edc2c74..5b3e9a42f 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/StreamDecrypterImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/StreamDecrypterImpl.java @@ -4,7 +4,6 @@ import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.api.crypto.StreamDecrypter; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.ByteUtils; import java.io.EOFException; import java.io.IOException; @@ -26,6 +25,8 @@ import static org.briarproject.bramble.api.transport.TransportConstants.STREAM_H import static org.briarproject.bramble.api.transport.TransportConstants.STREAM_HEADER_PLAINTEXT_LENGTH; import static org.briarproject.bramble.util.ByteUtils.INT_16_BYTES; import static org.briarproject.bramble.util.ByteUtils.INT_64_BYTES; +import static org.briarproject.bramble.util.ByteUtils.readUint16; +import static org.briarproject.bramble.util.ByteUtils.readUint64; @NotThreadSafe @NotNullByDefault @@ -145,12 +146,11 @@ class StreamDecrypterImpl implements StreamDecrypter { throw new FormatException(); } // Check the protocol version - int receivedProtocolVersion = - ByteUtils.readUint16(streamHeaderPlaintext, 0); + int receivedProtocolVersion = readUint16(streamHeaderPlaintext, 0); if (receivedProtocolVersion != PROTOCOL_VERSION) throw new FormatException(); // Check the stream number - long receivedStreamNumber = ByteUtils.readUint64(streamHeaderPlaintext, + long receivedStreamNumber = readUint64(streamHeaderPlaintext, INT_16_BYTES); if (receivedStreamNumber != streamNumber) throw new FormatException(); // Extract the frame key diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/StreamEncrypterImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/StreamEncrypterImpl.java index 2a060b03f..e84981edb 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/StreamEncrypterImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/StreamEncrypterImpl.java @@ -3,7 +3,6 @@ package org.briarproject.bramble.crypto; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.api.crypto.StreamEncrypter; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.ByteUtils; import java.io.IOException; import java.io.OutputStream; @@ -24,6 +23,8 @@ import static org.briarproject.bramble.api.transport.TransportConstants.STREAM_H import static org.briarproject.bramble.api.transport.TransportConstants.STREAM_HEADER_PLAINTEXT_LENGTH; import static org.briarproject.bramble.util.ByteUtils.INT_16_BYTES; import static org.briarproject.bramble.util.ByteUtils.INT_64_BYTES; +import static org.briarproject.bramble.util.ByteUtils.writeUint16; +import static org.briarproject.bramble.util.ByteUtils.writeUint64; @NotThreadSafe @NotNullByDefault @@ -118,9 +119,8 @@ class StreamEncrypterImpl implements StreamEncrypter { private void writeStreamHeader() throws IOException { // The header contains the protocol version, stream number and frame key byte[] streamHeaderPlaintext = new byte[STREAM_HEADER_PLAINTEXT_LENGTH]; - ByteUtils.writeUint16(PROTOCOL_VERSION, streamHeaderPlaintext, 0); - ByteUtils.writeUint64(streamNumber, streamHeaderPlaintext, - INT_16_BYTES); + writeUint16(PROTOCOL_VERSION, streamHeaderPlaintext, 0); + writeUint64(streamNumber, streamHeaderPlaintext, INT_16_BYTES); System.arraycopy(frameKey.getBytes(), 0, streamHeaderPlaintext, INT_16_BYTES + INT_64_BYTES, SecretKey.LENGTH); byte[] streamHeaderCiphertext = new byte[STREAM_HEADER_LENGTH]; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/TransportCryptoImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/TransportCryptoImpl.java index 2d4ffb7d3..f47243b9a 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/TransportCryptoImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/TransportCryptoImpl.java @@ -7,8 +7,6 @@ import org.briarproject.bramble.api.plugin.TransportId; import org.briarproject.bramble.api.transport.IncomingKeys; import org.briarproject.bramble.api.transport.OutgoingKeys; import org.briarproject.bramble.api.transport.TransportKeys; -import org.briarproject.bramble.util.ByteUtils; -import org.briarproject.bramble.util.StringUtils; import org.spongycastle.crypto.Digest; import org.spongycastle.crypto.digests.Blake2bDigest; @@ -24,6 +22,9 @@ import static org.briarproject.bramble.util.ByteUtils.INT_16_BYTES; import static org.briarproject.bramble.util.ByteUtils.INT_64_BYTES; import static org.briarproject.bramble.util.ByteUtils.MAX_16_BIT_UNSIGNED; import static org.briarproject.bramble.util.ByteUtils.MAX_32_BIT_UNSIGNED; +import static org.briarproject.bramble.util.ByteUtils.writeUint16; +import static org.briarproject.bramble.util.ByteUtils.writeUint64; +import static org.briarproject.bramble.util.StringUtils.toUtf8; class TransportCryptoImpl implements TransportCrypto { @@ -91,21 +92,21 @@ class TransportCryptoImpl implements TransportCrypto { private SecretKey rotateKey(SecretKey k, long rotationPeriod) { byte[] period = new byte[INT_64_BYTES]; - ByteUtils.writeUint64(rotationPeriod, period, 0); + writeUint64(rotationPeriod, period, 0); return crypto.deriveKey(ROTATE_LABEL, k, period); } private SecretKey deriveTagKey(SecretKey master, TransportId t, boolean alice) { String label = alice ? ALICE_TAG_LABEL : BOB_TAG_LABEL; - byte[] id = StringUtils.toUtf8(t.getString()); + byte[] id = toUtf8(t.getString()); return crypto.deriveKey(label, master, id); } private SecretKey deriveHeaderKey(SecretKey master, TransportId t, boolean alice) { String label = alice ? ALICE_HEADER_LABEL : BOB_HEADER_LABEL; - byte[] id = StringUtils.toUtf8(t.getString()); + byte[] id = toUtf8(t.getString()); return crypto.deriveKey(label, master, id); } @@ -125,10 +126,10 @@ class TransportCryptoImpl implements TransportCrypto { // The input is the protocol version as a 16-bit integer, followed by // the stream number as a 64-bit integer byte[] protocolVersionBytes = new byte[INT_16_BYTES]; - ByteUtils.writeUint16(protocolVersion, protocolVersionBytes, 0); + writeUint16(protocolVersion, protocolVersionBytes, 0); prf.update(protocolVersionBytes, 0, protocolVersionBytes.length); byte[] streamNumberBytes = new byte[INT_64_BYTES]; - ByteUtils.writeUint64(streamNumber, streamNumberBytes, 0); + writeUint64(streamNumber, streamNumberBytes, 0); prf.update(streamNumberBytes, 0, streamNumberBytes.length); byte[] mac = new byte[macLength]; prf.doFinal(mac, 0); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java index 97e7670c9..ef928b35c 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java @@ -73,6 +73,7 @@ import javax.annotation.concurrent.ThreadSafe; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.sync.Group.Visibility.INVISIBLE; import static org.briarproject.bramble.api.sync.Group.Visibility.SHARED; import static org.briarproject.bramble.api.sync.validation.MessageState.DELIVERED; @@ -87,7 +88,7 @@ import static org.briarproject.bramble.util.LogUtils.now; class DatabaseComponentImpl implements DatabaseComponent { private static final Logger LOG = - Logger.getLogger(DatabaseComponentImpl.class.getName()); + getLogger(DatabaseComponentImpl.class.getName()); private final Database db; private final Class txnClass; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java b/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java index ae0d13bfe..554add64b 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java @@ -7,7 +7,6 @@ import org.briarproject.bramble.api.db.MigrationListener; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.MessageFactory; import org.briarproject.bramble.api.system.Clock; -import org.briarproject.bramble.util.StringUtils; import java.io.File; import java.sql.Connection; @@ -23,6 +22,7 @@ import javax.inject.Inject; import static java.util.logging.Level.WARNING; import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.db.JdbcUtils.tryToClose; +import static org.briarproject.bramble.util.StringUtils.toHexString; /** * Contains all the H2-specific code for the database. @@ -107,7 +107,7 @@ class H2Database extends JdbcDatabase { Properties props = new Properties(); props.setProperty("user", "user"); // Separate the file password from the user password with a space - String hex = StringUtils.toHexString(key.getBytes()); + String hex = toHexString(key.getBytes()); props.put("password", hex + " password"); return DriverManager.getConnection(getUrl(), props); } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java b/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java index 8ce328f10..719961b5c 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java @@ -7,7 +7,6 @@ import org.briarproject.bramble.api.db.MigrationListener; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.MessageFactory; import org.briarproject.bramble.api.system.Clock; -import org.briarproject.bramble.util.StringUtils; import java.io.File; import java.sql.Connection; @@ -22,6 +21,7 @@ import javax.inject.Inject; import static java.util.logging.Level.WARNING; import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.db.JdbcUtils.tryToClose; +import static org.briarproject.bramble.util.StringUtils.toHexString; /** * Contains all the HSQLDB-specific code for the database. @@ -114,7 +114,7 @@ class HyperSqlDatabase extends JdbcDatabase { protected Connection createConnection() throws SQLException { SecretKey key = this.key; if (key == null) throw new IllegalStateException(); - String hex = StringUtils.toHexString(key.getBytes()); + String hex = toHexString(key.getBytes()); return DriverManager.getConnection(url + ";crypt_key=" + hex); } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java b/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java index 458a55bea..ceb44d4d5 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java @@ -59,6 +59,7 @@ import static java.sql.Types.INTEGER; import static java.sql.Types.VARCHAR; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.db.Metadata.REMOVE; import static org.briarproject.bramble.api.sync.Group.Visibility.INVISIBLE; import static org.briarproject.bramble.api.sync.Group.Visibility.SHARED; @@ -309,8 +310,7 @@ abstract class JdbcDatabase implements Database { "CREATE INDEX IF NOT EXISTS statusesByContactIdTimestamp" + " ON statuses (contactId, timestamp)"; - private static final Logger LOG = - Logger.getLogger(JdbcDatabase.class.getName()); + private static final Logger LOG = getLogger(JdbcDatabase.class.getName()); // Different database libraries use different names for certain types private final MessageFactory messageFactory; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/Migration38_39.java b/bramble-core/src/main/java/org/briarproject/bramble/db/Migration38_39.java index 089fd6308..01e5565aa 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/Migration38_39.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/Migration38_39.java @@ -8,12 +8,12 @@ import java.sql.Statement; import java.util.logging.Logger; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.db.JdbcUtils.tryToClose; class Migration38_39 implements Migration { - private static final Logger LOG = - Logger.getLogger(Migration38_39.class.getName()); + private static final Logger LOG = getLogger(Migration38_39.class.getName()); @Override public int getStartVersion() { diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/Migration39_40.java b/bramble-core/src/main/java/org/briarproject/bramble/db/Migration39_40.java index 882775f90..a5356e553 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/Migration39_40.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/Migration39_40.java @@ -8,12 +8,12 @@ import java.sql.Statement; import java.util.logging.Logger; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.db.JdbcUtils.tryToClose; class Migration39_40 implements Migration { - private static final Logger LOG = - Logger.getLogger(Migration39_40.class.getName()); + private static final Logger LOG = getLogger(Migration39_40.class.getName()); @Override public int getStartVersion() { diff --git a/bramble-core/src/main/java/org/briarproject/bramble/identity/AuthorFactoryImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/identity/AuthorFactoryImpl.java index bbd2ae65c..fef2b9b44 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/identity/AuthorFactoryImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/identity/AuthorFactoryImpl.java @@ -7,8 +7,6 @@ import org.briarproject.bramble.api.identity.AuthorId; import org.briarproject.bramble.api.identity.LocalAuthor; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.system.Clock; -import org.briarproject.bramble.util.ByteUtils; -import org.briarproject.bramble.util.StringUtils; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; @@ -16,6 +14,8 @@ import javax.inject.Inject; import static org.briarproject.bramble.api.identity.Author.FORMAT_VERSION; import static org.briarproject.bramble.api.identity.AuthorId.LABEL; import static org.briarproject.bramble.util.ByteUtils.INT_32_BYTES; +import static org.briarproject.bramble.util.ByteUtils.writeUint32; +import static org.briarproject.bramble.util.StringUtils.toUtf8; @Immutable @NotNullByDefault @@ -58,8 +58,8 @@ class AuthorFactoryImpl implements AuthorFactory { private AuthorId getId(int formatVersion, String name, byte[] publicKey) { byte[] formatVersionBytes = new byte[INT_32_BYTES]; - ByteUtils.writeUint32(formatVersion, formatVersionBytes, 0); + writeUint32(formatVersion, formatVersionBytes, 0); return new AuthorId(crypto.hash(LABEL, formatVersionBytes, - StringUtils.toUtf8(name), publicKey)); + toUtf8(name), publicKey)); } } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/identity/IdentityManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/identity/IdentityManagerImpl.java index d98f5d503..a7a588333 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/identity/IdentityManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/identity/IdentityManagerImpl.java @@ -16,6 +16,7 @@ import javax.annotation.Nullable; import javax.annotation.concurrent.ThreadSafe; import javax.inject.Inject; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.now; @@ -24,7 +25,7 @@ import static org.briarproject.bramble.util.LogUtils.now; class IdentityManagerImpl implements IdentityManager { private static final Logger LOG = - Logger.getLogger(IdentityManagerImpl.class.getName()); + getLogger(IdentityManagerImpl.class.getName()); private final DatabaseComponent db; private final CryptoComponent crypto; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/ConnectionChooserImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/ConnectionChooserImpl.java index 5b69243e1..40d087edf 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/ConnectionChooserImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/ConnectionChooserImpl.java @@ -20,13 +20,14 @@ import javax.annotation.concurrent.ThreadSafe; import javax.inject.Inject; import static java.util.logging.Level.INFO; +import static java.util.logging.Logger.getLogger; @NotNullByDefault @ThreadSafe class ConnectionChooserImpl implements ConnectionChooser { private static final Logger LOG = - Logger.getLogger(ConnectionChooserImpl.class.getName()); + getLogger(ConnectionChooserImpl.class.getName()); private final Clock clock; private final Executor ioExecutor; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementConnector.java b/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementConnector.java index e71137f7b..d0d380796 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementConnector.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementConnector.java @@ -30,6 +30,7 @@ import javax.annotation.Nullable; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.keyagreement.KeyAgreementConstants.CONNECTION_TIMEOUT; import static org.briarproject.bramble.util.LogUtils.logException; @@ -41,7 +42,7 @@ class KeyAgreementConnector { } private static final Logger LOG = - Logger.getLogger(KeyAgreementConnector.class.getName()); + getLogger(KeyAgreementConnector.class.getName()); private final Callbacks callbacks; private final KeyAgreementCrypto keyAgreementCrypto; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementTaskImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementTaskImpl.java index b6e994231..ab70dc2ec 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementTaskImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementTaskImpl.java @@ -28,6 +28,7 @@ import java.util.logging.Logger; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @MethodsNotNullByDefault @@ -36,7 +37,7 @@ class KeyAgreementTaskImpl extends Thread implements KeyAgreementTask, KeyAgreementProtocol.Callbacks, KeyAgreementConnector.Callbacks { private static final Logger LOG = - Logger.getLogger(KeyAgreementTaskImpl.class.getName()); + getLogger(KeyAgreementTaskImpl.class.getName()); private final CryptoComponent crypto; private final KeyAgreementCrypto keyAgreementCrypto; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementTransport.java b/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementTransport.java index 3dddec421..788bb8435 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementTransport.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/keyagreement/KeyAgreementTransport.java @@ -16,6 +16,7 @@ import java.io.OutputStream; import java.util.logging.Logger; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.keyagreement.KeyAgreementConstants.PROTOCOL_VERSION; import static org.briarproject.bramble.api.keyagreement.RecordTypes.ABORT; import static org.briarproject.bramble.api.keyagreement.RecordTypes.CONFIRM; @@ -29,7 +30,7 @@ import static org.briarproject.bramble.util.LogUtils.logException; class KeyAgreementTransport { private static final Logger LOG = - Logger.getLogger(KeyAgreementTransport.class.getName()); + getLogger(KeyAgreementTransport.class.getName()); private final KeyAgreementConnection kac; private final RecordReader reader; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java index da55a780c..eea19bbe1 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java @@ -28,6 +28,7 @@ import javax.inject.Inject; import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.COMPACTING_DATABASE; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.MIGRATING_DATABASE; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.RUNNING; @@ -49,7 +50,7 @@ import static org.briarproject.bramble.util.LogUtils.now; class LifecycleManagerImpl implements LifecycleManager, MigrationListener { private static final Logger LOG = - Logger.getLogger(LifecycleManagerImpl.class.getName()); + getLogger(LifecycleManagerImpl.class.getName()); private final DatabaseComponent db; private final EventBus eventBus; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionManagerImpl.java index 0df08372b..299bd8806 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionManagerImpl.java @@ -26,13 +26,14 @@ import java.util.logging.Logger; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.transport.TransportConstants.TAG_LENGTH; import static org.briarproject.bramble.util.LogUtils.logException; class ConnectionManagerImpl implements ConnectionManager { private static final Logger LOG = - Logger.getLogger(ConnectionManagerImpl.class.getName()); + getLogger(ConnectionManagerImpl.class.getName()); private final Executor ioExecutor; private final KeyManager keyManager; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionRegistryImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionRegistryImpl.java index 2e4571040..80162aad1 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionRegistryImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/ConnectionRegistryImpl.java @@ -25,13 +25,14 @@ import javax.annotation.concurrent.ThreadSafe; import javax.inject.Inject; import static java.util.logging.Level.INFO; +import static java.util.logging.Logger.getLogger; @ThreadSafe @NotNullByDefault class ConnectionRegistryImpl implements ConnectionRegistry { private static final Logger LOG = - Logger.getLogger(ConnectionRegistryImpl.class.getName()); + getLogger(ConnectionRegistryImpl.class.getName()); private final EventBus eventBus; private final Lock lock = new ReentrantLock(); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java index 34fecf711..7ab2f1b8b 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java @@ -52,6 +52,7 @@ import javax.inject.Inject; import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.now; @@ -61,7 +62,7 @@ import static org.briarproject.bramble.util.LogUtils.now; class PluginManagerImpl implements PluginManager, Service { private static final Logger LOG = - Logger.getLogger(PluginManagerImpl.class.getName()); + getLogger(PluginManagerImpl.class.getName()); private final Executor ioExecutor; private final ScheduledExecutorService scheduler; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/Poller.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/Poller.java index faea2ecc7..e533b61fd 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/Poller.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/Poller.java @@ -41,13 +41,14 @@ import javax.annotation.concurrent.ThreadSafe; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @ThreadSafe @NotNullByDefault class Poller implements EventListener { - private static final Logger LOG = Logger.getLogger(Poller.class.getName()); + private static final Logger LOG = getLogger(Poller.class.getName()); private final Executor ioExecutor; private final ScheduledExecutorService scheduler; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothConnectionLimiterImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothConnectionLimiterImpl.java index 296afdda8..7bccf23ae 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothConnectionLimiterImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothConnectionLimiterImpl.java @@ -13,6 +13,7 @@ import javax.annotation.concurrent.ThreadSafe; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @NotNullByDefault @@ -20,7 +21,7 @@ import static org.briarproject.bramble.util.LogUtils.logException; class BluetoothConnectionLimiterImpl implements BluetoothConnectionLimiter { private static final Logger LOG = - Logger.getLogger(BluetoothConnectionLimiterImpl.class.getName()); + getLogger(BluetoothConnectionLimiterImpl.class.getName()); private final Object lock = new Object(); // The following are locking: lock diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothPlugin.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothPlugin.java index 0fdc03cee..b0daf2144 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothPlugin.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothPlugin.java @@ -37,6 +37,7 @@ import javax.annotation.Nullable; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.keyagreement.KeyAgreementConstants.TRANSPORT_ID_BLUETOOTH; import static org.briarproject.bramble.api.plugin.BluetoothConstants.ID; import static org.briarproject.bramble.api.plugin.BluetoothConstants.PREF_BT_ENABLE; @@ -54,7 +55,7 @@ import static org.briarproject.bramble.util.StringUtils.macToString; abstract class BluetoothPlugin implements DuplexPlugin, EventListener { private static final Logger LOG = - Logger.getLogger(BluetoothPlugin.class.getName()); + getLogger(BluetoothPlugin.class.getName()); final BluetoothConnectionLimiter connectionLimiter; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FilePlugin.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FilePlugin.java index 57e353866..95a611b24 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FilePlugin.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FilePlugin.java @@ -14,6 +14,7 @@ import java.io.IOException; import java.util.logging.Logger; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.plugin.FileConstants.PROP_PATH; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; @@ -21,8 +22,7 @@ import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; @NotNullByDefault abstract class FilePlugin implements SimplexPlugin { - private static final Logger LOG = - Logger.getLogger(FilePlugin.class.getName()); + private static final Logger LOG = getLogger(FilePlugin.class.getName()); protected final SimplexPluginCallback callback; protected final int maxLatency; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FileTransportReader.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FileTransportReader.java index 07a84d294..1ea3636a0 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FileTransportReader.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FileTransportReader.java @@ -8,13 +8,14 @@ import java.io.InputStream; import java.util.logging.Logger; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.IoUtils.tryToClose; @NotNullByDefault class FileTransportReader implements TransportConnectionReader { private static final Logger LOG = - Logger.getLogger(FileTransportReader.class.getName()); + getLogger(FileTransportReader.class.getName()); private final File file; private final InputStream in; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FileTransportWriter.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FileTransportWriter.java index 2ab164784..09e2bf3b6 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FileTransportWriter.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/file/FileTransportWriter.java @@ -8,13 +8,14 @@ import java.io.OutputStream; import java.util.logging.Logger; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.IoUtils.tryToClose; @NotNullByDefault class FileTransportWriter implements TransportConnectionWriter { private static final Logger LOG = - Logger.getLogger(FileTransportWriter.class.getName()); + getLogger(FileTransportWriter.class.getName()); private final File file; private final OutputStream out; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/LanTcpPlugin.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/LanTcpPlugin.java index 1cc581cc5..8ea05b6cc 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/LanTcpPlugin.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/LanTcpPlugin.java @@ -12,7 +12,6 @@ import org.briarproject.bramble.api.plugin.duplex.DuplexTransportConnection; import org.briarproject.bramble.api.properties.TransportProperties; import org.briarproject.bramble.api.settings.Settings; import org.briarproject.bramble.util.IoUtils; -import org.briarproject.bramble.util.StringUtils; import java.io.IOException; import java.net.Inet4Address; @@ -23,26 +22,30 @@ import java.net.Socket; import java.net.SocketAddress; import java.net.UnknownHostException; import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.concurrent.Executor; import java.util.logging.Logger; +import static java.util.Collections.addAll; +import static java.util.Collections.emptyList; +import static java.util.Collections.sort; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.keyagreement.KeyAgreementConstants.TRANSPORT_ID_LAN; import static org.briarproject.bramble.api.plugin.LanTcpConstants.ID; import static org.briarproject.bramble.api.plugin.LanTcpConstants.PREF_LAN_IP_PORTS; import static org.briarproject.bramble.api.plugin.LanTcpConstants.PROP_IP_PORTS; import static org.briarproject.bramble.util.ByteUtils.MAX_16_BIT_UNSIGNED; import static org.briarproject.bramble.util.PrivacyUtils.scrubSocketAddress; +import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; +import static org.briarproject.bramble.util.StringUtils.join; @NotNullByDefault class LanTcpPlugin extends TcpPlugin { - private static final Logger LOG = - Logger.getLogger(LanTcpPlugin.class.getName()); + private static final Logger LOG = getLogger(LanTcpPlugin.class.getName()); private static final LanAddressComparator ADDRESS_COMPARATOR = new LanAddressComparator(); @@ -77,12 +80,12 @@ class LanTcpPlugin extends TcpPlugin { locals.add(new InetSocketAddress(local, 0)); } } - Collections.sort(locals, ADDRESS_COMPARATOR); + sort(locals, ADDRESS_COMPARATOR); return locals; } private List parseSocketAddresses(String ipPorts) { - if (StringUtils.isNullOrEmpty(ipPorts)) return Collections.emptyList(); + if (isNullOrEmpty(ipPorts)) return emptyList(); String[] split = ipPorts.split(SEPARATOR); List addresses = new ArrayList<>(); for (String ipPort : split) { @@ -98,24 +101,23 @@ class LanTcpPlugin extends TcpPlugin { // Get the list of recently used addresses String setting = callback.getSettings().get(PREF_LAN_IP_PORTS); List recent = new ArrayList<>(); - if (!StringUtils.isNullOrEmpty(setting)) - Collections.addAll(recent, setting.split(SEPARATOR)); + if (!isNullOrEmpty(setting)) addAll(recent, setting.split(SEPARATOR)); // Is the address already in the list? if (recent.remove(ipPort)) { // Move the address to the start of the list recent.add(0, ipPort); - setting = StringUtils.join(recent, SEPARATOR); + setting = join(recent, SEPARATOR); } else { // Add the address to the start of the list recent.add(0, ipPort); // Drop the least recently used address if the list is full if (recent.size() > MAX_ADDRESSES) recent = recent.subList(0, MAX_ADDRESSES); - setting = StringUtils.join(recent, SEPARATOR); + setting = join(recent, SEPARATOR); // Update the list of addresses shared with contacts List shared = new ArrayList<>(recent); - Collections.sort(shared); - String property = StringUtils.join(shared, SEPARATOR); + sort(shared); + String property = join(shared, SEPARATOR); TransportProperties properties = new TransportProperties(); properties.put(PROP_IP_PORTS, property); callback.mergeLocalProperties(properties); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/PortMapperImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/PortMapperImpl.java index 584510705..95b629807 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/PortMapperImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/PortMapperImpl.java @@ -17,6 +17,7 @@ import javax.xml.parsers.ParserConfigurationException; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.PrivacyUtils.scrubInetAddress; @@ -25,8 +26,7 @@ import static org.briarproject.bramble.util.PrivacyUtils.scrubInetAddress; @ParametersNotNullByDefault class PortMapperImpl implements PortMapper { - private static final Logger LOG = - Logger.getLogger(PortMapperImpl.class.getName()); + private static final Logger LOG = getLogger(PortMapperImpl.class.getName()); private final ShutdownManager shutdownManager; private final AtomicBoolean started = new AtomicBoolean(false); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/TcpPlugin.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/TcpPlugin.java index 3e8a008be..7073db8ec 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/TcpPlugin.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/TcpPlugin.java @@ -12,7 +12,6 @@ import org.briarproject.bramble.api.plugin.duplex.DuplexPluginCallback; import org.briarproject.bramble.api.plugin.duplex.DuplexTransportConnection; import org.briarproject.bramble.api.properties.TransportProperties; import org.briarproject.bramble.util.IoUtils; -import org.briarproject.bramble.util.StringUtils; import java.io.IOException; import java.net.InetAddress; @@ -41,17 +40,19 @@ import static java.util.Collections.emptyList; import static java.util.Collections.list; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.PrivacyUtils.scrubSocketAddress; +import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; @MethodsNotNullByDefault @ParametersNotNullByDefault abstract class TcpPlugin implements DuplexPlugin { + private static final Logger LOG = getLogger(TcpPlugin.class.getName()); + private static final Pattern DOTTED_QUAD = Pattern.compile("^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"); - private static final Logger LOG = - Logger.getLogger(TcpPlugin.class.getName()); protected final Executor ioExecutor, bindExecutor; protected final Backoff backoff; @@ -263,7 +264,7 @@ abstract class TcpPlugin implements DuplexPlugin { @Nullable InetSocketAddress parseSocketAddress(String ipPort) { - if (StringUtils.isNullOrEmpty(ipPort)) return null; + if (isNullOrEmpty(ipPort)) return null; String[] split = ipPort.split(":"); if (split.length != 2) return null; String addr = split[0], port = split[1]; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java index d672b4cb4..bda387087 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java @@ -60,6 +60,7 @@ import javax.net.SocketFactory; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static net.freehaven.tor.control.TorControlCommands.HS_ADDRESS; import static net.freehaven.tor.control.TorControlCommands.HS_PRIVKEY; import static org.briarproject.bramble.api.plugin.TorConstants.CONTROL_PORT; @@ -73,6 +74,7 @@ import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_ONLY_WHE import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_PORT; import static org.briarproject.bramble.api.plugin.TorConstants.PROP_ONION_V2; import static org.briarproject.bramble.api.plugin.TorConstants.PROP_ONION_V3; +import static org.briarproject.bramble.util.IoUtils.copyAndClose; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.PrivacyUtils.scrubOnion; import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; @@ -81,8 +83,7 @@ import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; @ParametersNotNullByDefault abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener { - private static final Logger LOG = - Logger.getLogger(TorPlugin.class.getName()); + private static final Logger LOG = getLogger(TorPlugin.class.getName()); private static final String[] EVENTS = { "CIRC", "ORCONN", "HS_DESC", "NOTICE", "WARN", "ERR" @@ -284,23 +285,23 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener { // Unzip the Tor binary to the filesystem in = getTorInputStream(); out = new FileOutputStream(torFile); - IoUtils.copyAndClose(in, out); + copyAndClose(in, out); // Make the Tor binary executable if (!torFile.setExecutable(true, true)) throw new IOException(); // Unzip the GeoIP database to the filesystem in = getGeoIpInputStream(); out = new FileOutputStream(geoIpFile); - IoUtils.copyAndClose(in, out); + copyAndClose(in, out); // Unzip the Obfs4 proxy to the filesystem in = getObfs4InputStream(); out = new FileOutputStream(obfs4File); - IoUtils.copyAndClose(in, out); + copyAndClose(in, out); // Make the Obfs4 proxy executable if (!obfs4File.setExecutable(true, true)) throw new IOException(); // Copy the config file to the filesystem in = getConfigInputStream(); out = new FileOutputStream(configFile); - IoUtils.copyAndClose(in, out); + copyAndClose(in, out); doneFile.createNewFile(); } catch (IOException e) { IoUtils.tryToClose(in, LOG, WARNING); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/record/RecordReaderImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/record/RecordReaderImpl.java index 12aac514c..6fa7e889b 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/record/RecordReaderImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/record/RecordReaderImpl.java @@ -4,7 +4,6 @@ import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.record.Record; import org.briarproject.bramble.api.record.RecordReader; -import org.briarproject.bramble.util.ByteUtils; import java.io.DataInputStream; import java.io.IOException; @@ -14,6 +13,7 @@ import javax.annotation.concurrent.NotThreadSafe; import static org.briarproject.bramble.api.record.Record.MAX_RECORD_PAYLOAD_BYTES; import static org.briarproject.bramble.api.record.Record.RECORD_HEADER_BYTES; +import static org.briarproject.bramble.util.ByteUtils.readUint16; @NotThreadSafe @NotNullByDefault @@ -31,7 +31,7 @@ class RecordReaderImpl implements RecordReader { in.readFully(header); byte protocolVersion = header[0]; byte recordType = header[1]; - int payloadLength = ByteUtils.readUint16(header, 2); + int payloadLength = readUint16(header, 2); if (payloadLength < 0 || payloadLength > MAX_RECORD_PAYLOAD_BYTES) throw new FormatException(); byte[] payload = new byte[payloadLength]; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/record/RecordWriterImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/record/RecordWriterImpl.java index ec9f5c0c0..56ffd76a8 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/record/RecordWriterImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/record/RecordWriterImpl.java @@ -3,7 +3,6 @@ package org.briarproject.bramble.record; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.record.Record; import org.briarproject.bramble.api.record.RecordWriter; -import org.briarproject.bramble.util.ByteUtils; import java.io.IOException; import java.io.OutputStream; @@ -11,6 +10,7 @@ import java.io.OutputStream; import javax.annotation.concurrent.NotThreadSafe; import static org.briarproject.bramble.api.record.Record.RECORD_HEADER_BYTES; +import static org.briarproject.bramble.util.ByteUtils.writeUint16; @NotThreadSafe @NotNullByDefault @@ -28,7 +28,7 @@ class RecordWriterImpl implements RecordWriter { byte[] payload = r.getPayload(); header[0] = r.getProtocolVersion(); header[1] = r.getRecordType(); - ByteUtils.writeUint16(payload.length, header, 2); + writeUint16(payload.length, header, 2); out.write(header); out.write(payload); } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/reliability/Ack.java b/bramble-core/src/main/java/org/briarproject/bramble/reliability/Ack.java index 737e32fd5..d7e9a4f57 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/reliability/Ack.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/reliability/Ack.java @@ -1,10 +1,12 @@ package org.briarproject.bramble.reliability; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.ByteUtils; import javax.annotation.concurrent.NotThreadSafe; +import static org.briarproject.bramble.util.ByteUtils.readUint16; +import static org.briarproject.bramble.util.ByteUtils.writeUint16; + @NotThreadSafe @NotNullByDefault class Ack extends Frame { @@ -23,10 +25,10 @@ class Ack extends Frame { } int getWindowSize() { - return ByteUtils.readUint16(buf, 5); + return readUint16(buf, 5); } void setWindowSize(int windowSize) { - ByteUtils.writeUint16(windowSize, buf, 5); + writeUint16(windowSize, buf, 5); } } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/reliability/Frame.java b/bramble-core/src/main/java/org/briarproject/bramble/reliability/Frame.java index 6e5d1969c..91b9dbff0 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/reliability/Frame.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/reliability/Frame.java @@ -1,10 +1,12 @@ package org.briarproject.bramble.reliability; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.ByteUtils; import javax.annotation.concurrent.NotThreadSafe; +import static org.briarproject.bramble.util.ByteUtils.readUint32; +import static org.briarproject.bramble.util.ByteUtils.writeUint32; + @NotThreadSafe @NotNullByDefault abstract class Frame { @@ -26,11 +28,11 @@ abstract class Frame { } long getChecksum() { - return ByteUtils.readUint32(buf, buf.length - 4); + return readUint32(buf, buf.length - 4); } void setChecksum(long checksum) { - ByteUtils.writeUint32(checksum, buf, buf.length - 4); + writeUint32(checksum, buf, buf.length - 4); } long calculateChecksum() { @@ -38,11 +40,11 @@ abstract class Frame { } long getSequenceNumber() { - return ByteUtils.readUint32(buf, 1); + return readUint32(buf, 1); } void setSequenceNumber(long sequenceNumber) { - ByteUtils.writeUint32(sequenceNumber, buf, 1); + writeUint32(sequenceNumber, buf, 1); } @Override diff --git a/bramble-core/src/main/java/org/briarproject/bramble/reliability/ReliabilityLayerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/reliability/ReliabilityLayerImpl.java index 0de0e491f..ed33c5d82 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/reliability/ReliabilityLayerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/reliability/ReliabilityLayerImpl.java @@ -16,6 +16,7 @@ import java.util.logging.Logger; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @MethodsNotNullByDefault @@ -25,7 +26,7 @@ class ReliabilityLayerImpl implements ReliabilityLayer, WriteHandler { private static final int TICK_INTERVAL = 500; // Milliseconds private static final Logger LOG = - Logger.getLogger(ReliabilityLayerImpl.class.getName()); + getLogger(ReliabilityLayerImpl.class.getName()); private final Executor executor; private final Clock clock; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/reporting/DevReporterImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/reporting/DevReporterImpl.java index f03d4f730..3f8975cd1 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/reporting/DevReporterImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/reporting/DevReporterImpl.java @@ -9,8 +9,6 @@ import org.briarproject.bramble.api.plugin.TorConstants; import org.briarproject.bramble.api.plugin.event.TransportEnabledEvent; import org.briarproject.bramble.api.reporting.DevConfig; import org.briarproject.bramble.api.reporting.DevReporter; -import org.briarproject.bramble.util.IoUtils; -import org.briarproject.bramble.util.StringUtils; import java.io.File; import java.io.FileInputStream; @@ -30,14 +28,18 @@ import javax.inject.Inject; import javax.net.SocketFactory; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; +import static org.briarproject.bramble.util.IoUtils.copyAndClose; +import static org.briarproject.bramble.util.IoUtils.getOutputStream; import static org.briarproject.bramble.util.IoUtils.tryToClose; +import static org.briarproject.bramble.util.StringUtils.toUtf8; @Immutable @NotNullByDefault class DevReporterImpl implements DevReporter, EventListener { private static final Logger LOG = - Logger.getLogger(DevReporterImpl.class.getName()); + getLogger(DevReporterImpl.class.getName()); private static final int SOCKET_TIMEOUT = 30 * 1000; // 30 seconds private static final int LINE_LENGTH = 70; @@ -73,7 +75,7 @@ class DevReporterImpl implements DevReporter, EventListener { public void encryptReportToFile(File reportDir, String filename, String report) throws FileNotFoundException { LOG.info("Encrypting report to file"); - byte[] plaintext = StringUtils.toUtf8(report); + byte[] plaintext = toUtf8(report); byte[] ciphertext = crypto.encryptToKey(devConfig.getDevPublicKey(), plaintext); String armoured = crypto.asciiArmour(ciphertext, LINE_LENGTH); @@ -112,9 +114,9 @@ class DevReporterImpl implements DevReporter, EventListener { InputStream in = null; try { Socket s = connectToDevelopers(); - out = IoUtils.getOutputStream(s); + out = getOutputStream(s); in = new FileInputStream(f); - IoUtils.copyAndClose(in, out); + copyAndClose(in, out); f.delete(); } catch (IOException e) { LOG.log(WARNING, "Failed to send reports", e); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/socks/SocksSocket.java b/bramble-core/src/main/java/org/briarproject/bramble/socks/SocksSocket.java index a254026ef..a52c6bd32 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/socks/SocksSocket.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/socks/SocksSocket.java @@ -1,6 +1,5 @@ package org.briarproject.bramble.socks; -import org.briarproject.bramble.util.ByteUtils; import org.briarproject.bramble.util.IoUtils; import java.io.IOException; @@ -12,6 +11,8 @@ import java.net.Socket; import java.net.SocketAddress; import java.util.Arrays; +import static org.briarproject.bramble.util.ByteUtils.writeUint16; + class SocksSocket extends Socket { private static final String[] ERRORS = { @@ -108,7 +109,7 @@ class SocksSocket extends Socket { connectRequest[4] = (byte) host.length(); // Length of domain name for (int i = 0; i < host.length(); i++) connectRequest[5 + i] = (byte) host.charAt(i); - ByteUtils.writeUint16(port, connectRequest, connectRequest.length - 2); + writeUint16(port, connectRequest, connectRequest.length - 2); out.write(connectRequest); out.flush(); } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/DuplexOutgoingSession.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/DuplexOutgoingSession.java index 00c50f16c..773f79714 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/sync/DuplexOutgoingSession.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/DuplexOutgoingSession.java @@ -39,6 +39,7 @@ import javax.annotation.concurrent.ThreadSafe; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.STOPPING; import static org.briarproject.bramble.api.record.Record.MAX_RECORD_PAYLOAD_BYTES; import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_IDS; @@ -55,7 +56,7 @@ import static org.briarproject.bramble.util.LogUtils.logException; class DuplexOutgoingSession implements SyncSession, EventListener { private static final Logger LOG = - Logger.getLogger(DuplexOutgoingSession.class.getName()); + getLogger(DuplexOutgoingSession.class.getName()); private static final ThrowingRunnable CLOSE = () -> { }; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/GroupFactoryImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/GroupFactoryImpl.java index 0e34cf6b4..132b2a460 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/sync/GroupFactoryImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/GroupFactoryImpl.java @@ -6,8 +6,6 @@ import org.briarproject.bramble.api.sync.ClientId; import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.api.sync.GroupFactory; import org.briarproject.bramble.api.sync.GroupId; -import org.briarproject.bramble.util.ByteUtils; -import org.briarproject.bramble.util.StringUtils; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; @@ -15,6 +13,8 @@ import javax.inject.Inject; import static org.briarproject.bramble.api.sync.Group.FORMAT_VERSION; import static org.briarproject.bramble.api.sync.GroupId.LABEL; import static org.briarproject.bramble.util.ByteUtils.INT_32_BYTES; +import static org.briarproject.bramble.util.ByteUtils.writeUint32; +import static org.briarproject.bramble.util.StringUtils.toUtf8; @Immutable @NotNullByDefault @@ -33,10 +33,9 @@ class GroupFactoryImpl implements GroupFactory { @Override public Group createGroup(ClientId c, int majorVersion, byte[] descriptor) { byte[] majorVersionBytes = new byte[INT_32_BYTES]; - ByteUtils.writeUint32(majorVersion, majorVersionBytes, 0); + writeUint32(majorVersion, majorVersionBytes, 0); byte[] hash = crypto.hash(LABEL, FORMAT_VERSION_BYTES, - StringUtils.toUtf8(c.getString()), majorVersionBytes, - descriptor); + toUtf8(c.getString()), majorVersionBytes, descriptor); return new Group(new GroupId(hash), c, majorVersion, descriptor); } } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/IncomingSession.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/IncomingSession.java index 6e1e2987d..b09742cf0 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/sync/IncomingSession.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/IncomingSession.java @@ -26,6 +26,7 @@ import java.util.logging.Logger; import javax.annotation.concurrent.ThreadSafe; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.STOPPING; import static org.briarproject.bramble.util.LogUtils.logException; @@ -37,7 +38,7 @@ import static org.briarproject.bramble.util.LogUtils.logException; class IncomingSession implements SyncSession, EventListener { private static final Logger LOG = - Logger.getLogger(IncomingSession.class.getName()); + getLogger(IncomingSession.class.getName()); private final DatabaseComponent db; private final Executor dbExecutor; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/MessageFactoryImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/MessageFactoryImpl.java index f979abab0..b7932cf85 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/sync/MessageFactoryImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/MessageFactoryImpl.java @@ -7,7 +7,6 @@ import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.sync.MessageFactory; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.bramble.util.ByteUtils; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; @@ -19,6 +18,8 @@ import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_BODY_L import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_LENGTH; import static org.briarproject.bramble.api.sync.SyncConstants.MESSAGE_HEADER_LENGTH; import static org.briarproject.bramble.util.ByteUtils.INT_64_BYTES; +import static org.briarproject.bramble.util.ByteUtils.readUint64; +import static org.briarproject.bramble.util.ByteUtils.writeUint64; @Immutable @NotNullByDefault @@ -47,7 +48,7 @@ class MessageFactoryImpl implements MessageFactory { // There's only one block, so the root hash is the hash of the block byte[] rootHash = crypto.hash(BLOCK_LABEL, FORMAT_VERSION_BYTES, body); byte[] timeBytes = new byte[INT_64_BYTES]; - ByteUtils.writeUint64(timestamp, timeBytes, 0); + writeUint64(timestamp, timeBytes, 0); byte[] idHash = crypto.hash(ID_LABEL, FORMAT_VERSION_BYTES, g.getBytes(), timeBytes, rootHash); return new MessageId(idHash); @@ -62,7 +63,7 @@ class MessageFactoryImpl implements MessageFactory { byte[] groupId = new byte[UniqueId.LENGTH]; System.arraycopy(raw, 0, groupId, 0, UniqueId.LENGTH); GroupId g = new GroupId(groupId); - long timestamp = ByteUtils.readUint64(raw, UniqueId.LENGTH); + long timestamp = readUint64(raw, UniqueId.LENGTH); byte[] body = new byte[raw.length - MESSAGE_HEADER_LENGTH]; System.arraycopy(raw, MESSAGE_HEADER_LENGTH, body, 0, body.length); MessageId id = getMessageId(g, timestamp, body); @@ -74,7 +75,7 @@ class MessageFactoryImpl implements MessageFactory { byte[] body = m.getBody(); byte[] raw = new byte[MESSAGE_HEADER_LENGTH + body.length]; System.arraycopy(m.getGroupId().getBytes(), 0, raw, 0, UniqueId.LENGTH); - ByteUtils.writeUint64(m.getTimestamp(), raw, UniqueId.LENGTH); + writeUint64(m.getTimestamp(), raw, UniqueId.LENGTH); System.arraycopy(body, 0, raw, MESSAGE_HEADER_LENGTH, body.length); return raw; } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/SimplexOutgoingSession.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/SimplexOutgoingSession.java index ecc7c26bb..5310ff894 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/sync/SimplexOutgoingSession.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/SimplexOutgoingSession.java @@ -29,6 +29,7 @@ import javax.annotation.concurrent.ThreadSafe; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.STOPPING; import static org.briarproject.bramble.api.record.Record.MAX_RECORD_PAYLOAD_BYTES; import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_IDS; @@ -44,7 +45,7 @@ import static org.briarproject.bramble.util.LogUtils.logException; class SimplexOutgoingSession implements SyncSession, EventListener { private static final Logger LOG = - Logger.getLogger(SimplexOutgoingSession.class.getName()); + getLogger(SimplexOutgoingSession.class.getName()); private static final ThrowingRunnable CLOSE = () -> { }; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/SyncRecordReaderImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/SyncRecordReaderImpl.java index c06f7876a..7e95597ca 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/sync/SyncRecordReaderImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/SyncRecordReaderImpl.java @@ -12,7 +12,6 @@ import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.sync.Offer; import org.briarproject.bramble.api.sync.Request; import org.briarproject.bramble.api.sync.SyncRecordReader; -import org.briarproject.bramble.util.ByteUtils; import java.io.EOFException; import java.io.IOException; @@ -28,6 +27,7 @@ import static org.briarproject.bramble.api.sync.RecordTypes.OFFER; import static org.briarproject.bramble.api.sync.RecordTypes.REQUEST; import static org.briarproject.bramble.api.sync.SyncConstants.MESSAGE_HEADER_LENGTH; import static org.briarproject.bramble.api.sync.SyncConstants.PROTOCOL_VERSION; +import static org.briarproject.bramble.util.ByteUtils.readUint64; @NotThreadSafe @NotNullByDefault @@ -127,7 +127,7 @@ class SyncRecordReaderImpl implements SyncRecordReader { if (payload.length <= MESSAGE_HEADER_LENGTH) throw new FormatException(); // Validate timestamp - long timestamp = ByteUtils.readUint64(payload, UniqueId.LENGTH); + long timestamp = readUint64(payload, UniqueId.LENGTH); if (timestamp < 0) throw new FormatException(); nextRecord = null; return messageFactory.createMessage(payload); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/validation/ValidationManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/validation/ValidationManagerImpl.java index ddd5193d3..2535856d5 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/sync/validation/ValidationManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/validation/ValidationManagerImpl.java @@ -40,6 +40,7 @@ import javax.inject.Inject; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.sync.validation.MessageState.DELIVERED; import static org.briarproject.bramble.api.sync.validation.MessageState.INVALID; import static org.briarproject.bramble.api.sync.validation.MessageState.PENDING; @@ -51,7 +52,7 @@ class ValidationManagerImpl implements ValidationManager, Service, EventListener { private static final Logger LOG = - Logger.getLogger(ValidationManagerImpl.class.getName()); + getLogger(ValidationManagerImpl.class.getName()); private final DatabaseComponent db; private final Executor dbExecutor, validationExecutor; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/transport/KeyManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/transport/KeyManagerImpl.java index 624c8b2b8..ffaf7e66a 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/transport/KeyManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/transport/KeyManagerImpl.java @@ -34,13 +34,13 @@ import javax.annotation.concurrent.ThreadSafe; import javax.inject.Inject; import static java.util.logging.Level.INFO; +import static java.util.logging.Logger.getLogger; @ThreadSafe @NotNullByDefault class KeyManagerImpl implements KeyManager, Service, EventListener { - private static final Logger LOG = - Logger.getLogger(KeyManagerImpl.class.getName()); + private static final Logger LOG = getLogger(KeyManagerImpl.class.getName()); private final DatabaseComponent db; private final Executor dbExecutor; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/transport/TransportKeyManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/transport/TransportKeyManagerImpl.java index ed51c3919..ea85c23a4 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/transport/TransportKeyManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/transport/TransportKeyManagerImpl.java @@ -32,6 +32,7 @@ import javax.annotation.concurrent.ThreadSafe; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.transport.TransportConstants.MAX_CLOCK_DIFFERENCE; import static org.briarproject.bramble.api.transport.TransportConstants.PROTOCOL_VERSION; import static org.briarproject.bramble.api.transport.TransportConstants.TAG_LENGTH; @@ -43,7 +44,7 @@ import static org.briarproject.bramble.util.LogUtils.logException; class TransportKeyManagerImpl implements TransportKeyManager { private static final Logger LOG = - Logger.getLogger(TransportKeyManagerImpl.class.getName()); + getLogger(TransportKeyManagerImpl.class.getName()); private final DatabaseComponent db; private final TransportCrypto transportCrypto; diff --git a/bramble-core/src/test/java/org/briarproject/bramble/client/ClientHelperImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/client/ClientHelperImplTest.java index 33888d7a1..f254e227e 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/client/ClientHelperImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/client/ClientHelperImplTest.java @@ -23,7 +23,6 @@ import org.briarproject.bramble.api.sync.MessageFactory; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.bramble.test.DbExpectations; -import org.briarproject.bramble.util.StringUtils; import org.jmock.Expectations; import org.jmock.Mockery; import org.junit.Test; @@ -74,7 +73,7 @@ public class ClientHelperImplTest extends BrambleTestCase { private final long timestamp = message.getTimestamp(); private final Metadata metadata = new Metadata(); private final BdfList list = BdfList.of("Sign this!", getRandomBytes(42)); - private final String label = StringUtils.getRandomString(5); + private final String label = getRandomString(5); private final Author author = getAuthor(); private final ClientHelper clientHelper = new ClientHelperImpl(db, diff --git a/bramble-core/src/test/java/org/briarproject/bramble/crypto/Blake2bDigestTest.java b/bramble-core/src/test/java/org/briarproject/bramble/crypto/Blake2bDigestTest.java index 3154e925f..b7cec42b4 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/crypto/Blake2bDigestTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/crypto/Blake2bDigestTest.java @@ -1,12 +1,12 @@ package org.briarproject.bramble.crypto; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.util.StringUtils; import org.junit.Test; import org.spongycastle.crypto.digests.Blake2bDigest; import java.util.Random; +import static org.briarproject.bramble.util.StringUtils.fromHexString; import static org.junit.Assert.assertArrayEquals; public class Blake2bDigestTest extends BrambleTestCase { @@ -49,9 +49,9 @@ public class Blake2bDigestTest extends BrambleTestCase { @Test public void testDigestWithKeyedTestVectors() { for (String[] keyedTestVector : KEYED_TEST_VECTORS) { - byte[] input = StringUtils.fromHexString(keyedTestVector[0]); - byte[] key = StringUtils.fromHexString(keyedTestVector[1]); - byte[] expected = StringUtils.fromHexString(keyedTestVector[2]); + byte[] input = fromHexString(keyedTestVector[0]); + byte[] key = fromHexString(keyedTestVector[1]); + byte[] expected = fromHexString(keyedTestVector[2]); Blake2bDigest digest = new Blake2bDigest(key); digest.update(input, 0, input.length); @@ -67,10 +67,10 @@ public class Blake2bDigestTest extends BrambleTestCase { Random random = new Random(); for (int i = 0; i < 100; i++) { for (String[] keyedTestVector : KEYED_TEST_VECTORS) { - byte[] input = StringUtils.fromHexString(keyedTestVector[0]); + byte[] input = fromHexString(keyedTestVector[0]); if (input.length == 0) continue; - byte[] key = StringUtils.fromHexString(keyedTestVector[1]); - byte[] expected = StringUtils.fromHexString(keyedTestVector[2]); + byte[] key = fromHexString(keyedTestVector[1]); + byte[] expected = fromHexString(keyedTestVector[2]); Blake2bDigest digest = new Blake2bDigest(key); @@ -168,6 +168,6 @@ public class Blake2bDigestTest extends BrambleTestCase { byte[] hash = new byte[32]; testDigest.doFinal(hash, 0); - assertArrayEquals(StringUtils.fromHexString(SELF_TEST_RESULT), hash); + assertArrayEquals(fromHexString(SELF_TEST_RESULT), hash); } } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/crypto/HashTest.java b/bramble-core/src/test/java/org/briarproject/bramble/crypto/HashTest.java index 56eda7c87..f62e79bb2 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/crypto/HashTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/crypto/HashTest.java @@ -3,12 +3,12 @@ package org.briarproject.bramble.crypto; import org.briarproject.bramble.api.crypto.CryptoComponent; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.bramble.test.TestSecureRandomProvider; -import org.briarproject.bramble.test.TestUtils; -import org.briarproject.bramble.util.StringUtils; import org.junit.Test; import java.util.Arrays; +import static org.briarproject.bramble.test.TestUtils.getRandomBytes; +import static org.briarproject.bramble.util.StringUtils.getRandomString; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertFalse; @@ -16,9 +16,9 @@ public class HashTest extends BrambleTestCase { private final CryptoComponent crypto; - private final String label = StringUtils.getRandomString(42); - private final byte[] inputBytes = TestUtils.getRandomBytes(123); - private final byte[] inputBytes1 = TestUtils.getRandomBytes(234); + private final String label = getRandomString(42); + private final byte[] inputBytes = getRandomBytes(123); + private final byte[] inputBytes1 = getRandomBytes(234); private final byte[] inputBytes2 = new byte[0]; public HashTest() { @@ -41,7 +41,7 @@ public class HashTest extends BrambleTestCase { @Test public void testDifferentLabelsProduceDifferentHashes() { - String label2 = StringUtils.getRandomString(42); + String label2 = getRandomString(42); byte[] hash1 = crypto.hash(label, inputBytes, inputBytes1, inputBytes2); byte[] hash2 = crypto.hash(label2, inputBytes, inputBytes1, inputBytes2); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/crypto/PasswordBasedEncryptionTest.java b/bramble-core/src/test/java/org/briarproject/bramble/crypto/PasswordBasedEncryptionTest.java index 5efc3593e..7154b5580 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/crypto/PasswordBasedEncryptionTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/crypto/PasswordBasedEncryptionTest.java @@ -3,11 +3,11 @@ package org.briarproject.bramble.crypto; import org.briarproject.bramble.system.SystemClock; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.bramble.test.TestSecureRandomProvider; -import org.briarproject.bramble.test.TestUtils; import org.junit.Test; import java.util.Random; +import static org.briarproject.bramble.test.TestUtils.getRandomBytes; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertNull; @@ -19,7 +19,7 @@ public class PasswordBasedEncryptionTest extends BrambleTestCase { @Test public void testEncryptionAndDecryption() { - byte[] input = TestUtils.getRandomBytes(1234); + byte[] input = getRandomBytes(1234); String password = "password"; byte[] ciphertext = crypto.encryptWithPassword(input, password); byte[] output = crypto.decryptWithPassword(ciphertext, password); @@ -28,7 +28,7 @@ public class PasswordBasedEncryptionTest extends BrambleTestCase { @Test public void testInvalidCiphertextReturnsNull() { - byte[] input = TestUtils.getRandomBytes(1234); + byte[] input = getRandomBytes(1234); String password = "password"; byte[] ciphertext = crypto.encryptWithPassword(input, password); // Modify the ciphertext diff --git a/bramble-core/src/test/java/org/briarproject/bramble/crypto/ScryptKdfTest.java b/bramble-core/src/test/java/org/briarproject/bramble/crypto/ScryptKdfTest.java index b7356f00a..082c371d3 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/crypto/ScryptKdfTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/crypto/ScryptKdfTest.java @@ -4,6 +4,7 @@ import org.briarproject.bramble.api.Bytes; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.system.SystemClock; +import org.briarproject.bramble.test.ArrayClock; import org.briarproject.bramble.test.BrambleTestCase; import org.junit.Test; @@ -11,8 +12,6 @@ import java.util.HashSet; import java.util.Set; import static junit.framework.TestCase.assertTrue; - -import org.briarproject.bramble.test.ArrayClock; import static org.briarproject.bramble.test.TestUtils.getRandomBytes; import static org.briarproject.bramble.util.StringUtils.getRandomString; import static org.junit.Assert.assertEquals; diff --git a/bramble-core/src/test/java/org/briarproject/bramble/crypto/SignatureTest.java b/bramble-core/src/test/java/org/briarproject/bramble/crypto/SignatureTest.java index 2939541b3..436b5d00d 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/crypto/SignatureTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/crypto/SignatureTest.java @@ -4,13 +4,13 @@ import org.briarproject.bramble.api.crypto.CryptoComponent; import org.briarproject.bramble.api.crypto.KeyPair; import org.briarproject.bramble.test.BrambleTestCase; import org.briarproject.bramble.test.TestSecureRandomProvider; -import org.briarproject.bramble.test.TestUtils; -import org.briarproject.bramble.util.StringUtils; import org.junit.Test; import java.security.GeneralSecurityException; import java.util.Arrays; +import static org.briarproject.bramble.test.TestUtils.getRandomBytes; +import static org.briarproject.bramble.util.StringUtils.getRandomString; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -20,8 +20,8 @@ public abstract class SignatureTest extends BrambleTestCase { protected final CryptoComponent crypto; private final byte[] publicKey, privateKey; - private final String label = StringUtils.getRandomString(42); - private final byte[] inputBytes = TestUtils.getRandomBytes(123); + private final String label = getRandomString(42); + private final byte[] inputBytes = getRandomBytes(123); protected abstract KeyPair generateKeyPair(); @@ -62,7 +62,7 @@ public abstract class SignatureTest extends BrambleTestCase { public void testDifferentInputsProduceDifferentSignatures() throws Exception { // Generate a second input - byte[] inputBytes2 = TestUtils.getRandomBytes(123); + byte[] inputBytes2 = getRandomBytes(123); // Calculate the signature with different inputs // the results should be different byte[] sig1 = sign(label, inputBytes, privateKey); @@ -74,7 +74,7 @@ public abstract class SignatureTest extends BrambleTestCase { public void testDifferentLabelsProduceDifferentSignatures() throws Exception { // Generate a second label - String label2 = StringUtils.getRandomString(42); + String label2 = getRandomString(42); // Calculate the signature with different inputs // the results should be different byte[] sig1 = sign(label, inputBytes, privateKey); @@ -101,7 +101,7 @@ public abstract class SignatureTest extends BrambleTestCase { @Test public void testDifferentInputFailsVerification() throws Exception { // Generate a second input - byte[] inputBytes2 = TestUtils.getRandomBytes(123); + byte[] inputBytes2 = getRandomBytes(123); // calculate the signature with different input, should fail to verify byte[] sig = sign(label, inputBytes, privateKey); assertFalse(verify(sig, label, inputBytes2, publicKey)); @@ -110,7 +110,7 @@ public abstract class SignatureTest extends BrambleTestCase { @Test public void testDifferentLabelFailsVerification() throws Exception { // Generate a second label - String label2 = StringUtils.getRandomString(42); + String label2 = getRandomString(42); // calculate the signature with different label, should fail to verify byte[] sig = sign(label, inputBytes, privateKey); assertFalse(verify(sig, label2, inputBytes, publicKey)); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/crypto/StreamDecrypterImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/crypto/StreamDecrypterImplTest.java index e5ea2d31d..0ddbeccd6 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/crypto/StreamDecrypterImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/crypto/StreamDecrypterImplTest.java @@ -2,8 +2,6 @@ package org.briarproject.bramble.crypto; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.test.TestUtils; -import org.briarproject.bramble.util.ByteUtils; import org.junit.Test; import java.io.ByteArrayInputStream; @@ -16,7 +14,11 @@ import static org.briarproject.bramble.api.transport.TransportConstants.MAC_LENG import static org.briarproject.bramble.api.transport.TransportConstants.MAX_PAYLOAD_LENGTH; import static org.briarproject.bramble.api.transport.TransportConstants.PROTOCOL_VERSION; import static org.briarproject.bramble.api.transport.TransportConstants.STREAM_HEADER_NONCE_LENGTH; +import static org.briarproject.bramble.test.TestUtils.getRandomBytes; +import static org.briarproject.bramble.test.TestUtils.getSecretKey; import static org.briarproject.bramble.util.ByteUtils.INT_16_BYTES; +import static org.briarproject.bramble.util.ByteUtils.writeUint16; +import static org.briarproject.bramble.util.ByteUtils.writeUint64; import static org.junit.Assert.assertArrayEquals; public class StreamDecrypterImplTest extends BrambleTestCase { @@ -30,15 +32,14 @@ public class StreamDecrypterImplTest extends BrambleTestCase { public StreamDecrypterImplTest() { cipher = new TestAuthenticatedCipher(); // Null cipher - streamHeaderKey = TestUtils.getSecretKey(); - frameKey = TestUtils.getSecretKey(); - streamHeaderNonce = - TestUtils.getRandomBytes(STREAM_HEADER_NONCE_LENGTH); + streamHeaderKey = getSecretKey(); + frameKey = getSecretKey(); + streamHeaderNonce = getRandomBytes(STREAM_HEADER_NONCE_LENGTH); protocolVersionBytes = new byte[2]; - ByteUtils.writeUint16(PROTOCOL_VERSION, protocolVersionBytes, 0); + writeUint16(PROTOCOL_VERSION, protocolVersionBytes, 0); streamNumberBytes = new byte[8]; - ByteUtils.writeUint64(streamNumber, streamNumberBytes, 0); - payload = TestUtils.getRandomBytes(payloadLength); + writeUint64(streamNumber, streamNumberBytes, 0); + payload = getRandomBytes(payloadLength); } @Test @@ -51,7 +52,7 @@ public class StreamDecrypterImplTest extends BrambleTestCase { int payloadLength1 = 345, paddingLength1 = 456; FrameEncoder.encodeHeader(frameHeader1, true, payloadLength1, paddingLength1); - byte[] payload1 = TestUtils.getRandomBytes(payloadLength1); + byte[] payload1 = getRandomBytes(payloadLength1); ByteArrayOutputStream out = new ByteArrayOutputStream(); out.write(streamHeaderNonce); @@ -88,8 +89,7 @@ public class StreamDecrypterImplTest extends BrambleTestCase { @Test(expected = IOException.class) public void testWrongProtocolVersionThrowsException() throws Exception { byte[] wrongProtocolVersionBytes = new byte[2]; - ByteUtils.writeUint16(PROTOCOL_VERSION + 1, wrongProtocolVersionBytes, - 0); + writeUint16(PROTOCOL_VERSION + 1, wrongProtocolVersionBytes, 0); byte[] frameHeader = new byte[FRAME_HEADER_LENGTH]; FrameEncoder.encodeHeader(frameHeader, false, payloadLength, @@ -99,7 +99,7 @@ public class StreamDecrypterImplTest extends BrambleTestCase { int payloadLength1 = 345, paddingLength1 = 456; FrameEncoder.encodeHeader(frameHeader1, true, payloadLength1, paddingLength1); - byte[] payload1 = TestUtils.getRandomBytes(payloadLength1); + byte[] payload1 = getRandomBytes(payloadLength1); ByteArrayOutputStream out = new ByteArrayOutputStream(); out.write(streamHeaderNonce); @@ -128,7 +128,7 @@ public class StreamDecrypterImplTest extends BrambleTestCase { @Test(expected = IOException.class) public void testWrongStreamNumberThrowsException() throws Exception { byte[] wrongStreamNumberBytes = new byte[8]; - ByteUtils.writeUint64(streamNumber + 1, wrongStreamNumberBytes, 0); + writeUint64(streamNumber + 1, wrongStreamNumberBytes, 0); byte[] frameHeader = new byte[FRAME_HEADER_LENGTH]; FrameEncoder.encodeHeader(frameHeader, false, payloadLength, @@ -138,7 +138,7 @@ public class StreamDecrypterImplTest extends BrambleTestCase { int payloadLength1 = 345, paddingLength1 = 456; FrameEncoder.encodeHeader(frameHeader1, true, payloadLength1, paddingLength1); - byte[] payload1 = TestUtils.getRandomBytes(payloadLength1); + byte[] payload1 = getRandomBytes(payloadLength1); ByteArrayOutputStream out = new ByteArrayOutputStream(); out.write(streamHeaderNonce); @@ -196,9 +196,9 @@ public class StreamDecrypterImplTest extends BrambleTestCase { byte[] frameHeader = new byte[FRAME_HEADER_LENGTH]; // The payload length plus padding length is invalid int payloadLength = MAX_PAYLOAD_LENGTH - 1, paddingLength = 2; - ByteUtils.writeUint16(payloadLength, frameHeader, 0); - ByteUtils.writeUint16(paddingLength, frameHeader, INT_16_BYTES); - byte[] payload = TestUtils.getRandomBytes(payloadLength); + writeUint16(payloadLength, frameHeader, 0); + writeUint16(paddingLength, frameHeader, INT_16_BYTES); + byte[] payload = getRandomBytes(payloadLength); ByteArrayOutputStream out = new ByteArrayOutputStream(); out.write(streamHeaderNonce); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/crypto/StreamEncrypterImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/crypto/StreamEncrypterImplTest.java index c720805bd..d8cf5cc70 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/crypto/StreamEncrypterImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/crypto/StreamEncrypterImplTest.java @@ -2,8 +2,6 @@ package org.briarproject.bramble.crypto; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.test.TestUtils; -import org.briarproject.bramble.util.ByteUtils; import org.junit.Test; import java.io.ByteArrayOutputStream; @@ -16,6 +14,10 @@ import static org.briarproject.bramble.api.transport.TransportConstants.PROTOCOL import static org.briarproject.bramble.api.transport.TransportConstants.STREAM_HEADER_LENGTH; import static org.briarproject.bramble.api.transport.TransportConstants.STREAM_HEADER_NONCE_LENGTH; import static org.briarproject.bramble.api.transport.TransportConstants.TAG_LENGTH; +import static org.briarproject.bramble.test.TestUtils.getRandomBytes; +import static org.briarproject.bramble.test.TestUtils.getSecretKey; +import static org.briarproject.bramble.util.ByteUtils.writeUint16; +import static org.briarproject.bramble.util.ByteUtils.writeUint64; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -30,16 +32,15 @@ public class StreamEncrypterImplTest extends BrambleTestCase { public StreamEncrypterImplTest() { cipher = new TestAuthenticatedCipher(); // Null cipher - streamHeaderKey = TestUtils.getSecretKey(); - frameKey = TestUtils.getSecretKey(); - tag = TestUtils.getRandomBytes(TAG_LENGTH); - streamHeaderNonce = - TestUtils.getRandomBytes(STREAM_HEADER_NONCE_LENGTH); + streamHeaderKey = getSecretKey(); + frameKey = getSecretKey(); + tag = getRandomBytes(TAG_LENGTH); + streamHeaderNonce = getRandomBytes(STREAM_HEADER_NONCE_LENGTH); protocolVersionBytes = new byte[2]; - ByteUtils.writeUint16(PROTOCOL_VERSION, protocolVersionBytes, 0); + writeUint16(PROTOCOL_VERSION, protocolVersionBytes, 0); streamNumberBytes = new byte[8]; - ByteUtils.writeUint64(streamNumber, streamNumberBytes, 0); - payload = TestUtils.getRandomBytes(payloadLength); + writeUint64(streamNumber, streamNumberBytes, 0); + payload = getRandomBytes(payloadLength); } @Test(expected = IllegalArgumentException.class) @@ -318,7 +319,7 @@ public class StreamEncrypterImplTest extends BrambleTestCase { streamNumber, tag, streamHeaderNonce, streamHeaderKey, frameKey); int payloadLength1 = 345, paddingLength1 = 456; - byte[] payload1 = TestUtils.getRandomBytes(payloadLength1); + byte[] payload1 = getRandomBytes(payloadLength1); s.writeFrame(payload, payloadLength, paddingLength, false); s.writeFrame(payload1, payloadLength1, paddingLength1, true); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/crypto/XSalsa20Poly1305AuthenticatedCipherTest.java b/bramble-core/src/test/java/org/briarproject/bramble/crypto/XSalsa20Poly1305AuthenticatedCipherTest.java index 9ddcc9487..a5690dcb1 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/crypto/XSalsa20Poly1305AuthenticatedCipherTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/crypto/XSalsa20Poly1305AuthenticatedCipherTest.java @@ -2,12 +2,12 @@ package org.briarproject.bramble.crypto; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.util.StringUtils; import org.junit.Test; import java.security.GeneralSecurityException; import java.util.Random; +import static org.briarproject.bramble.util.StringUtils.fromHexString; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -15,11 +15,11 @@ public class XSalsa20Poly1305AuthenticatedCipherTest extends BrambleTestCase { // Test vectors from the NaCl paper // http://cr.yp.to/highspeed/naclcrypto-20090310.pdf - private static final byte[] TEST_KEY = StringUtils.fromHexString( + private static final byte[] TEST_KEY = fromHexString( "1b27556473e985d462cd51197a9a46c76009549eac6474f206c4ee0844f68389"); - private static final byte[] TEST_IV = StringUtils.fromHexString( + private static final byte[] TEST_IV = fromHexString( "69696ee955b62b73cd62bda875fc73d68219e0036b7a0b37"); - private static final byte[] TEST_PLAINTEXT = StringUtils.fromHexString( + private static final byte[] TEST_PLAINTEXT = fromHexString( "be075fc53c81f2d5cf141316" + "ebeb0c7b5228c52a4c62cbd4" + "4b66849b64244ffce5ecbaaf" + @@ -31,7 +31,7 @@ public class XSalsa20Poly1305AuthenticatedCipherTest extends BrambleTestCase { "048977eb48f59ffd4924ca1c" + "60902e52f0a089bc76897040" + "e082f937763848645e0705"); - private static final byte[] TEST_CIPHERTEXT = StringUtils.fromHexString( + private static final byte[] TEST_CIPHERTEXT = fromHexString( "f3ffc7703f9400e52a7dfb4b" + "3d3305d98e993b9f48681273" + "c29650ba32fc76ce48332ea7" + diff --git a/bramble-core/src/test/java/org/briarproject/bramble/data/BdfWriterImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/data/BdfWriterImplTest.java index 22d328166..24b81f441 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/data/BdfWriterImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/data/BdfWriterImplTest.java @@ -1,7 +1,6 @@ package org.briarproject.bramble.data; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.util.StringUtils; import org.junit.Before; import org.junit.Test; @@ -13,6 +12,9 @@ import java.util.List; import java.util.Map; import static org.briarproject.bramble.api.data.BdfDictionary.NULL_VALUE; +import static org.briarproject.bramble.util.StringUtils.fromHexString; +import static org.briarproject.bramble.util.StringUtils.getRandomString; +import static org.briarproject.bramble.util.StringUtils.toHexString; import static org.junit.Assert.assertArrayEquals; public class BdfWriterImplTest extends BrambleTestCase { @@ -80,8 +82,8 @@ public class BdfWriterImplTest extends BrambleTestCase { @Test public void testWriteString8() throws IOException { - String longest = StringUtils.getRandomString(Byte.MAX_VALUE); - String longHex = StringUtils.toHexString(longest.getBytes("UTF-8")); + String longest = getRandomString(Byte.MAX_VALUE); + String longHex = toHexString(longest.getBytes("UTF-8")); w.writeString("foo bar baz bam "); w.writeString(longest); // STRING_8 tag, length 16, UTF-8 bytes, STRING_8 tag, length 127, @@ -92,10 +94,10 @@ public class BdfWriterImplTest extends BrambleTestCase { @Test public void testWriteString16() throws IOException { - String shortest = StringUtils.getRandomString(Byte.MAX_VALUE + 1); - String shortHex = StringUtils.toHexString(shortest.getBytes("UTF-8")); - String longest = StringUtils.getRandomString(Short.MAX_VALUE); - String longHex = StringUtils.toHexString(longest.getBytes("UTF-8")); + String shortest = getRandomString(Byte.MAX_VALUE + 1); + String shortHex = toHexString(shortest.getBytes("UTF-8")); + String longest = getRandomString(Short.MAX_VALUE); + String longHex = toHexString(longest.getBytes("UTF-8")); w.writeString(shortest); w.writeString(longest); // STRING_16 tag, length 128, UTF-8 bytes, STRING_16 tag, @@ -105,8 +107,8 @@ public class BdfWriterImplTest extends BrambleTestCase { @Test public void testWriteString32() throws IOException { - String shortest = StringUtils.getRandomString(Short.MAX_VALUE + 1); - String shortHex = StringUtils.toHexString(shortest.getBytes("UTF-8")); + String shortest = getRandomString(Short.MAX_VALUE + 1); + String shortHex = toHexString(shortest.getBytes("UTF-8")); w.writeString(shortest); // STRING_32 tag, length 2^15, UTF-8 bytes checkContents("44" + "00008000" + shortHex); @@ -115,7 +117,7 @@ public class BdfWriterImplTest extends BrambleTestCase { @Test public void testWriteUtf8String() throws IOException { String unicode = "\uFDD0\uFDD1\uFDD2\uFDD3"; - String hex = StringUtils.toHexString(unicode.getBytes("UTF-8")); + String hex = toHexString(unicode.getBytes("UTF-8")); w.writeString(unicode); // STRING_8 tag, length 12, UTF-8 bytes checkContents("41" + "0C" + hex); @@ -124,7 +126,7 @@ public class BdfWriterImplTest extends BrambleTestCase { @Test public void testWriteRaw8() throws IOException { byte[] longest = new byte[Byte.MAX_VALUE]; - String longHex = StringUtils.toHexString(longest); + String longHex = toHexString(longest); w.writeRaw(new byte[] {1, 2, 3}); w.writeRaw(longest); // RAW_8 tag, length 3, bytes, RAW_8 tag, length 127, bytes @@ -134,9 +136,9 @@ public class BdfWriterImplTest extends BrambleTestCase { @Test public void testWriteRaw16() throws IOException { byte[] shortest = new byte[Byte.MAX_VALUE + 1]; - String shortHex = StringUtils.toHexString(shortest); + String shortHex = toHexString(shortest); byte[] longest = new byte[Short.MAX_VALUE]; - String longHex = StringUtils.toHexString(longest); + String longHex = toHexString(longest); w.writeRaw(shortest); w.writeRaw(longest); // RAW_16 tag, length 128, bytes, RAW_16 tag, length 2^15 - 1, bytes @@ -146,7 +148,7 @@ public class BdfWriterImplTest extends BrambleTestCase { @Test public void testWriteRaw32() throws IOException { byte[] shortest = new byte[Short.MAX_VALUE + 1]; - String shortHex = StringUtils.toHexString(shortest); + String shortHex = toHexString(shortest); w.writeRaw(shortest); // RAW_32 tag, length 2^15, bytes checkContents("54" + "00008000" + shortHex); @@ -233,8 +235,8 @@ public class BdfWriterImplTest extends BrambleTestCase { private void checkContents(String hex) throws IOException { out.flush(); out.close(); - byte[] expected = StringUtils.fromHexString(hex); - assertArrayEquals(StringUtils.toHexString(out.toByteArray()), + byte[] expected = fromHexString(hex); + assertArrayEquals(toHexString(out.toByteArray()), expected, out.toByteArray()); } } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/BasicDatabaseTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/BasicDatabaseTest.java index dbdeca4dc..3d3ad6c1a 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/db/BasicDatabaseTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/db/BasicDatabaseTest.java @@ -1,8 +1,6 @@ package org.briarproject.bramble.db; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.test.TestUtils; -import org.briarproject.bramble.util.StringUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -19,6 +17,10 @@ import java.util.ArrayList; import java.util.List; import static java.sql.Types.BINARY; +import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; +import static org.briarproject.bramble.test.TestUtils.getRandomId; +import static org.briarproject.bramble.test.TestUtils.getTestDirectory; +import static org.briarproject.bramble.util.StringUtils.getRandomString; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -30,7 +32,7 @@ public abstract class BasicDatabaseTest extends BrambleTestCase { private static final int BATCH_SIZE = 100; - private final File testDir = TestUtils.getTestDirectory(); + private final File testDir = getTestDirectory(); private final File db = new File(testDir, "db"); protected abstract String getBinaryType(); @@ -56,9 +58,9 @@ public abstract class BasicDatabaseTest extends BrambleTestCase { // Create the table createTable(connection); // Generate an ID and two names - byte[] id = TestUtils.getRandomId(); - String oldName = StringUtils.getRandomString(50); - String newName = StringUtils.getRandomString(50); + byte[] id = getRandomId(); + String oldName = getRandomString(50); + String newName = getRandomString(50); // Insert the ID and old name into the table insertRow(connection, id, oldName); // Check that the old name can be retrieved using the ID @@ -92,9 +94,9 @@ public abstract class BasicDatabaseTest extends BrambleTestCase { String[] oldNames = new String[BATCH_SIZE]; String[] newNames = new String[BATCH_SIZE]; for (int i = 0; i < BATCH_SIZE; i++) { - ids[i] = TestUtils.getRandomId(); - oldNames[i] = StringUtils.getRandomString(50); - newNames[i] = StringUtils.getRandomString(50); + ids[i] = getRandomId(); + oldNames[i] = getRandomString(50); + newNames[i] = getRandomString(50); } // Insert the IDs and old names into the table as a batch insertBatch(connection, ids, oldNames); @@ -374,7 +376,7 @@ public abstract class BasicDatabaseTest extends BrambleTestCase { } @After - public void tearDown() throws Exception { - TestUtils.deleteTestDirectory(testDir); + public void tearDown() { + deleteTestDirectory(testDir); } } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/BasicH2Test.java b/bramble-core/src/test/java/org/briarproject/bramble/db/BasicH2Test.java index 83678facc..497ddb0ff 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/db/BasicH2Test.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/db/BasicH2Test.java @@ -1,8 +1,6 @@ package org.briarproject.bramble.db; import org.briarproject.bramble.api.crypto.SecretKey; -import org.briarproject.bramble.test.TestUtils; -import org.briarproject.bramble.util.StringUtils; import java.io.File; import java.sql.Connection; @@ -10,9 +8,12 @@ import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; +import static org.briarproject.bramble.test.TestUtils.getSecretKey; +import static org.briarproject.bramble.util.StringUtils.toHexString; + public class BasicH2Test extends BasicDatabaseTest { - private final SecretKey key = TestUtils.getSecretKey(); + private final SecretKey key = getSecretKey(); @Override protected String getBinaryType() { @@ -32,7 +33,7 @@ public class BasicH2Test extends BasicDatabaseTest { props.setProperty("user", "user"); if (encrypt) { url += ";CIPHER=AES"; - String hex = StringUtils.toHexString(key.getBytes()); + String hex = toHexString(key.getBytes()); props.setProperty("password", hex + " password"); } return DriverManager.getConnection(url, props); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/BasicHyperSqlTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/BasicHyperSqlTest.java index fae313cf3..40c7cb8f9 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/db/BasicHyperSqlTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/db/BasicHyperSqlTest.java @@ -1,8 +1,6 @@ package org.briarproject.bramble.db; import org.briarproject.bramble.api.crypto.SecretKey; -import org.briarproject.bramble.test.TestUtils; -import org.briarproject.bramble.util.StringUtils; import java.io.File; import java.sql.Connection; @@ -10,9 +8,12 @@ import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; +import static org.briarproject.bramble.test.TestUtils.getSecretKey; +import static org.briarproject.bramble.util.StringUtils.toHexString; + public class BasicHyperSqlTest extends BasicDatabaseTest { - private final SecretKey key = TestUtils.getSecretKey(); + private final SecretKey key = getSecretKey(); @Override protected String getBinaryType() { @@ -30,7 +31,7 @@ public class BasicHyperSqlTest extends BasicDatabaseTest { String url = "jdbc:hsqldb:file:" + db.getAbsolutePath() + ";sql.enforce_size=false;allow_empty_batch=true"; if (encrypt) { - String hex = StringUtils.toHexString(key.getBytes()); + String hex = toHexString(key.getBytes()); url += ";encrypt_lobs=true;crypt_type=AES;crypt_key=" + hex; } return DriverManager.getConnection(url); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseMigrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseMigrationTest.java index 8b84ea2aa..5a086c175 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseMigrationTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseMigrationTest.java @@ -13,7 +13,6 @@ import org.briarproject.bramble.system.SystemClock; import org.briarproject.bramble.test.BrambleMockTestCase; import org.briarproject.bramble.test.TestDatabaseConfig; import org.briarproject.bramble.test.TestMessageFactory; -import org.briarproject.bramble.test.TestUtils; import org.jmock.Expectations; import org.junit.After; import org.junit.Before; @@ -29,7 +28,9 @@ import static java.util.Collections.singletonList; import static org.briarproject.bramble.db.DatabaseConstants.DB_SETTINGS_NAMESPACE; import static org.briarproject.bramble.db.DatabaseConstants.SCHEMA_VERSION_KEY; import static org.briarproject.bramble.db.JdbcDatabase.CODE_SCHEMA_VERSION; +import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; import static org.briarproject.bramble.test.TestUtils.getSecretKey; +import static org.briarproject.bramble.test.TestUtils.getTestDirectory; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -37,7 +38,7 @@ import static org.junit.Assert.assertTrue; @NotNullByDefault public abstract class DatabaseMigrationTest extends BrambleMockTestCase { - private final File testDir = TestUtils.getTestDirectory(); + private final File testDir = getTestDirectory(); @SuppressWarnings("unchecked") private final Migration migration = context.mock(Migration.class, "migration"); @@ -61,7 +62,7 @@ public abstract class DatabaseMigrationTest extends BrambleMockTestCase { @After public void tearDown() { - TestUtils.deleteTestDirectory(testDir); + deleteTestDirectory(testDir); } @Test diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceTest.java index f9b2f6149..97d66bf09 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceTest.java @@ -29,9 +29,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; -import java.util.logging.Logger; import static java.util.logging.Level.OFF; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_IDS; import static org.briarproject.bramble.api.sync.validation.MessageState.DELIVERED; import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; @@ -119,7 +119,7 @@ public abstract class DatabasePerformanceTest extends BrambleTestCase { DatabasePerformanceTest() { // Disable logging - Logger.getLogger("").setLevel(OFF); + getLogger("").setLevel(OFF); } @Before diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseTraceTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseTraceTest.java index 466b1d7c5..57e369751 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseTraceTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseTraceTest.java @@ -8,7 +8,6 @@ import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.system.SystemClock; import org.briarproject.bramble.test.TestDatabaseConfig; import org.briarproject.bramble.test.TestMessageFactory; -import org.briarproject.bramble.util.IoUtils; import java.io.File; import java.io.FileInputStream; @@ -20,6 +19,7 @@ import javax.annotation.Nullable; import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; import static org.briarproject.bramble.test.TestUtils.getSecretKey; +import static org.briarproject.bramble.util.IoUtils.copyAndClose; public abstract class DatabaseTraceTest extends DatabasePerformanceTest { @@ -58,7 +58,6 @@ public abstract class DatabaseTraceTest extends DatabasePerformanceTest { if (!src.exists()) return; String filename = getTestName() + "." + name + ".trace.txt"; File dest = new File(testDir.getParentFile(), filename); - IoUtils.copyAndClose(new FileInputStream(src), - new FileOutputStream(dest)); + copyAndClose(new FileInputStream(src), new FileOutputStream(dest)); } } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/H2TransactionIsolationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/H2TransactionIsolationTest.java index c91690bd9..a068d176f 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/db/H2TransactionIsolationTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/db/H2TransactionIsolationTest.java @@ -1,7 +1,6 @@ package org.briarproject.bramble.db; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.test.TestUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -14,6 +13,8 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; +import static org.briarproject.bramble.test.TestUtils.getTestDirectory; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -32,7 +33,7 @@ public class H2TransactionIsolationTest extends BrambleTestCase { private static final String SET_COUNTER = "UPDATE foo SET counter = ? WHERE key = 1"; - private final File testDir = TestUtils.getTestDirectory(); + private final File testDir = getTestDirectory(); private final File db = new File(testDir, "db"); private final String withMvcc = "jdbc:h2:split:" + db.getAbsolutePath() + ";MV_STORE=TRUE;MVCC=TRUE"; @@ -47,7 +48,7 @@ public class H2TransactionIsolationTest extends BrambleTestCase { @After public void tearDown() throws Exception { - TestUtils.deleteTestDirectory(testDir); + deleteTestDirectory(testDir); } @Test diff --git a/bramble-core/src/test/java/org/briarproject/bramble/record/RecordReaderImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/record/RecordReaderImplTest.java index 26ef89c8e..08454f2d3 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/record/RecordReaderImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/record/RecordReaderImplTest.java @@ -4,7 +4,6 @@ import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.record.Record; import org.briarproject.bramble.api.record.RecordReader; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.util.ByteUtils; import org.junit.Test; import java.io.ByteArrayInputStream; @@ -12,6 +11,7 @@ import java.io.EOFException; import static org.briarproject.bramble.api.record.Record.MAX_RECORD_PAYLOAD_BYTES; import static org.briarproject.bramble.api.record.Record.RECORD_HEADER_BYTES; +import static org.briarproject.bramble.util.ByteUtils.writeUint16; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -36,7 +36,7 @@ public class RecordReaderImplTest extends BrambleTestCase { // Version 1, type 2, payload length MAX_RECORD_PAYLOAD_BYTES record[0] = 1; record[1] = 2; - ByteUtils.writeUint16(MAX_RECORD_PAYLOAD_BYTES, record, 2); + writeUint16(MAX_RECORD_PAYLOAD_BYTES, record, 2); ByteArrayInputStream in = new ByteArrayInputStream(record); RecordReader reader = new RecordReaderImpl(in); reader.readRecord(); @@ -57,7 +57,7 @@ public class RecordReaderImplTest extends BrambleTestCase { throws Exception { // Version 1, type 2, payload length MAX_RECORD_PAYLOAD_BYTES + 1 byte[] header = new byte[] {1, 2, 0, 0}; - ByteUtils.writeUint16(MAX_RECORD_PAYLOAD_BYTES + 1, header, 2); + writeUint16(MAX_RECORD_PAYLOAD_BYTES + 1, header, 2); ByteArrayInputStream in = new ByteArrayInputStream(header); RecordReader reader = new RecordReaderImpl(in); reader.readRecord(); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/record/RecordWriterImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/record/RecordWriterImplTest.java index 2e5f236be..ec6c57010 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/record/RecordWriterImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/record/RecordWriterImplTest.java @@ -3,7 +3,6 @@ package org.briarproject.bramble.record; import org.briarproject.bramble.api.record.Record; import org.briarproject.bramble.api.record.RecordWriter; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.util.ByteUtils; import org.junit.Test; import java.io.ByteArrayOutputStream; @@ -11,6 +10,7 @@ import java.io.ByteArrayOutputStream; import static org.briarproject.bramble.api.record.Record.MAX_RECORD_PAYLOAD_BYTES; import static org.briarproject.bramble.api.record.Record.RECORD_HEADER_BYTES; import static org.briarproject.bramble.test.TestUtils.getRandomBytes; +import static org.briarproject.bramble.util.ByteUtils.readUint16; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -40,7 +40,7 @@ public class RecordWriterImplTest extends BrambleTestCase { assertEquals(RECORD_HEADER_BYTES + payloadLength, written.length); assertEquals(protocolVersion, written[0]); assertEquals(recordType, written[1]); - assertEquals(payloadLength, ByteUtils.readUint16(written, 2)); + assertEquals(payloadLength, readUint16(written, 2)); byte[] writtenPayload = new byte[payloadLength]; System.arraycopy(written, RECORD_HEADER_BYTES, writtenPayload, 0, payloadLength); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java index 6c9f97f2a..865653300 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java @@ -22,7 +22,6 @@ import org.briarproject.bramble.api.transport.StreamReaderFactory; import org.briarproject.bramble.api.transport.StreamWriter; import org.briarproject.bramble.api.transport.StreamWriterFactory; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.test.TestUtils; import org.junit.Test; import java.io.ByteArrayInputStream; @@ -37,6 +36,7 @@ import static org.briarproject.bramble.api.sync.SyncConstants.MAX_GROUP_DESCRIPT import static org.briarproject.bramble.api.transport.TransportConstants.PROTOCOL_VERSION; import static org.briarproject.bramble.api.transport.TransportConstants.TAG_LENGTH; import static org.briarproject.bramble.test.TestUtils.getClientId; +import static org.briarproject.bramble.test.TestUtils.getSecretKey; import static org.briarproject.bramble.test.TestUtils.getTransportId; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -76,8 +76,8 @@ public class SyncIntegrationTest extends BrambleTestCase { contactId = new ContactId(234); transportId = getTransportId(); // Create the transport keys - tagKey = TestUtils.getSecretKey(); - headerKey = TestUtils.getSecretKey(); + tagKey = getSecretKey(); + headerKey = getSecretKey(); streamNumber = 123; // Create a group ClientId clientId = getClientId(); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/system/UnixSecureRandomSpiTest.java b/bramble-core/src/test/java/org/briarproject/bramble/system/UnixSecureRandomSpiTest.java index 528733a9c..9455911ed 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/system/UnixSecureRandomSpiTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/system/UnixSecureRandomSpiTest.java @@ -2,7 +2,6 @@ package org.briarproject.bramble.system; import org.briarproject.bramble.api.Bytes; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.test.TestUtils; import org.briarproject.bramble.util.IoUtils; import org.junit.After; import org.junit.Before; @@ -15,6 +14,7 @@ import java.util.HashSet; import java.util.Set; import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; +import static org.briarproject.bramble.test.TestUtils.getRandomBytes; import static org.briarproject.bramble.test.TestUtils.getTestDirectory; import static org.briarproject.bramble.util.OsUtils.isLinux; import static org.briarproject.bramble.util.OsUtils.isMac; @@ -56,7 +56,7 @@ public class UnixSecureRandomSpiTest extends BrambleTestCase { assertTrue(urandom.createNewFile()); assertEquals(0, urandom.length()); // Generate a seed - byte[] seed = TestUtils.getRandomBytes(SEED_BYTES); + byte[] seed = getRandomBytes(SEED_BYTES); // Check that the engine writes the seed to the file UnixSecureRandomSpi engine = new UnixSecureRandomSpi(RANDOM_DEVICE, urandom); @@ -72,7 +72,7 @@ public class UnixSecureRandomSpiTest extends BrambleTestCase { @Test public void testEngineNextBytesReadsFromRandomDevice() throws Exception { // Generate some entropy - byte[] entropy = TestUtils.getRandomBytes(SEED_BYTES); + byte[] entropy = getRandomBytes(SEED_BYTES); // Write the entropy to a file File urandom = new File(testDir, "urandom"); if (urandom.exists()) assertTrue(urandom.delete()); @@ -93,7 +93,7 @@ public class UnixSecureRandomSpiTest extends BrambleTestCase { @Test public void testEngineGenerateSeedReadsFromRandomDevice() throws Exception { // Generate some entropy - byte[] entropy = TestUtils.getRandomBytes(SEED_BYTES); + byte[] entropy = getRandomBytes(SEED_BYTES); // Write the entropy to a file File urandom = new File(testDir, "urandom"); if (urandom.exists()) assertTrue(urandom.delete()); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/transport/ReorderingWindowTest.java b/bramble-core/src/test/java/org/briarproject/bramble/transport/ReorderingWindowTest.java index 503158357..acec5b000 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/transport/ReorderingWindowTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/transport/ReorderingWindowTest.java @@ -1,7 +1,6 @@ package org.briarproject.bramble.transport; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.test.TestUtils; import org.briarproject.bramble.transport.ReorderingWindow.Change; import org.junit.Test; @@ -9,6 +8,7 @@ import java.util.Arrays; import java.util.Collections; import static org.briarproject.bramble.api.transport.TransportConstants.REORDERING_WINDOW_SIZE; +import static org.briarproject.bramble.test.TestUtils.getRandomBytes; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -19,7 +19,7 @@ public class ReorderingWindowTest extends BrambleTestCase { @Test public void testBitmapConversion() { for (int i = 0; i < 1000; i++) { - byte[] bitmap = TestUtils.getRandomBytes(BITMAP_BYTES); + byte[] bitmap = getRandomBytes(BITMAP_BYTES); ReorderingWindow window = new ReorderingWindow(0L, bitmap); assertArrayEquals(bitmap, window.getBitmap()); } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/transport/StreamReaderWriterIntegrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/transport/StreamReaderWriterIntegrationTest.java index e8bdcc035..ff741bb7f 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/transport/StreamReaderWriterIntegrationTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/transport/StreamReaderWriterIntegrationTest.java @@ -3,7 +3,6 @@ package org.briarproject.bramble.transport; import org.briarproject.bramble.api.crypto.StreamDecrypter; import org.briarproject.bramble.api.crypto.StreamEncrypter; import org.briarproject.bramble.test.BrambleTestCase; -import org.briarproject.bramble.test.TestUtils; import org.junit.Test; import java.io.ByteArrayInputStream; @@ -16,6 +15,7 @@ import static org.briarproject.bramble.api.transport.TransportConstants.FRAME_HE import static org.briarproject.bramble.api.transport.TransportConstants.MAC_LENGTH; import static org.briarproject.bramble.api.transport.TransportConstants.STREAM_HEADER_LENGTH; import static org.briarproject.bramble.api.transport.TransportConstants.TAG_LENGTH; +import static org.briarproject.bramble.test.TestUtils.getRandomBytes; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -24,10 +24,10 @@ public class StreamReaderWriterIntegrationTest extends BrambleTestCase { @Test public void testWriteAndRead() throws Exception { // Generate a random tag - byte[] tag = TestUtils.getRandomBytes(TAG_LENGTH); + byte[] tag = getRandomBytes(TAG_LENGTH); // Generate two frames with random payloads - byte[] payload1 = TestUtils.getRandomBytes(123); - byte[] payload2 = TestUtils.getRandomBytes(321); + byte[] payload1 = getRandomBytes(123); + byte[] payload2 = getRandomBytes(321); // Write the tag and the frames ByteArrayOutputStream out = new ByteArrayOutputStream(); StreamEncrypter encrypter = new TestStreamEncrypter(out, tag); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/transport/TestStreamDecrypter.java b/bramble-core/src/test/java/org/briarproject/bramble/transport/TestStreamDecrypter.java index 2823539d0..89f1598de 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/transport/TestStreamDecrypter.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/transport/TestStreamDecrypter.java @@ -2,7 +2,6 @@ package org.briarproject.bramble.transport; import org.briarproject.bramble.api.crypto.StreamDecrypter; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.ByteUtils; import java.io.EOFException; import java.io.IOException; @@ -13,6 +12,7 @@ import static org.briarproject.bramble.api.transport.TransportConstants.MAC_LENG import static org.briarproject.bramble.api.transport.TransportConstants.MAX_FRAME_LENGTH; import static org.briarproject.bramble.api.transport.TransportConstants.STREAM_HEADER_LENGTH; import static org.briarproject.bramble.util.ByteUtils.INT_16_BYTES; +import static org.briarproject.bramble.util.ByteUtils.readUint16; @NotNullByDefault class TestStreamDecrypter implements StreamDecrypter { @@ -38,8 +38,8 @@ class TestStreamDecrypter implements StreamDecrypter { offset += read; } finalFrame = (frame[0] & 0x80) == 0x80; - int payloadLength = ByteUtils.readUint16(frame, 0) & 0x7FFF; - int paddingLength = ByteUtils.readUint16(frame, INT_16_BYTES); + int payloadLength = readUint16(frame, 0) & 0x7FFF; + int paddingLength = readUint16(frame, INT_16_BYTES); int frameLength = FRAME_HEADER_LENGTH + payloadLength + paddingLength + MAC_LENGTH; while (offset < frameLength) { diff --git a/bramble-core/src/test/java/org/briarproject/bramble/transport/TestStreamEncrypter.java b/bramble-core/src/test/java/org/briarproject/bramble/transport/TestStreamEncrypter.java index 4ff790b94..59353e9ba 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/transport/TestStreamEncrypter.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/transport/TestStreamEncrypter.java @@ -2,7 +2,6 @@ package org.briarproject.bramble.transport; import org.briarproject.bramble.api.crypto.StreamEncrypter; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.ByteUtils; import java.io.IOException; import java.io.OutputStream; @@ -11,6 +10,7 @@ import static org.briarproject.bramble.api.transport.TransportConstants.FRAME_HE import static org.briarproject.bramble.api.transport.TransportConstants.MAC_LENGTH; import static org.briarproject.bramble.api.transport.TransportConstants.STREAM_HEADER_LENGTH; import static org.briarproject.bramble.util.ByteUtils.INT_16_BYTES; +import static org.briarproject.bramble.util.ByteUtils.writeUint16; @NotNullByDefault class TestStreamEncrypter implements StreamEncrypter { @@ -30,8 +30,8 @@ class TestStreamEncrypter implements StreamEncrypter { int paddingLength, boolean finalFrame) throws IOException { if (writeTagAndHeader) writeTagAndHeader(); byte[] frameHeader = new byte[FRAME_HEADER_LENGTH]; - ByteUtils.writeUint16(payloadLength, frameHeader, 0); - ByteUtils.writeUint16(paddingLength, frameHeader, INT_16_BYTES); + writeUint16(payloadLength, frameHeader, 0); + writeUint16(paddingLength, frameHeader, INT_16_BYTES); if (finalFrame) frameHeader[0] |= 0x80; out.write(frameHeader); out.write(payload, 0, payloadLength); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/transport/TransportKeyManagerImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/transport/TransportKeyManagerImplTest.java index 1c13a8107..dd79f2a95 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/transport/TransportKeyManagerImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/transport/TransportKeyManagerImplTest.java @@ -16,7 +16,6 @@ import org.briarproject.bramble.api.transport.TransportKeys; import org.briarproject.bramble.test.BrambleMockTestCase; import org.briarproject.bramble.test.DbExpectations; import org.briarproject.bramble.test.RunAction; -import org.briarproject.bramble.test.TestUtils; import org.hamcrest.Description; import org.jmock.Expectations; import org.jmock.api.Action; @@ -37,6 +36,7 @@ import static org.briarproject.bramble.api.transport.TransportConstants.MAX_CLOC import static org.briarproject.bramble.api.transport.TransportConstants.PROTOCOL_VERSION; import static org.briarproject.bramble.api.transport.TransportConstants.REORDERING_WINDOW_SIZE; import static org.briarproject.bramble.api.transport.TransportConstants.TAG_LENGTH; +import static org.briarproject.bramble.test.TestUtils.getSecretKey; import static org.briarproject.bramble.test.TestUtils.getTransportId; import static org.briarproject.bramble.util.ByteUtils.MAX_32_BIT_UNSIGNED; import static org.junit.Assert.assertEquals; @@ -62,9 +62,9 @@ public class TransportKeyManagerImplTest extends BrambleMockTestCase { private final ContactId contactId1 = new ContactId(234); private final KeySetId keySetId = new KeySetId(345); private final KeySetId keySetId1 = new KeySetId(456); - private final SecretKey tagKey = TestUtils.getSecretKey(); - private final SecretKey headerKey = TestUtils.getSecretKey(); - private final SecretKey masterKey = TestUtils.getSecretKey(); + private final SecretKey tagKey = getSecretKey(); + private final SecretKey headerKey = getSecretKey(); + private final SecretKey masterKey = getSecretKey(); private final Random random = new Random(); @Test diff --git a/bramble-core/src/test/java/org/briarproject/bramble/util/ByteUtilsTest.java b/bramble-core/src/test/java/org/briarproject/bramble/util/ByteUtilsTest.java index eef6c0b68..e8c997178 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/util/ByteUtilsTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/util/ByteUtilsTest.java @@ -5,6 +5,15 @@ import org.junit.Test; import static org.briarproject.bramble.util.ByteUtils.MAX_16_BIT_UNSIGNED; import static org.briarproject.bramble.util.ByteUtils.MAX_32_BIT_UNSIGNED; +import static org.briarproject.bramble.util.ByteUtils.readUint; +import static org.briarproject.bramble.util.ByteUtils.readUint16; +import static org.briarproject.bramble.util.ByteUtils.readUint32; +import static org.briarproject.bramble.util.ByteUtils.readUint64; +import static org.briarproject.bramble.util.ByteUtils.writeUint16; +import static org.briarproject.bramble.util.ByteUtils.writeUint32; +import static org.briarproject.bramble.util.ByteUtils.writeUint64; +import static org.briarproject.bramble.util.StringUtils.fromHexString; +import static org.briarproject.bramble.util.StringUtils.toHexString; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; @@ -12,107 +21,107 @@ public class ByteUtilsTest extends BrambleTestCase { @Test public void testReadUint16() { - byte[] b = StringUtils.fromHexString("00000000"); - assertEquals(0, ByteUtils.readUint16(b, 1)); - b = StringUtils.fromHexString("00000100"); - assertEquals(1, ByteUtils.readUint16(b, 1)); - b = StringUtils.fromHexString("007FFF00"); - assertEquals(Short.MAX_VALUE, ByteUtils.readUint16(b, 1)); - b = StringUtils.fromHexString("00FFFF00"); - assertEquals(65535, ByteUtils.readUint16(b, 1)); + byte[] b = fromHexString("00000000"); + assertEquals(0, readUint16(b, 1)); + b = fromHexString("00000100"); + assertEquals(1, readUint16(b, 1)); + b = fromHexString("007FFF00"); + assertEquals(Short.MAX_VALUE, readUint16(b, 1)); + b = fromHexString("00FFFF00"); + assertEquals(65535, readUint16(b, 1)); } @Test(expected = IllegalArgumentException.class) public void testReadUint16ValidatesArguments1() { - ByteUtils.readUint16(new byte[1], 0); + readUint16(new byte[1], 0); } @Test(expected = IllegalArgumentException.class) public void testReadUint16ValidatesArguments2() { - ByteUtils.readUint16(new byte[2], 1); + readUint16(new byte[2], 1); } @Test public void testReadUint32() { - byte[] b = StringUtils.fromHexString("000000000000"); - assertEquals(0, ByteUtils.readUint32(b, 1)); - b = StringUtils.fromHexString("000000000100"); - assertEquals(1, ByteUtils.readUint32(b, 1)); - b = StringUtils.fromHexString("007FFFFFFF00"); - assertEquals(Integer.MAX_VALUE, ByteUtils.readUint32(b, 1)); - b = StringUtils.fromHexString("00FFFFFFFF00"); - assertEquals(4294967295L, ByteUtils.readUint32(b, 1)); + byte[] b = fromHexString("000000000000"); + assertEquals(0, readUint32(b, 1)); + b = fromHexString("000000000100"); + assertEquals(1, readUint32(b, 1)); + b = fromHexString("007FFFFFFF00"); + assertEquals(Integer.MAX_VALUE, readUint32(b, 1)); + b = fromHexString("00FFFFFFFF00"); + assertEquals(4294967295L, readUint32(b, 1)); } @Test(expected = IllegalArgumentException.class) public void testReadUint32ValidatesArguments1() { - ByteUtils.readUint32(new byte[3], 0); + readUint32(new byte[3], 0); } @Test(expected = IllegalArgumentException.class) public void testReadUint32ValidatesArguments2() { - ByteUtils.readUint32(new byte[4], 1); + readUint32(new byte[4], 1); } @Test public void testReadUint64() { - byte[] b = StringUtils.fromHexString("00000000000000000000"); - assertEquals(0L, ByteUtils.readUint64(b, 1)); - b = StringUtils.fromHexString("00000000000000000100"); - assertEquals(1L, ByteUtils.readUint64(b, 1)); - b = StringUtils.fromHexString("007FFFFFFFFFFFFFFF00"); - assertEquals(Long.MAX_VALUE, ByteUtils.readUint64(b, 1)); - b = StringUtils.fromHexString("00800000000000000000"); - assertEquals(Long.MIN_VALUE, ByteUtils.readUint64(b, 1)); - b = StringUtils.fromHexString("00FFFFFFFFFFFFFFFF00"); - assertEquals(-1L, ByteUtils.readUint64(b, 1)); + byte[] b = fromHexString("00000000000000000000"); + assertEquals(0L, readUint64(b, 1)); + b = fromHexString("00000000000000000100"); + assertEquals(1L, readUint64(b, 1)); + b = fromHexString("007FFFFFFFFFFFFFFF00"); + assertEquals(Long.MAX_VALUE, readUint64(b, 1)); + b = fromHexString("00800000000000000000"); + assertEquals(Long.MIN_VALUE, readUint64(b, 1)); + b = fromHexString("00FFFFFFFFFFFFFFFF00"); + assertEquals(-1L, readUint64(b, 1)); } @Test(expected = IllegalArgumentException.class) public void testReadUint64ValidatesArguments1() { - ByteUtils.readUint64(new byte[7], 0); + readUint64(new byte[7], 0); } @Test(expected = IllegalArgumentException.class) public void testReadUint64ValidatesArguments2() { - ByteUtils.readUint64(new byte[8], 1); + readUint64(new byte[8], 1); } @Test public void testWriteUint16() { byte[] b = new byte[4]; - ByteUtils.writeUint16(0, b, 1); - assertEquals("00000000", StringUtils.toHexString(b)); - ByteUtils.writeUint16(1, b, 1); - assertEquals("00000100", StringUtils.toHexString(b)); - ByteUtils.writeUint16(Short.MAX_VALUE, b, 1); - assertEquals("007FFF00", StringUtils.toHexString(b)); - ByteUtils.writeUint16(MAX_16_BIT_UNSIGNED, b, 1); - assertEquals("00FFFF00", StringUtils.toHexString(b)); + writeUint16(0, b, 1); + assertEquals("00000000", toHexString(b)); + writeUint16(1, b, 1); + assertEquals("00000100", toHexString(b)); + writeUint16(Short.MAX_VALUE, b, 1); + assertEquals("007FFF00", toHexString(b)); + writeUint16(MAX_16_BIT_UNSIGNED, b, 1); + assertEquals("00FFFF00", toHexString(b)); } @Test public void testWriteUint16ValidatesArguments() { try { - ByteUtils.writeUint16(0, new byte[1], 0); + writeUint16(0, new byte[1], 0); fail(); } catch (IllegalArgumentException expected) { // Expected } try { - ByteUtils.writeUint16(0, new byte[2], 1); + writeUint16(0, new byte[2], 1); fail(); } catch (IllegalArgumentException expected) { // Expected } try { - ByteUtils.writeUint16(-1, new byte[2], 0); + writeUint16(-1, new byte[2], 0); fail(); } catch (IllegalArgumentException expected) { // Expected } try { - ByteUtils.writeUint16(MAX_16_BIT_UNSIGNED + 1, new byte[2], 0); + writeUint16(MAX_16_BIT_UNSIGNED + 1, new byte[2], 0); fail(); } catch (IllegalArgumentException expected) { // Expected @@ -122,38 +131,38 @@ public class ByteUtilsTest extends BrambleTestCase { @Test public void testWriteUint32() { byte[] b = new byte[6]; - ByteUtils.writeUint32(0, b, 1); - assertEquals("000000000000", StringUtils.toHexString(b)); - ByteUtils.writeUint32(1, b, 1); - assertEquals("000000000100", StringUtils.toHexString(b)); - ByteUtils.writeUint32(Integer.MAX_VALUE, b, 1); - assertEquals("007FFFFFFF00", StringUtils.toHexString(b)); - ByteUtils.writeUint32(MAX_32_BIT_UNSIGNED, b, 1); - assertEquals("00FFFFFFFF00", StringUtils.toHexString(b)); + writeUint32(0, b, 1); + assertEquals("000000000000", toHexString(b)); + writeUint32(1, b, 1); + assertEquals("000000000100", toHexString(b)); + writeUint32(Integer.MAX_VALUE, b, 1); + assertEquals("007FFFFFFF00", toHexString(b)); + writeUint32(MAX_32_BIT_UNSIGNED, b, 1); + assertEquals("00FFFFFFFF00", toHexString(b)); } @Test public void testWriteUint32ValidatesArguments() { try { - ByteUtils.writeUint32(0, new byte[3], 0); + writeUint32(0, new byte[3], 0); fail(); } catch (IllegalArgumentException expected) { // Expected } try { - ByteUtils.writeUint32(0, new byte[4], 1); + writeUint32(0, new byte[4], 1); fail(); } catch (IllegalArgumentException expected) { // Expected } try { - ByteUtils.writeUint32(-1, new byte[4], 0); + writeUint32(-1, new byte[4], 0); fail(); } catch (IllegalArgumentException expected) { // Expected } try { - ByteUtils.writeUint32(MAX_32_BIT_UNSIGNED + 1, new byte[4], 0); + writeUint32(MAX_32_BIT_UNSIGNED + 1, new byte[4], 0); fail(); } catch (IllegalArgumentException expected) { // Expected @@ -163,30 +172,30 @@ public class ByteUtilsTest extends BrambleTestCase { @Test public void testWriteUint64() { byte[] b = new byte[10]; - ByteUtils.writeUint64(0, b, 1); - assertEquals("00000000000000000000", StringUtils.toHexString(b)); - ByteUtils.writeUint64(1, b, 1); - assertEquals("00000000000000000100", StringUtils.toHexString(b)); - ByteUtils.writeUint64(Long.MAX_VALUE, b, 1); - assertEquals("007FFFFFFFFFFFFFFF00", StringUtils.toHexString(b)); + writeUint64(0, b, 1); + assertEquals("00000000000000000000", toHexString(b)); + writeUint64(1, b, 1); + assertEquals("00000000000000000100", toHexString(b)); + writeUint64(Long.MAX_VALUE, b, 1); + assertEquals("007FFFFFFFFFFFFFFF00", toHexString(b)); } @Test public void testWriteUint64ValidatesArguments() { try { - ByteUtils.writeUint64(0, new byte[7], 0); + writeUint64(0, new byte[7], 0); fail(); } catch (IllegalArgumentException expected) { // Expected } try { - ByteUtils.writeUint64(0, new byte[8], 1); + writeUint64(0, new byte[8], 1); fail(); } catch (IllegalArgumentException expected) { // Expected } try { - ByteUtils.writeUint64(-1, new byte[8], 0); + writeUint64(-1, new byte[8], 0); fail(); } catch (IllegalArgumentException expected) { // Expected @@ -198,13 +207,13 @@ public class ByteUtilsTest extends BrambleTestCase { byte[] b = new byte[1]; b[0] = (byte) 128; for (int i = 0; i < 8; i++) { - assertEquals(1 << i, ByteUtils.readUint(b, i + 1)); + assertEquals(1 << i, readUint(b, i + 1)); } b = new byte[2]; for (int i = 0; i < 65535; i++) { - ByteUtils.writeUint16(i, b, 0); - assertEquals(i, ByteUtils.readUint(b, 16)); - assertEquals(i >> 1, ByteUtils.readUint(b, 15)); + writeUint16(i, b, 0); + assertEquals(i, readUint(b, 16)); + assertEquals(i >> 1, readUint(b, 15)); } } } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/util/StringUtilsTest.java b/bramble-core/src/test/java/org/briarproject/bramble/util/StringUtilsTest.java index f7042027d..40902fa27 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/util/StringUtilsTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/util/StringUtilsTest.java @@ -3,6 +3,13 @@ package org.briarproject.bramble.util; import org.briarproject.bramble.test.BrambleTestCase; import org.junit.Test; +import static org.briarproject.bramble.util.StringUtils.fromHexString; +import static org.briarproject.bramble.util.StringUtils.fromUtf8; +import static org.briarproject.bramble.util.StringUtils.macToBytes; +import static org.briarproject.bramble.util.StringUtils.macToString; +import static org.briarproject.bramble.util.StringUtils.toHexString; +import static org.briarproject.bramble.util.StringUtils.toUtf8; +import static org.briarproject.bramble.util.StringUtils.truncateUtf8; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; @@ -16,22 +23,22 @@ public class StringUtilsTest extends BrambleTestCase { 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, (byte) 0xFF }; String expected = "000102037F800A0B0C0D0EFF"; - assertEquals(expected, StringUtils.toHexString(b)); + assertEquals(expected, toHexString(b)); } @Test public void testToHexStringEmptyInput() { - assertEquals("", StringUtils.toHexString(new byte[0])); + assertEquals("", toHexString(new byte[0])); } @Test(expected = IllegalArgumentException.class) public void testFromHexStringRejectsInvalidLength() { - StringUtils.fromHexString("12345"); + fromHexString("12345"); } @Test(expected = IllegalArgumentException.class) public void testFromHexStringRejectsInvalidCharacter() { - StringUtils.fromHexString("ABCDEFGH"); + fromHexString("ABCDEFGH"); } @Test @@ -41,7 +48,7 @@ public class StringUtilsTest extends BrambleTestCase { 0x00, 0x01, 0x02, 0x03, 0x7F, (byte) 0x80, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, (byte) 0xFF }; - assertArrayEquals(expected, StringUtils.fromHexString(s)); + assertArrayEquals(expected, fromHexString(s)); } @Test @@ -51,12 +58,12 @@ public class StringUtilsTest extends BrambleTestCase { 0x00, 0x01, 0x02, 0x03, 0x7F, (byte) 0x80, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, (byte) 0xFF }; - assertArrayEquals(expected, StringUtils.fromHexString(s)); + assertArrayEquals(expected, fromHexString(s)); } @Test public void testFromHexStringEmptyInput() { - assertArrayEquals(new byte[0], StringUtils.fromHexString("")); + assertArrayEquals(new byte[0], fromHexString("")); } @Test @@ -64,7 +71,7 @@ public class StringUtilsTest extends BrambleTestCase { // The Unicode null character should be encoded as a single null byte, // not as two bytes as in CESU-8 and modified UTF-8 String s = "\u0000"; - assertArrayEquals(new byte[1], StringUtils.toUtf8(s)); + assertArrayEquals(new byte[1], toUtf8(s)); } @Test @@ -77,18 +84,18 @@ public class StringUtilsTest extends BrambleTestCase { (byte) 0xC8, (byte) 0x85, // U+0205 (byte) 0xF0, (byte) 0x90, (byte) 0x90, (byte) 0x80 // U+10400 }; - assertArrayEquals(expected, StringUtils.toUtf8(s)); + assertArrayEquals(expected, toUtf8(s)); } @Test public void testToUtf8EmptyInput() { - assertArrayEquals(new byte[0], StringUtils.toUtf8("")); + assertArrayEquals(new byte[0], toUtf8("")); } @Test public void testFromUtf8AcceptsNullCharacterUsingStandardUtf8() { // The UTF-8 encoding of the null character is valid - assertEquals("\u0000", StringUtils.fromUtf8(new byte[1])); + assertEquals("\u0000", fromUtf8(new byte[1])); } @Test @@ -100,7 +107,7 @@ public class StringUtilsTest extends BrambleTestCase { }; // Conversion should ignore the invalid character and return the rest String expected = "\u0205"; - assertEquals(expected, StringUtils.fromUtf8(b)); + assertEquals(expected, fromUtf8(b)); } @Test @@ -112,7 +119,7 @@ public class StringUtilsTest extends BrambleTestCase { (byte) 0xC8, (byte) 0x85 // U+0205 }; String expected = "\uD801\uDC00\u0205"; // Surrogate pair - assertEquals(expected, StringUtils.fromUtf8(b)); + assertEquals(expected, fromUtf8(b)); } @Test @@ -126,102 +133,102 @@ public class StringUtilsTest extends BrambleTestCase { }; // Conversion should ignore the invalid character and return the rest String expected = "\u0205"; - assertEquals(expected, StringUtils.fromUtf8(b)); + assertEquals(expected, fromUtf8(b)); } @Test public void testFromUtf8EmptyInput() { - assertEquals("", StringUtils.fromUtf8(new byte[0])); + assertEquals("", fromUtf8(new byte[0])); } @Test public void testTruncateUtf8ReturnsArgumentIfNotTruncated() { String s = "Hello"; - assertSame(s, StringUtils.truncateUtf8(s, 5)); + assertSame(s, truncateUtf8(s, 5)); } @Test public void testTruncateUtf8ChecksUtf8LengthNotStringLength() { String s = "H\u0205llo"; assertEquals(5, s.length()); - assertEquals(6, StringUtils.toUtf8(s).length); + assertEquals(6, toUtf8(s).length); String expected = "H\u0205ll"; // Sixth byte removed - assertEquals(expected, StringUtils.truncateUtf8(s, 5)); + assertEquals(expected, truncateUtf8(s, 5)); } @Test public void testTruncateUtf8RemovesTruncatedCharacter() { String s = "\u0205\u0205"; // String requires four bytes String expected = "\u0205"; // Partial character removed - String truncated = StringUtils.truncateUtf8(s, 3); + String truncated = truncateUtf8(s, 3); assertEquals(expected, truncated); // Converting the truncated string should not exceed the max length - assertEquals(2, StringUtils.toUtf8(truncated).length); + assertEquals(2, toUtf8(truncated).length); } @Test public void testTruncateUtf8RemovesTruncatedSurrogatePair() { String s = "\u0205\uD801\uDC00"; // String requires six bytes String expected = "\u0205"; // Partial character removed - String truncated = StringUtils.truncateUtf8(s, 3); + String truncated = truncateUtf8(s, 3); assertEquals(expected, truncated); // Converting the truncated string should not exceed the max length - assertEquals(2, StringUtils.toUtf8(truncated).length); + assertEquals(2, toUtf8(truncated).length); } @Test public void testTruncateUtf8EmptyInput() { - assertEquals("", StringUtils.truncateUtf8("", 123)); + assertEquals("", truncateUtf8("", 123)); } @Test(expected = IllegalArgumentException.class) public void testMacToBytesRejectsShortMac() { - StringUtils.macToBytes("00:00:00:00:00"); + macToBytes("00:00:00:00:00"); } @Test(expected = IllegalArgumentException.class) public void testMacToBytesRejectsLongMac() { - StringUtils.macToBytes("00:00:00:00:00:00:00"); + macToBytes("00:00:00:00:00:00:00"); } @Test(expected = IllegalArgumentException.class) public void testMacToBytesRejectsInvalidCharacter() { - StringUtils.macToBytes("00:00:00:00:00:0g"); + macToBytes("00:00:00:00:00:0g"); } @Test(expected = IllegalArgumentException.class) public void testMacToBytesRejectsInvalidFormat() { - StringUtils.macToBytes("0:000:00:00:00:00"); + macToBytes("0:000:00:00:00:00"); } @Test public void testMacToBytesUpperCase() { byte[] expected = new byte[] {0x0A, 0x1B, 0x2C, 0x3D, 0x4E, 0x5F}; String mac = "0A:1B:2C:3D:4E:5F"; - assertArrayEquals(expected, StringUtils.macToBytes(mac)); + assertArrayEquals(expected, macToBytes(mac)); } @Test public void testMacToBytesLowerCase() { byte[] expected = new byte[] {0x0A, 0x1B, 0x2C, 0x3D, 0x4E, 0x5F}; String mac = "0a:1b:2c:3d:4e:5f"; - assertArrayEquals(expected, StringUtils.macToBytes(mac)); + assertArrayEquals(expected, macToBytes(mac)); } @Test(expected = IllegalArgumentException.class) public void testMacToStringRejectsShortMac() { - StringUtils.macToString(new byte[5]); + macToString(new byte[5]); } @Test(expected = IllegalArgumentException.class) public void testMacToStringRejectsLongMac() { - StringUtils.macToString(new byte[7]); + macToString(new byte[7]); } @Test public void testMacToString() { byte[] mac = new byte[] {0x0a, 0x1b, 0x2c, 0x3d, 0x4e, 0x5f}; String expected = "0A:1B:2C:3D:4E:5F"; - assertEquals(expected, StringUtils.macToString(mac)); + assertEquals(expected, macToString(mac)); } } diff --git a/bramble-java/src/main/java/org/briarproject/bramble/lifecycle/WindowsShutdownManagerImpl.java b/bramble-java/src/main/java/org/briarproject/bramble/lifecycle/WindowsShutdownManagerImpl.java index 094754ddf..9f34519b2 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/lifecycle/WindowsShutdownManagerImpl.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/lifecycle/WindowsShutdownManagerImpl.java @@ -27,6 +27,7 @@ import javax.annotation.concurrent.ThreadSafe; import static com.sun.jna.Library.OPTION_FUNCTION_MAPPER; import static com.sun.jna.Library.OPTION_TYPE_MAPPER; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.OsUtils.isWindows; @@ -35,7 +36,7 @@ import static org.briarproject.bramble.util.OsUtils.isWindows; class WindowsShutdownManagerImpl extends ShutdownManagerImpl { private static final Logger LOG = - Logger.getLogger(WindowsShutdownManagerImpl.class.getName()); + getLogger(WindowsShutdownManagerImpl.class.getName()); private static final int WM_QUERYENDSESSION = 17; private static final int GWL_WNDPROC = -4; diff --git a/bramble-java/src/main/java/org/briarproject/bramble/network/JavaNetworkManager.java b/bramble-java/src/main/java/org/briarproject/bramble/network/JavaNetworkManager.java index 75bd3f969..a078a620b 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/network/JavaNetworkManager.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/network/JavaNetworkManager.java @@ -16,6 +16,7 @@ import static java.net.NetworkInterface.getNetworkInterfaces; import static java.util.Collections.list; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @MethodsNotNullByDefault @@ -23,7 +24,7 @@ import static org.briarproject.bramble.util.LogUtils.logException; class JavaNetworkManager implements NetworkManager { private static final Logger LOG = - Logger.getLogger(JavaNetworkManager.class.getName()); + getLogger(JavaNetworkManager.class.getName()); @Inject JavaNetworkManager() { diff --git a/bramble-java/src/main/java/org/briarproject/bramble/plugin/bluetooth/JavaBluetoothPlugin.java b/bramble-java/src/main/java/org/briarproject/bramble/plugin/bluetooth/JavaBluetoothPlugin.java index c3fe9b028..f156d88a6 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/plugin/bluetooth/JavaBluetoothPlugin.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/plugin/bluetooth/JavaBluetoothPlugin.java @@ -19,6 +19,7 @@ import javax.microedition.io.StreamConnection; import javax.microedition.io.StreamConnectionNotifier; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.StringUtils.isValidMac; @@ -27,7 +28,7 @@ import static org.briarproject.bramble.util.StringUtils.isValidMac; class JavaBluetoothPlugin extends BluetoothPlugin { private static final Logger LOG = - Logger.getLogger(JavaBluetoothPlugin.class.getName()); + getLogger(JavaBluetoothPlugin.class.getName()); // Non-null if the plugin started successfully private volatile LocalDevice localDevice = null; diff --git a/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemImpl.java b/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemImpl.java index 3bf2867cf..c61738267 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemImpl.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemImpl.java @@ -30,6 +30,7 @@ import static java.nio.charset.CodingErrorAction.IGNORE; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static jssc.SerialPort.PURGE_RXCLEAR; import static jssc.SerialPort.PURGE_TXCLEAR; import static org.briarproject.bramble.util.LogUtils.logException; @@ -38,8 +39,7 @@ import static org.briarproject.bramble.util.LogUtils.logException; @ParametersNotNullByDefault class ModemImpl implements Modem, WriteHandler, SerialPortEventListener { - private static final Logger LOG = - Logger.getLogger(ModemImpl.class.getName()); + private static final Logger LOG = getLogger(ModemImpl.class.getName()); private static final Charset US_ASCII = Charset.forName("US-ASCII"); private static final int MAX_LINE_LENGTH = 256; diff --git a/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemPlugin.java b/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemPlugin.java index 4d70fa14b..077b13e29 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemPlugin.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemPlugin.java @@ -12,7 +12,6 @@ import org.briarproject.bramble.api.plugin.duplex.DuplexPlugin; import org.briarproject.bramble.api.plugin.duplex.DuplexPluginCallback; import org.briarproject.bramble.api.plugin.duplex.DuplexTransportConnection; import org.briarproject.bramble.api.properties.TransportProperties; -import org.briarproject.bramble.util.StringUtils; import java.io.IOException; import java.io.InputStream; @@ -23,7 +22,9 @@ import java.util.logging.Logger; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; +import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; @MethodsNotNullByDefault @ParametersNotNullByDefault @@ -32,8 +33,7 @@ class ModemPlugin implements DuplexPlugin, Modem.Callback { static final TransportId ID = new TransportId("org.briarproject.bramble.modem"); - private static final Logger LOG = - Logger.getLogger(ModemPlugin.class.getName()); + private static final Logger LOG = getLogger(ModemPlugin.class.getName()); private final ModemFactory modemFactory; private final SerialPortList serialPortList; @@ -144,13 +144,13 @@ class ModemPlugin implements DuplexPlugin, Modem.Callback { if (!running) return null; // Get the ISO 3166 code for the caller's country String fromIso = callback.getLocalProperties().get("iso3166"); - if (StringUtils.isNullOrEmpty(fromIso)) return null; + if (isNullOrEmpty(fromIso)) return null; // Get the ISO 3166 code for the callee's country String toIso = p.get("iso3166"); - if (StringUtils.isNullOrEmpty(toIso)) return null; + if (isNullOrEmpty(toIso)) return null; // Get the callee's phone number String number = p.get("number"); - if (StringUtils.isNullOrEmpty(number)) return null; + if (isNullOrEmpty(number)) return null; // Convert the number into direct dialling form number = CountryCodes.translate(number, fromIso, toIso); if (number == null) return null; diff --git a/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemPluginFactory.java b/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemPluginFactory.java index 1a3a1f24a..32edb140a 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemPluginFactory.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/plugin/modem/ModemPluginFactory.java @@ -6,12 +6,13 @@ import org.briarproject.bramble.api.plugin.duplex.DuplexPlugin; import org.briarproject.bramble.api.plugin.duplex.DuplexPluginCallback; import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory; import org.briarproject.bramble.api.reliability.ReliabilityLayerFactory; -import org.briarproject.bramble.util.StringUtils; import java.util.concurrent.Executor; import javax.annotation.concurrent.Immutable; +import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; + @Immutable @NotNullByDefault public class ModemPluginFactory implements DuplexPluginFactory { @@ -41,7 +42,7 @@ public class ModemPluginFactory implements DuplexPluginFactory { public DuplexPlugin createPlugin(DuplexPluginCallback callback) { // This plugin is not enabled by default String enabled = callback.getSettings().get("enabled"); - if (StringUtils.isNullOrEmpty(enabled)) return null; + if (isNullOrEmpty(enabled)) return null; return new ModemPlugin(modemFactory, serialPortList, callback, MAX_LATENCY); } diff --git a/bramble-java/src/main/java/org/briarproject/bramble/system/JavaLocationUtils.java b/bramble-java/src/main/java/org/briarproject/bramble/system/JavaLocationUtils.java index e9aadd8d3..bb56f5e11 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/system/JavaLocationUtils.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/system/JavaLocationUtils.java @@ -8,11 +8,13 @@ import java.util.logging.Logger; import javax.inject.Inject; +import static java.util.logging.Logger.getLogger; + @NotNullByDefault class JavaLocationUtils implements LocationUtils { private static final Logger LOG = - Logger.getLogger(JavaLocationUtils.class.getName()); + getLogger(JavaLocationUtils.class.getName()); @Inject JavaLocationUtils() { diff --git a/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java index 1eaa8c07e..8a75abb69 100644 --- a/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java +++ b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java @@ -30,6 +30,7 @@ import javax.net.SocketFactory; import static java.util.Collections.singletonList; import static java.util.concurrent.TimeUnit.SECONDS; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; import static org.briarproject.bramble.test.TestUtils.getTestDirectory; import static org.briarproject.bramble.test.TestUtils.isOptionalTestEnabled; @@ -47,10 +48,9 @@ public class BridgeTest extends BrambleTestCase { return component.getCircumventionProvider().getBridges(); } - private final static long TIMEOUT = SECONDS.toMillis(30); + private final static Logger LOG = getLogger(BridgeTest.class.getName()); - private final static Logger LOG = - Logger.getLogger(BridgeTest.class.getName()); + private final static long TIMEOUT = SECONDS.toMillis(30); @Inject NetworkManager networkManager; diff --git a/briar-android/project.properties b/briar-android/project.properties deleted file mode 100644 index 629dfb0da..000000000 --- a/briar-android/project.properties +++ /dev/null @@ -1,14 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system edit -# "ant.properties", and override values to adapt the script to your -# project structure. -# -# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): -#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-rules.txt - -# Project target. -target=android-22 diff --git a/briar-android/src/main/java/org/briarproject/bramble/account/BriarAccountManager.java b/briar-android/src/main/java/org/briarproject/bramble/account/BriarAccountManager.java index eb1e2faaa..17972d59a 100644 --- a/briar-android/src/main/java/org/briarproject/bramble/account/BriarAccountManager.java +++ b/briar-android/src/main/java/org/briarproject/bramble/account/BriarAccountManager.java @@ -8,10 +8,11 @@ import org.briarproject.bramble.api.db.DatabaseConfig; import org.briarproject.bramble.api.identity.IdentityManager; import org.briarproject.briar.R; import org.briarproject.briar.android.Localizer; -import org.briarproject.briar.android.util.UiUtils; import javax.inject.Inject; +import static org.briarproject.briar.android.util.UiUtils.setTheme; + class BriarAccountManager extends AndroidAccountManager { @Inject @@ -26,7 +27,7 @@ class BriarAccountManager extends AndroidAccountManager { synchronized (stateChangeLock) { super.deleteAccount(); Localizer.reinitialize(); - UiUtils.setTheme(appContext, + setTheme(appContext, appContext.getString(R.string.pref_theme_light_value)); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java index 21af7d4f5..f7741cc1c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java @@ -29,7 +29,6 @@ import org.briarproject.bramble.api.settings.event.SettingsUpdatedEvent; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.system.AndroidExecutor; import org.briarproject.bramble.api.system.Clock; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.R; import org.briarproject.briar.android.conversation.ConversationActivity; import org.briarproject.briar.android.forum.ForumActivity; @@ -71,6 +70,8 @@ import static android.support.v4.app.NotificationCompat.PRIORITY_LOW; import static android.support.v4.app.NotificationCompat.PRIORITY_MIN; import static android.support.v4.app.NotificationCompat.VISIBILITY_SECRET; import static android.support.v4.content.ContextCompat.getColor; +import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; +import static org.briarproject.bramble.util.StringUtils.toHexString; import static org.briarproject.briar.android.activity.BriarActivity.GROUP_ID; import static org.briarproject.briar.android.conversation.ConversationActivity.CONTACT_ID; import static org.briarproject.briar.android.navdrawer.NavDrawerActivity.INTENT_BLOGS; @@ -348,7 +349,7 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager, if (currentTime - lastSound > SOUND_DELAY) { boolean sound = settings.getBoolean(PREF_NOTIFY_SOUND, true); String ringtoneUri = settings.get(PREF_NOTIFY_RINGTONE_URI); - if (sound && !StringUtils.isNullOrEmpty(ringtoneUri)) + if (sound && !isNullOrEmpty(ringtoneUri)) b.setSound(Uri.parse(ringtoneUri)); b.setDefaults(getDefaults()); lastSound = currentTime; @@ -360,7 +361,7 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager, int defaults = DEFAULT_LIGHTS; boolean sound = settings.getBoolean(PREF_NOTIFY_SOUND, true); String ringtoneUri = settings.get(PREF_NOTIFY_RINGTONE_URI); - if (sound && StringUtils.isNullOrEmpty(ringtoneUri)) + if (sound && isNullOrEmpty(ringtoneUri)) defaults |= DEFAULT_SOUND; if (settings.getBoolean(PREF_NOTIFY_VIBRATION, true)) defaults |= DEFAULT_VIBRATE; @@ -422,7 +423,7 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager, Intent i = new Intent(appContext, GroupActivity.class); GroupId g = groups.iterator().next(); i.putExtra(GROUP_ID, g.getBytes()); - String idHex = StringUtils.toHexString(g.getBytes()); + String idHex = toHexString(g.getBytes()); i.setData(Uri.parse(GROUP_URI + "/" + idHex)); i.setFlags(FLAG_ACTIVITY_CLEAR_TOP); TaskStackBuilder t = TaskStackBuilder.create(appContext); @@ -493,7 +494,7 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager, Intent i = new Intent(appContext, ForumActivity.class); GroupId g = forums.iterator().next(); i.putExtra(GROUP_ID, g.getBytes()); - String idHex = StringUtils.toHexString(g.getBytes()); + String idHex = toHexString(g.getBytes()); i.setData(Uri.parse(FORUM_URI + "/" + idHex)); i.setFlags(FLAG_ACTIVITY_CLEAR_TOP); TaskStackBuilder t = TaskStackBuilder.create(appContext); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java index d19d6d7ea..29c925304 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java @@ -31,7 +31,6 @@ import org.briarproject.bramble.plugin.tcp.AndroidLanTcpPluginFactory; import org.briarproject.bramble.plugin.tor.AndroidTorPluginFactory; import org.briarproject.bramble.plugin.tor.CircumventionProvider; import org.briarproject.bramble.util.AndroidUtils; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.android.account.LockManagerImpl; import org.briarproject.briar.android.viewmodel.ViewModelModule; import org.briarproject.briar.api.android.AndroidNotificationManager; @@ -58,6 +57,7 @@ import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static org.briarproject.bramble.api.reporting.ReportingConstants.DEV_ONION_ADDRESS; import static org.briarproject.bramble.api.reporting.ReportingConstants.DEV_PUBLIC_KEY_HEX; +import static org.briarproject.bramble.util.StringUtils.fromHexString; @Module(includes = ViewModelModule.class) public class AppModule { @@ -153,7 +153,7 @@ public class AppModule { public PublicKey getDevPublicKey() { try { return crypto.getMessageKeyParser().parsePublicKey( - StringUtils.fromHexString(DEV_PUBLIC_KEY_HEX)); + fromHexString(DEV_PUBLIC_KEY_HEX)); } catch (GeneralSecurityException e) { throw new RuntimeException(e); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java index ba909c75b..91404bf38 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java @@ -36,6 +36,7 @@ import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREG import static android.os.Build.VERSION.SDK_INT; import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; +import static java.util.logging.Logger.getLogger; import static org.acra.ReportField.ANDROID_VERSION; import static org.acra.ReportField.APP_VERSION_CODE; import static org.acra.ReportField.APP_VERSION_NAME; @@ -80,7 +81,7 @@ public class BriarApplicationImpl extends Application implements BriarApplication { private static final Logger LOG = - Logger.getLogger(BriarApplicationImpl.class.getName()); + getLogger(BriarApplicationImpl.class.getName()); private final CachingLogHandler logHandler = new CachingLogHandler(); private final BackgroundMonitor backgroundMonitor = new BackgroundMonitor(); @@ -106,7 +107,7 @@ public class BriarApplicationImpl extends Application if (IS_DEBUG_BUILD) enableStrictMode(); - Logger rootLogger = Logger.getLogger(""); + Logger rootLogger = getLogger(""); if (!IS_DEBUG_BUILD && !IS_BETA_BUILD) { // Remove default log handlers so system log is not used for (Handler handler : rootLogger.getHandlers()) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/BriarService.java b/briar-android/src/main/java/org/briarproject/briar/android/BriarService.java index 606a6ba72..5d43222d4 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/BriarService.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/BriarService.java @@ -46,6 +46,7 @@ import static android.os.Build.VERSION.SDK_INT; import static android.support.v4.app.NotificationCompat.VISIBILITY_SECRET; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.StartResult.ALREADY_RUNNING; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.StartResult.SUCCESS; import static org.briarproject.briar.api.android.AndroidNotificationManager.FAILURE_CHANNEL_ID; @@ -63,8 +64,7 @@ public class BriarService extends Service { public static String EXTRA_STARTUP_FAILED = "org.briarproject.briar.STARTUP_FAILED"; - private static final Logger LOG = - Logger.getLogger(BriarService.class.getName()); + private static final Logger LOG = getLogger(BriarService.class.getName()); private final AtomicBoolean created = new AtomicBoolean(false); private final Binder binder = new BriarBinder(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/NetworkUsageLogger.java b/briar-android/src/main/java/org/briarproject/briar/android/NetworkUsageLogger.java index 7bba1cf50..dc3f2d5b2 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/NetworkUsageLogger.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/NetworkUsageLogger.java @@ -8,12 +8,13 @@ import org.briarproject.bramble.api.lifecycle.Service; import java.util.logging.Logger; import static java.util.logging.Level.INFO; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.now; class NetworkUsageLogger implements Service { private static final Logger LOG = - Logger.getLogger(NetworkUsageLogger.class.getName()); + getLogger(NetworkUsageLogger.class.getName()); private volatile long startTime, rxBytes, txBytes; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/RecentEmojiImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/RecentEmojiImpl.java index ee349c1a5..cff0e2cf1 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/RecentEmojiImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/RecentEmojiImpl.java @@ -14,7 +14,6 @@ import org.briarproject.bramble.api.settings.Settings; import org.briarproject.bramble.api.settings.SettingsManager; import org.briarproject.bramble.api.sync.Client; import org.briarproject.bramble.api.system.AndroidExecutor; -import org.briarproject.bramble.util.StringUtils; import java.util.ArrayList; import java.util.Collection; @@ -25,7 +24,9 @@ import java.util.logging.Logger; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; +import static org.briarproject.bramble.util.StringUtils.join; import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE; @MethodsNotNullByDefault @@ -33,7 +34,7 @@ import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_ class RecentEmojiImpl implements RecentEmoji, Client { private static final Logger LOG = - Logger.getLogger(RecentEmojiImpl.class.getName()); + getLogger(RecentEmojiImpl.class.getName()); private static final String EMOJI_LRU_PREFERENCE = "pref_emoji_recent2"; private static final int EMOJI_LRU_SIZE = 50; @@ -85,7 +86,7 @@ class RecentEmojiImpl implements RecentEmoji, Client { private String serialize(Collection emojis) { Collection strings = new ArrayList<>(emojis.size()); for (Emoji emoji : emojis) strings.add(emoji.getUnicode()); - return StringUtils.join(strings, "\t"); + return join(strings, "\t"); } private Collection deserialize(String serialized) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/ScreenFilterMonitorImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/ScreenFilterMonitorImpl.java index 56d542286..311d07e64 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/ScreenFilterMonitorImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/ScreenFilterMonitorImpl.java @@ -16,7 +16,6 @@ import android.support.annotation.UiThread; import org.briarproject.bramble.api.lifecycle.Service; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.system.AndroidExecutor; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.api.android.ScreenFilterMonitor; import java.io.ByteArrayInputStream; @@ -48,13 +47,15 @@ import static android.content.pm.PackageManager.GET_PERMISSIONS; import static android.content.pm.PackageManager.GET_SIGNATURES; import static android.os.Build.VERSION.SDK_INT; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; +import static org.briarproject.bramble.util.StringUtils.toHexString; @NotNullByDefault class ScreenFilterMonitorImpl implements ScreenFilterMonitor, Service { private static final Logger LOG = - Logger.getLogger(ScreenFilterMonitorImpl.class.getName()); + getLogger(ScreenFilterMonitorImpl.class.getName()); /* * Ignore Play Services if it uses this package name and public key - it's @@ -187,7 +188,7 @@ class ScreenFilterMonitorImpl implements ScreenFilterMonitor, Service { X509Certificate cert = (X509Certificate) certFactory.generateCertificate(in); byte[] publicKeyBytes = cert.getPublicKey().getEncoded(); - String publicKey = StringUtils.toHexString(publicKeyBytes); + String publicKey = toHexString(publicKeyBytes); return PLAY_SERVICES_PUBLIC_KEY.equals(publicKey); } catch (NameNotFoundException | CertificateException e) { logException(LOG, WARNING, e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java index 17c821997..9a6ea2a90 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/account/LockManagerImpl.java @@ -36,6 +36,7 @@ import static android.content.Context.ALARM_SERVICE; import static android.os.SystemClock.elapsedRealtime; import static java.util.concurrent.TimeUnit.MINUTES; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.briar.android.settings.SettingsFragment.PREF_SCREEN_LOCK; import static org.briarproject.briar.android.settings.SettingsFragment.PREF_SCREEN_LOCK_TIMEOUT; @@ -48,7 +49,7 @@ import static org.briarproject.briar.android.util.UiUtils.hasScreenLock; public class LockManagerImpl implements LockManager, Service, EventListener { private static final Logger LOG = - Logger.getLogger(LockManagerImpl.class.getName()); + getLogger(LockManagerImpl.class.getName()); private final Context appContext; private final SettingsManager settingsManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java index 3cc44414f..e093e6410 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/activity/BaseActivity.java @@ -27,7 +27,6 @@ import org.briarproject.briar.android.forum.ForumModule; import org.briarproject.briar.android.fragment.BaseFragment; import org.briarproject.briar.android.fragment.ScreenFilterDialogFragment; import org.briarproject.briar.android.reporting.DevReportActivity; -import org.briarproject.briar.android.util.UiUtils; import org.briarproject.briar.android.widget.TapSafeFrameLayout; import org.briarproject.briar.android.widget.TapSafeFrameLayout.OnTapFilteredListener; import org.briarproject.briar.api.android.ScreenFilterMonitor; @@ -48,6 +47,7 @@ import static android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT; import static java.util.logging.Level.INFO; import static java.util.logging.Logger.getLogger; import static org.briarproject.briar.android.TestingConstants.PREVENT_SCREENSHOTS; +import static org.briarproject.briar.android.util.UiUtils.setFilterTouchesWhenObscured; /** * Warning: Some activities don't extend {@link BaseActivity}. @@ -249,7 +249,7 @@ public abstract class BaseActivity extends AppCompatActivity findToolbar(); if (toolbar != null) { boolean filter = !screenFilterMonitor.getApps().isEmpty(); - UiUtils.setFilterTouchesWhenObscured(toolbar, filter); + setFilterTouchesWhenObscured(toolbar, filter); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java index 7cbd63944..62b374bbe 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java @@ -30,6 +30,7 @@ import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION; import static android.os.Build.VERSION.SDK_INT; +import static java.util.logging.Logger.getLogger; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_DOZE_WHITELISTING; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_PASSWORD; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_UNLOCK; @@ -44,8 +45,7 @@ public abstract class BriarActivity extends BaseActivity { public static final String GROUP_ID = "briar.GROUP_ID"; public static final String GROUP_NAME = "briar.GROUP_NAME"; - private static final Logger LOG = - Logger.getLogger(BriarActivity.class.getName()); + private static final Logger LOG = getLogger(BriarActivity.class.getName()); @Inject BriarController briarController; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java index e80cafbd5..e4c213aab 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java @@ -33,6 +33,7 @@ import java.util.logging.Logger; import javax.annotation.Nullable; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.now; @@ -44,7 +45,7 @@ abstract class BaseControllerImpl extends DbControllerImpl implements BaseController, EventListener { private static final Logger LOG = - Logger.getLogger(BaseControllerImpl.class.getName()); + getLogger(BaseControllerImpl.class.getName()); protected final EventBus eventBus; protected final AndroidNotificationManager notificationManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java index 1b7058503..e128cdb19 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java @@ -36,6 +36,7 @@ import java.util.logging.Logger; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.now; @@ -46,7 +47,7 @@ class BlogControllerImpl extends BaseControllerImpl implements ActivityLifecycleController, BlogController, EventListener { private static final Logger LOG = - Logger.getLogger(BlogControllerImpl.class.getName()); + getLogger(BlogControllerImpl.class.getName()); private final BlogSharingManager blogSharingManager; private volatile GroupId groupId = null; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java index 43b542532..2c53de59c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java @@ -27,6 +27,7 @@ import java.util.logging.Logger; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.now; @@ -38,7 +39,7 @@ class FeedControllerImpl extends BaseControllerImpl implements FeedController { private static final Logger LOG = - Logger.getLogger(FeedControllerImpl.class.getName()); + getLogger(FeedControllerImpl.class.getName()); private volatile FeedListener listener; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java index 8d2adca73..703a5671c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedFragment.java @@ -36,6 +36,7 @@ import static android.app.Activity.RESULT_OK; import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP; import static android.support.design.widget.Snackbar.LENGTH_LONG; import static java.util.Objects.requireNonNull; +import static java.util.logging.Logger.getLogger; import static org.briarproject.briar.android.activity.BriarActivity.GROUP_ID; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_WRITE_BLOG_POST; @@ -46,7 +47,8 @@ public class FeedFragment extends BaseFragment implements OnBlogPostClickListener, FeedListener { public final static String TAG = FeedFragment.class.getName(); - private static final Logger LOG = Logger.getLogger(TAG); + + private static final Logger LOG = getLogger(TAG); @Inject FeedController feedController; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedAdapter.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedAdapter.java index b7548c043..ac5f29214 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedAdapter.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedAdapter.java @@ -10,11 +10,11 @@ import android.widget.TextView; import org.briarproject.briar.R; import org.briarproject.briar.android.util.BriarAdapter; -import org.briarproject.briar.android.util.UiUtils; import org.briarproject.briar.api.feed.Feed; import static android.view.View.GONE; import static android.view.View.VISIBLE; +import static org.briarproject.briar.android.util.UiUtils.formatDate; class RssFeedAdapter extends BriarAdapter { @@ -54,8 +54,8 @@ class RssFeedAdapter extends BriarAdapter { } // Imported and Last Updated - ui.imported.setText(UiUtils.formatDate(ctx, item.getAdded())); - ui.updated.setText(UiUtils.formatDate(ctx, item.getUpdated())); + ui.imported.setText(formatDate(ctx, item.getAdded())); + ui.updated.setText(formatDate(ctx, item.getUpdated())); // Description if (item.getDescription() != null) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java index 90b91eb14..d6e805834 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java @@ -30,12 +30,13 @@ import javax.inject.Inject; import static android.view.View.GONE; import static android.view.View.VISIBLE; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; public class RssFeedImportActivity extends BriarActivity { private static final Logger LOG = - Logger.getLogger(RssFeedImportActivity.class.getName()); + getLogger(RssFeedImportActivity.class.getName()); private EditText urlInput; private Button importButton; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedManageActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedManageActivity.java index feaf88354..619a58fa5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedManageActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedManageActivity.java @@ -27,13 +27,14 @@ import javax.inject.Inject; import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP; import static android.support.design.widget.Snackbar.LENGTH_LONG; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; public class RssFeedManageActivity extends BriarActivity implements RssFeedListener { private static final Logger LOG = - Logger.getLogger(RssFeedManageActivity.class.getName()); + getLogger(RssFeedManageActivity.class.getName()); private BriarRecyclerView list; private RssFeedAdapter adapter; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java index 0acda8309..2cad4f1ad 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java @@ -37,6 +37,7 @@ import javax.inject.Inject; import static android.view.View.GONE; import static android.view.View.VISIBLE; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; import static org.briarproject.briar.api.blog.BlogConstants.MAX_BLOG_POST_TEXT_LENGTH; @@ -47,7 +48,7 @@ public class WriteBlogPostActivity extends BriarActivity implements OnEditorActionListener, SendListener { private static final Logger LOG = - Logger.getLogger(WriteBlogPostActivity.class.getName()); + getLogger(WriteBlogPostActivity.class.getName()); @Inject AndroidNotificationManager notificationManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java index 73df44e49..960e8c325 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java @@ -53,6 +53,7 @@ import static android.support.v4.app.ActivityOptionsCompat.makeSceneTransitionAn import static android.support.v4.view.ViewCompat.getTransitionName; import static java.util.Objects.requireNonNull; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.now; @@ -64,7 +65,8 @@ import static org.briarproject.briar.android.util.UiUtils.isSamsung7; public class ContactListFragment extends BaseFragment implements EventListener { public static final String TAG = ContactListFragment.class.getName(); - private static final Logger LOG = Logger.getLogger(TAG); + + private static final Logger LOG = getLogger(TAG); @Inject ConnectionRegistry connectionRegistry; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListItemViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListItemViewHolder.java index 8194bfed7..a6d3f7ba2 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListItemViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListItemViewHolder.java @@ -8,7 +8,6 @@ import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.briar.R; import org.briarproject.briar.android.contact.BaseContactListAdapter.OnContactClickListener; -import org.briarproject.briar.android.util.UiUtils; import java.util.Locale; @@ -16,6 +15,8 @@ import javax.annotation.Nullable; import static android.support.v4.view.ViewCompat.setTransitionName; import static org.briarproject.briar.android.util.UiUtils.formatDate; +import static org.briarproject.briar.android.util.UiUtils.getAvatarTransitionName; +import static org.briarproject.briar.android.util.UiUtils.getBulbTransitionName; @UiThread @NotNullByDefault @@ -53,8 +54,8 @@ class ContactListItemViewHolder extends ContactItemViewHolder { } ContactId c = item.getContact().getId(); - setTransitionName(avatar, UiUtils.getAvatarTransitionName(c)); - setTransitionName(bulb, UiUtils.getBulbTransitionName(c)); + setTransitionName(avatar, getAvatarTransitionName(c)); + setTransitionName(bulb, getBulbTransitionName(c)); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contactselection/ContactSelectorControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/contactselection/ContactSelectorControllerImpl.java index 9f6380d0f..d45732f01 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contactselection/ContactSelectorControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contactselection/ContactSelectorControllerImpl.java @@ -19,6 +19,7 @@ import java.util.logging.Logger; import javax.annotation.concurrent.Immutable; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @Immutable @@ -28,7 +29,7 @@ public abstract class ContactSelectorControllerImpl implements ContactSelectorController { private static final Logger LOG = - Logger.getLogger(ContactSelectorControllerImpl.class.getName()); + getLogger(ContactSelectorControllerImpl.class.getName()); private final ContactManager contactManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/controller/BriarControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/controller/BriarControllerImpl.java index 1271f4d21..50ac3da28 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/controller/BriarControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/controller/BriarControllerImpl.java @@ -21,6 +21,7 @@ import java.util.logging.Logger; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE; import static org.briarproject.briar.android.util.UiUtils.needsDozeWhitelisting; @@ -28,7 +29,7 @@ import static org.briarproject.briar.android.util.UiUtils.needsDozeWhitelisting; public class BriarControllerImpl implements BriarController { private static final Logger LOG = - Logger.getLogger(BriarControllerImpl.class.getName()); + getLogger(BriarControllerImpl.class.getName()); public static final String DOZE_ASK_AGAIN = "dozeAskAgain"; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/controller/DbControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/controller/DbControllerImpl.java index 5899697ef..ca5763eba 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/controller/DbControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/controller/DbControllerImpl.java @@ -10,12 +10,14 @@ import java.util.logging.Logger; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; +import static java.util.logging.Logger.getLogger; + @Immutable @NotNullByDefault public class DbControllerImpl implements DbController { private static final Logger LOG = - Logger.getLogger(DbControllerImpl.class.getName()); + getLogger(DbControllerImpl.class.getName()); protected final Executor dbExecutor; private final LifecycleManager lifecycleManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java index a25460cd4..d9ad47cca 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java @@ -114,6 +114,7 @@ import static java.util.Collections.sort; import static java.util.Objects.requireNonNull; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.now; @@ -141,7 +142,7 @@ public class ConversationActivity extends BriarActivity public static final String CONTACT_ID = "briar.CONTACT_ID"; private static final Logger LOG = - Logger.getLogger(ConversationActivity.class.getName()); + getLogger(ConversationActivity.class.getName()); private static final int TRANSITION_DURATION_MS = 500; private static final int ONBOARDING_DELAY_MS = 250; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationAdapter.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationAdapter.java index 0194a2d7f..82afb6272 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationAdapter.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationAdapter.java @@ -21,14 +21,13 @@ import javax.annotation.Nullable; class ConversationAdapter extends BriarAdapter { - private ConversationListener listener; + private final ConversationListener listener; private final RecycledViewPool imageViewPool; private final ImageItemDecoration imageItemDecoration; - ConversationAdapter(Context ctx, - ConversationListener conversationListener) { + ConversationAdapter(Context ctx, ConversationListener listener) { super(ctx, ConversationItem.class); - listener = conversationListener; + this.listener = listener; // This shares the same pool for view recycling between all image lists imageViewPool = new RecycledViewPool(); // Share the item decoration as well diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java index 96574abbe..d4786973a 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java @@ -13,7 +13,6 @@ import android.widget.Toast; import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; import org.briarproject.briar.android.activity.BriarActivity; @@ -30,9 +29,11 @@ import static android.view.View.VISIBLE; import static android.view.inputmethod.EditorInfo.IME_ACTION_DONE; import static android.widget.Toast.LENGTH_LONG; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.now; +import static org.briarproject.bramble.util.StringUtils.toUtf8; import static org.briarproject.briar.android.util.UiUtils.enterPressed; import static org.briarproject.briar.api.forum.ForumConstants.MAX_FORUM_NAME_LENGTH; @@ -41,7 +42,7 @@ import static org.briarproject.briar.api.forum.ForumConstants.MAX_FORUM_NAME_LEN public class CreateForumActivity extends BriarActivity { private static final Logger LOG = - Logger.getLogger(CreateForumActivity.class.getName()); + getLogger(CreateForumActivity.class.getName()); private TextInputLayout nameEntryLayout; private EditText nameEntry; @@ -109,7 +110,7 @@ public class CreateForumActivity extends BriarActivity { private boolean validateName() { String name = nameEntry.getText().toString(); - int length = StringUtils.toUtf8(name).length; + int length = toUtf8(name).length; if (length > MAX_FORUM_NAME_LENGTH) { nameEntryLayout.setError(getString(R.string.name_too_long)); return false; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumControllerImpl.java index 8ca52974f..d0a405a6a 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumControllerImpl.java @@ -39,6 +39,7 @@ import javax.inject.Inject; import static java.lang.Math.max; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @NotNullByDefault @@ -47,7 +48,7 @@ class ForumControllerImpl extends implements ForumController { private static final Logger LOG = - Logger.getLogger(ForumControllerImpl.class.getName()); + getLogger(ForumControllerImpl.class.getName()); private final ForumManager forumManager; private final ForumSharingManager forumSharingManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListAdapter.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListAdapter.java index f16e83970..5f346392d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListAdapter.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListAdapter.java @@ -11,7 +11,6 @@ import android.widget.TextView; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.briar.R; import org.briarproject.briar.android.util.BriarAdapter; -import org.briarproject.briar.android.util.UiUtils; import org.briarproject.briar.android.view.TextAvatarView; import org.briarproject.briar.api.forum.Forum; @@ -20,6 +19,7 @@ import static android.view.View.GONE; import static android.view.View.VISIBLE; import static org.briarproject.briar.android.activity.BriarActivity.GROUP_ID; import static org.briarproject.briar.android.activity.BriarActivity.GROUP_NAME; +import static org.briarproject.briar.android.util.UiUtils.formatDate; class ForumListAdapter extends BriarAdapter { @@ -63,7 +63,7 @@ class ForumListAdapter ui.date.setVisibility(GONE); } else { long timestamp = item.getTimestamp(); - ui.date.setText(UiUtils.formatDate(ctx, timestamp)); + ui.date.setText(formatDate(ctx, timestamp)); ui.date.setVisibility(VISIBLE); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java index 389c50a11..80abcbe88 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java @@ -46,6 +46,7 @@ import javax.inject.Inject; import static android.support.design.widget.Snackbar.LENGTH_INDEFINITE; import static java.util.Objects.requireNonNull; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.now; @@ -57,7 +58,8 @@ public class ForumListFragment extends BaseEventFragment implements OnClickListener { public final static String TAG = ForumListFragment.class.getName(); - private final static Logger LOG = Logger.getLogger(TAG); + + private final static Logger LOG = getLogger(TAG); private BriarRecyclerView list; private ForumListAdapter adapter; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/introduction/ContactChooserFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/introduction/ContactChooserFragment.java index 72cd85de3..b32b2b1f6 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/introduction/ContactChooserFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/introduction/ContactChooserFragment.java @@ -33,6 +33,7 @@ import javax.inject.Inject; import static java.util.Objects.requireNonNull; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.briar.android.conversation.ConversationActivity.CONTACT_ID; @@ -42,7 +43,8 @@ import static org.briarproject.briar.android.conversation.ConversationActivity.C public class ContactChooserFragment extends BaseFragment { public static final String TAG = ContactChooserFragment.class.getName(); - private static final Logger LOG = Logger.getLogger(TAG); + + private static final Logger LOG = getLogger(TAG); private BriarRecyclerView list; private ContactListAdapter adapter; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/introduction/IntroductionMessageFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/introduction/IntroductionMessageFragment.java index 6312a9ef1..b8375a74f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/introduction/IntroductionMessageFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/introduction/IntroductionMessageFragment.java @@ -41,6 +41,7 @@ import static android.view.View.VISIBLE; import static android.widget.Toast.LENGTH_SHORT; import static java.util.Objects.requireNonNull; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.briar.android.util.UiUtils.getContactDisplayName; import static org.briarproject.briar.api.introduction.IntroductionConstants.MAX_INTRODUCTION_TEXT_LENGTH; @@ -52,7 +53,8 @@ public class IntroductionMessageFragment extends BaseFragment public static final String TAG = IntroductionMessageFragment.class.getName(); - private static final Logger LOG = Logger.getLogger(TAG); + + private static final Logger LOG = getLogger(TAG); private final static String CONTACT_ID_1 = "contact1"; private final static String CONTACT_ID_2 = "contact2"; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/CameraView.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/CameraView.java index d9cf8d01f..3d993b78b 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/CameraView.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/CameraView.java @@ -38,6 +38,7 @@ import static android.hardware.Camera.Parameters.SCENE_MODE_BARCODE; import static android.os.Build.VERSION.SDK_INT; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @SuppressWarnings("deprecation") @@ -46,15 +47,14 @@ import static org.briarproject.bramble.util.LogUtils.logException; public class CameraView extends SurfaceView implements SurfaceHolder.Callback, AutoFocusCallback, View.OnClickListener { + private static final Logger LOG = getLogger(CameraView.class.getName()); + // Heuristic for the ideal preview size - small previews don't have enough // detail, large previews are slow to decode private static final int IDEAL_PIXELS = 500 * 1000; private static final int AUTO_FOCUS_RETRY_DELAY = 5000; // Milliseconds - private static final Logger LOG = - Logger.getLogger(CameraView.class.getName()); - private final Runnable autoFocusRetry = this::retryAutoFocus; @Nullable diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeActivity.java index b6acf79c1..224c3209f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeActivity.java @@ -23,6 +23,7 @@ import javax.inject.Inject; import static android.widget.Toast.LENGTH_LONG; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @MethodsNotNullByDefault @@ -31,7 +32,7 @@ public class ContactExchangeActivity extends KeyAgreementActivity implements ContactExchangeListener { private static final Logger LOG = - Logger.getLogger(ContactExchangeActivity.class.getName()); + getLogger(ContactExchangeActivity.class.getName()); // Fields that are accessed from background threads must be volatile @Inject diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java index 4298e89c6..ad0a7863c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java @@ -25,7 +25,6 @@ import org.briarproject.briar.android.fragment.BaseFragment; import org.briarproject.briar.android.fragment.BaseFragment.BaseFragmentListener; import org.briarproject.briar.android.keyagreement.IntroFragment.IntroScreenSeenListener; import org.briarproject.briar.android.keyagreement.KeyAgreementFragment.KeyAgreementEventListener; -import org.briarproject.briar.android.util.UiUtils; import java.util.logging.Logger; @@ -43,8 +42,10 @@ import static android.bluetooth.BluetoothAdapter.SCAN_MODE_CONNECTABLE; import static android.bluetooth.BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE; import static android.bluetooth.BluetoothAdapter.STATE_ON; import static android.content.pm.PackageManager.PERMISSION_GRANTED; +import static java.util.logging.Logger.getLogger; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_BLUETOOTH_DISCOVERABLE; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_PERMISSION_CAMERA_LOCATION; +import static org.briarproject.briar.android.util.UiUtils.getGoToSettingsListener; @MethodsNotNullByDefault @ParametersNotNullByDefault @@ -61,7 +62,7 @@ public abstract class KeyAgreementActivity extends BriarActivity implements } private static final Logger LOG = - Logger.getLogger(KeyAgreementActivity.class.getName()); + getLogger(KeyAgreementActivity.class.getName()); @Inject EventBus eventBus; @@ -249,7 +250,7 @@ public abstract class KeyAgreementActivity extends BriarActivity implements builder.setTitle(R.string.permission_camera_title); builder.setMessage(R.string.permission_camera_denied_body); builder.setPositiveButton(R.string.ok, - UiUtils.getGoToSettingsListener(this)); + getGoToSettingsListener(this)); builder.setNegativeButton(R.string.cancel, (dialog, which) -> supportFinishAfterTransition()); builder.show(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementFragment.java index 7a1f69519..da595709c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementFragment.java @@ -56,6 +56,7 @@ import static android.widget.Toast.LENGTH_LONG; import static java.util.Objects.requireNonNull; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @MethodsNotNullByDefault @@ -65,7 +66,8 @@ public class KeyAgreementFragment extends BaseEventFragment static final String TAG = KeyAgreementFragment.class.getName(); - private static final Logger LOG = Logger.getLogger(TAG); + private static final Logger LOG = getLogger(TAG); + private static final Charset ISO_8859_1 = Charset.forName("ISO-8859-1"); @Inject @@ -332,7 +334,10 @@ public class KeyAgreementFragment extends BaseEventFragment // Use ISO 8859-1 to encode bytes directly as a string String content = new String(payloadBytes, ISO_8859_1); Bitmap qrCode = QrCodeUtils.createQrCode(dm, content); - runOnUiThreadUnlessDestroyed(() -> qrCodeView.setQrCode(qrCode)); + if (qrCode != null) { + runOnUiThreadUnlessDestroyed(() -> + qrCodeView.setQrCode(qrCode)); + } }); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/QrCodeDecoder.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/QrCodeDecoder.java index 7b018be03..a03af44bc 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/QrCodeDecoder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/QrCodeDecoder.java @@ -25,14 +25,14 @@ import java.util.logging.Logger; import static com.google.zxing.DecodeHintType.CHARACTER_SET; import static java.util.Collections.singletonMap; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; @SuppressWarnings("deprecation") @MethodsNotNullByDefault @ParametersNotNullByDefault class QrCodeDecoder implements PreviewConsumer, PreviewCallback { - private static final Logger LOG = - Logger.getLogger(QrCodeDecoder.class.getName()); + private static final Logger LOG = getLogger(QrCodeDecoder.class.getName()); private final Reader reader = new QRCodeReader(); private final ResultCallback callback; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/QrCodeUtils.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/QrCodeUtils.java index 617f84b99..f8a354578 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/QrCodeUtils.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/QrCodeUtils.java @@ -18,13 +18,13 @@ import static android.graphics.Color.BLACK; import static android.graphics.Color.WHITE; import static com.google.zxing.BarcodeFormat.QR_CODE; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @NotNullByDefault class QrCodeUtils { - private static final Logger LOG = - Logger.getLogger(QrCodeUtils.class.getName()); + private static final Logger LOG = getLogger(QrCodeUtils.class.getName()); @Nullable static Bitmap createQrCode(DisplayMetrics dm, String input) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/AuthorNameFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/login/AuthorNameFragment.java index 109a9e153..630c82967 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/AuthorNameFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/AuthorNameFragment.java @@ -10,7 +10,6 @@ import android.widget.Button; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; @@ -20,6 +19,7 @@ import static android.view.inputmethod.EditorInfo.IME_ACTION_NEXT; import static android.view.inputmethod.EditorInfo.IME_ACTION_NONE; import static java.util.Objects.requireNonNull; import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; +import static org.briarproject.bramble.util.StringUtils.toUtf8; import static org.briarproject.briar.android.util.UiUtils.setError; @MethodsNotNullByDefault @@ -70,7 +70,7 @@ public class AuthorNameFragment extends SetupFragment { @Override public void onTextChanged(CharSequence authorName, int i, int i1, int i2) { - int authorNameLength = StringUtils.toUtf8(authorName.toString()).length; + int authorNameLength = toUtf8(authorName.toString()).length; boolean error = authorNameLength > MAX_AUTHOR_NAME_LENGTH; setError(authorNameWrapper, getString(R.string.name_too_long), error); boolean enabled = authorNameLength > 0 && !error; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/ChangePasswordActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/login/ChangePasswordActivity.java index 8a0604c1f..35eae1e20 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/ChangePasswordActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/ChangePasswordActivity.java @@ -19,13 +19,13 @@ import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; import org.briarproject.briar.android.activity.BriarActivity; import org.briarproject.briar.android.controller.handler.UiResultHandler; -import org.briarproject.briar.android.util.UiUtils; import javax.inject.Inject; import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; import static org.briarproject.bramble.api.crypto.PasswordStrengthEstimator.QUITE_WEAK; +import static org.briarproject.briar.android.util.UiUtils.setError; public class ChangePasswordActivity extends BriarActivity implements OnClickListener, OnEditorActionListener { @@ -101,10 +101,10 @@ public class ChangePasswordActivity extends BriarActivity float strength = passwordController.estimatePasswordStrength(firstPassword); strengthMeter.setStrength(strength); - UiUtils.setError(newPasswordEntryWrapper, + setError(newPasswordEntryWrapper, getString(R.string.password_too_weak), firstPassword.length() > 0 && strength < QUITE_WEAK); - UiUtils.setError(newPasswordConfirmationWrapper, + setError(newPasswordConfirmationWrapper, getString(R.string.passwords_do_not_match), secondPassword.length() > 0 && !passwordsMatch); changePasswordButton.setEnabled( @@ -142,7 +142,7 @@ public class ChangePasswordActivity extends BriarActivity } private void tryAgain() { - UiUtils.setError(currentPasswordEntryWrapper, + setError(currentPasswordEntryWrapper, getString(R.string.try_again), true); changePasswordButton.setVisibility(VISIBLE); progress.setVisibility(INVISIBLE); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/DozeFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/login/DozeFragment.java index 2a180b3dc..e3b5f46a5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/DozeFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/DozeFragment.java @@ -15,12 +15,12 @@ import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; import org.briarproject.briar.android.login.PowerView.OnCheckedChangedListener; -import org.briarproject.briar.android.util.UiUtils; import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; import static java.util.Objects.requireNonNull; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_DOZE_WHITELISTING; +import static org.briarproject.briar.android.util.UiUtils.getDozeWhitelistingIntent; import static org.briarproject.briar.android.util.UiUtils.showOnboardingDialog; @MethodsNotNullByDefault @@ -101,7 +101,7 @@ public class DozeFragment extends SetupFragment @SuppressLint("BatteryLife") private void askForDozeWhitelisting() { if (getContext() == null) return; - Intent i = UiUtils.getDozeWhitelistingIntent(getContext()); + Intent i = getDozeWhitelistingIntent(getContext()); startActivityForResult(i, REQUEST_DOZE_WHITELISTING); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordActivity.java index e8b20f243..b7b57ce83 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordActivity.java @@ -18,7 +18,6 @@ import org.briarproject.briar.android.activity.ActivityComponent; import org.briarproject.briar.android.activity.BaseActivity; import org.briarproject.briar.android.controller.BriarController; import org.briarproject.briar.android.controller.handler.UiResultHandler; -import org.briarproject.briar.android.util.UiUtils; import org.briarproject.briar.api.android.AndroidNotificationManager; import javax.inject.Inject; @@ -27,6 +26,7 @@ import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; import static android.view.inputmethod.EditorInfo.IME_ACTION_DONE; import static org.briarproject.briar.android.util.UiUtils.enterPressed; +import static org.briarproject.briar.android.util.UiUtils.setError; public class PasswordActivity extends BaseActivity { @@ -81,7 +81,7 @@ public class PasswordActivity extends BaseActivity { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - if (count > 0) UiUtils.setError(input, null, false); + if (count > 0) setError(input, null, false); } @Override @@ -162,7 +162,7 @@ public class PasswordActivity extends BaseActivity { } private void tryAgain() { - UiUtils.setError(input, getString(R.string.try_again), true); + setError(input, getString(R.string.try_again), true); signInButton.setVisibility(VISIBLE); progress.setVisibility(INVISIBLE); password.setText(""); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordFragment.java index 29950050f..f5859c41d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordFragment.java @@ -15,7 +15,6 @@ import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; -import org.briarproject.briar.android.util.UiUtils; import javax.annotation.Nullable; @@ -25,6 +24,7 @@ import static android.view.View.VISIBLE; import static android.view.inputmethod.EditorInfo.IME_ACTION_DONE; import static java.util.Objects.requireNonNull; import static org.briarproject.bramble.api.crypto.PasswordStrengthEstimator.QUITE_WEAK; +import static org.briarproject.briar.android.util.UiUtils.setError; @MethodsNotNullByDefault @ParametersNotNullByDefault @@ -100,10 +100,10 @@ public class PasswordFragment extends SetupFragment { strengthMeter.setStrength(strength); boolean strongEnough = strength >= QUITE_WEAK; - UiUtils.setError(passwordEntryWrapper, + setError(passwordEntryWrapper, getString(R.string.password_too_weak), password1.length() > 0 && !strongEnough); - UiUtils.setError(passwordConfirmationWrapper, + setError(passwordConfirmationWrapper, getString(R.string.passwords_do_not_match), password2.length() > 0 && !passwordsMatch); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/SetupControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/login/SetupControllerImpl.java index 02f40226e..f6a7259d5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/SetupControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/SetupControllerImpl.java @@ -14,12 +14,14 @@ import java.util.logging.Logger; import javax.inject.Inject; +import static java.util.logging.Logger.getLogger; + @NotNullByDefault public class SetupControllerImpl extends PasswordControllerImpl implements SetupController { private static final Logger LOG = - Logger.getLogger(SetupControllerImpl.class.getName()); + getLogger(SetupControllerImpl.class.getName()); @Nullable private volatile SetupActivity setupActivity; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java index 2842ecb3e..0e27152d7 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java @@ -27,6 +27,7 @@ import static android.hardware.biometrics.BiometricPrompt.BIOMETRIC_ERROR_CANCEL import static android.hardware.biometrics.BiometricPrompt.BIOMETRIC_ERROR_USER_CANCELED; import static android.os.Build.VERSION.SDK_INT; import static android.view.View.INVISIBLE; +import static java.util.logging.Logger.getLogger; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_KEYGUARD_UNLOCK; import static org.briarproject.briar.android.util.UiUtils.hasKeyguardLock; import static org.briarproject.briar.android.util.UiUtils.hasUsableFingerprint; @@ -36,8 +37,8 @@ import static org.briarproject.briar.android.util.UiUtils.hasUsableFingerprint; @ParametersNotNullByDefault public class UnlockActivity extends BaseActivity { - private static final Logger LOG = - Logger.getLogger(UnlockActivity.class.getName()); + private static final Logger LOG = getLogger(UnlockActivity.class.getName()); + private static final String KEYGUARD_SHOWN = "keyguardShown"; @Inject diff --git a/briar-android/src/main/java/org/briarproject/briar/android/logout/ExitActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/logout/ExitActivity.java index 41dc510df..e104ba3c6 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/logout/ExitActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/logout/ExitActivity.java @@ -6,11 +6,11 @@ import android.os.Bundle; import java.util.logging.Logger; import static android.os.Build.VERSION.SDK_INT; +import static java.util.logging.Logger.getLogger; public class ExitActivity extends Activity { - private static final Logger LOG = - Logger.getLogger(ExitActivity.class.getName()); + private static final Logger LOG = getLogger(ExitActivity.class.getName()); @Override public void onCreate(Bundle state) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java index 67d6d8195..83effd0a5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java @@ -59,6 +59,7 @@ import static android.support.v4.widget.DrawerLayout.LOCK_MODE_LOCKED_CLOSED; import static android.view.View.GONE; import static android.view.View.VISIBLE; import static java.util.Objects.requireNonNull; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.RUNNING; import static org.briarproject.briar.android.BriarService.EXTRA_STARTUP_FAILED; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_PASSWORD; @@ -79,7 +80,7 @@ public class NavDrawerActivity extends BriarActivity implements public static final String INTENT_SIGN_OUT = "intent_sign_out"; private static final Logger LOG = - Logger.getLogger(NavDrawerActivity.class.getName()); + getLogger(NavDrawerActivity.class.getName()); private ActionBarDrawerToggle drawerToggle; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerControllerImpl.java index 2f851569c..51b78bd68 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerControllerImpl.java @@ -28,6 +28,7 @@ import javax.inject.Inject; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.briar.android.TestingConstants.EXPIRY_DATE; import static org.briarproject.briar.android.TestingConstants.IS_BETA_BUILD; @@ -45,7 +46,8 @@ public class NavDrawerControllerImpl extends DbControllerImpl implements NavDrawerController, EventListener { private static final Logger LOG = - Logger.getLogger(NavDrawerControllerImpl.class.getName()); + getLogger(NavDrawerControllerImpl.class.getName()); + private static final String EXPIRY_DATE_WARNING = "expiryDateWarning"; private static final String EXPIRY_SHOW_UPDATE = "expiryShowUpdate"; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicPreferencesFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicPreferencesFragment.java index 90812d2eb..099a463b8 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicPreferencesFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicPreferencesFragment.java @@ -21,13 +21,17 @@ import java.util.logging.Logger; import javax.annotation.Nullable; -import info.guardianproject.panic.PanicResponder; - import static android.app.Activity.RESULT_CANCELED; import static android.app.Activity.RESULT_OK; import static android.content.Intent.ACTION_VIEW; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static info.guardianproject.panic.Panic.PACKAGE_NAME_NONE; +import static info.guardianproject.panic.PanicResponder.checkForDisconnectIntent; +import static info.guardianproject.panic.PanicResponder.getConnectIntentSender; +import static info.guardianproject.panic.PanicResponder.getTriggerPackageName; +import static info.guardianproject.panic.PanicResponder.resolveTriggerApps; +import static info.guardianproject.panic.PanicResponder.setTriggerPackageName; +import static java.util.logging.Logger.getLogger; public class PanicPreferencesFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener { @@ -37,7 +41,7 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat public static final String KEY_PURGE = "pref_key_purge"; private static final Logger LOG = - Logger.getLogger(PanicPreferencesFragment.class.getName()); + getLogger(PanicPreferencesFragment.class.getName()); private PackageManager pm; private SwitchPreference lockPref, purgePref; @@ -56,18 +60,16 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat purgePref = (SwitchPreference) findPreference(KEY_PURGE); // check for connect/disconnect intents from panic trigger apps - if (PanicResponder.checkForDisconnectIntent(getActivity())) { + if (checkForDisconnectIntent(getActivity())) { LOG.info("Received DISCONNECT intent from Panic Trigger App."); // the necessary action should have been performed by the check getActivity().finish(); } else { // check if we got a connect intent from a not yet connected app - String packageName = - PanicResponder.getConnectIntentSender(getActivity()); + String packageName = getConnectIntentSender(getActivity()); if (!TextUtils.isEmpty((packageName)) && !TextUtils.equals(packageName, - PanicResponder - .getTriggerPackageName(getActivity()))) { + getTriggerPackageName(getActivity()))) { // A new panic trigger app asks us to connect LOG.info("Received CONNECT intent from new Panic Trigger App."); @@ -82,7 +84,7 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat entries.add(0, getString(R.string.panic_app_setting_none)); entryValues.add(0, PACKAGE_NAME_NONE); - for (ResolveInfo resolveInfo : PanicResponder.resolveTriggerApps(pm)) { + for (ResolveInfo resolveInfo : resolveTriggerApps(pm)) { if (resolveInfo.activityInfo == null) continue; entries.add(resolveInfo.activityInfo.loadLabel(pm)); @@ -95,7 +97,7 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat panicAppPref.setOnPreferenceChangeListener((preference, newValue) -> { String packageName = (String) newValue; - PanicResponder.setTriggerPackageName(getActivity(), packageName); + setTriggerPackageName(getActivity(), packageName); showPanicApp(packageName); if (packageName.equals(PACKAGE_NAME_NONE)) { @@ -132,7 +134,7 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat getPreferenceScreen().getSharedPreferences() .registerOnSharedPreferenceChangeListener(this); updatePreferences(); - showPanicApp(PanicResponder.getTriggerPackageName(getActivity())); + showPanicApp(getTriggerPackageName(getActivity())); } @Override @@ -182,8 +184,7 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat purgePref.setEnabled(true); } catch (PackageManager.NameNotFoundException e) { // revert back to no app, just to be safe - PanicResponder.setTriggerPackageName(getActivity(), - PACKAGE_NAME_NONE); + setTriggerPackageName(getActivity(), PACKAGE_NAME_NONE); showPanicApp(PACKAGE_NAME_NONE); } } @@ -191,8 +192,8 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat private void showOptInDialog() { DialogInterface.OnClickListener okListener = (dialog, which) -> { - PanicResponder.setTriggerPackageName(getActivity()); - showPanicApp(PanicResponder.getTriggerPackageName(getActivity())); + setTriggerPackageName(getActivity()); + showPanicApp(getTriggerPackageName(getActivity())); getActivity().setResult(RESULT_OK); }; DialogInterface.OnClickListener cancelListener = (dialog, which) -> { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicResponderActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicResponderActivity.java index 8b5550104..24fd00081 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicResponderActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicResponderActivity.java @@ -20,13 +20,14 @@ import info.guardianproject.panic.PanicResponder; import info.guardianproject.trustedintents.TrustedIntents; import static android.os.Build.VERSION.SDK_INT; +import static java.util.logging.Logger.getLogger; import static org.briarproject.briar.android.panic.PanicPreferencesFragment.KEY_LOCK; import static org.briarproject.briar.android.panic.PanicPreferencesFragment.KEY_PURGE; public class PanicResponderActivity extends BriarActivity { private static final Logger LOG = - Logger.getLogger(PanicResponderActivity.class.getName()); + getLogger(PanicResponderActivity.class.getName()); @Inject protected AccountManager accountManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupControllerImpl.java index 3756e11a9..faf447e31 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupControllerImpl.java @@ -42,6 +42,7 @@ import javax.inject.Inject; import static java.lang.Math.max; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @MethodsNotNullByDefault @@ -51,7 +52,7 @@ class GroupControllerImpl extends implements GroupController { private static final Logger LOG = - Logger.getLogger(GroupControllerImpl.class.getName()); + getLogger(GroupControllerImpl.class.getName()); private final PrivateGroupManager privateGroupManager; private final GroupMessageFactory groupMessageFactory; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupControllerImpl.java index 75ddbb53d..828c63e5e 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupControllerImpl.java @@ -35,6 +35,7 @@ import javax.annotation.concurrent.Immutable; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @Immutable @@ -43,7 +44,7 @@ class CreateGroupControllerImpl extends ContactSelectorControllerImpl implements CreateGroupController { private static final Logger LOG = - Logger.getLogger(CreateGroupControllerImpl.class.getName()); + getLogger(CreateGroupControllerImpl.class.getName()); private final Executor cryptoExecutor; private final ContactManager contactManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupFragment.java index f36c749ef..9f0460b1b 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/creation/CreateGroupFragment.java @@ -15,7 +15,6 @@ import android.widget.ProgressBar; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; import org.briarproject.briar.android.fragment.BaseFragment; @@ -23,6 +22,7 @@ import org.briarproject.briar.android.fragment.BaseFragment; import static android.view.View.GONE; import static android.view.View.VISIBLE; import static android.view.inputmethod.EditorInfo.IME_ACTION_DONE; +import static org.briarproject.bramble.util.StringUtils.toUtf8; import static org.briarproject.briar.android.util.UiUtils.enterPressed; import static org.briarproject.briar.api.privategroup.PrivateGroupConstants.MAX_GROUP_NAME_LENGTH; @@ -109,7 +109,7 @@ public class CreateGroupFragment extends BaseFragment { private boolean validateName() { String name = nameEntry.getText().toString(); - int length = StringUtils.toUtf8(name).length; + int length = toUtf8(name).length; if (length > MAX_GROUP_NAME_LENGTH) { nameLayout.setError(getString(R.string.name_too_long)); return false; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java index e60f6ebd3..d9299e15e 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java @@ -42,6 +42,7 @@ import java.util.logging.Logger; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.now; @@ -53,7 +54,7 @@ class GroupListControllerImpl extends DbControllerImpl implements GroupListController, EventListener { private static final Logger LOG = - Logger.getLogger(GroupListControllerImpl.class.getName()); + getLogger(GroupListControllerImpl.class.getName()); private final PrivateGroupManager groupManager; private final GroupInvitationManager groupInvitationManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java index e82306370..a3ebeab99 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListFragment.java @@ -38,6 +38,7 @@ import javax.inject.Inject; import static android.support.design.widget.Snackbar.LENGTH_INDEFINITE; import static java.util.Objects.requireNonNull; +import static java.util.logging.Logger.getLogger; @MethodsNotNullByDefault @ParametersNotNullByDefault @@ -45,7 +46,8 @@ public class GroupListFragment extends BaseFragment implements GroupListListener, OnGroupRemoveClickListener, OnClickListener { public final static String TAG = GroupListFragment.class.getName(); - private static final Logger LOG = Logger.getLogger(TAG); + + private static final Logger LOG = getLogger(TAG); public static GroupListFragment newInstance() { return new GroupListFragment(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupViewHolder.java index ce63ad29f..5036e5d6f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupViewHolder.java @@ -13,13 +13,13 @@ import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.briar.R; import org.briarproject.briar.android.privategroup.conversation.GroupActivity; -import org.briarproject.briar.android.util.UiUtils; import org.briarproject.briar.android.view.TextAvatarView; import static android.view.View.GONE; import static android.view.View.VISIBLE; import static org.briarproject.briar.android.activity.BriarActivity.GROUP_ID; import static org.briarproject.briar.android.activity.BriarActivity.GROUP_NAME; +import static org.briarproject.briar.android.util.UiUtils.formatDate; import static org.briarproject.briar.android.util.UiUtils.getContactDisplayName; @MethodsNotNullByDefault @@ -86,7 +86,7 @@ class GroupViewHolder extends RecyclerView.ViewHolder { messageCount)); long lastUpdate = group.getTimestamp(); - date.setText(UiUtils.formatDate(ctx, lastUpdate)); + date.setText(formatDate(ctx, lastUpdate)); date.setVisibility(VISIBLE); status.setVisibility(GONE); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListControllerImpl.java index 92f6343ef..51aa6d0dd 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/GroupMemberListControllerImpl.java @@ -19,13 +19,14 @@ import java.util.logging.Logger; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; class GroupMemberListControllerImpl extends DbControllerImpl implements GroupMemberListController { private static final Logger LOG = - Logger.getLogger(GroupMemberListControllerImpl.class.getName()); + getLogger(GroupMemberListControllerImpl.class.getName()); private final ConnectionRegistry connectionRegistry; private final PrivateGroupManager privateGroupManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsControllerImpl.java index 3b257c2f0..787eda795 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsControllerImpl.java @@ -28,6 +28,7 @@ import javax.inject.Inject; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE; import static org.briarproject.briar.api.privategroup.Visibility.INVISIBLE; @@ -38,7 +39,8 @@ class RevealContactsControllerImpl extends DbControllerImpl implements RevealContactsController { private static final Logger LOG = - Logger.getLogger(RevealContactsControllerImpl.class.getName()); + getLogger(RevealContactsControllerImpl.class.getName()); + private static final String SHOW_ONBOARDING_REVEAL_CONTACTS = "showOnboardingRevealContacts"; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/reporting/BriarReportPrimer.java b/briar-android/src/main/java/org/briarproject/briar/android/reporting/BriarReportPrimer.java index 20ab6c173..c1d456682 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/reporting/BriarReportPrimer.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/reporting/BriarReportPrimer.java @@ -16,7 +16,6 @@ import android.support.annotation.NonNull; import org.acra.builder.ReportBuilder; import org.acra.builder.ReportPrimer; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.BuildConfig; import org.briarproject.briar.android.BriarApplication; import org.briarproject.briar.android.logging.BriefLogFormatter; @@ -44,6 +43,7 @@ import static android.net.ConnectivityManager.TYPE_WIFI; import static android.net.wifi.WifiManager.WIFI_STATE_ENABLED; import static org.briarproject.bramble.util.PrivacyUtils.scrubInetAddress; import static org.briarproject.bramble.util.PrivacyUtils.scrubMacAddress; +import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; public class BriarReportPrimer implements ReportPrimer { @@ -202,7 +202,7 @@ public class BriarReportPrimer implements ReportPrimer { boolean btAvailable = bt != null; // Is Bluetooth enabled? boolean btEnabled = bt != null && bt.isEnabled() && - !StringUtils.isNullOrEmpty(bt.getAddress()); + !isNullOrEmpty(bt.getAddress()); // Is Bluetooth connectable? boolean btConnectable = bt != null && (bt.getScanMode() == SCAN_MODE_CONNECTABLE || diff --git a/briar-android/src/main/java/org/briarproject/briar/android/reporting/DevReportActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/reporting/DevReportActivity.java index d20ef8573..0488103bc 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/reporting/DevReportActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/reporting/DevReportActivity.java @@ -45,6 +45,7 @@ import static android.view.View.VISIBLE; import static android.view.WindowManager.LayoutParams.FLAG_SECURE; import static android.view.inputmethod.InputMethodManager.SHOW_FORCED; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.acra.ACRAConstants.EXTRA_REPORT_FILE; import static org.acra.ReportField.ANDROID_VERSION; import static org.acra.ReportField.APP_VERSION_CODE; @@ -58,7 +59,7 @@ public class DevReportActivity extends BaseCrashReportDialog implements CompoundButton.OnCheckedChangeListener { private static final Logger LOG = - Logger.getLogger(DevReportActivity.class.getName()); + getLogger(DevReportActivity.class.getName()); private static final String STATE_REVIEWING = "reviewing"; private static final Set requiredFields = new HashSet<>(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java index 1be93ebce..9bde99e88 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java @@ -37,11 +37,9 @@ import org.briarproject.bramble.api.settings.event.SettingsUpdatedEvent; import org.briarproject.bramble.api.system.AndroidExecutor; import org.briarproject.bramble.api.system.LocationUtils; import org.briarproject.bramble.plugin.tor.CircumventionProvider; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.R; import org.briarproject.briar.android.Localizer; import org.briarproject.briar.android.navdrawer.NavDrawerActivity; -import org.briarproject.briar.android.util.UiUtils; import java.util.ArrayList; import java.util.Arrays; @@ -71,6 +69,7 @@ import static android.support.v4.view.ViewCompat.LAYOUT_DIRECTION_LTR; import static android.widget.Toast.LENGTH_SHORT; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.plugin.BluetoothConstants.PREF_BT_ENABLE; import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_MOBILE; import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_NETWORK; @@ -79,10 +78,12 @@ import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_ONLY_WHE import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.now; +import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_RINGTONE; import static org.briarproject.briar.android.navdrawer.NavDrawerActivity.INTENT_SIGN_OUT; import static org.briarproject.briar.android.util.UiUtils.hasScreenLock; +import static org.briarproject.briar.android.util.UiUtils.setTheme; import static org.briarproject.briar.android.util.UiUtils.triggerFeedback; import static org.briarproject.briar.api.android.AndroidNotificationManager.BLOG_CHANNEL_ID; import static org.briarproject.briar.api.android.AndroidNotificationManager.CONTACT_CHANNEL_ID; @@ -116,7 +117,7 @@ public class SettingsFragment extends PreferenceFragmentCompat "pref_key_tor_only_when_charging"; private static final Logger LOG = - Logger.getLogger(SettingsFragment.class.getName()); + getLogger(SettingsFragment.class.getName()); private SettingsActivity listener; private ListPreference language; @@ -190,7 +191,7 @@ public class SettingsFragment extends PreferenceFragmentCompat theme.setOnPreferenceChangeListener((preference, newValue) -> { if (getActivity() != null) { // activate new theme - UiUtils.setTheme(getActivity(), (String) newValue); + setTheme(getActivity(), (String) newValue); // bring up parent activity, so it can change its theme as well // upstream bug: https://issuetracker.google.com/issues/38352704 Intent intent = @@ -397,7 +398,7 @@ public class SettingsFragment extends PreferenceFragmentCompat if (settings.getBoolean(PREF_NOTIFY_SOUND, true)) { String ringtoneName = settings.get(PREF_NOTIFY_RINGTONE_NAME); - if (StringUtils.isNullOrEmpty(ringtoneName)) { + if (isNullOrEmpty(ringtoneName)) { text = getString(R.string.notify_sound_setting_default); } else { text = ringtoneName; @@ -506,7 +507,7 @@ public class SettingsFragment extends PreferenceFragmentCompat Uri uri; String ringtoneUri = settings.get(PREF_NOTIFY_RINGTONE_URI); - if (StringUtils.isNullOrEmpty(ringtoneUri)) + if (isNullOrEmpty(ringtoneUri)) uri = DEFAULT_NOTIFICATION_URI; else uri = Uri.parse(ringtoneUri); i.putExtra(EXTRA_RINGTONE_EXISTING_URI, uri); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java index 77d3b2eb3..5e4b72b52 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationActivity.java @@ -23,6 +23,7 @@ import java.util.logging.Logger; import javax.annotation.Nullable; import static android.widget.Toast.LENGTH_SHORT; +import static java.util.logging.Logger.getLogger; import static org.briarproject.briar.android.sharing.InvitationAdapter.InvitationClickListener; @MethodsNotNullByDefault @@ -32,7 +33,7 @@ public abstract class InvitationActivity implements InvitationListener, InvitationClickListener { protected static final Logger LOG = - Logger.getLogger(InvitationActivity.class.getName()); + getLogger(InvitationActivity.class.getName()); private InvitationAdapter adapter; private BriarRecyclerView list; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java index 9391be7b9..6f9913df2 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java @@ -25,6 +25,7 @@ import java.util.concurrent.Executor; import java.util.logging.Logger; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logDuration; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.LogUtils.now; @@ -36,7 +37,7 @@ public abstract class InvitationControllerImpl implements InvitationController, EventListener { protected static final Logger LOG = - Logger.getLogger(InvitationControllerImpl.class.getName()); + getLogger(InvitationControllerImpl.class.getName()); private final EventBus eventBus; protected InvitationListener listener; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogControllerImpl.java index 26af4b3ca..5a5f154ea 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareBlogControllerImpl.java @@ -25,6 +25,7 @@ import javax.annotation.concurrent.Immutable; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @Immutable @@ -33,7 +34,7 @@ class ShareBlogControllerImpl extends ContactSelectorControllerImpl implements ShareBlogController { private final static Logger LOG = - Logger.getLogger(ShareBlogControllerImpl.class.getName()); + getLogger(ShareBlogControllerImpl.class.getName()); private final ConversationManager conversationManager; private final BlogSharingManager blogSharingManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumControllerImpl.java index 9bbc6d3e7..db582ed4e 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/ShareForumControllerImpl.java @@ -25,6 +25,7 @@ import javax.annotation.concurrent.Immutable; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @Immutable @@ -33,7 +34,7 @@ class ShareForumControllerImpl extends ContactSelectorControllerImpl implements ShareForumController { private final static Logger LOG = - Logger.getLogger(ShareForumControllerImpl.class.getName()); + getLogger(ShareForumControllerImpl.class.getName()); private final ConversationManager conversationManager; private final ForumSharingManager forumSharingManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/SharingInvitationViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/SharingInvitationViewHolder.java index 9b65e1c8c..e4903e5c0 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/SharingInvitationViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/SharingInvitationViewHolder.java @@ -3,7 +3,6 @@ package org.briarproject.briar.android.sharing; import android.view.View; import org.briarproject.bramble.api.contact.Contact; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.R; import org.briarproject.briar.android.sharing.InvitationAdapter.InvitationClickListener; import org.briarproject.briar.api.sharing.SharingInvitationItem; @@ -13,6 +12,7 @@ import java.util.Collection; import javax.annotation.Nullable; +import static org.briarproject.bramble.util.StringUtils.join; import static org.briarproject.briar.android.util.UiUtils.getContactDisplayName; class SharingInvitationViewHolder @@ -31,9 +31,8 @@ class SharingInvitationViewHolder Collection names = new ArrayList<>(); for (Contact c : item.getNewSharers()) names.add(getContactDisplayName(c)); - sharedBy.setText( - sharedBy.getContext().getString(R.string.shared_by_format, - StringUtils.join(names, ", "))); + sharedBy.setText(sharedBy.getContext().getString( + R.string.shared_by_format, join(names, ", "))); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/SharingStatusActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/SharingStatusActivity.java index c303d4371..e043ce63e 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/SharingStatusActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/SharingStatusActivity.java @@ -28,6 +28,7 @@ import javax.annotation.Nullable; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @MethodsNotNullByDefault @@ -38,7 +39,7 @@ abstract class SharingStatusActivity extends BriarActivity { ConnectionRegistry connectionRegistry; private static final Logger LOG = - Logger.getLogger(SharingStatusActivity.class.getName()); + getLogger(SharingStatusActivity.class.getName()); private GroupId groupId; private BriarRecyclerView list; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java index cf890f89e..672c8414d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/splash/SplashScreenActivity.java @@ -21,12 +21,13 @@ import java.util.logging.Logger; import javax.inject.Inject; +import static java.util.logging.Logger.getLogger; import static org.briarproject.briar.android.TestingConstants.EXPIRY_DATE; public class SplashScreenActivity extends BaseActivity { private static final Logger LOG = - Logger.getLogger(SplashScreenActivity.class.getName()); + getLogger(SplashScreenActivity.class.getName()); @Inject protected AccountManager accountManager; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/BaseThreadItemViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/BaseThreadItemViewHolder.java index 529fa7d00..a049d62bf 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/BaseThreadItemViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/BaseThreadItemViewHolder.java @@ -13,12 +13,12 @@ import android.view.animation.AccelerateInterpolator; import android.widget.TextView; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.R; import org.briarproject.briar.android.threaded.ThreadItemAdapter.ThreadItemListener; import org.briarproject.briar.android.view.AuthorView; import static android.support.v4.content.ContextCompat.getColor; +import static org.briarproject.bramble.util.StringUtils.trim; @UiThread @NotNullByDefault @@ -41,7 +41,7 @@ public abstract class BaseThreadItemViewHolder @CallSuper public void bind(I item, ThreadItemListener listener) { - textView.setText(StringUtils.trim(item.getText())); + textView.setText(trim(item.getText())); author.setAuthor(item.getAuthor(), item.getAuthorInfo()); author.setDate(item.getTimestamp()); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java index 863e08e94..a3f28b9fa 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java @@ -45,6 +45,7 @@ import static android.support.design.widget.Snackbar.make; import static android.support.v7.widget.RecyclerView.NO_POSITION; import static android.support.v7.widget.RecyclerView.SCROLL_STATE_IDLE; import static java.util.logging.Level.INFO; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; import static org.briarproject.briar.android.threaded.ThreadItemAdapter.UnreadCount; @@ -58,7 +59,7 @@ public abstract class ThreadListActivity, EventListener { private static final Logger LOG = - Logger.getLogger(ThreadListControllerImpl.class.getName()); + getLogger(ThreadListControllerImpl.class.getName()); private final EventBus eventBus; private final Map textCache = new ConcurrentHashMap<>(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/view/AuthorView.java b/briar-android/src/main/java/org/briarproject/briar/android/view/AuthorView.java index 86994db22..0ed3d5932 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/view/AuthorView.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/view/AuthorView.java @@ -14,7 +14,6 @@ import android.widget.TextView; import org.briarproject.bramble.api.identity.Author; import org.briarproject.bramble.api.identity.AuthorInfo; import org.briarproject.briar.R; -import org.briarproject.briar.android.util.UiUtils; import javax.annotation.Nullable; @@ -26,6 +25,7 @@ import static android.graphics.Typeface.BOLD; import static android.util.TypedValue.COMPLEX_UNIT_PX; import static org.briarproject.bramble.api.identity.AuthorInfo.Status.NONE; import static org.briarproject.bramble.api.identity.AuthorInfo.Status.OURSELVES; +import static org.briarproject.briar.android.util.UiUtils.formatDate; import static org.briarproject.briar.android.util.UiUtils.getContactDisplayName; import static org.briarproject.briar.android.util.UiUtils.resolveAttribute; @@ -95,7 +95,7 @@ public class AuthorView extends ConstraintLayout { } public void setDate(long date) { - this.date.setText(UiUtils.formatDate(getContext(), date)); + this.date.setText(formatDate(getContext(), date)); invalidate(); requestLayout(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/view/BriarRecyclerViewBehavior.java b/briar-android/src/main/java/org/briarproject/briar/android/view/BriarRecyclerViewBehavior.java deleted file mode 100644 index c2226ec51..000000000 --- a/briar-android/src/main/java/org/briarproject/briar/android/view/BriarRecyclerViewBehavior.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.briarproject.briar.android.view; - -import android.content.Context; -import android.support.design.widget.CoordinatorLayout; -import android.support.design.widget.Snackbar; -import android.util.AttributeSet; -import android.view.View; - -public class BriarRecyclerViewBehavior - extends CoordinatorLayout.Behavior { - - public BriarRecyclerViewBehavior(Context context, AttributeSet attrs) { - super(context, attrs); - } - - @Override - public boolean onDependentViewChanged(CoordinatorLayout parent, - BriarRecyclerView child, View dependency) { - - // FIXME the below code works, but does not reset margin when snackbar is dismissed -/* - int margin = 0; - if (dependency.isShown()) margin = dependency.getHeight(); - - // set snackbar height as bottom margin if it is shown - CoordinatorLayout.LayoutParams params = - (CoordinatorLayout.LayoutParams) child.getLayoutParams(); - params.setMargins(0, 0, 0, margin); - child.setLayoutParams(params); - - child.scrollToPosition(0); -*/ - return true; - } - - @Override - public boolean layoutDependsOn(CoordinatorLayout parent, - BriarRecyclerView child, View dependency) { - // we only want to trigger the change - // only when the changes is from a snackbar - return dependency instanceof Snackbar.SnackbarLayout; - } - -} diff --git a/briar-android/src/main/java/org/briarproject/briar/android/view/KeyboardAwareLinearLayout.java b/briar-android/src/main/java/org/briarproject/briar/android/view/KeyboardAwareLinearLayout.java index fa4028aeb..c791545fe 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/view/KeyboardAwareLinearLayout.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/view/KeyboardAwareLinearLayout.java @@ -31,6 +31,7 @@ import static android.view.Surface.ROTATION_90; import static java.util.Objects.requireNonNull; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; /** * RelativeLayout that, when a view container, will report back when it thinks @@ -40,7 +41,7 @@ import static java.util.logging.Level.WARNING; public class KeyboardAwareLinearLayout extends LinearLayout { private static final Logger LOG = - Logger.getLogger(KeyboardAwareLinearLayout.class.getName()); + getLogger(KeyboardAwareLinearLayout.class.getName()); private final Rect rect = new Rect(); private final Set shownListeners = new HashSet<>(); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/widget/LinkDialogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/widget/LinkDialogFragment.java index 3a73e91ca..9cb36915d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/widget/LinkDialogFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/widget/LinkDialogFragment.java @@ -17,6 +17,9 @@ import org.briarproject.briar.R; import java.util.List; +import static android.content.Intent.ACTION_VIEW; +import static android.content.pm.PackageManager.MATCH_DEFAULT_ONLY; + public class LinkDialogFragment extends DialogFragment { private static final String TAG = LinkDialogFragment.class.getName(); @@ -53,10 +56,9 @@ public class LinkDialogFragment extends DialogFragment { urlView.setText(url); // prepare normal intent or intent chooser - Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); - PackageManager packageManager = getContext().getPackageManager(); - List activities = packageManager.queryIntentActivities(i, - PackageManager.MATCH_DEFAULT_ONLY); + Intent i = new Intent(ACTION_VIEW, Uri.parse(url)); + PackageManager pm = getContext().getPackageManager(); + List activities = pm.queryIntentActivities(i, MATCH_DEFAULT_ONLY); boolean choice = activities.size() > 1; Intent intent = choice ? Intent.createChooser(i, getString(R.string.link_warning_open_link)) : i; diff --git a/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java b/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java index 9b7a892f7..c3eaa3855 100644 --- a/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java +++ b/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java @@ -16,6 +16,7 @@ import java.util.logging.LogRecord; import java.util.logging.Logger; import static java.util.Collections.emptyList; +import static java.util.logging.Logger.getLogger; /** * This class only exists to avoid static initialisation of ACRA @@ -24,7 +25,7 @@ public class TestBriarApplication extends Application implements BriarApplication { private static final Logger LOG = - Logger.getLogger(TestBriarApplication.class.getName()); + getLogger(TestBriarApplication.class.getName()); private AndroidComponent applicationComponent; private volatile SharedPreferences prefs; diff --git a/briar-android/src/test/java/org/briarproject/briar/android/forum/ForumActivityTest.java b/briar-android/src/test/java/org/briarproject/briar/android/forum/ForumActivityTest.java index 7b542fc9e..71234977f 100644 --- a/briar-android/src/test/java/org/briarproject/briar/android/forum/ForumActivityTest.java +++ b/briar-android/src/test/java/org/briarproject/briar/android/forum/ForumActivityTest.java @@ -2,8 +2,6 @@ package org.briarproject.briar.android.forum; import android.content.Intent; -import junit.framework.Assert; - import org.briarproject.bramble.api.db.DbException; import org.briarproject.bramble.api.identity.Author; import org.briarproject.bramble.api.identity.AuthorInfo; @@ -32,6 +30,7 @@ import static org.briarproject.bramble.test.TestUtils.getAuthor; import static org.briarproject.bramble.test.TestUtils.getRandomId; import static org.briarproject.bramble.util.StringUtils.getRandomString; import static org.briarproject.briar.api.forum.ForumConstants.MAX_FORUM_POST_TEXT_LENGTH; +import static org.junit.Assert.assertNotNull; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -103,7 +102,7 @@ public class ForumActivityTest { verify(mc, times(1)).loadItems(rc.capture()); rc.getValue().onResult(dummyData); ThreadItemAdapter adapter = forumActivity.getAdapter(); - Assert.assertNotNull(adapter); + assertNotNull(adapter); assertEquals(6, adapter.getItemCount()); assertTrue(dummyData.get(0).getText() .equals(adapter.getItemAt(0).getText())); diff --git a/briar-api/src/main/java/org/briarproject/briar/api/sharing/Shareable.java b/briar-api/src/main/java/org/briarproject/briar/api/sharing/Shareable.java index 4d43715f5..c04f210f3 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/sharing/Shareable.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/sharing/Shareable.java @@ -1,8 +1,8 @@ package org.briarproject.briar.api.sharing; +import org.briarproject.bramble.api.Nameable; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.GroupId; -import org.briarproject.bramble.api.Nameable; @NotNullByDefault public interface Shareable extends Nameable { diff --git a/briar-core/src/main/java/org/briarproject/briar/blog/BlogPostFactoryImpl.java b/briar-core/src/main/java/org/briarproject/briar/blog/BlogPostFactoryImpl.java index 12e2ff435..d3304a080 100644 --- a/briar-core/src/main/java/org/briarproject/briar/blog/BlogPostFactoryImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/blog/BlogPostFactoryImpl.java @@ -9,7 +9,6 @@ import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.system.Clock; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.api.blog.BlogPost; import org.briarproject.briar.api.blog.BlogPostFactory; import org.briarproject.briar.api.blog.MessageType; @@ -20,6 +19,7 @@ import javax.annotation.Nullable; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; +import static org.briarproject.bramble.util.StringUtils.toUtf8; import static org.briarproject.briar.api.blog.BlogConstants.MAX_BLOG_COMMENT_TEXT_LENGTH; import static org.briarproject.briar.api.blog.BlogConstants.MAX_BLOG_POST_TEXT_LENGTH; import static org.briarproject.briar.api.blog.MessageType.COMMENT; @@ -46,7 +46,7 @@ class BlogPostFactoryImpl implements BlogPostFactory { throws FormatException, GeneralSecurityException { // Validate the arguments - int textLength = StringUtils.toUtf8(text).length; + int textLength = toUtf8(text).length; if (textLength > MAX_BLOG_POST_TEXT_LENGTH) throw new IllegalArgumentException(); @@ -70,7 +70,7 @@ class BlogPostFactoryImpl implements BlogPostFactory { throws FormatException, GeneralSecurityException { if (comment != null) { - int commentLength = StringUtils.toUtf8(comment).length; + int commentLength = toUtf8(comment).length; if (commentLength == 0) throw new IllegalArgumentException(); if (commentLength > MAX_BLOG_COMMENT_TEXT_LENGTH) throw new IllegalArgumentException(); diff --git a/briar-core/src/main/java/org/briarproject/briar/feed/FeedFactoryImpl.java b/briar-core/src/main/java/org/briarproject/briar/feed/FeedFactoryImpl.java index 5e131632f..2e276df1e 100644 --- a/briar-core/src/main/java/org/briarproject/briar/feed/FeedFactoryImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/feed/FeedFactoryImpl.java @@ -13,7 +13,6 @@ import org.briarproject.bramble.api.identity.Author; import org.briarproject.bramble.api.identity.AuthorFactory; import org.briarproject.bramble.api.identity.LocalAuthor; import org.briarproject.bramble.api.system.Clock; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.api.blog.Blog; import org.briarproject.briar.api.blog.BlogFactory; import org.briarproject.briar.api.feed.Feed; @@ -21,6 +20,7 @@ import org.briarproject.briar.api.feed.Feed; import javax.inject.Inject; import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; +import static org.briarproject.bramble.util.StringUtils.truncateUtf8; import static org.briarproject.briar.api.feed.FeedConstants.KEY_FEED_ADDED; import static org.briarproject.briar.api.feed.FeedConstants.KEY_FEED_AUTHOR; import static org.briarproject.briar.api.feed.FeedConstants.KEY_FEED_DESC; @@ -53,7 +53,7 @@ class FeedFactoryImpl implements FeedFactory { public Feed createFeed(String url, SyndFeed syndFeed) { String title = syndFeed.getTitle(); if (title == null) title = "RSS"; - else title = StringUtils.truncateUtf8(title, MAX_AUTHOR_NAME_LENGTH); + else title = truncateUtf8(title, MAX_AUTHOR_NAME_LENGTH); KeyPair keyPair = cryptoComponent.generateSignatureKeyPair(); LocalAuthor localAuthor = authorFactory.createLocalAuthor(title, diff --git a/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java index cea1e169f..596314ff3 100644 --- a/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java @@ -29,7 +29,6 @@ import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.system.Scheduler; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.api.blog.Blog; import org.briarproject.briar.api.blog.BlogManager; import org.briarproject.briar.api.blog.BlogPost; @@ -41,7 +40,6 @@ import java.io.IOException; import java.io.InputStream; import java.security.GeneralSecurityException; import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.List; @@ -61,9 +59,13 @@ import okhttp3.Request; import okhttp3.Response; import okhttp3.ResponseBody; +import static java.util.Collections.sort; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; +import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; +import static org.briarproject.bramble.util.StringUtils.truncateUtf8; import static org.briarproject.briar.api.blog.BlogConstants.MAX_BLOG_POST_TEXT_LENGTH; import static org.briarproject.briar.api.feed.FeedConstants.FETCH_DELAY_INITIAL; import static org.briarproject.briar.api.feed.FeedConstants.FETCH_INTERVAL; @@ -79,7 +81,7 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, BlogManager.RemoveBlogHook { private static final Logger LOG = - Logger.getLogger(FeedManagerImpl.class.getName()); + getLogger(FeedManagerImpl.class.getName()); private static final int CONNECT_TIMEOUT = 60 * 1000; // Milliseconds @@ -319,21 +321,18 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, throw new IOException("Feed has no entries"); // clean title - String title = - StringUtils.isNullOrEmpty(f.getTitle()) ? null : f.getTitle(); + String title = isNullOrEmpty(f.getTitle()) ? null : f.getTitle(); if (title != null) title = clean(title, STRIP_ALL); f.setTitle(title); // clean description - String description = - StringUtils.isNullOrEmpty(f.getDescription()) ? null : - f.getDescription(); + String description = isNullOrEmpty(f.getDescription()) ? null : + f.getDescription(); if (description != null) description = clean(description, STRIP_ALL); f.setDescription(description); // clean author - String author = - StringUtils.isNullOrEmpty(f.getAuthor()) ? null : f.getAuthor(); + String author = isNullOrEmpty(f.getAuthor()) ? null : f.getAuthor(); if (author != null) author = clean(author, STRIP_ALL); f.setAuthor(author); @@ -386,7 +385,7 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, long lastEntryTime = feed.getLastEntryTime(); Transaction txn = db.startTransaction(false); try { - Collections.sort(entries, getEntryComparator()); + sort(entries, getEntryComparator()); for (SyndEntry entry : entries) { long entryTime; if (entry.getPublishedDate() != null) { @@ -416,7 +415,7 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, // build post text StringBuilder b = new StringBuilder(); - if (!StringUtils.isNullOrEmpty(entry.getTitle())) { + if (!isNullOrEmpty(entry.getTitle())) { b.append("

").append(entry.getTitle()).append("

"); } for (SyndContent content : entry.getContents()) { @@ -429,7 +428,7 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, b.append(entry.getDescription().getValue()); } b.append("

"); - if (!StringUtils.isNullOrEmpty(entry.getAuthor())) { + if (!isNullOrEmpty(entry.getAuthor())) { b.append("-- ").append(entry.getAuthor()); } if (entry.getPublishedDate() != null) { @@ -441,7 +440,7 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, } b.append("

"); String link = entry.getLink(); - if (!StringUtils.isNullOrEmpty(link)) { + if (!isNullOrEmpty(link)) { b.append("").append(link) .append(""); } @@ -471,7 +470,7 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, private String getPostText(String text) { text = clean(text, ARTICLE); - return StringUtils.truncateUtf8(text, MAX_BLOG_POST_TEXT_LENGTH); + return truncateUtf8(text, MAX_BLOG_POST_TEXT_LENGTH); } private Comparator getEntryComparator() { diff --git a/briar-core/src/main/java/org/briarproject/briar/forum/ForumFactoryImpl.java b/briar-core/src/main/java/org/briarproject/briar/forum/ForumFactoryImpl.java index e49acc5ee..b255b604d 100644 --- a/briar-core/src/main/java/org/briarproject/briar/forum/ForumFactoryImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/forum/ForumFactoryImpl.java @@ -6,7 +6,6 @@ import org.briarproject.bramble.api.data.BdfList; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.api.sync.GroupFactory; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.api.forum.Forum; import org.briarproject.briar.api.forum.ForumFactory; @@ -15,6 +14,7 @@ import java.security.SecureRandom; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; +import static org.briarproject.bramble.util.StringUtils.toUtf8; import static org.briarproject.briar.api.forum.ForumConstants.FORUM_SALT_LENGTH; import static org.briarproject.briar.api.forum.ForumConstants.MAX_FORUM_NAME_LENGTH; import static org.briarproject.briar.api.forum.ForumManager.CLIENT_ID; @@ -38,7 +38,7 @@ class ForumFactoryImpl implements ForumFactory { @Override public Forum createForum(String name) { - int length = StringUtils.toUtf8(name).length; + int length = toUtf8(name).length; if (length == 0) throw new IllegalArgumentException(); if (length > MAX_FORUM_NAME_LENGTH) throw new IllegalArgumentException(); diff --git a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeProtocolEngine.java b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeProtocolEngine.java index ae055bb9b..cd5fb65fb 100644 --- a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeProtocolEngine.java +++ b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeProtocolEngine.java @@ -41,6 +41,7 @@ import javax.annotation.concurrent.Immutable; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.briar.introduction.IntroduceeState.AWAIT_AUTH; import static org.briarproject.briar.introduction.IntroduceeState.AWAIT_RESPONSES; @@ -56,7 +57,7 @@ class IntroduceeProtocolEngine extends AbstractProtocolEngine { private final static Logger LOG = - Logger.getLogger(IntroduceeProtocolEngine.class.getName()); + getLogger(IntroduceeProtocolEngine.class.getName()); private final IntroductionCrypto crypto; private final KeyManager keyManager; diff --git a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeSession.java b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeSession.java index b952b3dc5..d5c85e323 100644 --- a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeSession.java +++ b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeSession.java @@ -17,9 +17,9 @@ import java.util.Map; import javax.annotation.Nullable; import javax.annotation.concurrent.Immutable; +import static org.briarproject.briar.api.introduction.Role.INTRODUCEE; import static org.briarproject.briar.introduction.IntroduceeState.AWAIT_ACTIVATE; import static org.briarproject.briar.introduction.IntroduceeState.START; -import static org.briarproject.briar.api.introduction.Role.INTRODUCEE; @Immutable @NotNullByDefault diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/PrivateGroupFactoryImpl.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/PrivateGroupFactoryImpl.java index 864ad23ab..b7613884b 100644 --- a/briar-core/src/main/java/org/briarproject/briar/privategroup/PrivateGroupFactoryImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/PrivateGroupFactoryImpl.java @@ -7,7 +7,6 @@ import org.briarproject.bramble.api.identity.Author; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.api.sync.GroupFactory; -import org.briarproject.bramble.util.StringUtils; import org.briarproject.briar.api.privategroup.PrivateGroup; import org.briarproject.briar.api.privategroup.PrivateGroupFactory; @@ -16,6 +15,7 @@ import java.security.SecureRandom; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; +import static org.briarproject.bramble.util.StringUtils.toUtf8; import static org.briarproject.bramble.util.ValidationUtils.checkLength; import static org.briarproject.bramble.util.ValidationUtils.checkSize; import static org.briarproject.briar.api.privategroup.PrivateGroupConstants.GROUP_SALT_LENGTH; @@ -42,7 +42,7 @@ class PrivateGroupFactoryImpl implements PrivateGroupFactory { @Override public PrivateGroup createPrivateGroup(String name, Author creator) { - int length = StringUtils.toUtf8(name).length; + int length = toUtf8(name).length; if (length == 0 || length > MAX_GROUP_NAME_LENGTH) throw new IllegalArgumentException(); byte[] salt = new byte[GROUP_SALT_LENGTH]; diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java b/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java index 192a9a550..22acc4231 100644 --- a/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/sharing/ForumProtocolEngineImpl.java @@ -13,12 +13,12 @@ import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.versioning.ClientVersioningManager; import org.briarproject.briar.api.client.MessageTracker; +import org.briarproject.briar.api.conversation.ConversationRequest; import org.briarproject.briar.api.forum.Forum; import org.briarproject.briar.api.forum.ForumInvitationResponse; import org.briarproject.briar.api.forum.ForumManager; import org.briarproject.briar.api.forum.event.ForumInvitationRequestReceivedEvent; import org.briarproject.briar.api.forum.event.ForumInvitationResponseReceivedEvent; -import org.briarproject.briar.api.conversation.ConversationRequest; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; diff --git a/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java b/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java index 851b78f69..c0331c688 100644 --- a/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java @@ -56,6 +56,7 @@ import javax.inject.Inject; import static java.util.Collections.emptyList; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.api.plugin.BluetoothConstants.UUID_BYTES; import static org.briarproject.bramble.api.sync.Group.Visibility.SHARED; import static org.briarproject.bramble.util.StringUtils.getRandomString; @@ -66,7 +67,7 @@ import static org.briarproject.briar.test.TestData.GROUP_NAMES; public class TestDataCreatorImpl implements TestDataCreator { private final Logger LOG = - Logger.getLogger(TestDataCreatorImpl.class.getName()); + getLogger(TestDataCreatorImpl.class.getName()); private final AuthorFactory authorFactory; private final Clock clock; diff --git a/briar-core/src/test/java/org/briarproject/briar/client/MessageTrackerTest.java b/briar-core/src/test/java/org/briarproject/briar/client/MessageTrackerTest.java index a7e860320..4e6d0beb4 100644 --- a/briar-core/src/test/java/org/briarproject/briar/client/MessageTrackerTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/client/MessageTrackerTest.java @@ -7,21 +7,22 @@ import org.briarproject.bramble.api.db.DatabaseComponent; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.test.BrambleMockTestCase; -import org.briarproject.bramble.test.TestUtils; import org.briarproject.briar.api.client.MessageTracker; import org.jmock.Expectations; -import org.junit.Assert; import org.junit.Test; +import static org.briarproject.bramble.test.TestUtils.getRandomId; import static org.briarproject.briar.client.MessageTrackerConstants.GROUP_KEY_STORED_MESSAGE_ID; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; public class MessageTrackerTest extends BrambleMockTestCase { - protected final GroupId groupId = new GroupId(TestUtils.getRandomId()); + protected final GroupId groupId = new GroupId(getRandomId()); protected final ClientHelper clientHelper = context.mock(ClientHelper.class); private final DatabaseComponent db = context.mock(DatabaseComponent.class); - private final MessageId messageId = new MessageId(TestUtils.getRandomId()); + private final MessageId messageId = new MessageId(getRandomId()); private final MessageTracker messageTracker = new MessageTrackerImpl(db, clientHelper); private final BdfDictionary dictionary = BdfDictionary.of( @@ -43,8 +44,8 @@ public class MessageTrackerTest extends BrambleMockTestCase { will(returnValue(dictionary)); }}); MessageId loadedId = messageTracker.loadStoredMessageId(groupId); - Assert.assertNotNull(loadedId); - Assert.assertTrue(messageId.equals(loadedId)); + assertNotNull(loadedId); + assertEquals(messageId, loadedId); } } diff --git a/briar-core/src/test/java/org/briarproject/briar/client/MessageTreeImplTest.java b/briar-core/src/test/java/org/briarproject/briar/client/MessageTreeImplTest.java index f324990ac..f6046f5c5 100644 --- a/briar-core/src/test/java/org/briarproject/briar/client/MessageTreeImplTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/client/MessageTreeImplTest.java @@ -2,7 +2,6 @@ package org.briarproject.briar.client; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.MessageId; -import org.briarproject.bramble.test.TestUtils; import org.briarproject.briar.api.client.MessageTree; import org.junit.Test; @@ -11,6 +10,7 @@ import java.util.Collections; import javax.annotation.Nullable; +import static org.briarproject.bramble.test.TestUtils.getRandomId; import static org.junit.Assert.assertEquals; public class MessageTreeImplTest { @@ -62,7 +62,7 @@ public class MessageTreeImplTest { @NotNullByDefault private class TestNode implements MessageTree.MessageNode { - private final MessageId id = new MessageId(TestUtils.getRandomId()); + private final MessageId id = new MessageId(getRandomId()); @Nullable private MessageId parentId; private long timestamp; diff --git a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java index 09498c5c6..bcebe1ef2 100644 --- a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java @@ -10,7 +10,6 @@ import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.test.TestDatabaseModule; -import org.briarproject.bramble.test.TestUtils; import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.versioning.VersioningModule; import org.briarproject.briar.api.blog.Blog; @@ -27,7 +26,9 @@ import org.junit.Test; import java.io.File; import java.util.Collection; +import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; import static org.briarproject.bramble.test.TestUtils.getSecretKey; +import static org.briarproject.bramble.test.TestUtils.getTestDirectory; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; @@ -37,7 +38,7 @@ public class FeedManagerIntegrationTest extends BriarTestCase { private LifecycleManager lifecycleManager; private FeedManager feedManager; private BlogManager blogManager; - private final File testDir = TestUtils.getTestDirectory(); + private final File testDir = getTestDirectory(); private final File testFile = new File(testDir, "feedTest"); @Before @@ -116,7 +117,7 @@ public class FeedManagerIntegrationTest extends BriarTestCase { public void tearDown() throws Exception { lifecycleManager.stopServices(); lifecycleManager.waitForShutdown(); - TestUtils.deleteTestDirectory(testDir); + deleteTestDirectory(testDir); } protected void injectEagerSingletons( diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java index af0c4bea9..2c4afa445 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java @@ -24,7 +24,6 @@ import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.test.TestDatabaseModule; -import org.briarproject.bramble.test.TestUtils; import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.versioning.VersioningModule; import org.briarproject.briar.api.messaging.MessagingManager; @@ -45,6 +44,7 @@ import static java.util.Collections.emptyList; import static org.briarproject.bramble.api.transport.TransportConstants.TAG_LENGTH; import static org.briarproject.bramble.test.TestPluginConfigModule.MAX_LATENCY; import static org.briarproject.bramble.test.TestPluginConfigModule.TRANSPORT_ID; +import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; import static org.briarproject.bramble.test.TestUtils.getSecretKey; import static org.briarproject.bramble.test.TestUtils.getTestDirectory; import static org.junit.Assert.assertEquals; @@ -184,7 +184,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { @After public void tearDown() { - TestUtils.deleteTestDirectory(testDir); + deleteTestDirectory(testDir); } private static void injectEagerSingletons( diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java index 920caea6c..4a0f25b32 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationManagerImplTest.java @@ -21,7 +21,6 @@ import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.versioning.ClientVersioningManager; import org.briarproject.bramble.test.BrambleMockTestCase; -import org.briarproject.bramble.test.TestUtils; import org.briarproject.briar.api.client.MessageTracker; import org.briarproject.briar.api.client.SessionId; import org.briarproject.briar.api.conversation.ConversationMessageHeader; @@ -648,7 +647,7 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase { @Test public void testGetInvitationMessages() throws Exception { BdfDictionary query = BdfDictionary.of(new BdfEntry("q", "u")); - MessageId messageId2 = new MessageId(TestUtils.getRandomId()); + MessageId messageId2 = new MessageId(getRandomId()); BdfDictionary meta2 = BdfDictionary.of(new BdfEntry("m2", "e")); Map results = new HashMap<>(); results.put(message.getId(), meta); diff --git a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java index 2c5e6505c..a81abb1ac 100644 --- a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTest.java @@ -34,7 +34,6 @@ import org.briarproject.bramble.lifecycle.LifecycleModule; import org.briarproject.bramble.properties.PropertiesModule; import org.briarproject.bramble.sync.validation.ValidationModule; import org.briarproject.bramble.system.SystemModule; -import org.briarproject.bramble.test.TestUtils; import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.versioning.VersioningModule; import org.briarproject.briar.api.blog.BlogFactory; @@ -71,12 +70,15 @@ import javax.inject.Inject; import static java.util.concurrent.Executors.newSingleThreadExecutor; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; import static junit.framework.Assert.assertNotNull; import static org.briarproject.bramble.api.sync.validation.MessageState.DELIVERED; import static org.briarproject.bramble.api.sync.validation.MessageState.INVALID; import static org.briarproject.bramble.api.sync.validation.MessageState.PENDING; import static org.briarproject.bramble.test.TestPluginConfigModule.MAX_LATENCY; +import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory; import static org.briarproject.bramble.test.TestUtils.getSecretKey; +import static org.briarproject.bramble.test.TestUtils.getTestDirectory; import static org.briarproject.bramble.util.LogUtils.logException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -88,7 +90,8 @@ public abstract class BriarIntegrationTest