From 5605fde777c3032e74f4a88092a348706ab6f2cf Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Sun, 5 Jul 2020 14:57:11 -0700 Subject: [PATCH] Rename the UUID flag to be more explicit. --- .../securesms/VerifyIdentityActivity.java | 2 +- .../securesms/database/RecipientDatabase.java | 3 +-- .../securesms/recipients/Recipient.java | 14 +++++++------- .../securesms/recipients/RecipientUtil.java | 2 +- .../securesms/storage/StorageSyncHelper.java | 2 +- .../thoughtcrime/securesms/util/FeatureFlags.java | 10 +++++----- .../securesms/storage/StorageSyncHelperTest.java | 2 +- 7 files changed, 17 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/VerifyIdentityActivity.java b/app/src/main/java/org/thoughtcrime/securesms/VerifyIdentityActivity.java index f959d3977e..12b840a81e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/VerifyIdentityActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/VerifyIdentityActivity.java @@ -307,7 +307,7 @@ public class VerifyIdentityActivity extends PassphraseRequiredActivity implement byte[] localId; byte[] remoteId; - if (FeatureFlags.uuids() && recipient.resolve().getUuid().isPresent()) { + if (FeatureFlags.uuidOnlyContacts() && recipient.resolve().getUuid().isPresent()) { Log.i(TAG, "Using UUID (version 2)."); version = 2; localId = UuidUtil.toByteArray(TextSecurePreferences.getLocalUuid(requireContext())); diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java index 0fccac6526..a9fe6021a8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java @@ -57,7 +57,6 @@ import org.whispersystems.signalservice.api.util.UuidUtil; import java.io.Closeable; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -1832,7 +1831,7 @@ public class RecipientDatabase extends Database { } private static ContentValues validateContactValuesForInsert(ContentValues values) { - if (!FeatureFlags.uuids() && + if (!FeatureFlags.uuidOnlyContacts() && values.getAsString(UUID) != null && values.getAsString(PHONE) == null) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java index e4ddd80573..2c6baf980b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/Recipient.java @@ -179,7 +179,7 @@ public class Recipient { } else if (!recipient.isRegistered()) { db.markRegistered(recipient.getId()); - if (FeatureFlags.uuids()) { + if (FeatureFlags.cds()) { Log.i(TAG, "No UUID! Scheduling a fetch."); ApplicationDependencies.getJobManager().add(new DirectoryRefreshJob(recipient, false)); } @@ -187,7 +187,7 @@ public class Recipient { return resolved(recipient.getId()); } else if (uuid != null) { - if (FeatureFlags.uuids() || e164 != null) { + if (FeatureFlags.uuidOnlyContacts() || e164 != null) { RecipientId id = db.getOrInsertFromUuid(uuid); db.markRegistered(id, uuid); @@ -197,7 +197,7 @@ public class Recipient { return resolved(id); } else { - if (!FeatureFlags.uuids() && FeatureFlags.groupsV2()) { + if (!FeatureFlags.uuidOnlyContacts() && FeatureFlags.groupsV2()) { throw new RuntimeException(new UuidRecipientError()); } else { throw new UuidRecipientError(); @@ -209,7 +209,7 @@ public class Recipient { if (!recipient.isRegistered()) { db.markRegistered(recipient.getId()); - if (FeatureFlags.uuids()) { + if (FeatureFlags.cds()) { Log.i(TAG, "No UUID! Scheduling a fetch."); ApplicationDependencies.getJobManager().add(new DirectoryRefreshJob(recipient, false)); } @@ -272,7 +272,7 @@ public class Recipient { if (UuidUtil.isUuid(identifier)) { UUID uuid = UuidUtil.parseOrThrow(identifier); - if (FeatureFlags.uuids()) { + if (FeatureFlags.uuidOnlyContacts()) { id = db.getOrInsertFromUuid(uuid); } else { Optional possibleId = db.getByUuid(uuid); @@ -280,7 +280,7 @@ public class Recipient { if (possibleId.isPresent()) { id = possibleId.get(); } else { - if (!FeatureFlags.uuids() && FeatureFlags.groupsV2()) { + if (!FeatureFlags.uuidOnlyContacts() && FeatureFlags.groupsV2()) { throw new RuntimeException(new UuidRecipientError()); } else { throw new UuidRecipientError(); @@ -754,7 +754,7 @@ public class Recipient { if (FeatureFlags.usernames()) { return true; } else { - return FeatureFlags.uuids() && uuidCapability == Capability.SUPPORTED; + return FeatureFlags.uuidOnlyContacts() && uuidCapability == Capability.SUPPORTED; } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java index a3f3d474a7..40e672fcd5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/RecipientUtil.java @@ -46,7 +46,7 @@ public class RecipientUtil { throw new AssertionError(recipient.getId() + " - No UUID or phone number!"); } - if (FeatureFlags.uuids() && !recipient.getUuid().isPresent()) { + if (FeatureFlags.cds() && !recipient.getUuid().isPresent()) { Log.i(TAG, recipient.getId() + " is missing a UUID..."); try { RegisteredState state = DirectoryHelper.refreshDirectoryFor(context, recipient, false); diff --git a/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java b/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java index e5d3f91557..395b2f04cc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/storage/StorageSyncHelper.java @@ -441,7 +441,7 @@ public final class StorageSyncHelper { } private static boolean isValidContact(@NonNull SignalContactRecord contact) { - return FeatureFlags.uuids() || contact.getAddress().getNumber().isPresent(); + return FeatureFlags.uuidOnlyContacts() || contact.getAddress().getNumber().isPresent(); } public static final class KeyDifferenceResult { diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java index 0a28969d05..c942140923 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java @@ -187,15 +187,15 @@ public final class FeatureFlags { Log.i(TAG, "[Disk] After : " + result.getDisk().toString()); } - /** UUID-related stuff that shouldn't be activated until the user-facing launch. */ - public static synchronized boolean uuids() { + /** Whether or not we allow UUID-only contacts. */ + public static synchronized boolean uuidOnlyContacts() { return getBoolean(UUIDS, false); } - /** Creating usernames, sending messages by username. Requires {@link #uuids()}. */ + /** Creating usernames, sending messages by username. Requires {@link #uuidOnlyContacts()}. */ public static synchronized boolean usernames() { boolean value = getBoolean(USERNAMES, false); - if (value && !uuids()) throw new MissingFlagRequirementError(); + if (value && !uuidOnlyContacts()) throw new MissingFlagRequirementError(); return value; } @@ -257,7 +257,7 @@ public final class FeatureFlags { return groupsV2() && getBoolean(GROUPS_V2_INTERNAL_TEST, false); } - /** Whether or not to use the new contact discovery service endpoint. */ + /** Whether or not to use the new contact discovery service endpoint, which supports UUIDs. */ public static boolean cds() { return getBoolean(CDS, false); } diff --git a/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java b/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java index 59a05b9f27..a2ef2cd3da 100644 --- a/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java +++ b/app/src/test/java/org/thoughtcrime/securesms/storage/StorageSyncHelperTest.java @@ -244,7 +244,7 @@ public final class StorageSyncHelperTest { @Test public void resolveConflict_complex() { - when(FeatureFlags.uuids()).thenReturn(true); + when(FeatureFlags.uuidOnlyContacts()).thenReturn(true); SignalContactRecord remote1 = contact(1, UUID_A, null, "a"); SignalContactRecord local1 = contact(2, UUID_A, E164_A, "a");