786 Commits

Author SHA1 Message Date
Robert Greenwalt
4c89b14db4 Don't accept a user-defined dun-capable connection
If we're asked to connect to a DUN APN and we have a carrier specified
DUN APN setting, verify what we're connected to is the same as what the
carrier specified before accepting it.

bug:4048013
Change-Id: I91edc4a1342cb40c1f6959e149303b7d76710f96
2011-03-09 16:33:33 -08:00
Soojung Shin
7ac1cb787c mms: mms wap push length check before pdu processing.
Change-Id: Id5b5572bcd2953e496f03142d13bd2d012225e30
Signed-off-by: Soojung Shin <sj46.shin@samsung.com>
2011-03-07 15:37:01 -08:00
Soojung Shin
ff5a09904f Added to check for supporting mms content-disposition, utf8 decoding.
Change-Id: Ieae1bb2ac36675f569fb21285ca6ef289c367bf7
Signed-off-by: Soojung Shin <sj46.shin@samsung.com>
2011-03-04 14:32:31 -08:00
Lorenzo Colitti
3c4e929cfd Add a protocol property to the APNs and use it.
1. Database changes:
   - Add a protocol and a roaming_protocol column to the
     carriers table in the telephony provider database.
   - Set the protocol and roaming_protocol fields when
     creating APN objects from the database.

2. ApnSetting class changes:
   - Add protocol and roamingProtocol fields to the
     ApnSetting class that encapsulates APN settings within
     the framework.
   - Add the fields to ApnSetting.toString and support a new
     syntax containing the fields in ApnSetting.fromString.
   - Add a unit test for ApnSetting.

3. Telephony changes:
   - Specify the APN protocol when setting up a data call,
     using protocol when not roaming and roaming_protocol
     when roaming.

This change depends on #86896 in the telephony provider,
which adds the new column to the database schema on
upgrades.

Bug: 3333633
Change-Id: If3d9ed4c851d0192849df0d64581db03b066e052
2011-02-28 11:17:05 -08:00
Lorenzo Colitti
93faa3239e Make setupDataCall take a protocol parameter.
Backport the protocol changes to setupDataCall and its
callers from master. As in master, hardcode IPv4
connectivity for now. When we add the protocol field to
ApnSettings, it will be fetched from there.

Bug: 3333633
Change-Id: I51880bc0ec192cbf964ac7bbd6a4b7d2eed41d27
2011-02-28 11:16:57 -08:00
Samyeoul Choi
092238916f Crespo4G: Voicemail: Add 'config_telephony_...' for Sprint
'*86' which is set now as a default at CDMAPhone.java,
is default voicemail number for Verizon.
For Sprint, we use user's own number for voicemail.

So we add codes in CDMAPhone.java to use
'config_telephony_use_own_number_for_voicemail',
and use config.xml to set this value as false.
Then we overlay Sprint's own config.xml file to
override 'config_telephony_use_own_number_for_voicemail' as a true.

Change-Id: I110914bdfa9a79aaba89d3b80edbcf044e9aabee
2011-02-25 11:28:43 -08:00
John Wang
c2cbc730fc Only decode EXT1 tag when it is available.
Normally ADN record is stored in two tags, EFADN_TAG and EFEXT1_TAG. But if the EFEXT1_TAG is not set in EF_PBR entry,
it shouldn't be decoded otherwise it causes NullPointerException in readAdnFileAndWait().

