summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/app/settings/DialerSettingsActivity.java
diff options
context:
space:
mode:
authorEric Erfanian <erfanian@google.com>2017-04-06 23:16:42 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-04-06 23:16:42 +0000
commit28188020060d1ad3304dfa0367486ff5bb35da62 (patch)
tree8d08d4f2292aa84dc435d455891e7ab633d95a25 /java/com/android/dialer/app/settings/DialerSettingsActivity.java
parent34e183cfd77f68e0ade42d2080c76f54a319430d (diff)
parent01a86435499d66b267765f89b7dd9c83c158ddfe (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.java44
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