summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/configprovider
diff options
context:
space:
mode:
authorzachh <zachh@google.com>2018-03-27 17:04:15 -0700
committerCopybara-Service <copybara-piper@google.com>2018-03-27 18:15:38 -0700
commitbb4c1be2923ea7bfc9152e3cef9d0c12cb6664bd (patch)
tree8a6fab91b5b01cfc936501e5e7d57b7a9a22f864 /java/com/android/dialer/configprovider
parent68cf8dc4e305d7d27bbff93dc24a02bca1b13f8c (diff)
Use CallLogConfig for enabling new peer.
ConfigProvider should not be used directly for reading NUI flags as CallLogConfig needs to perform work when they change. Bug: 74821995 Test: existing PiperOrigin-RevId: 190698415 Change-Id: Ic084d9032d2a6f35ffba9f395eaaff9053cfa262
Diffstat (limited to 'java/com/android/dialer/configprovider')
-rw-r--r--java/com/android/dialer/configprovider/SharedPrefConfigProvider.java22
-rw-r--r--java/com/android/dialer/configprovider/SharedPrefConfigProviderModule.java5
2 files changed, 17 insertions, 10 deletions
diff --git a/java/com/android/dialer/configprovider/SharedPrefConfigProvider.java b/java/com/android/dialer/configprovider/SharedPrefConfigProvider.java
index d700fb676..ce95c5700 100644
--- a/java/com/android/dialer/configprovider/SharedPrefConfigProvider.java
+++ b/java/com/android/dialer/configprovider/SharedPrefConfigProvider.java
@@ -23,8 +23,8 @@ import android.content.SharedPreferences.Editor;
import android.support.annotation.Nullable;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.inject.ApplicationContext;
import com.android.dialer.storage.StorageComponent;
+import com.android.dialer.storage.Unencrypted;
import com.android.dialer.strictmode.StrictModeUtils;
import javax.inject.Inject;
@@ -49,14 +49,14 @@ import javax.inject.Inject;
* /data/user_de/0/com.android.dialer/shared_prefs/com.android.dialer_preferences.xml
* </pre>
*/
-class SharedPrefConfigProvider implements ConfigProvider {
+public class SharedPrefConfigProvider implements ConfigProvider {
private static final String PREF_PREFIX = "config_provider_prefs_";
- private final Context appContext;
+ private final SharedPreferences sharedPreferences;
@Inject
- SharedPrefConfigProvider(@ApplicationContext Context appContext) {
- this.appContext = appContext;
+ SharedPrefConfigProvider(@Unencrypted SharedPreferences sharedPreferences) {
+ this.sharedPreferences = sharedPreferences;
}
/** Service to write values into {@link SharedPrefConfigProvider} using adb. */
@@ -93,25 +93,29 @@ class SharedPrefConfigProvider implements ConfigProvider {
}
}
+ /** Set a boolean config value. */
+ public void putBoolean(String key, boolean value) {
+ sharedPreferences.edit().putBoolean(PREF_PREFIX + key, value).apply();
+ }
+
@Override
public String getString(String key, String defaultValue) {
// Reading shared prefs on the main thread is generally safe since a single instance is cached.
return StrictModeUtils.bypass(
- () -> getSharedPrefs(appContext).getString(PREF_PREFIX + key, defaultValue));
+ () -> sharedPreferences.getString(PREF_PREFIX + key, defaultValue));
}
@Override
public long getLong(String key, long defaultValue) {
// Reading shared prefs on the main thread is generally safe since a single instance is cached.
- return StrictModeUtils.bypass(
- () -> getSharedPrefs(appContext).getLong(PREF_PREFIX + key, defaultValue));
+ return StrictModeUtils.bypass(() -> sharedPreferences.getLong(PREF_PREFIX + key, defaultValue));
}
@Override
public boolean getBoolean(String key, boolean defaultValue) {
// Reading shared prefs on the main thread is generally safe since a single instance is cached.
return StrictModeUtils.bypass(
- () -> getSharedPrefs(appContext).getBoolean(PREF_PREFIX + key, defaultValue));
+ () -> sharedPreferences.getBoolean(PREF_PREFIX + key, defaultValue));
}
private static SharedPreferences getSharedPrefs(Context appContext) {
diff --git a/java/com/android/dialer/configprovider/SharedPrefConfigProviderModule.java b/java/com/android/dialer/configprovider/SharedPrefConfigProviderModule.java
index fe1c90816..4af8bfe17 100644
--- a/java/com/android/dialer/configprovider/SharedPrefConfigProviderModule.java
+++ b/java/com/android/dialer/configprovider/SharedPrefConfigProviderModule.java
@@ -16,14 +16,17 @@
package com.android.dialer.configprovider;
+import com.android.dialer.storage.StorageModule;
import dagger.Binds;
import dagger.Module;
import javax.inject.Singleton;
/** Dagger module providing {@link ConfigProvider} based on shared preferences. */
-@Module
+@Module(includes = StorageModule.class)
public abstract class SharedPrefConfigProviderModule {
+ private SharedPrefConfigProviderModule() {}
+
@Binds
@Singleton
abstract ConfigProvider to(SharedPrefConfigProvider impl);