summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortwyen <twyen@google.com>2017-09-08 11:10:16 -0700
committerEric Erfanian <erfanian@google.com>2017-09-11 13:49:27 -0700
commitbf900241b71a4a594ce989bf0d18ada1d5fadb56 (patch)
tree3e6418fc85a41ccfb06b362f39f462485061e80d
parent9295405d7cdc6e97bbebce485710aafb8704c198 (diff)
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 <xuegang.x.liu@sony.com> Bug: 65001008 Test: manual - Checked that correct PhoneAccountHandle will be passed PiperOrigin-RevId: 168019873 Change-Id: I8578dd2c4ac24e4af121a90b2b175baae2832461
-rw-r--r--java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java5
-rw-r--r--java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java2
-rw-r--r--java/com/android/voicemail/impl/sms/LegacyModeSmsHandler.java2
-rw-r--r--java/com/android/voicemail/stub/StubVoicemailClient.java4
4 files changed, 10 insertions, 3 deletions
diff --git a/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
index baf7b9989..53f4680d2 100644
--- a/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
+++ b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
@@ -143,7 +143,7 @@ public class VoicemailTosMessageCreator {
if (isVvm3() && Vvm3VoicemailMessageCreator.PIN_NOT_SET == status.configurationState) {
LogUtil.i(
"VoicemailTosMessageCreator.showDeclineTosDialog", "PIN_NOT_SET, showing set PIN dialog");
- showSetPinBeforeDeclineDialog();
+ showSetPinBeforeDeclineDialog(handle);
return;
}
LogUtil.i(
@@ -180,7 +180,7 @@ public class VoicemailTosMessageCreator {
builder.show();
}
- private void showSetPinBeforeDeclineDialog() {
+ private void showSetPinBeforeDeclineDialog(PhoneAccountHandle phoneAccountHandle) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage(R.string.verizon_terms_and_conditions_decline_set_pin_dialog_message);
builder.setPositiveButton(
@@ -191,6 +191,7 @@ public class VoicemailTosMessageCreator {
Logger.get(context)
.logImpression(DialerImpression.Type.VOICEMAIL_VVM3_TOS_DECLINE_CHANGE_PIN_SHOWN);
Intent intent = new Intent(TelephonyManager.ACTION_CONFIGURE_VOICEMAIL);
+ intent.putExtra(TelephonyManager.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
context.startActivity(intent);
}
});
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() {
diff --git a/java/com/android/voicemail/impl/sms/LegacyModeSmsHandler.java b/java/com/android/voicemail/impl/sms/LegacyModeSmsHandler.java
index e902825c0..d55e3b5ae 100644
--- a/java/com/android/voicemail/impl/sms/LegacyModeSmsHandler.java
+++ b/java/com/android/voicemail/impl/sms/LegacyModeSmsHandler.java
@@ -101,6 +101,8 @@ public class LegacyModeSmsHandler {
Intent launchVoicemailSettingsIntent =
new Intent(TelephonyManager.ACTION_CONFIGURE_VOICEMAIL);
launchVoicemailSettingsIntent.putExtra(TelephonyManager.EXTRA_HIDE_PUBLIC_SETTINGS, true);
+ launchVoicemailSettingsIntent.putExtra(
+ TelephonyManager.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
launchVoicemailSettingsPendingIntent =
PendingIntent.getActivity(
diff --git a/java/com/android/voicemail/stub/StubVoicemailClient.java b/java/com/android/voicemail/stub/StubVoicemailClient.java
index 992950340..c2c7a6d38 100644
--- a/java/com/android/voicemail/stub/StubVoicemailClient.java
+++ b/java/com/android/voicemail/stub/StubVoicemailClient.java
@@ -77,7 +77,9 @@ public final class StubVoicemailClient implements VoicemailClient {
@Override
public Intent getSetPinIntent(Context context, PhoneAccountHandle phoneAccountHandle) {
- return new Intent(TelephonyManager.ACTION_CONFIGURE_VOICEMAIL);
+ Intent intent = new Intent(TelephonyManager.ACTION_CONFIGURE_VOICEMAIL);
+ intent.putExtra(TelephonyManager.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
+ return intent;
}
@Override