From ef7ac4084e9d396e2b96a07faaccd232eca15648 Mon Sep 17 00:00:00 2001 From: twyen Date: Tue, 5 Jun 2018 11:18:37 -0700 Subject: Handle null carrier config for emergency call hint getCarrierConfig() is @Nullable. While the default implementation always return a bundle, this is not true for other carrier apps. ShadowTelephonyManager.getCarrierConfig() now return null as default to catch this behavior. TEST=TAP Bug: 80629471 Test: TAP PiperOrigin-RevId: 199327865 Change-Id: I7416bee3d5f5307919c6825fc74c26f25b6b001f --- .../dialer/app/calllog/LegacyVoicemailNotifier.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'java/com/android/dialer/app') diff --git a/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java b/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java index ccf12ae12..31e9edc6a 100644 --- a/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java +++ b/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java @@ -21,6 +21,7 @@ import android.app.Notification; import android.app.PendingIntent; import android.content.Context; import android.os.Build.VERSION_CODES; +import android.os.PersistableBundle; import android.support.annotation.NonNull; import android.support.v4.os.BuildCompat; import android.telecom.PhoneAccount; @@ -98,11 +99,14 @@ public final class LegacyVoicemailNotifier { context .getResources() .getQuantityString(R.plurals.notification_voicemail_title, count, count); - boolean isOngoing = - pinnedTelephonyManager - .getCarrierConfig() - .getBoolean(CarrierConfigManager.KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL); - + PersistableBundle config = pinnedTelephonyManager.getCarrierConfig(); + boolean isOngoing; + if (config == null) { + isOngoing = false; + } else { + isOngoing = + config.getBoolean(CarrierConfigManager.KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL); + } String contentText; PendingIntent contentIntent; if (!TextUtils.isEmpty(voicemailNumber) && callVoicemailIntent != null) { -- cgit v1.2.3