bug: 3376954
Change-Id: I744cf5cb8662c75be1e7c6219fa92c67bdda82f2
2011-02-14 17:44:13 -08:00
Jean-Baptiste Queru
8444023f35 Merge from open-source gingerbread
Change-Id: I19c4ba36cf4f2ef518b55768360b0bff1a92a5ab
2011-02-03 14:05:23 -08:00
Sang-Jun Park
b9ef00ea2f Fix the Multi-page SMS sending error to several receipents
Change-Id: Iefde94b638413e3c1761f17c3065b20a044e5958
Signed-off-by: Sang-Jun Park <sj2202.park@samsung.com>
2011-02-03 13:39:31 -08:00
Jean-Baptiste Queru
ee4c17eec3 Merge from open-source gingerbread
Change-Id: I63e8abc1b8d6db05dfce178ae736d8d0586f6c52
2011-02-03 12:41:51 -08:00
Jean-Baptiste Queru
2703b84caa Merge "Fix delivery report error with PENDING status in SMS" into gingerbread 2011-02-03 12:17:47 -08:00
Irfan Sheriff
0a4b3fd93b two digit number handling in croatia and serbia
If users dial 92-96, dial them normally and not treat
as USSD

Change-Id: If3b6cb37b7ec0ff99d76cb10cba53368094a0b5d
Signed-off-by: sj2202.park@samsung.com
2011-02-02 14:08:38 -08:00
Jean-Baptiste Queru
155b0ee049 Merge from open-source gingerbread
Change-Id: Iec6167bec8423e39dde053f23969c1c76e10a461
2011-02-02 09:45:32 -08:00
Sang-Jun Park
ba34751426 fix for supporting 3 digits MNC code
Default Android MNC value has a 2 digit but it should be supported a 3 digit
MNC in India. (should be supported both 2 and 3 digits MNC)

Change-Id: I69373d196b29bccd06653841f24cbfe3886834fb
Signed-off-by: Sang-Jun Park <sj2202.park@samsung.com>
2011-02-02 19:12:31 +09:00
Eric Laurent
3d4069a2e0 Allow TTY mode for GSM Phones
TTY mode should not be restricted to CDMA phones as some GSM carriers
support it.
TTY support is enabled by overlaying the tty_enabled boolean property
in packages/apps/Phones/res/values/config.xml

Also corrected wrong comments on TTY methods.

Change-Id: I48dbc2be51c3dcdaedc1838b85134edc7012be3c
2011-02-01 15:25:41 -08:00
Sang-Jun Park
c5996b9969 Fix delivery report error with PENDING status in SMS
1. According to TS 23.040, TP-Status values is changed properly.
2. When processing Status Report, it should be checked whether tpStatus is PENDING or FAILED.

Change-Id: I91c315cfb363f3e4b936c6b6b1a01083687a580f
2011-02-01 10:05:28 -08:00
Robert Greenwalt
e12aec941d Add some network types that OEM's are asking for.
Adding them hidden so that if OEM's are rolling their own at least they can
use the same values.  Will mark them unhidden in a future sdk release.

bug:3395729
Change-Id: I90eabe036a96e1aa7c8cac49ca51efd9b1776a0c
2011-01-28 14:48:37 -08:00
Jean-Michel Trivi
2ba92c71b5 do not merge bug 3370834 Cherrypick from master
Cherripick from master CL 79833, 79417, 78864, 80332, 87500

Add new audio mode and recording source for audio communications
 other than telelphony.

The audio mode MODE_IN_CALL signals the system the device a phone
 call is currently underway. There was no way for audio video
 chat or VoIP applications to signal a call is underway, but not
 using the telephony resources. This change introduces a new mode
 to address this. Changes in other parts of the system (java
 and native) are required to take this new mode into account.
The generic AudioPolicyManager is updated to not use its phone
 state variable directly, but to use two new convenience methods,
 isInCall() and isStateInCall(int) instead.

Add a recording source used to designate a recording stream for
voice communications such as VoIP.

Update the platform-independent audio policy manager to pass the
 nature of the audio recording source to the audio policy client
 interface through the AudioPolicyClientInterface::setParameters()
 method.

SIP calls should set the audio mode to MODE_IN_COMMUNICATION,
 Audio mode MODE_IN_CALL is reserved for telephony.

SIP: Enable built-in echo canceler if available.
1. Always initialize AudioRecord with VOICE_COMMUNICATION.
2. If echo canceler is available, disable our echo suppressor.

