From 9295405d7cdc6e97bbebce485710aafb8704c198 Mon Sep 17 00:00:00 2001 From: calderwoodra Date: Fri, 8 Sep 2017 10:55:04 -0700 Subject: Fix NPE in contacts fragment. Bug: 64716624 Test: manual PiperOrigin-RevId: 168017541 Change-Id: Ia8e581f19a0a9c4d45bacc4ab94e54131763640a --- java/com/android/dialer/contactsfragment/ContactsFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'java/com/android/dialer') diff --git a/java/com/android/dialer/contactsfragment/ContactsFragment.java b/java/com/android/dialer/contactsfragment/ContactsFragment.java index ddf00b358..7d2097692 100644 --- a/java/com/android/dialer/contactsfragment/ContactsFragment.java +++ b/java/com/android/dialer/contactsfragment/ContactsFragment.java @@ -179,7 +179,7 @@ public class ContactsFragment extends Fragment @Override public void onLoadFinished(Loader loader, Cursor cursor) { - if (cursor.getCount() == 0) { + if (cursor == null || cursor.getCount() == 0) { emptyContentView.setDescription(R.string.all_contacts_empty); emptyContentView.setActionLabel(R.string.all_contacts_empty_add_contact_action); emptyContentView.setVisibility(View.VISIBLE); -- cgit v1.2.3 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 --- .../dialer/app/voicemail/error/VoicemailTosMessageCreator.java | 5 +++-- .../android/voicemail/impl/settings/VoicemailSettingsFragment.java | 2 ++ java/com/android/voicemail/impl/sms/LegacyModeSmsHandler.java | 2 ++ java/com/android/voicemail/stub/StubVoicemailClient.java | 4 +++- 4 files changed, 10 insertions(+), 3 deletions(-) (limited to 'java/com/android/dialer') 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 -- cgit v1.2.3