Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e0aee3c0 authored by Tyler Gunn's avatar Tyler Gunn
Browse files

DO NOT MERGE Add helper method in phone to get new carrier config key.

Also, add method to return all emergency numbers that have the specified
number.

Test: See other cls for actual tests.
Bug: 281934614
Change-Id: I25f627fdadcbc512e045302a5ba52e3ed8a89cbc
parent e175b76d
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -714,6 +714,28 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
                CarrierConfigManager.KEY_PREVENT_CLIR_ACTIVATION_AND_DEACTIVATION_CODE_BOOL);
    }

    /**
     * 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
+17 −0
Original line number Diff line number Diff line
@@ -934,6 +934,23 @@ public class EmergencyNumberTracker extends Handler {
        return null;
    }

    /**
     * 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