diff options
author | Xin Li <delphij@google.com> | 2022-02-11 06:57:32 +0000 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2022-02-11 06:57:32 +0000 |
commit | b477ed5932d493abb589b887d46907a7b0d14bc3 (patch) | |
tree | 9a1397c324fd59069a4300c94519ec65ebb202aa | |
parent | 6702d662a3ffb592cb0cb883af8869a2e816ef7e (diff) | |
parent | ddba8fc8a3df7b28e0d2dcdf33936f3b7aec6b60 (diff) | |
download | libtextclassifier-sam_222710654.tar.gz |
Merge sc-v2-dev-plus-aosp-without-vendor@8084891sam_222710654
Bug: 214455710
Merged-In: Ibd1c2ff0d4a1b2ec4f81c99330baa7cbe1ff370f
Change-Id: I0905ed58461fefec1e86b49cd93769c25b65f58e
2 files changed, 40 insertions, 34 deletions
diff --git a/java/tests/instrumentation/src/com/android/textclassifier/common/TextClassifierSettingsTest.java b/java/tests/instrumentation/src/com/android/textclassifier/common/TextClassifierSettingsTest.java index 21d6943..8072d72 100644 --- a/java/tests/instrumentation/src/com/android/textclassifier/common/TextClassifierSettingsTest.java +++ b/java/tests/instrumentation/src/com/android/textclassifier/common/TextClassifierSettingsTest.java @@ -18,12 +18,11 @@ package com.android.textclassifier.common; import static com.google.common.truth.Truth.assertThat; -import android.provider.DeviceConfig; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; import androidx.test.platform.app.InstrumentationRegistry; +import com.android.textclassifier.testing.TestingDeviceConfig; import com.google.common.collect.ImmutableMap; -import java.util.HashMap; import java.util.Map; import java.util.function.Consumer; import org.junit.After; @@ -157,26 +156,11 @@ public class TextClassifierSettingsTest { private static void assertSettings( Map<String, String> keyValueMap, Consumer<TextClassifierSettings> settingsConsumer) { - HashMap<String, String> keyOriginalValueMap = new HashMap<>(); + TestingDeviceConfig deviceConfig = new TestingDeviceConfig(); + TextClassifierSettings settings = new TextClassifierSettings(deviceConfig); for (String key : keyValueMap.keySet()) { - keyOriginalValueMap.put( - key, DeviceConfig.getProperty(DeviceConfig.NAMESPACE_TEXTCLASSIFIER, key)); + deviceConfig.setConfig(key, keyValueMap.get(key)); } - TextClassifierSettings settings = new TextClassifierSettings(); - try { - for (String key : keyValueMap.keySet()) { - setDeviceConfig(key, keyValueMap.get(key)); - } - settingsConsumer.accept(settings); - } finally { - for (String key : keyValueMap.keySet()) { - setDeviceConfig(key, keyOriginalValueMap.get(key)); - } - } - } - - private static void setDeviceConfig(String key, String value) { - DeviceConfig.setProperty( - DeviceConfig.NAMESPACE_TEXTCLASSIFIER, key, value, /* makeDefault */ false); + settingsConsumer.accept(settings); } } diff --git a/java/tests/instrumentation/src/com/android/textclassifier/testing/TestingDeviceConfig.java b/java/tests/instrumentation/src/com/android/textclassifier/testing/TestingDeviceConfig.java index 670e3d0..bdc422e 100644 --- a/java/tests/instrumentation/src/com/android/textclassifier/testing/TestingDeviceConfig.java +++ b/java/tests/instrumentation/src/com/android/textclassifier/testing/TestingDeviceConfig.java @@ -25,42 +25,64 @@ import javax.annotation.Nullable; /** A fake DeviceConfig implementation for testing purpose. */ public final class TestingDeviceConfig implements TextClassifierSettings.IDeviceConfig { - private final HashMap<String, String> strConfigs; - private final HashMap<String, Boolean> boolConfigs; + private final HashMap<String, String> configs; public TestingDeviceConfig() { - this.strConfigs = new HashMap<>(); - this.boolConfigs = new HashMap<>(); + this.configs = new HashMap<>(); } public void setConfig(String key, String value) { - strConfigs.put(key, value); + configs.put(key, value); } public void setConfig(String key, boolean value) { - boolConfigs.put(key, value); + configs.put(key, Boolean.toString(value)); + } + + public void setConfig(String key, int value) { + configs.put(key, Integer.toString(value)); + } + + public void setConfig(String key, float value) { + configs.put(key, Float.toString(value)); + } + + public void setConfig(String key, long value) { + configs.put(key, Long.toString(value)); } @Override public Properties getProperties(@NonNull String namespace, @NonNull String... names) { Properties.Builder builder = new Properties.Builder(namespace); - for (String key : strConfigs.keySet()) { - builder.setString(key, strConfigs.get(key)); - } - for (String key : boolConfigs.keySet()) { - builder.setBoolean(key, boolConfigs.get(key)); + for (String key : configs.keySet()) { + builder.setString(key, configs.get(key)); } return builder.build(); } @Override public boolean getBoolean(@NonNull String namespace, @NonNull String name, boolean defaultValue) { - return boolConfigs.containsKey(name) ? boolConfigs.get(name) : defaultValue; + return configs.containsKey(name) ? Boolean.parseBoolean(configs.get(name)) : defaultValue; } @Override public String getString( @NonNull String namespace, @NonNull String name, @Nullable String defaultValue) { - return strConfigs.containsKey(name) ? strConfigs.get(name) : defaultValue; + return configs.containsKey(name) ? configs.get(name) : defaultValue; + } + + @Override + public int getInt(@NonNull String namespace, @NonNull String name, int defaultValue) { + return configs.containsKey(name) ? Integer.parseInt(configs.get(name)) : defaultValue; + } + + @Override + public float getFloat(@NonNull String namespace, @NonNull String name, float defaultValue) { + return configs.containsKey(name) ? Float.parseFloat(configs.get(name)) : defaultValue; + } + + @Override + public long getLong(@NonNull String namespace, @NonNull String name, long defaultValue) { + return configs.containsKey(name) ? Long.parseLong(configs.get(name)) : defaultValue; } } |