diff options
author | Xin Li <delphij@google.com> | 2023-12-07 15:48:02 -0800 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2023-12-07 15:48:02 -0800 |
commit | cb2e4328ea290a5aa19c06992fb5166d368fab54 (patch) | |
tree | 116aa4442cf904d091dbba38984d8d47ca2dcfb5 | |
parent | c3955e7ab9b812f6ed9577b13e4597ff032d3abb (diff) | |
parent | 9dc4b919c1f006d1fa97eac5b5d4e889f42ba2d7 (diff) | |
download | telephony-tmp_amf_315507370.tar.gz |
Merge UQ1A.231205.015tmp_amf_315507370
Bug: 308969284
Merged-In: I25f627fdadcbc512e045302a5ba52e3ed8a89cbc
Change-Id: I1fbd86e4d1ba15fffe7da32728b2b0ed489e20c1
-rw-r--r-- | src/java/com/android/internal/telephony/Phone.java | 22 | ||||
-rw-r--r-- | src/java/com/android/internal/telephony/emergency/EmergencyNumberTracker.java | 17 |
2 files changed, 39 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/Phone.java b/src/java/com/android/internal/telephony/Phone.java index cee3a5820a..0f4f528b72 100644 --- a/src/java/com/android/internal/telephony/Phone.java +++ b/src/java/com/android/internal/telephony/Phone.java @@ -715,6 +715,28 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { } /** + * Determines if the carrier prefers to use an in service sim for a normal routed emergency + * call. + * @return true when carrier config + * {@link CarrierConfigManager#KEY_PREFER_IN_SERVICE_SIM_FOR_NORMAL_ROUTED_EMERGENCY_CALLS_BOOL} + * is true. + */ + public boolean shouldPreferInServiceSimForNormalRoutedEmergencyCall() { + CarrierConfigManager configManager = (CarrierConfigManager) + getContext().getSystemService(Context.CARRIER_CONFIG_SERVICE); + PersistableBundle b = configManager.getConfigForSubId(getSubId(), CarrierConfigManager + .KEY_PREFER_IN_SERVICE_SIM_FOR_NORMAL_ROUTED_EMERGENCY_CALLS_BOOL); + if (b != null) { + return b.getBoolean(CarrierConfigManager + .KEY_PREFER_IN_SERVICE_SIM_FOR_NORMAL_ROUTED_EMERGENCY_CALLS_BOOL, + false); + } else { + // Default value set in CarrierConfigManager + return false; + } + } + + /** * When overridden the derived class needs to call * super.handleMessage(msg) so this method has a * a chance to process the message. diff --git a/src/java/com/android/internal/telephony/emergency/EmergencyNumberTracker.java b/src/java/com/android/internal/telephony/emergency/EmergencyNumberTracker.java index 9b44001785..e2418c5acd 100644 --- a/src/java/com/android/internal/telephony/emergency/EmergencyNumberTracker.java +++ b/src/java/com/android/internal/telephony/emergency/EmergencyNumberTracker.java @@ -935,6 +935,23 @@ public class EmergencyNumberTracker extends Handler { } /** + * Get a list of the {@link EmergencyNumber}s that have the corresponding emergency number. + * Note: {@link #getEmergencyNumber(String)} assumes there is ONLY one record for a phone number + * when in reality there CAN be multiple instances if the same number is reported by the radio + * for a specific mcc and the emergency number database specifies the number without an mcc + * specified. + * + * @param emergencyNumber the emergency number to find. + * @return the list of emergency numbers matching. + */ + public List<EmergencyNumber> getEmergencyNumbers(String emergencyNumber) { + final String toFind = PhoneNumberUtils.stripSeparators(emergencyNumber); + return getEmergencyNumberList().stream() + .filter(num -> num.getNumber().equals(toFind)) + .toList(); + } + + /** * Get the emergency service categories for the corresponding emergency number. The only * trusted sources for the categories are the * {@link EmergencyNumber#EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING} and |