summaryrefslogtreecommitdiff
path: root/java/com/android
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-03-28 01:34:37 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-03-28 01:34:37 +0000
commitdc5935b31560e90eb402de7319ae27f068d963d5 (patch)
tree8a6fab91b5b01cfc936501e5e7d57b7a9a22f864 /java/com/android
parent0aac99095d8a8776d9e6e87175b0cd861c53b503 (diff)
parentbb4c1be2923ea7bfc9152e3cef9d0c12cb6664bd (diff)
Merge changes Ic084d903,I9cb063a9,I8c0abf9f
* changes: Use CallLogConfig for enabling new peer. Turn on transcription when existing dialer user accepts ToS and transcription is available. Turn off transcription when user declines tos (existing dialer user)
Diffstat (limited to 'java/com/android')
-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
-rw-r--r--java/com/android/dialer/voicemail/listui/error/VoicemailTosMessageCreator.java33
-rw-r--r--java/com/android/dialer/voicemail/listui/error/res/values/strings.xml2
5 files changed, 37 insertions, 31 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);
diff --git a/java/com/android/dialer/voicemail/listui/error/VoicemailTosMessageCreator.java b/java/com/android/dialer/voicemail/listui/error/VoicemailTosMessageCreator.java
index ec1a95a1a..382118fca 100644
--- a/java/com/android/dialer/voicemail/listui/error/VoicemailTosMessageCreator.java
+++ b/java/com/android/dialer/voicemail/listui/error/VoicemailTosMessageCreator.java
@@ -22,8 +22,6 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.net.Uri;
-import android.os.Build;
import android.preference.PreferenceManager;
import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
@@ -40,11 +38,9 @@ import android.view.View.OnClickListener;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.telephony.TelephonyManagerCompat;
import com.android.dialer.configprovider.ConfigProviderBindings;
-import com.android.dialer.constants.Constants;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.voicemail.listui.error.VoicemailErrorMessage.Action;
-import com.android.dialer.voicemail.settings.VoicemailSettingsFragment;
import com.android.voicemail.VisualVoicemailTypeExtensions;
import com.android.voicemail.VoicemailClient;
import com.android.voicemail.VoicemailComponent;
@@ -129,19 +125,16 @@ public class VoicemailTosMessageCreator {
getExistingUserTosTitle(),
getExistingUserTosMessageText(),
new Action(
- context.getString(R.string.dialer_terms_and_conditions_existing_user_setings),
+ context.getString(R.string.dialer_terms_and_conditions_existing_user_decline),
new OnClickListener() {
@Override
public void onClick(View v) {
- LogUtil.i("VoicemailTosMessageCreator.getPromoMessage", "open settings");
- Intent intent =
- new Intent(Intent.ACTION_VIEW)
- .setComponent(
- new ComponentName(context, Constants.get().getSettingsActivity()))
- .setData(
- Uri.fromParts(
- "header", VoicemailSettingsFragment.class.getName(), null));
- context.startActivity(intent);
+ LogUtil.i(
+ "VoicemailTosMessageCreator.getPromoMessage", "declined transcription");
+ VoicemailClient voicemailClient =
+ VoicemailComponent.get(context).getVoicemailClient();
+ voicemailClient.setVoicemailTranscriptionEnabled(
+ context, status.getPhoneAccountHandle(), false);
}
}),
new Action(
@@ -150,6 +143,12 @@ public class VoicemailTosMessageCreator {
@Override
public void onClick(View v) {
LogUtil.i("VoicemailTosMessageCreator.getPromoMessage", "acknowledge clicked");
+ if (isVoicemailTranscriptionAvailable()) {
+ VoicemailComponent.get(context)
+ .getVoicemailClient()
+ .setVoicemailTranscriptionEnabled(
+ context, status.getPhoneAccountHandle(), true);
+ }
// Feature acknowledgement also means accepting TOS
recordTosAcceptance();
recordFeatureAcknowledgement();
@@ -228,9 +227,9 @@ public class VoicemailTosMessageCreator {
}
private boolean isVoicemailTranscriptionAvailable() {
- return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
- && ConfigProviderBindings.get(context)
- .getBoolean("voicemail_transcription_available", false);
+ return VoicemailComponent.get(context)
+ .getVoicemailClient()
+ .isVoicemailTranscriptionAvailable(context, status.getPhoneAccountHandle());
}
private void showDeclineTosDialog(final PhoneAccountHandle handle) {
diff --git a/java/com/android/dialer/voicemail/listui/error/res/values/strings.xml b/java/com/android/dialer/voicemail/listui/error/res/values/strings.xml
index b222d9c01..4306063d9 100644
--- a/java/com/android/dialer/voicemail/listui/error/res/values/strings.xml
+++ b/java/com/android/dialer/voicemail/listui/error/res/values/strings.xml
@@ -199,7 +199,7 @@ Si no acepta todos estos términos y condiciones, no use el buzón de voz visual
<string name="dialer_terms_and_conditions_decline_spanish" translatable="false">Rechazar</string>
<string name="dialer_terms_and_conditions_existing_user_ack">Ok, got it</string>
- <string name="dialer_terms_and_conditions_existing_user_setings">Settings</string>
+ <string name="dialer_terms_and_conditions_existing_user_decline">No Thanks</string>
<string name="terms_and_conditions_decline_dialog_title">Disable visual voicemail?</string>