Commit Graph

63 Commits

Author SHA1 Message Date
Daisuke Miyakawa
e69ec2253c Remove STOPSHIP part of the logging in telephony
We still need the log itself to trap the exceptional case.

Bug: 6201805
Change-Id: I62d12f6a1ed41817ee12c0f5c7fc4aa0a967a60f
2012-05-09 11:44:58 -07:00
Daisuke Miyakawa
0205537536 Add debug log for 5914560 and 6383850
This won't be shown in usual condition since in most cases the method
will just use the block just above the logging and return true/false
there. On the other hand this might be useful if the case is truely
exceptional and thus this path is really used.

Bug: 5914560
Bug: 6383850
Change-Id: I2242f93a9b905b5a39d997aa30d9fd6f5bfbdf49
2012-04-25 08:03:22 -07:00
jshin
f80310d3c5 Added API to replace unicoded digits to ascii numbers
Users can enter arabic phone number or click arabic phone number
to send MMS. Works for generic Unicode digits (full-width, etc.).

bug:5615791
Change-Id: Ieec8c5c6c3736ee2b4ac8ddf17f8c41b2001460e

Signed-off-by: Jake Hamby <jhamby@google.com>
2012-04-16 15:06:40 -07:00
Jake Hamby
e333c82da3 Convert Arabic phone numbers to ASCII when sending SMS.
Modify PhoneNumberUtils to automatically convert non-ASCII digits,
such as Arabic-Indic numbers, CJK full-width digits, etc., to ASCII
in normalizeNumber(), extractNetworkPortion(), and stripSeparators().

This enables the SMS application to support sending SMS's to phone
numbers written with Arabic, or other non-ASCII digits. The number will
be converted to ASCII digits and formatted for the user according to the
country formatting rules.

Bug: 5615791
Change-Id: I42039285db5795b1dda22e4251f54af302e27f13

Signed-off-by: Jake Hamby <jhamby@google.com>
2012-04-16 15:06:40 -07:00
Daisuke Miyakawa
510db8feb6 Introduce convertAndStrip()
Phone app will use this for actual phone calling, coping with
IccProvider, etc.

Add unit tests for the method, and stripSeparators() which is missing

Bug: 5546664
Change-Id: I49b996abe7a44f7db4301b62f667189281fc40e9
2012-02-15 11:29:21 -08:00
Shaopeng Jia
26cd243601 Fix the 3-parameter formatNumber to correctly handle IDDs.
Also added more unittests.

Bug: 5726454

Change-Id: I7fd96b47e7b0c34b66a2fe698308342e125ec0f3
2012-02-06 15:46:10 +01:00
Shaopeng Jia
ab971d3c26 Add support for country specific emergency number handling.
Bug: 5247602, 5615428
Change-Id: I1bdfbc987f45e0f2ebbe68adaab215395c83ca35
2011-11-20 14:52:59 +01:00
David Brown
158f116eb7 Fix a crash caused by SIP addresses containing "%40" instead of "@"
CallerInfo.doSecondaryLookupIfNecessary() was assuming that SIP addresses
would always contain the character '@', but that's not always true since
the username/domainname delimiter can actually be "%40" (the URI-escaped
equivalent.)

This would cause the in-call UI to crash if you ever called a SIP address
like "xyz%40example.com".

TESTED:
 - Make an outgoing call to the SIP address "xyz%40example.com"
   ==> The call ultimately fails, but the in-call UI no longer crashes when
       it first comes up.

Bug: 5637074
Change-Id: I62d15a7ccd509924d38b780b92e657b9efa26125
2011-11-17 15:39:21 -08:00
David Brown
277b13e091 SIP addresses containing "911" shouldn't be considered emergency calls
This change updates isEmergencyNumberInternal() to always return false if
you pass in a SIP address, since the concept of "emergency numbers" is
only meaningful for calls placed over the cell network.

Previously we *did* try to compare SIP addresses against the list of known
emergency numbers, which caused bad behavior with SIP addresses that even
contained "911"/"112"/etc as a substring (since we were filtering out
non-dialable characters before doing the comparison!)

TESTED:

  - Before this change, calls to "abc911def@example.com" or
    "911abcdef@example.com" were incorrectly detected as emergency
    numbers, and fail.

  - After this change, SIP addresses like "abc911def@example.com" and
    "911abcdef@example.com" work fine.

  - Also, confirmed that this change doesn't break the restriction that
    3rd party apps shouldn't be able to make emergency calls.

    Specifically, I fired off ACTION_CALL intents (using the CallDialTest
    activity) for a bunch of numbers *similar* to emergency numbers, and
    confirmed that none of them actually resulted in an emergency call
    being placed.
    The specific ACTION_CALL intents I tested were:
      "911"         ==> Didn't place the call; brought up dialer instead
      "tel:911"     ==> Didn't place the call; brought up dialer instead
      "911@foo"     ==> Tried to start a SIP call (which failed)
      "911%40foo"     ==> Tried to start a SIP call (which failed)
      "tel:911@foo" ==> Tried to start a SIP call (which failed)
      "tel:911%40foo" ==> Tried to start a SIP call (which failed)
      "911@example.com" ==> Tried to start a SIP call (which failed)
      "sip:911"     ==> Didn't place the call; brought up dialer instead
      "sip:911@foo" ==> Tried to start a SIP call (which failed)
      "sip:911%40foo" ==> Tried to start a SIP call (which failed)

Bug: 5515452
Change-Id: I6f9f8690b08564c53c7a76f480654477b475d94d
2011-11-16 21:14:11 -08:00
David Brown
1a811695f9 Add "potential" variants for PhoneNumberUtils.isEmergencyNumber()
The phone app needs a way to distinguish between (a) numbers that are
definitely emergency numbers, and (b) numbers that *might* result in an
emergency call being dialed, but aren't specifically emergency numbers
themselves.

(The phone app needs this distinction in order to enforce the restriction
that 3rd party apps should not be allowed to make emergency calls using
the ACTION_CALL intent, while still making sure that the in-call UI only
displays the "emergency call" state for numbers that are *definitely*
emergency numbers.  See bug 5493790 for the full details;)

So this change adds a full set of "isPotentialEmergencyNumber()" methods
to go along with the "isEmergencyNumber()" methods we've had all along.
The "potential" variants behave identically to the original methods,
*except* that they ultimately use number.startsWith() rather than
number.equals() when comparing against the list of emergency numbers.

TESTED:

- Unit test 'PhoneNumberUtilsTest#testIsEmergencyNumber' passes.
  (The PhoneNumberUtilsTest class doesn't pass in its entirety, but it was
  broken before this change also.)

- Also see the commit description of change
  Ib949fea3c0ce6b341a90e617a03ba3f22c69018b for the exact tests I ran
  against the phone app.

This change should be submitted along with
  Change-Id: Ib949fea3c0ce6b341a90e617a03ba3f22c69018b
in apps/Phone (but this change must go in first to avoid breaking the
build.)

Bug: 5493790
Change-Id: Ic528cfcc555734cdaf4ca8a18a50199771ba49b1
2011-11-08 15:51:50 -08:00
Flavio Lerda
2613e0064b Do not format numbers starting with hash or star.
If the user asks to format a number that starts with either a hash or a
star symbol, do not further format the phone number since we are not
actually able to parse such a number correctly and current this results
in the star or hash being dropped.

Bug: 5362177
Change-Id: Iff8d317c087d0ca07f2b107459ce8c47882ef367
2011-09-27 13:53:23 +01:00
Shaopeng Jia
c6027ee464 Temp fix to the problem of incorrectly classifying Brazilian local
numbers as emergency numbers.

Bug: 5247602
Change-Id: Ib1626ef25ced2e149c526601bfac72de39e3f1b9
2011-09-22 23:22:56 +02:00
Shaopeng Jia
6b7c3f8a1c Update code to use location aware isEmergencyNumber.
Bug: 5247602
Change-Id: Ieeda4a17464795b3591db754bc991759609f88c2
2011-09-16 20:28:39 +02:00
Shaopeng Jia
9683f990a2 Adding isEmergencyNumber which also takes in a defaultCountryIso.
Also update CallerInfo and CallerInfoAsyncQuery to use the new method.

Bug: 5247602
Change-Id: I2bbb0806ad2787d53b19bc1e9bdfb0ee8be26980
2011-09-13 16:10:08 +02:00
inshik
4eb45cc98b Add utility functions for pause and tonewait pause.
Add a function that converts a string with RFC3601 defintion
of pause and wait into android representation.

Change-Id: Id8a17c3a166422d62247acb227506549990ace12
2011-08-15 17:05:25 -07:00
Shaopeng Jia
e713576292 Renaming com.google.i18n.phonenumbers to com.android.i18n.phonenumbers
to avoid name collision.

Bug: 5157607
Change-Id: Ic397f371e381a71f17b0b70b955e89d08f7a9867
2011-08-12 13:25:41 +02:00
Nick Kralevich
1234ce117a Modify emergency number detection
It's possible for an application to dial an emergency
number by appending extra digits to the phone number.

For example, one could dial "9111" instead of "911",
and a strict .equals wouldn't detect this as an emergency
number.

Replace .equals() with .startsWith()

Change-Id: I87f34fc2b9bbee2c4fa6be511bcc3b955559e0a9
2010-12-07 11:27:20 -08:00
David Brown
a23935ab33 am bd6d5098: am d07833f5: Don\'t manually create CallerInfo objects from SipPhone
Merge commit 'bd6d5098a7995429713ae0ae43b3f666f7b9aed3'

* commit 'bd6d5098a7995429713ae0ae43b3f666f7b9aed3':
  Don't manually create CallerInfo objects from SipPhone
2010-10-11 17:48:47 -07:00
David Brown
bd6d5098a7 am d07833f5: Don\'t manually create CallerInfo objects from SipPhone
Merge commit 'd07833f54b6e8e361b666ae16efa15fdf60159de' into gingerbread-plus-aosp

* commit 'd07833f54b6e8e361b666ae16efa15fdf60159de':
  Don't manually create CallerInfo objects from SipPhone
2010-10-10 16:44:01 -07:00
David Brown
d07833f54b Don't manually create CallerInfo objects from SipPhone
Currently the SipPhone class manually creates a CallerInfo object, and
populates it with very basic info from the SIP address, when making an
outgoing call.

