summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormdooley <mdooley@google.com>2017-11-01 15:26:50 -0700
committerzachh <zachh@google.com>2017-11-10 23:40:37 +0000
commit96f71f736034d33e4533e2d03321f7e5cd94efa7 (patch)
tree91e60f85da1af28da099e18a23fe9b5dde2110dd
parentd3014bf98eed2e3968c81999350e6e8be58910b2 (diff)
downloadandroid_packages_apps_Dialer-96f71f736034d33e4533e2d03321f7e5cd94efa7.tar.gz
android_packages_apps_Dialer-96f71f736034d33e4533e2d03321f7e5cd94efa7.tar.bz2
android_packages_apps_Dialer-96f71f736034d33e4533e2d03321f7e5cd94efa7.zip
Fixing bug in donation settings
in cl/173731907 we added a setting for donating voicemails, but didn't distinguish between when this feature is enabled/disabled by the user or by configuration. this cl fixes that by adding a method to check if the feature is available (ie enabled by config). Bug: 62423454 Test: manual and unit test PiperOrigin-RevId: 174245260 Change-Id: I45a59de7f4a171d759e2fcf86db27a100a84de67
-rw-r--r--java/com/android/dialer/voicemail/settings/VoicemailSettingsFragment.java2
-rw-r--r--java/com/android/voicemail/VoicemailClient.java3
-rw-r--r--java/com/android/voicemail/impl/VoicemailClientImpl.java16
-rw-r--r--java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java4
-rw-r--r--java/com/android/voicemail/stub/StubVoicemailClient.java5
5 files changed, 27 insertions, 3 deletions
diff --git a/java/com/android/dialer/voicemail/settings/VoicemailSettingsFragment.java b/java/com/android/dialer/voicemail/settings/VoicemailSettingsFragment.java
index efeed0861..2b496c0ca 100644
--- a/java/com/android/dialer/voicemail/settings/VoicemailSettingsFragment.java
+++ b/java/com/android/dialer/voicemail/settings/VoicemailSettingsFragment.java
@@ -113,7 +113,7 @@ public class VoicemailSettingsFragment extends PreferenceFragment
if (!VoicemailComponent.get(getContext())
.getVoicemailClient()
- .isVoicemailDonationEnabled(getContext(), phoneAccountHandle)) {
+ .isVoicemailDonationAvailable(getContext())) {
getPreferenceScreen().removePreference(donateVoicemailSwitchPreference);
}
diff --git a/java/com/android/voicemail/VoicemailClient.java b/java/com/android/voicemail/VoicemailClient.java
index d033369b4..050286a41 100644
--- a/java/com/android/voicemail/VoicemailClient.java
+++ b/java/com/android/voicemail/VoicemailClient.java
@@ -128,6 +128,9 @@ public interface VoicemailClient {
*/
boolean isVoicemailTranscriptionAvailable(Context context);
+ /** @return if the voicemail donation feature is available. */
+ boolean isVoicemailDonationAvailable(Context context);
+
/** @return if the voicemail donation setting has been enabled by the user. */
boolean isVoicemailDonationEnabled(Context context, PhoneAccountHandle account);
diff --git a/java/com/android/voicemail/impl/VoicemailClientImpl.java b/java/com/android/voicemail/impl/VoicemailClientImpl.java
index 14fa1d80b..2add59ec7 100644
--- a/java/com/android/voicemail/impl/VoicemailClientImpl.java
+++ b/java/com/android/voicemail/impl/VoicemailClientImpl.java
@@ -136,6 +136,22 @@ public class VoicemailClientImpl implements VoicemailClient {
}
@Override
+ public boolean isVoicemailDonationAvailable(Context context) {
+ if (!isVoicemailTranscriptionAvailable(context)) {
+ LogUtil.i("VoicemailClientImpl.isVoicemailDonationAvailable", "transcription not available");
+ return false;
+ }
+
+ TranscriptionConfigProvider provider = new TranscriptionConfigProvider(context);
+ if (!provider.isVoicemailDonationAvailable()) {
+ LogUtil.i("VoicemailClientImpl.isVoicemailDonationAvailable", "feature disabled by config");
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
public boolean isVoicemailDonationEnabled(Context context, PhoneAccountHandle account) {
return isVoicemailTranscriptionAvailable(context)
&& VisualVoicemailSettingsUtil.isVoicemailDonationEnabled(context, account);
diff --git a/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java b/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java
index 5da450312..f4996a097 100644
--- a/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java
+++ b/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java
@@ -75,9 +75,9 @@ public class TranscriptionConfigProvider {
.getLong("voicemail_transcription_get_transcript_poll_interval_millis", 1000L);
}
- public boolean isVoicemailDonationEnabled() {
+ public boolean isVoicemailDonationAvailable() {
return ConfigProviderBindings.get(context)
- .getBoolean("voicemail_transcription_donation_enabled", false);
+ .getBoolean("voicemail_transcription_donation_available", false);
}
@Override
diff --git a/java/com/android/voicemail/stub/StubVoicemailClient.java b/java/com/android/voicemail/stub/StubVoicemailClient.java
index 0fe533e62..fe063245f 100644
--- a/java/com/android/voicemail/stub/StubVoicemailClient.java
+++ b/java/com/android/voicemail/stub/StubVoicemailClient.java
@@ -76,6 +76,11 @@ public final class StubVoicemailClient implements VoicemailClient {
}
@Override
+ public boolean isVoicemailDonationAvailable(Context context) {
+ return false;
+ }
+
+ @Override
public boolean isVoicemailDonationEnabled(Context context, PhoneAccountHandle account) {
return false;
}