diff options
author | mdooley <mdooley@google.com> | 2017-11-01 15:26:50 -0700 |
---|---|---|
committer | zachh <zachh@google.com> | 2017-11-10 23:40:37 +0000 |
commit | 96f71f736034d33e4533e2d03321f7e5cd94efa7 (patch) | |
tree | 91e60f85da1af28da099e18a23fe9b5dde2110dd | |
parent | d3014bf98eed2e3968c81999350e6e8be58910b2 (diff) |
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
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; } |