But this is no longer needed, now that we do caller-id lookup properly for
SIP addresses (based on real data from the contacts database -- see
bug 3004127 and change https://android-git.corp.google.com/g/70555).
And in fact the presence of this initial CallerInfo object actually
*disabled* contacts lookup for outgoing calls (bug 3072731).

This change removes all that CallerInfo-related stuff from SipPhone.

(Thus SipPhone is now consistent with the other phone objects, like
GSMPhone and CDMAPhone, in that it doesn't muck with CallerInfo data at
all, but instead lets the phone app do it.)

Also, update isUriNumber() to handle "%40" in case the passed-in string is
URI-escaped.  (Nobody depends on that now, but it may be needed in the
future, and it's certainly safe to say that "%40" will never be found in a
legal PSTN number.)

TESTED:
  - Outgoing SIP call:
    - In-call UI shows correct contact info
    - After the call, Call Log shows correct contact info

  - Incoming SIP call:
    - In-call UI shows correct contact info
    - After the call, Call Log shows correct contact info

  - PSTN calls:
    - correct contact info everywhere

Bug: 3072731

Change-Id: I51434e4e5ad66d2e8ff51fc220001fb74485f0f5
2010-10-10 16:40:21 -07:00
Chung-yih Wang
7e0598d066 am 4f24aed2: am 66907078: Merge "Fix the dialing from contact for internet address." into gingerbread
Merge commit '4f24aed2a13d9ba89e2402894353176e19571e6e'

* commit '4f24aed2a13d9ba89e2402894353176e19571e6e':
  Fix the dialing from contact for internet address.
2010-09-08 10:38:35 -07:00
Chung-yih Wang
4f24aed2a1 am 66907078: Merge "Fix the dialing from contact for internet address." into gingerbread
Merge commit '669070787cc10377c2e5c3fa187babc728d96245' into gingerbread-plus-aosp

* commit '669070787cc10377c2e5c3fa187babc728d96245':
  Fix the dialing from contact for internet address.
2010-09-08 10:32:13 -07:00
Chung-yih Wang
6f0f870f16 Fix the dialing from contact for internet address.
the bug is http://b/issue?id=2982290

+Log outbound proxy address if exists for debugging.
2010-09-08 18:26:05 +08:00
Bai Tao
2a4e96067d Added new method to format the phone number when neccessary.
Change-Id: I90fb38c1d36dc1ccf7eaa3b4cc34cd29f5151493
2010-08-30 10:52:15 +08:00
Dmitri Plotnikov
3e4b7c332f Keep the '+' when normalizing the phone number
Change-Id: I24731735ed18dbc92a643a0d99d35a1b58be40c8
2010-08-13 11:09:29 -07:00
John Wang
c178b95c1f am 2835391c: am 686a9505: Merge "Update switch call and accept call." into gingerbread
Merge commit '2835391c1709a2b655940200dab0fc74ef08512d'

* commit '2835391c1709a2b655940200dab0fc74ef08512d':
  Update switch call and accept call.
2010-08-12 17:35:53 -07:00
John Wang
2835391c17 am 686a9505: Merge "Update switch call and accept call." into gingerbread
Merge commit '686a95055896c221c62fe7f4c3dda137809df91e' into gingerbread-plus-aosp

* commit '686a95055896c221c62fe7f4c3dda137809df91e':
  Update switch call and accept call.
2010-08-12 17:33:19 -07:00
John Wang
c159c84699 Update switch call and accept call.
Change-Id: Ifdd1af77e3eca08f6c931605ecfb275835b78709
2010-08-12 14:52:39 -07:00
Wink Saville
ae2036a8f9 am 7472c219: am 1540a7ea: am c69f5be0: Add PhoneSubInfo.getCompleteVoiceMailNumber.
Merge commit '7472c219a13e3f9f74d9a4adf1478e9c4f9248a2'

* commit '7472c219a13e3f9f74d9a4adf1478e9c4f9248a2':
  Add PhoneSubInfo.getCompleteVoiceMailNumber.
2010-08-02 12:09:03 -07:00
Wink Saville
7472c219a1 am 1540a7ea: am c69f5be0: Add PhoneSubInfo.getCompleteVoiceMailNumber.
Merge commit '1540a7ea1afcb772b5fcf90f635153f6489eb8ed' into gingerbread-plus-aosp

* commit '1540a7ea1afcb772b5fcf90f635153f6489eb8ed':
  Add PhoneSubInfo.getCompleteVoiceMailNumber.
2010-08-02 12:06:34 -07:00
Wink Saville
1540a7ea1a am c69f5be0: Add PhoneSubInfo.getCompleteVoiceMailNumber.
Merge commit 'c69f5be0ed3529564e5db6874de52775c2c99007' into gingerbread

* commit 'c69f5be0ed3529564e5db6874de52775c2c99007':
  Add PhoneSubInfo.getCompleteVoiceMailNumber.
2010-08-02 12:02:42 -07:00
Wink Saville
c69f5be0ed Add PhoneSubInfo.getCompleteVoiceMailNumber.
PhoneSubInfo.getVoiceMailNumber now returns only the network
portion of the voicemail number. Use the new method
PhoneSubInfo.getCompleteVoiceMailNumber to get the netowrk
portion and the post dial portion.

Bug: 2881483
Change-Id: I7637d4fa0ffa046b4eebc4d599719bb668c940b5
2010-08-02 11:07:51 -07:00
Bai Tao
fae6ec9e96 Added country based formatNumber methods
a. Format the number to E164.
b. Format the number based on country convention.
c. Normailize the number.

Change-Id: I39d59b99aa1a5136371dd20c74d9d9c8ec855369
2010-07-29 06:54:25 +08:00
The Android Open Source Project
1b1f0bc1f8 am 4248d588: merge from open-source master
Merge commit '4248d5887bf9d7d65b649a9ca0c7ba623135eed5'

* commit '4248d5887bf9d7d65b649a9ca0c7ba623135eed5':
  Makes PhoneNumberUtils support international numbers after a CLIR command.
2010-07-16 13:46:08 -07:00
Babis Triantafyllou
adff0ad3cd Makes PhoneNumberUtils support international numbers after a CLIR command.
Makes PhoneNumberUtils.java support numbers in international
format (starting with ‘+’ character) after a CLIR command.

Previously a plus character would always be removed unless it
occupied the first position of the number string. In this case,
when the number is preceded by #31# (CLIR), the plus character
will be removed as well.

This is an error, prohibiting a type approval of the phone.

This change will detect the plus character after the CLIR command
and will insert it at the right position.

Change-Id: Ib220aee7b3eda30cde960db8c7470523dc5fd313
2010-07-14 13:59:01 +02:00
The Android Open Source Project
d994dcbd81 am cefdedc3: merge from froyo-plus-aosp 2010-06-07 16:45:04 -07:00
The Android Open Source Project
7ad843d66d merge from open-source master
Change-Id: I56de40bad4be52a06300bfc310e16d27b2fb14df
2010-06-07 16:32:53 -07:00
Lars Dunemark
47633f8627 Removes dashes when locale and number is not NANP or Japan
Removes all dashes if locale isn't NANP or Japan and the number
don't have there country code.

Use case: If adding a number starting with 1nnnnnn and then
          trying to add a country code before (ex +46) we will first
          trigger NANP formatting with +1-nnn-nnn so when we get
          +41-nnn-nnn we will still have the old NANP formatting.
          This number should be shown as +461nnnnnn.

Change-Id: I5cab830350d785a58367eba79e268d9e8ee16aac
2010-06-07 14:00:19 -07:00
The Android Open Source Project
a4bb641040 am 1331ded8: am e28776bb: am b1110149: merge from open-source master 2010-05-13 14:59:22 -07:00
The Android Open Source Project
b1110149cc merge from open-source master
Change-Id: I88a580162b34a80d1e3e7987b7a301c253afa0e8
2010-05-13 14:50:16 -07:00
Samuel Holmberg
ce2a97aeb8 Preserve '+' in phone numbers imported from SIM.
Contacts with phonenumbers beginning with '+' lose the '+' in the
phonebook when imported from SIM.

This was only noticable on ADN-records with unknown NPI-values which
isn't very usual.

Change-Id: I181249759ae3d4181dd3cf627c7a588394b80419
2010-05-11 15:21:43 -07:00
Jake Hamby
bcd573229e Fix some more typos, remove unused imports, and remove unnecessary cast.
More minor code cleanups in the telephony framework.

Change-Id: I27abe11e02fc6fea12885eea4fe275240a546332
2010-05-04 13:31:04 -07:00
Jake Hamby
145ff609de Spelling corrections and other minor cosmetic cleanups.
- Fixed a bunch of typos in comments (plus a few variable names)
- Removed unused import lines from telephony classes
- Added @Override attribute to overriding methods
- Made SmsMessage.PduParser inner class private & deleted unused constructor
- Added type specifiers to declarations of ArrayList and HashMap
- SimulatedCommands.getRegistrationState() had an ArrayIndexOutOfBoundsException
  trying to write to index 14 of a 14-element array. I removed the
  out-of-bounds assignment.

Change-Id: I054b5156aa64ab6639028d5b45a7e688b2deee08
2010-04-15 15:23:12 -07:00
John Wang
0bd36175fb Add r-w property of emergency number list.
Currently, the emergency calls are put into an readonly property ro.ril.ecclist.

It is possible that ecclist has to be changed before and after SIM pin lock.

And ecclist can also be changed after network broadcasts the local emgergency numbers.

So add r-w property ril.ecclist to make emergency number list changable, while still

check r-o property to make old RIL work.
2010-03-04 14:05:49 -08:00
Kenny Root
7ae1776046 Correct use of logical AND
A bitwise AND was use when a logical AND was meant to be used.

Change-Id: I4e5529ff9fce1e6397d7cd9483268766fc92dcf5
2010-02-17 09:55:53 -08:00
Daisuke Miyakawa
d95a02c2a6 Fix test breakage in Zaku. Modification to PhoneNumberUtils included.
Also add method String formatNumber(String source, int defaultFormattingType) with @hide tag.

Internal Issue number: 2217362
2009-10-29 11:01:07 +09:00
Wei Huang
fd7b4f1d12 bug #2180646: make comparing "404-04" and "40404" return true in PhoneNumberUtils.compare().
- when comparing two numbers whose dialable char length is less than the MIN_MATCH (7), treat them as equal if the dialable portion of the numbers match.
- update unit test.
2009-10-23 01:17:17 -07:00
Tammo Spalink
9e53415326 Let PLUS occur once anywhere in dial-str network portion.
Create a new extractNetworkPortion() function, since the old one is
public, that does effectively the same thing but is more flexible as
just mentioned.

Addresses issue:
http://buganizer/issue?id=2013998

Change-Id: Ie5df08ef9c871881e8728a44abf0385908000823
2009-10-21 10:30:58 +08:00
Evan Millar
db1f499398 Add PhoneNumberUtils.compare() method that uses a resource to determine strictness.
Change-Id: I49fbfc683f7089f052671b567ad3e19203a568f0
2009-09-29 08:38:07 -07:00
Peng Zhu
694bd8bf73 Add null check at isEmergencyNumber().
Change-Id: I7eca1ba1ce42e02c7506a7d969e4865778bb49cc
2009-09-24 18:02:37 -07:00