From d0a56a1c3d61c95ff898e2fe4aa482280b4bf637 Mon Sep 17 00:00:00 2001 From: Allen Xu Date: Thu, 10 Mar 2022 18:24:32 +0000 Subject: [PATCH] Support PersistableBundle type config values in getConfigByComponentForSubId PersistableBundle support is required to enable better handling of more complex carrier configurations. Bug: 223443016 Test: make, atest CarrierConfigManagerTest Change-Id: Idb564cf44d7d321b95cccb18798992e718f30da4 --- .../telephony/CarrierConfigManager.java | 38 ++++++------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index dda5ea7aab537..3691fb06abdb9 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -9499,42 +9499,26 @@ public class CarrierConfigManager { private void addConfig(String key, Object value, PersistableBundle configs) { if (value instanceof String) { configs.putString(key, (String) value); - } - - if (value instanceof String[]) { + } else if (value instanceof String[]) { configs.putStringArray(key, (String[]) value); - } - - if (value instanceof Integer) { + } else if (value instanceof Integer) { configs.putInt(key, (Integer) value); - } - - if (value instanceof Long) { + } else if (value instanceof Long) { configs.putLong(key, (Long) value); - } - - if (value instanceof Double) { + } else if (value instanceof Double) { configs.putDouble(key, (Double) value); - } - - if (value instanceof Boolean) { + } else if (value instanceof Boolean) { configs.putBoolean(key, (Boolean) value); - } - - if (value instanceof int[]) { + } else if (value instanceof int[]) { configs.putIntArray(key, (int[]) value); - } - - if (value instanceof double[]) { + } else if (value instanceof double[]) { configs.putDoubleArray(key, (double[]) value); - } - - if (value instanceof boolean[]) { + } else if (value instanceof boolean[]) { configs.putBooleanArray(key, (boolean[]) value); - } - - if (value instanceof long[]) { + } else if (value instanceof long[]) { configs.putLongArray(key, (long[]) value); + } else if (value instanceof PersistableBundle) { + configs.putPersistableBundle(key, (PersistableBundle) value); } } }