Note that this CL is intentionally not correcting the
 getAudioSourceMax() return value in MediaRecorder.java as the
 new source is hidden here.

Change-Id: Ie68cd03c50553101aa2ad838fe9459b2cf151bc8
2011-01-26 11:20:01 -08:00
Hung-ying Tyan
cc019c0caa Merge "Get mute state from active call." into gingerbread 2011-01-24 21:13:08 -08:00
John Wang
696794fc13 Enable recovery in RIL wakelock release check.
Wakelock will get released while
1) no request pending to be sent out, in which mRequestMessagesPending increases
before calling EVENT_SEND and decreases while handling EVENT_SEND.

and

2) no waiting requests sent to RIL but no replied, in which mRequestMessagesWaiting
increases while sending request and decreases while handling response.

Both will be cleared while WAKE_LOCK_TIMEOUT occurs to recovery from out of sync situation.

bug: 3369427, 3370827
Change-Id: Ib2fc54db3b155bd3fb1296ad83720b7836708caf
2011-01-21 17:46:08 -08:00
Hung-ying Tyan
65a7f147de Get mute state from active call.
Currently, PhoneUtils.getMute() returns the mute state from the foreground phone.
When a SIP call is muted and then put on hold, the call is moved to background
and the SipPhone becomes background phone. At this point, PhoneUtils.getMute()
incorrectly returns false from the idle foreground phone (i.e., GSMPhone).

CallManager provides getMute() but it's not used anywhere. This CL fixes the
method and I'll have another CL to have PhoneUtils.getMute() take advantage of
it.

Bug: 3323789
Change-Id: I6c37500ae93f4e95db3bcd55e24e1ecb58a57c0a
2011-01-11 15:32:30 +08:00
Hung-ying Tyan
273d2ea3f9 Merge "Fix setting audio group mode in SipPhone." into gingerbread 2011-01-04 17:45:36 -08:00
Hung-ying Tyan
1d12ef09a8 Fix setting audio group mode in SipPhone.
Bug: 3119690
Change-Id: I495d3c031ee4c272d360fe19553ef9726a3f8771
2010-12-29 16:07:17 +08:00
John Wang
00d520b66c Clear request list while timeout.
The wakelock will be kept held if there is outstanding requests
in request list. When WAKE_LOCK_TIMEOUT occurs, all requests
in mRequestList already waited at least DEFAULT_WAKE_LOCK_TIMEOUT
but no response. Those lost requests return GENERIC_FAILURE and
request list is cleared.

bug:3292426
Change-Id: I369c6ba4d6836d65ef616140e48c7304faf888f0
2010-12-28 17:14:18 -08:00
Jeff Brown
eb9f7a01b0 Fix policy issues when screen is off. (DO NOT MERGE)
Rewrote interceptKeyBeforeQueueing to make the handling more systematic.
Behavior should be identical except:
- We never pass keys to applications when the screen is off and the keyguard
  is not showing (the proximity sensor turned off the screen).
  Previously we passed all non-wake keys through in this case which
  caused a bug on Crespo where the screen would come back on if a soft key
  was held at the time of power off because the resulting key up event
  would sneak in just before the keyguard was shown.  It would then be
  passed through to the dispatcher which would poke user activity and
  wake up the screen.
- We propagate the key flags when broadcasting media keys which
  ensures that recipients can tell when the key is canceled.
