kopia lustrzana https://github.com/ryukoposting/Signal-Android
Remove concept of V1 vs V2 fuzzy phone number results.
V1 hasn't been used in a long time. So we can just delete that code then remove the concept of a 'v2' from the other stuff.fork-5.53.8
rodzic
9c6908873c
commit
49c9b0acde
|
@ -66,8 +66,8 @@ class ContactDiscoveryV2 {
|
|||
KeyStore iasKeyStore = getIasKeyStore(context);
|
||||
|
||||
try {
|
||||
Map<String, UUID> results = accountManager.getRegisteredUsers(iasKeyStore, sanitizedNumbers, BuildConfig.CDS_MRENCLAVE);
|
||||
FuzzyPhoneNumberHelper.OutputResultV2 outputResult = FuzzyPhoneNumberHelper.generateOutputV2(results, inputResult);
|
||||
Map<String, UUID> results = accountManager.getRegisteredUsers(iasKeyStore, sanitizedNumbers, BuildConfig.CDS_MRENCLAVE);
|
||||
FuzzyPhoneNumberHelper.OutputResult outputResult = FuzzyPhoneNumberHelper.generateOutput(results, inputResult);
|
||||
|
||||
return new DirectoryResult(outputResult.getNumbers(), outputResult.getRewrites(), ignoredNumbers);
|
||||
} catch (SignatureException | UnauthenticatedQuoteException | UnauthenticatedResponseException | Quote.InvalidQuoteFormatException |InvalidKeyException e) {
|
||||
|
|
|
@ -46,8 +46,8 @@ class ContactDiscoveryV3 {
|
|||
SignalServiceAccountManager accountManager = ApplicationDependencies.getSignalServiceAccountManager();
|
||||
|
||||
try {
|
||||
Map<String, UUID> results = accountManager.getRegisteredUsersWithCdsh(sanitizedNumbers, BuildConfig.CDSH_PUBLIC_KEY, BuildConfig.CDSH_CODE_HASH);
|
||||
FuzzyPhoneNumberHelper.OutputResultV2 outputResult = FuzzyPhoneNumberHelper.generateOutputV2(results, inputResult);
|
||||
Map<String, UUID> results = accountManager.getRegisteredUsersWithCdsh(sanitizedNumbers, BuildConfig.CDSH_PUBLIC_KEY, BuildConfig.CDSH_CODE_HASH);
|
||||
FuzzyPhoneNumberHelper.OutputResult outputResult = FuzzyPhoneNumberHelper.generateOutput(results, inputResult);
|
||||
|
||||
return new DirectoryResult(outputResult.getNumbers(), outputResult.getRewrites(), ignoredNumbers);
|
||||
} catch (IOException e) {
|
||||
|
|
|
@ -30,7 +30,6 @@ class FuzzyPhoneNumberHelper {
|
|||
Set<String> allNumbers = new HashSet<>(testNumbers);
|
||||
Map<String, String> fuzzies = new HashMap<>();
|
||||
|
||||
|
||||
for (String number : testNumbers) {
|
||||
for (FuzzyVariant fuzzyVariant: FUZZY_VARIANTS) {
|
||||
if(fuzzyVariant.hasVariants(number)) {
|
||||
|
@ -50,37 +49,7 @@ class FuzzyPhoneNumberHelper {
|
|||
* these results and our initial input set, we can decide if we need to rewrite which number we
|
||||
* have stored locally.
|
||||
*/
|
||||
static @NonNull OutputResult generateOutput(@NonNull Collection<String> registeredNumbers, @NonNull InputResult inputResult) {
|
||||
Set<String> allNumbers = new HashSet<>(registeredNumbers);
|
||||
Map<String, String> rewrites = new HashMap<>();
|
||||
|
||||
for (Map.Entry<String, String> entry : inputResult.getFuzzies().entrySet()) {
|
||||
if (registeredNumbers.contains(entry.getKey()) && registeredNumbers.contains(entry.getValue())) {
|
||||
for (FuzzyVariant fuzzyVariant: FUZZY_VARIANTS) {
|
||||
if(fuzzyVariant.hasVariants(entry.getKey())) {
|
||||
if (fuzzyVariant.isDefaultVariant(entry.getKey())) {
|
||||
allNumbers.remove(entry.getValue());
|
||||
} else {
|
||||
rewrites.put(entry.getKey(), entry.getValue());
|
||||
allNumbers.remove(entry.getKey());
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (registeredNumbers.contains(entry.getValue())) {
|
||||
rewrites.put(entry.getKey(), entry.getValue());
|
||||
allNumbers.remove(entry.getKey());
|
||||
}
|
||||
}
|
||||
|
||||
return new OutputResult(allNumbers, rewrites);
|
||||
}
|
||||
|
||||
/**
|
||||
* This should be run on the list of numbers we find out are registered with the server. Based on
|
||||
* these results and our initial input set, we can decide if we need to rewrite which number we
|
||||
* have stored locally.
|
||||
*/
|
||||
static @NonNull OutputResultV2 generateOutputV2(@NonNull Map<String, UUID> registeredNumbers, @NonNull InputResult inputResult) {
|
||||
static @NonNull OutputResult generateOutput(@NonNull Map<String, UUID> registeredNumbers, @NonNull InputResult inputResult) {
|
||||
Map<String, UUID> allNumbers = new HashMap<>(registeredNumbers);
|
||||
Map<String, String> rewrites = new HashMap<>();
|
||||
|
||||
|
@ -102,7 +71,7 @@ class FuzzyPhoneNumberHelper {
|
|||
}
|
||||
}
|
||||
|
||||
return new OutputResultV2(allNumbers, rewrites);
|
||||
return new OutputResult(allNumbers, rewrites);
|
||||
}
|
||||
|
||||
private interface FuzzyVariant {
|
||||
|
@ -183,28 +152,10 @@ class FuzzyPhoneNumberHelper {
|
|||
}
|
||||
|
||||
public static class OutputResult {
|
||||
private final Set<String> numbers;
|
||||
private final Map<String, String> rewrites;
|
||||
|
||||
private OutputResult(@NonNull Set<String> numbers, @NonNull Map<String, String> rewrites) {
|
||||
this.numbers = numbers;
|
||||
this.rewrites = rewrites;
|
||||
}
|
||||
|
||||
public @NonNull Set<String> getNumbers() {
|
||||
return numbers;
|
||||
}
|
||||
|
||||
public @NonNull Map<String, String> getRewrites() {
|
||||
return rewrites;
|
||||
}
|
||||
}
|
||||
|
||||
public static class OutputResultV2 {
|
||||
private final Map<String, UUID> numbers;
|
||||
private final Map<String, String> rewrites;
|
||||
|
||||
private OutputResultV2(@NonNull Map<String, UUID> numbers, @NonNull Map<String, String> rewrites) {
|
||||
private OutputResult(@NonNull Map<String, UUID> numbers, @NonNull Map<String, String> rewrites) {
|
||||
this.numbers = numbers;
|
||||
this.rewrites = rewrites;
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@ package org.thoughtcrime.securesms.contacts.sync;
|
|||
import org.junit.Test;
|
||||
import org.thoughtcrime.securesms.contacts.sync.FuzzyPhoneNumberHelper.InputResult;
|
||||
import org.thoughtcrime.securesms.contacts.sync.FuzzyPhoneNumberHelper.OutputResult;
|
||||
import org.thoughtcrime.securesms.contacts.sync.FuzzyPhoneNumberHelper.OutputResultV2;
|
||||
import org.whispersystems.signalservice.api.util.UuidUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
@ -101,70 +100,7 @@ public class FuzzyPhoneNumberHelperTest {
|
|||
|
||||
@Test
|
||||
public void generateOutput_noMxNumbers() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(setOf(US_A, US_B), new InputResult(setOf(US_A, US_B), Collections.emptyMap()));
|
||||
|
||||
assertEquals(2, result.getNumbers().size());
|
||||
assertTrue(result.getNumbers().containsAll(setOf(US_A, US_B)));
|
||||
assertTrue(result.getRewrites().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateOutput_bothMatch_no1To1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(setOf(MX_A, MX_A_1), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A, MX_A_1)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertTrue(result.getNumbers().containsAll(setOf(MX_A)));
|
||||
assertTrue(result.getRewrites().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateOutput_bothMatch_1toNo1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(setOf(MX_A, MX_A_1), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A_1, MX_A)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertTrue(result.getNumbers().containsAll(setOf(MX_A)));
|
||||
assertEquals(MX_A, result.getRewrites().get(MX_A_1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateOutput_no1Match_no1To1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(setOf(MX_A), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A, MX_A_1)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertTrue(result.getNumbers().containsAll(setOf(MX_A)));
|
||||
assertTrue(result.getRewrites().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateOutput_no1Match_1ToNo1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(setOf(MX_A), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A_1, MX_A)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertTrue(result.getNumbers().containsAll(setOf(MX_A)));
|
||||
assertEquals(MX_A, result.getRewrites().get(MX_A_1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateOutput_1Match_1ToNo1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(setOf(MX_A_1), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A_1, MX_A)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertTrue(result.getNumbers().containsAll(setOf(MX_A_1)));
|
||||
assertTrue(result.getRewrites().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateOutput_1Match_no1To1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(setOf(MX_A_1), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A, MX_A_1)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertTrue(result.getNumbers().containsAll(setOf(MX_A_1)));
|
||||
assertEquals(MX_A_1, result.getRewrites().get(MX_A));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateOutputV2_noMxNumbers() {
|
||||
OutputResultV2 result = FuzzyPhoneNumberHelper.generateOutputV2(mapOf(US_A, UUID_A, US_B, UUID_B), new InputResult(setOf(US_A, US_B), Collections.emptyMap()));
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(mapOf(US_A, UUID_A, US_B, UUID_B), new InputResult(setOf(US_A, US_B), Collections.emptyMap()));
|
||||
|
||||
assertEquals(2, result.getNumbers().size());
|
||||
assertEquals(UUID_A, result.getNumbers().get(US_A));
|
||||
|
@ -173,8 +109,8 @@ public class FuzzyPhoneNumberHelperTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void generateOutputV2_bothMatch_no1To1() {
|
||||
OutputResultV2 result = FuzzyPhoneNumberHelper.generateOutputV2(mapOf(MX_A, UUID_A, MX_A_1, UUID_B), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A, MX_A_1)));
|
||||
public void generateOutput_bothMatch_no1To1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(mapOf(MX_A, UUID_A, MX_A_1, UUID_B), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A, MX_A_1)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertEquals(UUID_A, result.getNumbers().get(MX_A));
|
||||
|
@ -182,8 +118,8 @@ public class FuzzyPhoneNumberHelperTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void generateOutputV2_bothMatch_1toNo1() {
|
||||
OutputResultV2 result = FuzzyPhoneNumberHelper.generateOutputV2(mapOf(MX_A, UUID_A, MX_A_1, UUID_B), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A_1, MX_A)));
|
||||
public void generateOutput_bothMatch_1toNo1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(mapOf(MX_A, UUID_A, MX_A_1, UUID_B), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A_1, MX_A)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertEquals(UUID_A, result.getNumbers().get(MX_A));
|
||||
|
@ -191,8 +127,8 @@ public class FuzzyPhoneNumberHelperTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void generateOutputV2_no1Match_no1To1() {
|
||||
OutputResultV2 result = FuzzyPhoneNumberHelper.generateOutputV2(mapOf(MX_A, UUID_A), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A, MX_A_1)));
|
||||
public void generateOutput_no1Match_no1To1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(mapOf(MX_A, UUID_A), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A, MX_A_1)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertEquals(UUID_A, result.getNumbers().get(MX_A));
|
||||
|
@ -200,8 +136,8 @@ public class FuzzyPhoneNumberHelperTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void generateOutputV2_no1Match_1ToNo1() {
|
||||
OutputResultV2 result = FuzzyPhoneNumberHelper.generateOutputV2(mapOf(MX_A, UUID_A), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A_1, MX_A)));
|
||||
public void generateOutput_no1Match_1ToNo1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(mapOf(MX_A, UUID_A), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A_1, MX_A)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertEquals(UUID_A, result.getNumbers().get(MX_A));
|
||||
|
@ -209,8 +145,8 @@ public class FuzzyPhoneNumberHelperTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void generateOutputV2_1Match_1ToNo1() {
|
||||
OutputResultV2 result = FuzzyPhoneNumberHelper.generateOutputV2(mapOf(MX_A_1, UUID_A), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A_1, MX_A)));
|
||||
public void generateOutput_1Match_1ToNo1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(mapOf(MX_A_1, UUID_A), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A_1, MX_A)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertEquals(UUID_A, result.getNumbers().get(MX_A_1));
|
||||
|
@ -218,11 +154,11 @@ public class FuzzyPhoneNumberHelperTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void generateOutputV2_1Match_no1To1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(setOf(MX_A_1), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A, MX_A_1)));
|
||||
public void generateOutput_1Match_no1To1() {
|
||||
OutputResult result = FuzzyPhoneNumberHelper.generateOutput(mapOf(MX_A_1, UUID_A), new InputResult(setOf(MX_A, MX_A_1), Collections.singletonMap(MX_A, MX_A_1)));
|
||||
|
||||
assertEquals(1, result.getNumbers().size());
|
||||
assertTrue(result.getNumbers().containsAll(setOf(MX_A_1)));
|
||||
assertEquals(UUID_A, result.getNumbers().get(MX_A_1));
|
||||
assertEquals(MX_A_1, result.getRewrites().get(MX_A));
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue