diff options
author | Brad Ebinger <breadley@google.com> | 2017-05-03 16:37:54 -0700 |
---|---|---|
committer | Brad Ebinger <breadley@google.com> | 2017-05-04 17:01:50 +0000 |
commit | 99ef90f901e579067ea8df1c1868482458aceccf (patch) | |
tree | 657c6754fa701663360be276d93280f3af634700 /rcs/rcsservice | |
parent | a311636ad17b3ffccc9908a173cfb45b32d8bf6b (diff) | |
download | ims-99ef90f901e579067ea8df1c1868482458aceccf.tar.gz |
Stop RcsService crash when CarrierConfig misbehaves
When the CarrierConfig config returns null, we do
not crash anymore.
Bug: 37868318
Test: Manual Testing
Change-Id: Icb6d2d99bc108d5c238f1a90ef382457f6c43f35
Diffstat (limited to 'rcs/rcsservice')
-rw-r--r-- | rcs/rcsservice/src/com/android/service/ims/RcsSettingUtils.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/rcs/rcsservice/src/com/android/service/ims/RcsSettingUtils.java b/rcs/rcsservice/src/com/android/service/ims/RcsSettingUtils.java index 862074d..40de8f7 100644 --- a/rcs/rcsservice/src/com/android/service/ims/RcsSettingUtils.java +++ b/rcs/rcsservice/src/com/android/service/ims/RcsSettingUtils.java @@ -29,6 +29,8 @@ package com.android.service.ims; import java.lang.String; + +import android.os.PersistableBundle; import android.telephony.CarrierConfigManager; import android.telephony.TelephonyManager; import android.content.Context; @@ -55,9 +57,12 @@ public class RcsSettingUtils{ CarrierConfigManager configManager = (CarrierConfigManager) context.getSystemService(Context.CARRIER_CONFIG_SERVICE); // Don't need provision. - if (configManager != null && !configManager.getConfig().getBoolean( - CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONED_BOOL)) { - return true; + if (configManager != null) { + PersistableBundle config = configManager.getConfig(); + if (config != null && !config.getBoolean( + CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONED_BOOL)) { + return true; + } } boolean provisioned = defaultValue; |