- We ignore endcall or power if canceled (shouldn't happen anyways).

Changed the input dispatcher to not poke user activity for canceled
events since they are synthetic and should not wake the device.

Changed the lock screen so that it does not poke the wake lock when the
grab handle is released.  This fixes a bug where the screen would come
back on immediately if the power went off while the user was holding
one of the grab handles because the sliding tab would receive an up
event after screen turned off and release the grab handles.

Bug: 3144874
Change-Id: Iebb91e10592b4ef2de4b1dd3a2e1e4254aacb697
2010-12-22 16:00:21 -08:00
Chung-yih Wang
f053292d7a Fix SIP bug of different transport/port used for requests.
bug: http://b/3156148
Change-Id: I4fa5b274d2e90ebde12d9e99822dc193a65bad32
2010-12-07 10:36:19 +08:00
John Wang
4567847d46 Add "canDial" check.
For bug #3164802.

CallManager allow a new phone call only if ALL of the following are true:

- Phone is not powered off
- There's no incoming or waiting call
- There's available call slot in either foreground or background
- The foreground call is ACTIVE or IDLE or DISCONNECTED.

Change-Id: I0124d600fd8c63b8c608301f3889b3faec47f1db
2010-12-01 10:26:49 -08:00
Hung-ying Tyan
d7116ff1f0 Merge "Do not suppress error feedback during a SIP call." into gingerbread 2010-11-30 22:53:26 -08:00
David Brown
04639ba0a9 Reduce the outrageous verbosity of CallerInfo.toString().
Bug: 3121292
Change-Id: Ia8383891ef29a003acbd627b25ce87a187ef95c0
2010-11-30 15:49:48 -08:00
David Brown
91abcb624a Merge "Fix bug 3121292: Contact photo not shown correctly for SIP calls" into gingerbread 2010-11-30 15:20:45 -08:00
Wink Saville
f316679971 Merge "Fix GSM permanent failure handling, DO NOT MERGE." into gingerbread 2010-11-30 08:15:41 -08:00
Hung-ying Tyan
4189d99b6e Do not suppress error feedback during a SIP call.
Bug: 3124788
Change-Id: Ia0a06f72336d1795515428eba0c9f875c32d13d1
2010-11-30 17:00:45 +08:00
Hung-ying Tyan
0bba953541 Merge "Throw proper exceptions in SipManager" into gingerbread 2010-11-30 00:51:22 -08:00
Wink Saville
a20d02c2e1 Fix GSM permanent failure handling, DO NOT MERGE.
Wait until all APN's have been tried before checking for permanent errors
and then, don't do retires only if all of the APN's had permanent errors.

Also, don't disable the requested apn type because if we do we won't
be able to setup data because there won't be an apn type.

This was tested by creating a new non existent APN, I chose:
  Name="badapn1"
  APN="badapn1"
  Server="noapn.com"

Then selecting "badapn1" will cause a permanent error.

bug: 3202729
Change-Id: I182c7197456c849176ce08d7d1459359f8c3b30e
2010-11-17 15:33:36 -08:00
John Wang
d19f44f3e3 Fix the audio mode glitch during hangup.
Fix bug # 3136179.

Keep audio mode as IN_CALL during hangup DISCONNECTING state

to prevent the NORMAL and IN_CALL glitch in auiod setMode.

Change-Id: I5513a3d5c65bd13ac054c9718c4dbd7d6db9eaf3
2010-11-10 15:35:51 -08:00
Hung-ying Tyan
8d1b2a17d9 Throw proper exceptions in SipManager
instead of silently returning null and causing NPE in applications as returning
null is not documented in the javadoc.

Add connection to the connection list in SipCall after dial() succeeds so that
we don't need to clean up if it fails. The original code will cause the failed
connection to continue to live in the SipCall and in next dial() attempt, a new
connection is created and the in-call screen sees two connections in the call
and thus shows conference call UI.

Bug: 3157234, 3157387
Change-Id: Iabc3235f781c4f1e09384a67ad56b09ad2c12e5e
2010-11-03 18:09:31 +08:00
David Brown
85e0ff8f3d Fix bug 3121292: Contact photo not shown correctly for SIP calls
The problem was that when we did a contact lookup based on a SIP address,
the resulting CallerInfo object did not have the person_id field set
correctly.  That meant we had no way to look up the photo for that person.

This was because of a missing case in the logic to determine which column
(in the resulting cursor) to use for the person_id lookup.  We were
handling lookups fine in the PhoneLookup and Phone tables, but were
missing a case for direct lookups in the Data table (which is how we look
up SIP addresses.)

The fix is to add a case for URIs like
"content://com.android.contacts/data" when looking up the person_id.

Also, since the person_id lookup is pretty hairy (and includes ~20 lines
of comments to explain what it's doing!) refactor it out into a helper
method.

TESTED: Both SIP and PSTN calls; verified that contact name *and* photo
are displayed correctly in all cases.

Bug: 3121292
Change-Id: I2b0083cc5394c1a49bbdc9a4e5651854aedb82f7
2010-10-26 14:22:03 -07:00
Eric Laurent
164a8f86c7 Partial fix for issue 3124895.
When a SIP call is put on hold and no other call is active, the audio mode should not be
switched to incall.

Change-Id: I1307330f10cbfb9c4223bcb9dc4faa79778750af
2010-10-25 19:45:39 -07:00
Hung-ying Tyan
5d9e3bbb9d Fix connect duration for un-established SIP calls.
Bug: 3118364
Change-Id: I931b675de04a3aac70b45d6bae27ab42a84f2d1e
2010-10-21 15:54:46 +08:00
Hung-ying Tyan
6037a056ea Fix n-way conf call in SipPhone.
+ Avoid concurrent modification when forming >3-way conf call.
+ Revise SipConnection.separate() to put the newly separated call to foreground.

Bug: 3114987

Change-Id: If6204e7e3cc05f4a516c33657a368b53a0ad014d
2010-10-21 03:59:04 +08:00
Jeff Hamilton
23392a84bc Fix the build.
Change-Id: Id5bfa0f91e6ec687201a320a1eb4d8a46050875e
2010-10-20 14:20:29 -05:00
Hung-ying Tyan
6fe795ecd3 Do another contact lookup if the first one fails and...
it's a SIP call and the peer's username is all numeric. The all-numeric username
could be a PSTN number.

Bug: 3105116 (case #2)

Change-Id: I1de9cfac3aab1c4c89935176264d07693adb5e7d
2010-10-21 02:54:57 +08:00
Hung-ying Tyan
88e3f0ad28 Silently reject a ringing call when another call is dialing/ringing.
http://b/issue?id=3109483
http://b/issue?id=3103072

Change-Id: I34f13225319c7f2a41e1ea9e25811866432ab809
2010-10-21 02:38:04 +08:00
Hung-ying Tyan
9b449e5606 Remove ringtone API from SipAudioCall.
(watch out auto-merge conflict for SipAudioCall).

Bug: 3113033, related CL: https://android-git/g/#change,75185

Change-Id: Ib48d3b990e229e0b341e47e10e76934e1a50d10f
2010-10-20 22:51:22 +08:00
Hung-ying Tyan
b595e094e3 Merge "Return display name in SipConnection.getCnapName()." into gingerbread 2010-10-19 23:00:16 -07:00
Hung-ying Tyan
538e58fc75 Return display name in SipConnection.getCnapName().
Bug: 3105116 (case #1)

Change-Id: Iedf3c8de07213c786cffb861bd52c3b4a768a86c
2010-10-20 11:21:55 +08:00
Joe Onorato
431bb22695 Reduce logging.
Remember, the system and main logs are
    - Shared resources
    - Primarily for recording problems
    - To be used only for large grained events during normal operation

Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
2010-10-19 15:08:05 -04:00
David Brown
d34d30ac2e Reduce CallerInfoAsyncQuery logging in user builds (STOPSHIP cleanup)
Bug: 3095005

Change-Id: Ide96756282d17252fac16a27cc184ea314a8b31a
2010-10-13 17:02:33 -07:00
Wink Saville
a42880749b Remove some PII.
Change-Id: I4df27119b6bbd28bf950516fd6f44676a8e04f06
2010-10-12 12:36:38 -07:00
John Wang
844a6b3cca Turn off additional debug.
Bug:3038245
Change-Id: If3c894511b4bbfd0d3e95b51aeca299edbbcf55d
2010-10-12 11:32:24 -07:00