kopia lustrzana https://github.com/ryukoposting/Signal-Android
Fix issue where FeatureFlags were triggering listeners for non-changes.
rodzic
f1e5206f56
commit
51d47adf57
|
@ -22,6 +22,7 @@ import java.util.HashMap;
|
|||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
@ -388,7 +389,7 @@ public final class FeatureFlags {
|
|||
changes.put(key, Change.REMOVED);
|
||||
} else if (newValue != oldValue && newValue instanceof Boolean) {
|
||||
changes.put(key, (boolean) newValue ? Change.ENABLED : Change.DISABLED);
|
||||
} else if (newValue != oldValue) {
|
||||
} else if (!Objects.equals(oldValue, newValue)) {
|
||||
changes.put(key, Change.CHANGED);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -390,6 +390,8 @@ public class FeatureFlagsTest extends BaseUnitTest {
|
|||
put("d", false);
|
||||
put("g", 5);
|
||||
put("h", 5);
|
||||
put("i", new String("parker")); // Need to use new String to avoid interning string constants
|
||||
put("j", "gwen");
|
||||
}};
|
||||
|
||||
Map<String, Object> newMap = new HashMap<String, Object>() {{
|
||||
|
@ -399,6 +401,8 @@ public class FeatureFlagsTest extends BaseUnitTest {
|
|||
put("e", true);
|
||||
put("f", false);
|
||||
put("h", 7);
|
||||
put("i", new String("parker")); // Need to use new String to avoid interning string constants
|
||||
put("j", "stacy");
|
||||
}};
|
||||
|
||||
Map<String, Change> changes = FeatureFlags.computeChanges(oldMap, newMap);
|
||||
|
@ -410,6 +414,8 @@ public class FeatureFlagsTest extends BaseUnitTest {
|
|||
assertEquals(Change.ENABLED, changes.get("e"));
|
||||
assertEquals(Change.DISABLED, changes.get("f"));
|
||||
assertEquals(Change.CHANGED, changes.get("h"));
|
||||
assertFalse(changes.containsKey("i"));
|
||||
assertEquals(Change.CHANGED, changes.get("j"));
|
||||
}
|
||||
|
||||
private static <V> Set<V> setOf(V... values) {
|
||||
|
|
Ładowanie…
Reference in New Issue