From 26f4c5d2c3fc60a05786806c6146b1d14b8baf9c Mon Sep 17 00:00:00 2001 From: Rambo Wang Date: Thu, 9 Mar 2023 01:30:27 +0000 Subject: Update javadoc of the newly introduced CarrirConfigManager APIs This CL updates the javadoc of the newly introduced carrier config subset retrieval APIs to support keys without default values. For historical reasons, some AOSP public or OEMs/carriers private carrier config keys didn't provide default values. When retrieving configs with such key, the current implementation return empty bundle which may break those user cases. The right behavior is that keys without default values will be filtered out, but other valid keys/values will be kept as is in the returned bundle. Bug: 244087782 Test: atest CarrirConfigManagerTest (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:afc9665161ad497d1c30d19ea42b3b83ab697b6d) Merged-In: I0f5593f8b5ba54bcd679be26a9a8db31ac33b461 Change-Id: Idb9a29fb79a5566661c702dff6d82421670e5473 --- telephony/java/android/telephony/CarrierConfigManager.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 5ad5001cb121..656a70a09048 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -9377,7 +9377,8 @@ public class CarrierConfigManager { * Gets the configuration values of the specified keys for a particular subscription. * *

If an invalid subId is used, the returned configuration will contain default values for - * the specified keys. + * the specified keys. If the value for the key can't be found, the returned configuration will + * filter the key out. * *

After using this method to get the configuration bundle, * {@link #isConfigForIdentifiedCarrier(PersistableBundle)} should be called to confirm whether @@ -9395,8 +9396,8 @@ public class CarrierConfigManager { * @param subId The subscription ID on which the carrier config should be retrieved. * @param keys The carrier config keys to retrieve values. * @return A {@link PersistableBundle} with key/value mapping for the specified configuration - * on success, or an empty (but never null) bundle on failure (for example, when no value for - * the specified key can be found). + * on success, or an empty (but never null) bundle on failure (for example, when the calling app + * has no permission). */ @RequiresPermission(anyOf = { Manifest.permission.READ_PHONE_STATE, @@ -9514,6 +9515,8 @@ public class CarrierConfigManager { * Gets the configuration values of the specified config keys applied for the default * subscription. * + *

If the value for the key can't be found, the returned bundle will filter the key out. + * *

After using this method to get the configuration bundle, {@link * #isConfigForIdentifiedCarrier(PersistableBundle)} should be called to confirm whether any * carrier specific configuration has been applied. -- cgit v1.2.3-59-g8ed1b