From c6027ee46486bcc6e0df457c5678eb697d6ed321 Mon Sep 17 00:00:00 2001 From: Shaopeng Jia Date: Thu, 22 Sep 2011 13:53:40 +0200 Subject: [PATCH] Temp fix to the problem of incorrectly classifying Brazilian local numbers as emergency numbers. Bug: 5247602 Change-Id: Ib1626ef25ced2e149c526601bfac72de39e3f1b9 --- telephony/java/android/telephony/PhoneNumberUtils.java | 8 ++++++++ .../android/internal/telephony/PhoneNumberUtilsTest.java | 3 +++ 2 files changed, 11 insertions(+) diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java index 3e8d25558fe8f..ea349bf4b3573 100644 --- a/telephony/java/android/telephony/PhoneNumberUtils.java +++ b/telephony/java/android/telephony/PhoneNumberUtils.java @@ -1567,6 +1567,14 @@ public class PhoneNumberUtils // that has been collected. if (util.isValidNumber(pn)) { return false; + } else if ("BR".equalsIgnoreCase(defaultCountryIso) && number.length() >= 8) { + // This is to prevent Brazilian local numbers which start with 911 being incorrectly + // classified as emergency numbers. 911 is not an emergency number in Brazil; it is also + // not possible to append additional digits to an emergency number to dial the number in + // Brazil - it won't connect. + // TODO: Clean this up once a list of country-specific known emergency numbers is + // collected. + return false; } } catch (NumberParseException e) { } diff --git a/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java index d3e4b78fde9d2..849ff48da9b1f 100644 --- a/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java +++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java @@ -551,5 +551,8 @@ public class PhoneNumberUtilsTest extends AndroidTestCase { // A valid fixed-line phone number from Brazil shouldn't be classified as an emergency number // in Brazil, as 112 is not an emergency number there. assertFalse(PhoneNumberUtils.isEmergencyNumber("1121234567", "BR")); + // A valid local phone number from Brazil shouldn't be classified as an emergency number in + // Brazil. + assertFalse(PhoneNumberUtils.isEmergencyNumber("91112345", "BR")); } }