From adbfa263645a404f549f6efc26e1f835a7e6a924 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Fri, 27 Jul 2018 14:18:31 +0100 Subject: [PATCH] Remove redundant locking. --- .../account/AndroidAccountManager.java | 11 ++++----- .../bramble/account/AccountManagerImpl.java | 23 +++++++++---------- .../account/AccountManagerImplTest.java | 6 +++-- 3 files changed, 20 insertions(+), 20 deletions(-) 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 22c279ecaa..e19f2305f2 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 @@ -35,15 +35,14 @@ class AndroidAccountManager extends AccountManagerImpl appContext = app.getApplicationContext(); } + // Locking: stateChangeLock @Override @Nullable protected String loadEncryptedDatabaseKey() { - synchronized (stateChangeLock) { - String key = getDatabaseKeyFromPreferences(); - if (key == null) key = super.loadEncryptedDatabaseKey(); - else migrateDatabaseKeyToFile(key); - return key; - } + String key = getDatabaseKeyFromPreferences(); + if (key == null) key = super.loadEncryptedDatabaseKey(); + else migrateDatabaseKeyToFile(key); + return key; } // Locking: stateChangeLock 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 6162b3e427..47ddd87f65 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 @@ -38,7 +38,7 @@ class AccountManagerImpl implements AccountManager { private final CryptoComponent crypto; private final File dbKeyFile, dbKeyBackupFile; - protected final Object stateChangeLock = new Object(); + final Object stateChangeLock = new Object(); @Nullable private volatile SecretKey databaseKey = null; @@ -63,20 +63,19 @@ class AccountManagerImpl implements AccountManager { return databaseKey; } + // Locking: stateChangeLock @Nullable protected String loadEncryptedDatabaseKey() { - synchronized (stateChangeLock) { - String key = readDbKeyFromFile(dbKeyFile); - if (key == null) { - LOG.info("No database key in primary file"); - key = readDbKeyFromFile(dbKeyBackupFile); - if (key == null) LOG.info("No database key in backup file"); - else LOG.warning("Found database key in backup file"); - } else { - LOG.info("Found database key in primary file"); - } - return key; + String key = readDbKeyFromFile(dbKeyFile); + if (key == null) { + LOG.info("No database key in primary file"); + key = readDbKeyFromFile(dbKeyBackupFile); + if (key == null) LOG.info("No database key in backup file"); + else LOG.warning("Found database key in backup file"); + } else { + LOG.info("Found database key in primary file"); } + return key; } // Locking: stateChangeLock diff --git a/bramble-core/src/test/java/org/briarproject/bramble/account/AccountManagerImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/account/AccountManagerImplTest.java index e0a51898df..6e43e23f8f 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/account/AccountManagerImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/account/AccountManagerImplTest.java @@ -63,7 +63,8 @@ public class AccountManagerImplTest extends BrambleMockTestCase { assertFalse(keyBackupFile.exists()); assertEquals(encryptedKeyHex, loadDatabaseKey(keyFile)); - assertEquals(encryptedKeyHex, accountManager.loadEncryptedDatabaseKey()); + assertEquals(encryptedKeyHex, + accountManager.loadEncryptedDatabaseKey()); assertTrue(keyFile.exists()); assertFalse(keyBackupFile.exists()); @@ -81,7 +82,8 @@ public class AccountManagerImplTest extends BrambleMockTestCase { assertTrue(keyBackupFile.exists()); assertEquals(encryptedKeyHex, loadDatabaseKey(keyBackupFile)); - assertEquals(encryptedKeyHex, accountManager.loadEncryptedDatabaseKey()); + assertEquals(encryptedKeyHex, + accountManager.loadEncryptedDatabaseKey()); assertFalse(keyFile.exists()); assertTrue(keyBackupFile.exists()); -- GitLab