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

Commit 2e85afee authored by Shuo Qian's avatar Shuo Qian Committed by Android (Google) Code Review
Browse files

Merge "Integrate MARINE_GUARD service in EmergencyNumberTracker from the database" into sc-dev

parents e2dc47fe 545c5294
Loading
Loading
Loading
Loading
+22 −12
Original line number Diff line number Diff line
@@ -396,22 +396,32 @@ public class EmergencyNumberTracker extends Handler {
        for (int typeData : eccInfo.types) {
            switch (typeData) {
                case EccInfo.Type.POLICE:
                    emergencyServiceCategoryBitmask = emergencyServiceCategoryBitmask == 0
                            ? EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_POLICE
                            : emergencyServiceCategoryBitmask
                            | EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_POLICE;
                    emergencyServiceCategoryBitmask |=
                            EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_POLICE;
                    break;
                case EccInfo.Type.AMBULANCE:
                    emergencyServiceCategoryBitmask = emergencyServiceCategoryBitmask == 0
                            ? EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_AMBULANCE
                            : emergencyServiceCategoryBitmask
                            | EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_AMBULANCE;
                    emergencyServiceCategoryBitmask |=
                            EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_AMBULANCE;
                    break;
                case EccInfo.Type.FIRE:
                    emergencyServiceCategoryBitmask = emergencyServiceCategoryBitmask == 0
                            ? EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE
                            : emergencyServiceCategoryBitmask
                            | EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE;
                    emergencyServiceCategoryBitmask |=
                            EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE;
                    break;
                case EccInfo.Type.MARINE_GUARD:
                    emergencyServiceCategoryBitmask |=
                            EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD;
                    break;
                case EccInfo.Type.MOUNTAIN_RESCUE:
                    emergencyServiceCategoryBitmask |=
                            EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE;
                    break;
                case EccInfo.Type.MIEC:
                    emergencyServiceCategoryBitmask |=
                            EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_MIEC;
                    break;
                case EccInfo.Type.AIEC:
                    emergencyServiceCategoryBitmask |=
                            EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_AIEC;
                    break;
                default:
                    // Ignores unknown types.
(51 B)

File changed.

No diff preview for this file type.

+15 −0
Original line number Diff line number Diff line
revision: 1
countries {
  iso_code: "US"
  eccs {
    phone_number: "54321"
    types: POLICE
    types: AMBULANCE
    types: FIRE
    types: MARINE_GUARD
    types: MOUNTAIN_RESCUE
    types: MIEC
    types: AIEC
  }
  ecc_fallback: "911"
}
+25 −10
Original line number Diff line number Diff line
@@ -64,6 +64,24 @@ public class EmergencyNumberTrackerTest extends TelephonyTest {
    private static final String EMERGENCY_NUMBER_DB_OTA_FILE = "eccdata_ota";
    private static final int CONFIG_UNIT_TEST_EMERGENCY_NUMBER_DB_VERSION = 99999;
    private static final String CONFIG_EMERGENCY_NUMBER_ADDRESS = "54321";
    private static final String CONFIG_EMERGENCY_NUMBER_COUNTRY = "us";
    private static final String CONFIG_EMERGENCY_NUMBER_MNC = "";
    private static final int CONFIG_EMERGENCY_NUMBER_SERVICE_CATEGORIES =
            EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_POLICE
                    | EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_AMBULANCE
                    | EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE
                    | EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD
                    | EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE
                    | EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_MIEC
                    | EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_AIEC;
    private static final ArrayList<String> CONFIG_EMERGENCY_NUMBER_SERVICE_URNS =
            new ArrayList<String>();
    private static final EmergencyNumber CONFIG_EMERGENCY_NUMBER = new EmergencyNumber(
            CONFIG_EMERGENCY_NUMBER_ADDRESS, CONFIG_EMERGENCY_NUMBER_COUNTRY,
                    CONFIG_EMERGENCY_NUMBER_MNC, CONFIG_EMERGENCY_NUMBER_SERVICE_CATEGORIES,
                            CONFIG_EMERGENCY_NUMBER_SERVICE_URNS,
                                    EmergencyNumber.EMERGENCY_NUMBER_SOURCE_DATABASE,
                                            EmergencyNumber.EMERGENCY_CALL_ROUTING_UNKNOWN);
    private static final int OTA_UNIT_TEST_EMERGENCY_NUMBER_DB_VERSION = 999999;
    private static final String OTA_EMERGENCY_NUMBER_ADDRESS = "98765";

@@ -206,6 +224,10 @@ public class EmergencyNumberTrackerTest extends TelephonyTest {
        }
    }

    private boolean hasDbEmergencyNumber(EmergencyNumber number, List<EmergencyNumber> list) {
        return list.contains(number);
    }

    private boolean hasDbEmergencyNumber(String number, List<EmergencyNumber> list) {
        boolean foundDbNumber = false;
        for (EmergencyNumber num : list) {
@@ -332,15 +354,8 @@ public class EmergencyNumberTrackerTest extends TelephonyTest {
        sendEmergencyNumberPrefix(mEmergencyNumberTrackerMock);
        mEmergencyNumberTrackerMock.updateEmergencyCountryIsoAllPhones("us");
        processAllMessages();

        boolean hasDatabaseNumber = false;
        for (EmergencyNumber number : mEmergencyNumberTrackerMock.getEmergencyNumberList()) {
            if (number.isFromSources(EmergencyNumber.EMERGENCY_NUMBER_SOURCE_DATABASE)) {
                hasDatabaseNumber = true;
                break;
            }
        }
        assertTrue(hasDatabaseNumber);
        assertTrue(hasDbEmergencyNumber(CONFIG_EMERGENCY_NUMBER,
                mEmergencyNumberTrackerMock.getEmergencyNumberList()));
    }

    /**
@@ -357,7 +372,7 @@ public class EmergencyNumberTrackerTest extends TelephonyTest {

        // Emergency Number Db is cached per country, given the country is empty at this time,
        // we should not expect any db number there.
        assertFalse(hasDbEmergencyNumber(CONFIG_EMERGENCY_NUMBER_ADDRESS,
        assertFalse(hasDbEmergencyNumber(CONFIG_EMERGENCY_NUMBER,
                mEmergencyNumberTrackerMock.getEmergencyNumberList()));

        // Set up the OTA database file folder as sdcard for testing purposes