summaryrefslogtreecommitdiff
path: root/java/com
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
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')
-rw-r--r--java/com/android/dialer/configprovider/SharedPrefConfigProvider.java22
-rw-r--r--java/com/android/dialer/configprovider/SharedPrefConfigProviderModule.java5
-rw-r--r--java/com/android/dialer/main/impl/MainActivity.java6
3 files changed, 20 insertions, 13 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);
diff --git a/java/com/android/dialer/main/impl/MainActivity.java b/java/com/android/dialer/main/impl/MainActivity.java
index 1d705f06c..2046b048f 100644
--- a/java/com/android/dialer/main/impl/MainActivity.java
+++ b/java/com/android/dialer/main/impl/MainActivity.java
@@ -21,9 +21,9 @@ import android.content.Intent;
import android.os.Bundle;
import android.support.v4.content.LocalBroadcastManager;
import com.android.dialer.blockreportspam.ShowBlockReportSpamDialogReceiver;
+import com.android.dialer.calllog.config.CallLogConfigComponent;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.interactions.PhoneNumberInteraction.DisambigDialogDismissedListener;
import com.android.dialer.interactions.PhoneNumberInteraction.InteractionErrorCode;
import com.android.dialer.interactions.PhoneNumberInteraction.InteractionErrorListener;
@@ -53,7 +53,7 @@ public class MainActivity extends TransactionSafeActivity
/** Returns intent that will open MainActivity to the specified tab. */
public static Intent getShowTabIntent(Context context, @TabIndex int tabIndex) {
- if (ConfigProviderBindings.get(context).getBoolean("nui_peer_enabled", false)) {
+ if (CallLogConfigComponent.get(context).callLogConfig().isNewPeerEnabled()) {
// TODO(calderwoodra): implement this in NewMainActivityPeer
return null;
}
@@ -82,7 +82,7 @@ public class MainActivity extends TransactionSafeActivity
}
protected MainActivityPeer getNewPeer() {
- if (ConfigProviderBindings.get(this).getBoolean("nui_peer_enabled", false)) {
+ if (CallLogConfigComponent.get(this).callLogConfig().isNewPeerEnabled()) {
return new NewMainActivityPeer(this);
} else {
return new OldMainActivityPeer(this);