From bf900241b71a4a594ce989bf0d18ada1d5fadb56 Mon Sep 17 00:00:00 2001 From: twyen Date: Fri, 8 Sep 2017 11:10:16 -0700 Subject: Send PhoneAccountHandle with ACTION_CONFIGURE_VOICEMAIL When opening a voicemail setting from Dialer with ACTION_CONFIGURE_VOICEMAIL, no subId is passed. So on a multi-SIM device, it is always configuration on the default phone regardless of SIM. To solve this, set the PhoneAccountHandle to intent extra for ACTION_CONFIGURE_VOICEMAIL. In the advanced settings, obtains subId from the PhoneAccountHandle. Test: manual - Checked that correct PhoneAccountHandle will be passed with ACTION_CONFIGURE_VOICEMAIL intent Bug: 65001008 Author: xuegang.x.liu Bug: 65001008 Test: manual - Checked that correct PhoneAccountHandle will be passed PiperOrigin-RevId: 168019873 Change-Id: I8578dd2c4ac24e4af121a90b2b175baae2832461 --- java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java') diff --git a/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java b/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java index 4860649b3..e2ea72569 100644 --- a/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java +++ b/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java @@ -151,6 +151,8 @@ public class VoicemailSettingsFragment extends PreferenceFragment (PreferenceScreen) findPreference(getString(R.string.voicemail_advanced_settings_key)); Intent advancedSettingsIntent = new Intent(TelephonyManager.ACTION_CONFIGURE_VOICEMAIL); advancedSettingsIntent.putExtra(TelephonyManager.EXTRA_HIDE_PUBLIC_SETTINGS, true); + advancedSettingsIntent.putExtra( + TelephonyManager.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle); advancedSettings.setIntent(advancedSettingsIntent); voicemailChangePinPreference.setOnPreferenceClickListener( new OnPreferenceClickListener() { -- cgit v1.2.3