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

Commit 4762099f authored by sparvathy's avatar sparvathy
Browse files

(Emergency call routing type) support DB routing type while merging

While merging duplicate numbers if one them is from DB
then use DB number's routing type, combine source.

Test: atest EmergencyNumberTest & emergency call test in device
Bug: 238359415
Change-Id: I8288b4899168c24dd026a5d3ef8e9505c25bd0c6
parent 0b9afd91
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -660,9 +660,6 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu
        if (!first.getEmergencyUrns().equals(second.getEmergencyUrns())) {
            return false;
        }
        if (first.getEmergencyCallRouting() != second.getEmergencyCallRouting()) {
            return false;
        }
        // Never merge two numbers if one of them is from test mode but the other one is not;
        // This supports to remove a number from the test mode.
        if (first.isFromSources(EMERGENCY_NUMBER_SOURCE_TEST)
@@ -685,12 +682,18 @@ public final class EmergencyNumber implements Parcelable, Comparable<EmergencyNu
    public static EmergencyNumber mergeSameEmergencyNumbers(@NonNull EmergencyNumber first,
                                                            @NonNull EmergencyNumber second) {
        if (areSameEmergencyNumbers(first, second)) {
            int routing = first.getEmergencyCallRouting();

            if (second.isFromSources(EMERGENCY_NUMBER_SOURCE_DATABASE)) {
                routing = second.getEmergencyCallRouting();
            }

            return new EmergencyNumber(first.getNumber(), first.getCountryIso(), first.getMnc(),
                    first.getEmergencyServiceCategoryBitmask(),
                    first.getEmergencyUrns(),
                    first.getEmergencyNumberSourceBitmask()
                            | second.getEmergencyNumberSourceBitmask(),
                    first.getEmergencyCallRouting());
                    routing);
        }
        return null;
    }