diff options
author | Eric Erfanian <erfanian@google.com> | 2017-04-06 23:16:42 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-04-06 23:16:42 +0000 |
commit | 28188020060d1ad3304dfa0367486ff5bb35da62 (patch) | |
tree | 8d08d4f2292aa84dc435d455891e7ab633d95a25 /java/com/android/dialer/app/settings/DialerSettingsActivity.java | |
parent | 34e183cfd77f68e0ade42d2080c76f54a319430d (diff) | |
parent | 01a86435499d66b267765f89b7dd9c83c158ddfe (diff) |
Update AOSP Dialer source from internal google3 repository at cl/152373142. am: d8046e520a
am: 01a8643549
Change-Id: Ib92542e6b88bc8d8906982280244661ed7dbca8f
Diffstat (limited to 'java/com/android/dialer/app/settings/DialerSettingsActivity.java')
-rw-r--r-- | java/com/android/dialer/app/settings/DialerSettingsActivity.java | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/java/com/android/dialer/app/settings/DialerSettingsActivity.java b/java/com/android/dialer/app/settings/DialerSettingsActivity.java index bbf1cfae5..ff3841aa1 100644 --- a/java/com/android/dialer/app/settings/DialerSettingsActivity.java +++ b/java/com/android/dialer/app/settings/DialerSettingsActivity.java @@ -24,6 +24,8 @@ import android.os.Bundle; import android.os.UserManager; import android.preference.PreferenceManager; import android.provider.Settings; +import android.telecom.PhoneAccount; +import android.telecom.PhoneAccountHandle; import android.telecom.TelecomManager; import android.telephony.TelephonyManager; import android.view.MenuItem; @@ -31,8 +33,10 @@ import android.widget.Toast; import com.android.contacts.common.compat.TelephonyManagerCompat; import com.android.dialer.app.R; import com.android.dialer.blocking.FilteredNumberCompat; +import com.android.dialer.common.LogUtil; import com.android.dialer.compat.CompatUtils; import com.android.dialer.proguard.UsedByReflection; +import com.android.voicemail.VoicemailClient; import com.android.voicemail.VoicemailComponent; import java.util.List; @@ -119,14 +123,7 @@ public class DialerSettingsActivity extends AppCompatPreferenceActivity { migrationStatusOnBuildHeaders = FilteredNumberCompat.hasMigratedToNewBlocking(this); } - String voicemailSettingsFragment = - VoicemailComponent.get(this).getVoicemailClient().getSettingsFragment(); - if (isPrimaryUser && voicemailSettingsFragment != null) { - Header voicemailSettings = new Header(); - voicemailSettings.titleRes = R.string.voicemail_settings_label; - voicemailSettings.fragment = voicemailSettingsFragment; - target.add(voicemailSettings); - } + addVoicemailSettings(target, isPrimaryUser); if (isPrimaryUser && (TelephonyManagerCompat.isTtyModeSupported(telephonyManager) @@ -140,6 +137,37 @@ public class DialerSettingsActivity extends AppCompatPreferenceActivity { } } + private void addVoicemailSettings(List<Header> target, boolean isPrimaryUser) { + if (!isPrimaryUser) { + LogUtil.i("DialerSettingsActivity.addVoicemailSettings", "user not primary user"); + return; + } + String voicemailSettingsFragment = + VoicemailComponent.get(this).getVoicemailClient().getSettingsFragment(); + if (voicemailSettingsFragment == null) { + LogUtil.i( + "DialerSettingsActivity.addVoicemailSettings", + "VoicemailClient does not provide settings"); + return; + } + + PhoneAccountHandle phoneAccountHandle = + getSystemService(TelecomManager.class) + .getDefaultOutgoingPhoneAccount(PhoneAccount.SCHEME_TEL); + if (phoneAccountHandle == null) { + LogUtil.e("DialerSettingsActivity.addVoicemailSettings", "phoneAccountHandle is null"); + return; + } + LogUtil.i("DialerSettingsActivity.addVoicemailSettings", "adding voicemail settings"); + Header voicemailSettings = new Header(); + voicemailSettings.titleRes = R.string.voicemail_settings_label; + voicemailSettings.fragment = voicemailSettingsFragment; + Bundle bundle = new Bundle(); + bundle.putParcelable(VoicemailClient.PARAM_PHONE_ACCOUNT_HANDLE, phoneAccountHandle); + voicemailSettings.fragmentArguments = bundle; + target.add(voicemailSettings); + } + /** * Returns {@code true} or {@code false} based on whether the display options setting should be * shown. For languages such as Chinese, Japanese, or Korean, display options aren't useful since |