History log of /frameworks/base/voip/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fb3ec448f1208d75edebff0e93fa97a8913ff29e 06-Sep-2012 Jean-Baptiste Queru <jbq@google.com> am f66603e1: am 3f3ce8ad: am bf3e62b8: Merge "Make SimpleSessionDescription locale safe"

* commit 'f66603e109d439e3a537cd3804706609ce86970e':
Make SimpleSessionDescription locale safe
7314532349e402315af9b8f664432dd18292421f 29-Aug-2012 Johan Redestig <johan.redestig@sonymobile.com> Make SimpleSessionDescription locale safe

Explicitly use Locale.US in SimpleSessionDescription to avoid
unexpected results in some locales.

Change-Id: Idb4a36a9e332d302e1b9b940355917c0f738e076
ava/android/net/sip/SimpleSessionDescription.java
845b4712f0e4d7ca802f21fba1adae0b1d0712e7 02-Jul-2012 Glenn Kasten <gkasten@google.com> Use audio_channel_mask_t more consistently

In AudioRecord::getMinFrameCount() and AudioSystem::getInputBufferSize(),
input parameter is channel mask instead of channel count.

Change-Id: I22a1c492113f3e689173c5ab97b2567cff3abe2b
ni/rtp/AudioGroup.cpp
9be0105fbc56eb1b1813bb7c5fe258a144867a43 22-Jun-2012 Scott Main <smain@google.com> docs: fix several links

Change-Id: I89d9fd64dc22c90680bb05415cc966c255165af9
ava/android/net/sip/package.html
870085cce0fde0a44f0c28a5097b8c827cafb0e2 04-Apr-2012 Chia-chi Yeh <chiachi@android.com> Merge "SIP: push the logic of finding local address down to SipSessionGroup."
2dd9134c6b2da47f4816bc0f72a0e4924aca4f84 04-Apr-2012 Chia-chi Yeh <chiachi@android.com> SIP: push the logic of finding local address down to SipSessionGroup.

This allows different accounts binding on different IP addresses,
such as one on IPv4 and another on IPv6.

Bug: 4169057
Change-Id: I0bb36669394c281330091673fa338adea8f782cd
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
e66950506c473e660f2e5762d7a71e13808be387 30-Mar-2012 Chia-chi Yeh <chiachi@android.com> RTP: refactor a little bit and fix few minor bugs.

Change-Id: I063644507f26996ded462972afcb550a4528dac8
ava/android/net/rtp/AudioGroup.java
ava/android/net/rtp/AudioStream.java
ava/android/net/rtp/RtpStream.java
ni/rtp/AudioGroup.cpp
ni/rtp/RtpStream.cpp
ba4d0433319393d626d2169683209e4956a087e2 28-Mar-2012 James Dong <jdong@google.com> frameworks base Android.mk file changes

Change-Id: I7459b9e959a60751b8fa6e0d893cb2c820c064ce
ni/rtp/Android.mk
fb982db41060a2914cddb43200f3ee53627f8762 28-Mar-2012 Chia-chi Yeh <chiachi@android.com> RTP: add a null-check in AudioStream.setDtmfType().

Change-Id: I52cbdea48affae3747942940451f4fd5ca47030f
ava/android/net/rtp/AudioStream.java
32d72b2f538673466f6e0ebf01886412e803dc4f 21-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Whitespace"
f743e1f6abdb018fc58c467cdf35cbb8b81cf8c4 14-Mar-2012 Glenn Kasten <gkasten@google.com> Whitespace

Fix indentation, and add blank lines in key places for clarity

Change-Id: I57a0a8142394f83203161aa9b8aa9276abf3ed7c
ni/rtp/AudioGroup.cpp
ae75f994cc50837afe79d3bfbc576811e3602fef 16-Mar-2012 Glenn Kasten <gkasten@google.com> Add libmedia_native

Change-Id: Ib8cff8abd73723b793f08da99ad59549f219e0e7
ni/rtp/Android.mk
4e42c5f41fdb67ec62fbecc48038c8fe30b57bcd 13-Mar-2012 Glenn Kasten <gkasten@google.com> Remove dependency on audio_* location

Change-Id: I4bc66115fcb9ba22b057bd72db3f561dcb18a0d8
ni/rtp/Android.mk
597f8282ee1b86ba8f7384eb3060bac3b3f7cf92 12-Jan-2012 Glenn Kasten <gkasten@google.com> Fix build warnings

Change-Id: I543e730aff2d03c18c26b116c9fe9419259808af
ni/rtp/AudioGroup.cpp
3762c311729fe9f3af085c14c5c1fb471d994c03 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
ni/rtp/AudioGroup.cpp
ni/rtp/RtpStream.cpp
8564c8da817a845353d213acd8636b76f567b234 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
ni/rtp/AudioGroup.cpp
6215d3ff4b5dfa52a5d8b9a42e343051f31066a5 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
ni/rtp/EchoSuppressor.cpp
5baa3a62a97544669fba6d65a11c07f252e654dd 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
ni/rtp/AudioGroup.cpp
c2bd6162eddad0cdfdafc037142e043680ffa705 28-Dec-2011 Chia-chi Yeh <chiachi@android.com> SipService: grab Wi-Fi lock only when necessary.

Change-Id: Ie432049156e70b6748426b959b653f21bfc504a1
ava/com/android/server/sip/SipService.java
2b072677538de979961b5bf527109fdab1713731 23-Dec-2011 Joe Fernandez <joefernandez@google.com> am 201469f5: am bb7f590a: Merge "docs: Add developer guide cross-references, Project ACRE, round 4" into ics-mr1

* commit '201469f54522436be79d4d6665721049bfc74320':
docs: Add developer guide cross-references, Project ACRE, round 4
3aef8e1d1b2f0b87d470bcccf37ba4ebb6560c45 20-Dec-2011 Joe Fernandez <joefernandez@google.com> docs: Add developer guide cross-references, Project ACRE, round 4

Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipManager.java
ava/android/net/sip/SipProfile.java
ava/android/net/sip/package.html
98c54a3e06c3e1909fa0f6cb19c5201f116ed5bc 22-Nov-2011 Chia-chi Yeh <chiachi@android.com> am 0e67685e: am bfd85f9a: Merge "SIP: turn off verbose logs." into ics-mr1

* commit '0e67685e53cbcf7682a0364cf34fd3ac0632596f':
SIP: turn off verbose logs.
cb6ee06f62c20ae036a206667097f20b837b11ab 19-Nov-2011 Chia-chi Yeh <chiachi@android.com> SIP: turn off verbose logs.

Bug: 5616713
Change-Id: Iaf2e6878731d10d7f4f2a7cd8af71f4517780642
ava/com/android/server/sip/SipHelper.java
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
ava/com/android/server/sip/SipWakeLock.java
71f2cf116aab893e224056c38ab146bd1538dd3e 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
ni/rtp/AudioGroup.cpp
ee59e6a9fc69241b286acb7b55a22b8393c81222 28-Sep-2011 Chia-chi Yeh <chiachi@android.com> SipService: handle connectivity changes correctly.

This patch assumes that for the same network type,
there MUST be a DISCONNECTED between two CONNECTEDs.
Also removes the Wi-Fi scanning since the framework
already handles this when a WifiLock is held.

Bug: 4283795
Change-Id: I08481e70c651cffcbb516c8cc6584c919078fa4f
ava/com/android/server/sip/SipService.java
6d8b9b84ac83acfc193fd633ba961168867124fa 14-Sep-2011 Chia-chi Yeh <chiachi@android.com> Merge "RTP: Update parameters for larger packet intervals."
7a685e89114ddfe35f87075dfe66a480c91c9de2 13-Sep-2011 Chia-chi Yeh <chiachi@android.com> Merge "SIP: fix keep-alive measurement and increase the timeout."
d17b6d526648c372be761097e55c19767d5dba7d 09-Sep-2011 Chia-chi Yeh <chiachi@android.com> SIP: fix keep-alive measurement and increase the timeout.

Bug: 5226511
Change-Id: I1283790581496b1ff4e583a8d9379cdc39f78c20
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
be57bfe853d07369f429b600039ea474b9ea5e31 07-Sep-2011 Chia-chi Yeh <chiachi@android.com> RTP: Update parameters for larger packet intervals.

Also remove some duplicated code.

Change-Id: I64576e5442a962eb4b0dfa83b52a8127567ba597
ni/rtp/AudioGroup.cpp
81a5ec5b94d889656cc2f212102c441b91b2e3c0 08-Sep-2011 Chia-chi Yeh <chiachi@android.com> Merge "RTP: support payloads with larger packetization interval."
fa6067f87c7405c987d5879554d529e7413910c0 06-Sep-2011 Eric Laurent <elaurent@google.com> Merge "VoIP JNI: Force AEC on for tuna board"
35d05dcba1e829782813b6ec21afceb5cffc22e6 06-Sep-2011 Chia-chi Yeh <chiachi@android.com> RTP: support payloads with larger packetization interval.

RFC 3551 section 4.2 said that a receiver should accept packets
representing between 0 and 200ms of audio data. Now we add the
ability to decode multiple frames in a payload as long as the
jitter buffer is not full. This change covers G711, GSM, and
GSM-EFR. AMR will be added later.

Bug: 3029736
Change-Id: Ifd194596766d14f02177925c58432cd620e44dd7
ni/rtp/AmrCodec.cpp
ni/rtp/AudioCodec.h
ni/rtp/AudioGroup.cpp
ni/rtp/G711Codec.cpp
ni/rtp/GsmCodec.cpp
54eabd6c929c6f56da28421839b0ef2945cda876 06-Sep-2011 Chia-chi Yeh <chiachi@android.com> SIP: avoid extreme small values in Min-Expires headers.

If the expiry time cannot be found in Contact header or Expires
header, use the default value of 3600 seconds, which is specified
in RFC 3261.

Change-Id: I2607a398b96743614b01713cfd9b28f40386fac1
ava/com/android/server/sip/SipSessionGroup.java
74e0a990ae3196b8195db2a399c22516c7dd0823 29-Aug-2011 Eric Laurent <elaurent@google.com> VoIP JNI: Force AEC on for tuna board

Force AEC on for tuna board because of the strong feedback
of Rx audio path, even when playing over earpiece or headset.

Change-Id: I9c14257d56103ba82d6cdb0b7d5a3f315638136e
ni/rtp/AudioGroup.cpp
5f760064e1975a50e4abb63e560731c8b2c7b56c 30-Aug-2011 Chia-chi Yeh <chiachi@android.com> SIP: add the check for expiry time in Contact header.

There can be three expiry times in the same message header. We
choose the smaller value in Expires header and Contact header,
and then we obey the value defined in Min-Expires header. If
none of them is set, the default value is used.

Bug: 5178284

Change-Id: Ie9d4a48c93863e82e5197bb4a0db3f4fec56857c
ava/com/android/server/sip/SipSessionGroup.java
dc5bbe965f7a66238c3f9a6694f4410b3d52af3b 14-Aug-2011 Hung-ying Tyan <tyanh@google.com> Handle SIP authentication response for BYE.

Bug: 5159669
Change-Id: I029684334500d4d0db176783084c9b7d1db87e40
ava/android/net/sip/SipSession.java
ava/com/android/server/sip/SipSessionGroup.java
53ad2c7fe212a08ae05fb4d7f27d42f9a0a4b912 02-Aug-2011 Conley Owens <cco3@android.com> am 0793586b: am f8c1f129: am e1d27154: am f87743e7: Merge "Prevent NullPointerException cases while using SipService."

* commit '0793586bf8f4dce71d0b4d7ff2f212129b3f76fe':
Prevent NullPointerException cases while using SipService.
0793586bf8f4dce71d0b4d7ff2f212129b3f76fe 02-Aug-2011 Conley Owens <cco3@android.com> am f8c1f129: am e1d27154: am f87743e7: Merge "Prevent NullPointerException cases while using SipService."

* commit 'f8c1f1298ac3ede518c8d29eeb6719746c6afaf0':
Prevent NullPointerException cases while using SipService.
25ccbb97ffd3298caede635f29445073e845cfc3 28-Jul-2011 Masahiko Endo <masahiko.endo@gmail.com> Prevent NullPointerException cases while using SipService.

Some SipService methods may return null, in such cases like no Wi-Fi
connection. Added minimum check to prevent NullPointerExceptions.

Change-Id: Ia7fae57ee893f2564cbfdedb6dc614938ab60ff7
Signed-off-by: Masahiko Endo <masahiko.endo@gmail.com>
ava/android/net/sip/SipManager.java
5fb3ba60afe68060ac1ed291f4a108fef8c622c3 25-Jul-2011 Eric Laurent <elaurent@google.com> Issue 3370834: No Echo canceler for SIP

Added detection of platfrom AEC in AudioGroup. If an AEC
is present, the SIP stack will use it, otherwise the echo suppressor
of the stack will be used.

Change-Id: I4aa45a8868466120f5f9fae71b491fe4ae1162c2
ni/rtp/Android.mk
ni/rtp/AudioGroup.cpp
307f15faafa5a38d9b3b314df22778cd11685d7b 12-Jul-2011 repo sync <cywang@google.com> Add REFER handling.

Handle REFER requests including REFER with Replaces header.

bug:4958680
Change-Id: I96df95097b78bed67ab8abd309a1e57a45c6bc2f
ava/android/net/sip/SipAudioCall.java
ava/com/android/server/sip/SipHelper.java
ava/com/android/server/sip/SipSessionGroup.java
3eeb1a98f91dff53eaf00cfb6b6ee8f25917b232 05-Jul-2011 Hung-ying Tyan <tyanh@google.com> Merge "Keep last known keepalive interval to avoid duplicate effort."
9324e04dcf4d5dd4dd08b1a4d7d981e259df3fe0 04-Jul-2011 Hung-ying Tyan <tyanh@google.com> Merge "Do not hold wifi lock when SIP is also available over mobile network."
f8c34ad3efd82974f166419b174431564658a7d0 04-Jul-2011 Hung-ying Tyan <tyanh@google.com> Merge "Do not keep alive for re-established call."
9edfa107575b5905c9ae0a2fa0d6f0cc19595300 01-Jul-2011 Hung-ying Tyan <tyanh@google.com> Keep last known keepalive interval to avoid duplicate effort.

The current implementation always starts with default minimum interval when
the measurement process starts. By keeping last known good interval, we can
save the time in re-measurement.

Change-Id: I8f1720acafaa7e101855fe0c66d5c7b0e578e0d7
ava/com/android/server/sip/SipService.java
8ba4566c01c5848b378d1d86e9041730f5b5a13f 01-Jul-2011 Hung-ying Tyan <tyanh@google.com> Do not keep alive for re-established call.

Only need to keep alive for caller in a newly established call.

Change-Id: I36f9d9499c806c8701e3b78555de399b00593be8
ava/com/android/server/sip/SipSessionGroup.java
f89654dd2847cc574dfa6a44806289f7e69e17b7 01-Jul-2011 Hung-ying Tyan <tyanh@google.com> Do not hold wifi lock when SIP is also available over mobile network.

Bug: 3111564
Change-Id: Ifc76e5c378d620e40ce4adf6ffa20807e9750fdb
ava/com/android/server/sip/SipService.java
a6cec8feed5c135bb5f4d6193012d13258a067c4 30-Jun-2011 Hung-ying Tyan <tyanh@google.com> Synchronize SipWakeupTimer.onReceive()

to fix the race of two threads that change mPendingIntent; one assigns a new one
and the other nullifies it.

Change-Id: I5e01f83ea1ac437811d2073839adef9bd0a30ec9
ava/com/android/server/sip/SipWakeupTimer.java
129d0b08fdf9588f7c8feeb9db3def30973c092e 29-Jun-2011 Hung-ying Tyan <tyanh@google.com> Make NAT port timeout measurement more flexible.

In two ways:
(1) When there's a session timeout, restart the measurement at a later time
instead of just stalling.
(2) When there's a port change, do not re-measure the interval if the current
interval works well in the past. We keep success count and decrement it
by half when there's a port change. When the count is below a threshold,
we restart the measurement process.

Change-Id: I7256464435a5e2d2a239bfccaa004e9ceb1d9ce5
ava/com/android/server/sip/SipService.java
99705b52ec952012bedc4aa8e1f62caff80a6a2f 28-Jun-2011 Hung-ying Tyan <tyanh@google.com> Record external IP and port from SIP responses

and use them to create the contact header when sending OK response for INVITE.

Bug: 3461707
Change-Id: I5b254618f4920cf10a1460631bcd336778f344ec
ava/com/android/server/sip/SipHelper.java
ava/com/android/server/sip/SipSessionGroup.java
2093561a58e602450f6e4f2aae4831edd1b840f4 28-Jun-2011 repo sync <cywang@google.com> Support INVITE w/o SDP.

bug:3326873

Change-Id: Ie29d2c61b237fee2d8637f4ba3d293a22469cced
ava/android/net/sip/SipAudioCall.java
ava/com/android/server/sip/SipSessionGroup.java
233718c3c5a4f5b4f564af93cb2e42d80a900904 27-Jun-2011 Hung-ying Tyan <tyanh@google.com> Start keepalive process for the caller of a SIP call

so that the callee can send signals (on-hold or bye) back to the caller.
Without the keepalive, the NAT port for the caller will be timed out during the
call. And the signals will be dropped by the NAT device.

Change-Id: I21848d73469045b2ed9e7281556ab184c594c362
ava/com/android/server/sip/SipSessionGroup.java
1aceda35cc607856ec2e960e0c6cfc6aea87ab8e 23-Jun-2011 repo sync <cywang@google.com> Support Invite w/ Replaces request.

bug:3326870
Change-Id: Idbfbe7e3cc6ba83874d42bfb7d149866f454e70a
ava/android/net/sip/ISipSessionListener.aidl
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipSession.java
ava/android/net/sip/SipSessionAdapter.java
ava/com/android/server/sip/SipHelper.java
ava/com/android/server/sip/SipSessionGroup.java
ava/com/android/server/sip/SipSessionListenerProxy.java
e65f3a896f03bba5327ce4f3989c0422855450ca 24-Jun-2011 Hung-ying Tyan <tyanh@google.com> Restart NAT port timeout measurement when keepalive fails and other fixes

Misc keepalive fixes including:
+ Restart NAT port timeout measurement when keepalive fails. The max interval
is set to the current keepalive interval.
+ When exception occurs during sending a keepalive, restarts registration.
+ When exception occurs during measurement, retry for a limited times before
giving up.

Change-Id: I7aa787a5ec7c4c9b4334aa1017371d9049b3520c
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
4af085ff26fbe9e13f7002496fd505dbdb36b282 23-Jun-2011 Hung-ying Tyan <tyanh@google.com> Execute all the due wakeup events in SipWakeupTimer.

Events are sorted by periods. So events of larger periods may have trigger
time (i.e., when the event should be processed) earlier than the ones of smaller
periods. So need to scan the whole queue looking for due events. The scan takes
O(n) time but we expect the queue size to be small.

Change-Id: I08bd3bd9d4bb8decb78f3c91c943396463ca023a
ava/com/android/server/sip/SipWakeupTimer.java
12750701d0f90ed0166f5ddcf588c1235efe830a 23-Jun-2011 Hung-ying Tyan <tyanh@google.com> Keep the keepalive process going after NAT port is changed.

This is a regression from the CL that makes the keep-alive process a reusable
component.

Change-Id: I1d580588e9e303c532bf620056fc0fe88a2fdcda
ava/com/android/server/sip/SipService.java
4a267a9158a62010cd76ab93681586ea8e3d6015 22-Jun-2011 Hung-ying Tyan <tyanh@google.com> Move the keepalive process to SipSessionImpl and make it reusable.

Reuse the new component in the original keepalive process and the NAT port
mapping timeout measurement process.

This is the foundation for fixing the following bug.

Bug: 3464181

Change-Id: If7e951c000503fa64843942ad062c4d853e20c8d
ava/com/android/server/sip/SipHelper.java
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
ac320b224590c8cdea93a50338aaef5faa1f2466 15-Jun-2011 Hung-ying Tyan <tyanh@google.com> Merge "Move WakeupTimer out of SipService."
5621554033089d1c07d53f56e8cd9787125d6e28 14-Jun-2011 Hung-ying Tyan <tyanh@google.com> Move WakeupTimer out of SipService.

This is to prepare to move keepalive process to SipSessionGroup before fixing
the following bug.
Bug: 3464181

Change-Id: I57d8f6effad76706b5a76e1269c53d558db88ae4
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipWakeupTimer.java
c133781723f64d1321685d02ad6a208286bf0a42 13-Jun-2011 repo sync <cywang@google.com> Fix the issue of onNetwork in UI thread.

bug:458435

This will temporarily start a thread for answering calls, we are
going to add a handler thread to handle this soon.

Change-Id: I9079038d671e1b1631c6e663fc2c3de297d97428
ava/com/android/server/sip/SipSessionGroup.java
bb0a989c17cd6135c8d9c8566507521d4d927fe0 10-Mar-2011 Chung-yih Wang <cywang@google.com> Add KeepAlive Interval Measurement.

Change-Id: Id5ea2fcfa0bcd45198e773a5842d39eacc8ae400
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
34bb419e5946ab28112e9e27a4d1b3928d31e0e2 11-May-2011 Dima Zavin <dima@android.com> update for new audio.h header location

Change-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876
Signed-off-by: Dima Zavin <dima@android.com>
ni/rtp/AudioGroup.cpp
4b3913a3e43d3180b21d77cc2f717b446350354f 11-May-2011 Andreas Huber <andih@google.com> Squashed commit of the following:

commit c80992e419ed567abef451042f09c4958534b90d
Author: Andreas Huber <andih@google.com>
Date: Wed May 11 14:00:07 2011 -0700

Support for the mp3 audio decoder as a software OMX component.

Change-Id: I66e10c4d0be4c3aecdef1c21b15a2c7359ceb807

commit a358d0e1bf2a88897887445f42ccdda0f5f2f528
Author: Andreas Huber <andih@google.com>
Date: Wed May 11 13:11:23 2011 -0700

Support for G.711 alaw and mulaw decoders as software OMX components

Change-Id: Ia5c76c02cb83a9f94ce39a27b2251e5880218f03

commit 79088b9c9a5c8b8c97ea66cb4f90a2b0f0d34553
Author: Andreas Huber <andih@google.com>
Date: Thu May 5 15:43:32 2011 -0700

Instead of using an RGB surface and conversion yuv420->rgb565

convert from OMX_COLOR_FormatYUV420Planar to HAL_PIXEL_FORMAT_YV12 instead.

Change-Id: I8c4fc3c54c963f0d4ba6377f3c4ab4e0013152e5
related-to-bug: 4394005

commit 69469d3bd84425777b11b9fc938c5e0c61af26a7
Author: Andreas Huber <andih@google.com>
Date: Tue May 10 15:46:42 2011 -0700

voip mustn't link against libstagefright.so

Change-Id: I4d0ba9a8b9dc9380b792a1bd04bcda231964862c

commit 2a9a9eeeeeb36ae3a9e680469c3016d509ff08c3
Author: Andreas Huber <andih@google.com>
Date: Tue May 10 14:37:10 2011 -0700

Remove most non-OMX software decoders by default

Change-Id: Ic56514bc1b56b8fa952e8c4a164ea7379ecb69d0

commit a4de62c37b335c318217765403a9fb282b20a216
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 16:50:02 2011 -0700

Conditionally build the old-style software decoders.

Change-Id: I5de609e1d76c92d26d6eb81d1551462258f3f15f

commit 5d8b039f9449dc3dad1e77c42c80cc0b54b0c846
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 16:13:12 2011 -0700

Support for MPEG4 and H.263 video decoders as soft OMX components.

Change-Id: I5e3a4835afab89f98e3aa128d013628f5830eafe

commit b25a1bfbeb0ff6e62e1cc694ce2599c91489c7d0
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 11:49:10 2011 -0700

Boost Soft OMX thread priority, fix timestamp handling in vorbis Soft OMX decoder.

Change-Id: I68d26d4999f06fcc451d69e5303663fab0cba9e8

commit c0574362f8dc3319ce84d981097867062a698527
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 11:28:53 2011 -0700

Support for the AMR decoders (NB and WB) as Soft OMX components.

Change-Id: Ia565f59833fb52653e23f26536e7e41fc329a754

commit 3e5575a8f0e27a490cb7bde77bd9456087837f08
Author: Andreas Huber <andih@google.com>
Date: Wed May 4 13:41:25 2011 -0700

Signal an error if the aac decoder failed to initialize from codec specific data.

Change-Id: I01da7831bdf722edd7d6dc5974486daa2cf2b209
related-to-bug: 4272179

commit f94aeaa9886e772ff4823e671ed237096649f4af
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 13:07:38 2011 -0700

Software OMX nodes don't (yet?) support native_window mode.

Change-Id: I7d9ca9164ef4abf66b573ca21dba12d672f8b12d

commit eefdfabac8dc659e00daa56da69aea705c49cb67
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 12:57:16 2011 -0700

Fixing the OMX tests to refer to appropriate files from test content.

Change-Id: I5b61c3498749bfb876abbd3946a5132356e3f6ff

commit f31b7326aef14b6a1b7946520a9688f092e844d5
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 11:08:38 2011 -0700

Soft OMX components are now dynamiclly loaded/unloaded, not directly linked against.

Change-Id: I1e2ecfbfab67a8869886f738eaf0c7b3c948b6d9

commit b7f0343879e4df06f0a1c9bfece24df557954e2f
Author: Andreas Huber <andih@google.com>
Date: Mon May 2 15:58:36 2011 -0700

Support for the AVC software decoder as an OMX component.

Change-Id: I13c12df435ba4afbd968a9fc659f66b91c818bc2

commit 5bb9e616d6c8e1b13d531fe996b9a9affdfb2977
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:05:37 2011 -0700

Fix Vorbis OMX decoder's component role.

Change-Id: I5e871e5e11b3f951c93590210e63fd7987c467b5

commit 089c91f2333062e196c7afd5fb0ca914878aa474
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:05:18 2011 -0700

Support vorbis_decoder OMX testing.

Change-Id: I1985be178a12ae3f8768bc72067d9236238be170

commit 56e241fa36fc37219bc536b823bdc2ab82dc1fad
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:01:46 2011 -0700

SoftVorbis OMX component now respects the number of valid frames per page.

Change-Id: I82a117a064d9b083fc58a54ad900a987a763ef03

commit fcd618ec520c376fdb78f4cbb44b8d9f5d213e2b
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 10:59:38 2011 -0700

Support for the vorbis audio decoder as a soft OMX component.

Change-Id: Iaeb057e58ca306d3dce205c0445b74d5aefef492

commit d1fcc3203fc8003ad79c6e96b3a1fc4261743f16
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 10:07:50 2011 -0700

VPX decoder now properly resizes buffers after a port settings change.

Change-Id: I110749a31b6cba087891d8e5dfe420830bdbf831

commit 35c7168243cb69849d88911144a2c7fdfed5c54e
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 13:23:34 2011 -0700

Support for the VPX video decoder as a Software OMX component.

Change-Id: Ic345add2d6d768d4af631160153f2e9b97fcea71

commit 923b2534b4211fc5405377b5190bfa6f2dd27f32
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 11:34:40 2011 -0700

Table-based registration of soft omx components.

Change-Id: I7f45f0fa5b3a7950776e69c66349731f7674e937

commit 04a88f3edb2266a463da9c4481b80178be460902
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 11:22:31 2011 -0700

Apparently OMX_GetParameter is valid in any state other than OMX_StateInvalid

OMX_SetParameter is still constrained to OMX_StateLoaded or a disabled port.

Change-Id: I1032d7cf4011982d306aa369d4158a82830d26fb

commit 9d70ca68445e7c40f5c9b2d12466e468f514de88
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 27 15:03:18 2011 -0700

Use the new soft OMX aac decoder for HTTP live playback.

Change-Id: Ifbcfb732a9edb855cb46b49f6d0ac942170ee28f

commit 213fe4a10ea93cce08e8622dc3908053f29878a1
Author: Andreas Huber <andih@google.com>
Date: Tue Apr 12 16:39:45 2011 -0700

Foundation for supporting software decoders as OMX components

Change-Id: I7fdab256563b35d1d090617abaea9a26b198d816

Change-Id: I83e9236beed4af985d10333c203f065df9e09a42
ni/rtp/Android.mk
b8df57d8767923f40bd52a0d2d1114e67fa76fa5 06-May-2011 Scott Main <smain@google.com> am d81214da: am a7a9c4cb: am 46524f83: Merge "docs: add package description for RTP" into honeycomb-mr1

* commit 'd81214dae45a4b38919296af41bf756e3931675a':
docs: add package description for RTP
d81214dae45a4b38919296af41bf756e3931675a 06-May-2011 Scott Main <smain@google.com> am a7a9c4cb: am 46524f83: Merge "docs: add package description for RTP" into honeycomb-mr1

* commit 'a7a9c4cbbc2315a59ad27b43c83c66e272dcc2f2':
docs: add package description for RTP
de9acb76d9ea398d0ba4c5e62df554f5696eaa99 06-May-2011 Scott Main <smain@google.com> docs: add package description for RTP

Change-Id: I02c181a48101be288fb4aabf497f573f00038f90
ava/android/net/rtp/package.html
24fc2fb1c541e954b83fd31ea9f786a5e9b45501 20-Apr-2011 Dima Zavin <dima@android.com> audio/media: convert to using the audio HAL and new audio defs

Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5
Signed-off-by: Dima Zavin <dima@android.com>
ni/rtp/AudioGroup.cpp
d8cbd16659d1a5d098acfcfa8ee98c95036aff63 05-Apr-2011 Eric Laurent <elaurent@google.com> am 7a492a9a: am b7a76e84: am a482d83c: Merge "Issue 4157048: mic gain for VoIP/SIP calls." into gingerbread

* commit '7a492a9ad42947a3a7b777b0eb6eec56f5bb942b':
Issue 4157048: mic gain for VoIP/SIP calls.
7a492a9ad42947a3a7b777b0eb6eec56f5bb942b 05-Apr-2011 Eric Laurent <elaurent@google.com> am b7a76e84: am a482d83c: Merge "Issue 4157048: mic gain for VoIP/SIP calls." into gingerbread

* commit 'b7a76e84fde7fe534d46aaaa71e3224798354009':
Issue 4157048: mic gain for VoIP/SIP calls.
b7a76e84fde7fe534d46aaaa71e3224798354009 04-Apr-2011 Eric Laurent <elaurent@google.com> am a482d83c: Merge "Issue 4157048: mic gain for VoIP/SIP calls." into gingerbread

* commit 'a482d83ccf35ccd6cc29a9e1ace3d77b5f28d013':
Issue 4157048: mic gain for VoIP/SIP calls.
d7a724e6d89420408200c20937baa3b2bd902742 30-Mar-2011 Eric Laurent <elaurent@google.com> Issue 4157048: mic gain for VoIP/SIP calls.

Herring board exhibits a strong echo even in non speakerphone modes.
To compensate the lack of AEC or AES when not in speakerphone, the mic gain
had been reduced in the ADC. But this has an adverse effect on other VoIP applications
that have their own AEC and are penalized by the weak mic gain.

This workaround enables an acceptable mic gain for other VoIP apps while offering a
SIP call experience which is not worse than it was with the residual echo that was
present even with mic gain reduction.

Change-Id: I33fd37858758e94e42ef5b545d3f0dc233220bf1
ni/rtp/AudioGroup.cpp
397de169e5462bf0c62506827819f93336b3f123 29-Mar-2011 Brad Fitzpatrick <bradfitz@android.com> am fae5e289: am 6f67e7bf: am 2e383bc6: Merge "Making it possible to call SIP calls with special allowed chars."

* commit 'fae5e2894ff3c09f27efac2a7ee6b9cfd4ed14b0':
Making it possible to call SIP calls with special allowed chars.
fae5e2894ff3c09f27efac2a7ee6b9cfd4ed14b0 29-Mar-2011 Brad Fitzpatrick <bradfitz@android.com> am 6f67e7bf: am 2e383bc6: Merge "Making it possible to call SIP calls with special allowed chars."

* commit '6f67e7bf831147257e078dd72a22f2e43e009122':
Making it possible to call SIP calls with special allowed chars.
b5c72ead014a509c0f84884d1f2dac1ff9deec8e 22-Mar-2011 Magnus Strandberg <magnus.strandberg@sonyericsson.com> Making it possible to call SIP calls with special allowed chars.

Since String.replaceFirst uses regex and since SIP user names are
allowed to include regex charaters such as '+', the code must
fist convert the string to a literal pattern String before using
replaceFirst method.

Change-Id: I25eac852bd620724ca1c5b2befc023af9dae3c1a
ava/com/android/server/sip/SipHelper.java
3f9e08973f33a5640e52381431ef02aa184dd018 22-Mar-2011 Carl Shapiro <cshapiro@google.com> Include strings.h instead of string.h for the strcasecmp prototype.

Change-Id: I6b0ddc2408c30851edcffb36f1bc74245403ffc7
ni/rtp/AudioCodec.cpp
3070af08821ee86f06a9cc6b58dbb79c82946b94 14-Mar-2011 Iliyan Malchev <malchev@google.com> frameworks/base: remove LOCAL_PRELINK_MODULE

Change-Id: I54dd62ebef47e7690afa5a858f3cad941b135481
Signed-off-by: Iliyan Malchev <malchev@google.com>
ni/rtp/Android.mk
6defd2d47e81b206d76430266120294a40592b27 03-Mar-2011 Chia-chi Yeh <chiachi@android.com> NEW_API: Unhide RTP APIs.

This change unhides RTP related classes including AudioCodec,
AudioGroup, AudioStream, and RtpStream. This allows developers
to control audio streams directly and also makes conference
calls possible with the combination of the public SIP APIs.

Change-Id: Idfd4edf65a1cbf3245ec2786fbc03b06438b0fb3
ava/android/net/rtp/AudioCodec.java
ava/android/net/rtp/AudioGroup.java
ava/android/net/rtp/AudioStream.java
ava/android/net/rtp/RtpStream.java
c52f5b2ec5e13ab3d9ab016e6cab757d4ecb45c7 03-Mar-2011 Chia-chi Yeh <chiachi@android.com> RTP: update javadocs.

Change-Id: If600df0eb1e6135aed9f3b2eacfb6bc9ed5d78ff
ava/android/net/rtp/AudioGroup.java
ava/android/net/rtp/AudioStream.java
89bc1fe73efb73b43758d41c9ff9f2f4902dd019 25-Feb-2011 Chung-yih Wang <cywang@google.com> Activate the wifi high perf. for sip calls.

bug:3487791

Change-Id: I7d8d146f8542cd7df387547c7ce3d5ded27f8e97
ava/android/net/sip/SipAudioCall.java
fcd0e50da51074703929e9f7b700a2cd11bd67e0 21-Feb-2011 Chung-yih Wang <cywang@google.com> Add rport argument for a reinvite request.

bug:3461707
Change-Id: I69a4f84dde3929c754c838fd12e624b774f44826
ava/com/android/server/sip/SipHelper.java
9e25df44631e3c7881a6816cf26f34ea24055c72 10-Feb-2011 Chung-yih Wang <cywang@google.com> Make SIP AuthName APIs public.

bug:3326867
Change-Id: I766e6e28f6ad3e84de2c9e24850d472ad00271cc
ava/android/net/sip/SipProfile.java
2ba92c71b5684dce700cf848bf157153c156df1d 15-Nov-2010 Jean-Michel Trivi <jmtrivi@google.com> 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
ni/rtp/AudioGroup.cpp
14b6d0620b42d1bb3a55778ba452d838a0d89223 25-Jan-2011 Hung-ying Tyan <tyanh@google.com> Merge changes Ib70e0cf2,I0691cd70 into gingerbread

* changes:
SipService: registers broadcast receivers on demand.
SipService: release wake lock for cancelled tasks.
f46013b67219b0b2e95fcebb0e51e9816ab0ce94 18-Jan-2011 Hung-ying Tyan <tyanh@google.com> Merge "Merge "SipService: registers broadcast receivers on demand."" into honeycomb
e9b54077274d0c4066093cd90dabca59b3d9a157 07-Jan-2011 Hung-ying Tyan <tyanh@google.com> Merge "SipService: registers broadcast receivers on demand."

The previous implementation registers receivers when SipService starts up.
If the user doesn't use SIP at all, SipService will still process connecivity
and wifi state change events, which involves holding wake lock and thus
consumes power unnecessarily.

With this CL, SipService is completely idle if the user doesn't use SIP at all.
It registers receivers only when at least one account is opened.

Bug: 3326998
Change-Id: Idea43747f8204b0ccad3fc05a1b1c0b29c9b2557
ava/com/android/server/sip/SipService.java
40f2cacbc9ab00d34c2a4f49519921bbf6b5293a 06-Jan-2011 Hung-ying Tyan <tyanh@google.com> Merge "SipService: release wake lock for cancelled tasks."

Bug: 3327004
Change-Id: Ice47f973b5f2969f26eaa83a3e4795b2e153ba8b
ava/com/android/server/sip/SipService.java
0f7de88cb9eef781117fa2f2b69ba2698237637e 06-Jan-2011 Chung-yih Wang <cywang@google.com> Merge "Add auth. username in SipProfile." from gingerbread.

bug:3326867
Change-Id: Ic67dd7d4858f28224e4f01ad8b65bcd3a3c15f10
ava/android/net/sip/SipProfile.java
ava/com/android/server/sip/SipSessionGroup.java
f268a2f8488b6b111126a7043a5f1f559a566fa7 06-Jan-2011 Chung-yih Wang <cywang@google.com> Add auth. username in SipProfile.

bug:3326867
Change-Id: I2a62c75fb3f5e9c6ec2e00b29396e93b0c183d9b
ava/android/net/sip/SipProfile.java
ava/com/android/server/sip/SipSessionGroup.java
f0bb1ce70f8d5f19f0d63be070997ef237a15fe6 07-Jan-2011 Hung-ying Tyan <tyanh@google.com> SipService: registers broadcast receivers on demand.

The previous implementation registers receivers when SipService starts up.
If the user doesn't use SIP at all, SipService will still process connecivity
and wifi state change events, which involves holding wake lock and thus
consumes power unnecessarily.

With this CL, SipService is completely idle if the user doesn't use SIP at all.
It registers receivers only when at least one account is opened.

Bug: 3326998
Change-Id: Ib70e0cf2c808e0ebab4c3c43dcab5532d24e5eeb
ava/com/android/server/sip/SipService.java
d87be273aaea32995c87a6cbc6250cbfeeddd84d 06-Jan-2011 Chia-chi Yeh <chiachi@android.com> Enable built-in echo canceler if available.

1. Always initialize AudioRecord with VOICE_COMMUNICATION.
2. If echo canceler is available, disable our echo suppressor.

Change-Id: Idf18d3833189a8478c1b252ebe6ce55e923280b3
ni/rtp/AudioGroup.cpp
4bf82df2f069b5a788689064bf8d3f6b612587d4 06-Jan-2011 Chia-chi Yeh <chiachi@android.com> Do not set back to AudioManager.MODE_NORMAL in SipAudioCall.

Change-Id: I8f68e01e5f8c73bb8afd44312cbfadb55aab4330
ava/android/net/sip/SipAudioCall.java
0c01e6e060d079b0a25a44c1159db63944afce17 06-Jan-2011 Hung-ying Tyan <tyanh@google.com> SipService: release wake lock for cancelled tasks.

Bug: 3327004
Change-Id: I0691cd70edf61f815ecb0613aca85babd89f6cc4
ava/com/android/server/sip/SipService.java
d0da38079617e867db5d2bbdaaaa4cd49027d4eb 05-Jan-2011 Chia-chi Yeh <chiachi@android.com> am dc78e3fe: am 3cf71376: RTP: Send silence packets on idle streams for every second.

* commit 'dc78e3fe7f2ffbc810cd54e86e3a83e279d74984':
RTP: Send silence packets on idle streams for every second.
3cf71376421f942d06b30101fbf0df7f3b23fbdd 04-Jan-2011 Chia-chi Yeh <chiachi@android.com> RTP: Send silence packets on idle streams for every second.

Originally a stream does not send packets when it is receive-only or there is
nothing to mix. However, this causes some problems with certain firewalls and
proxies. A firewall might remove a port mapping when there is no outgoing
packet for a preiod of time, and a proxy might wait for incoming packets from
both sides before start forwarding. To solve these problems, we send out a
silence packet on the stream for every second. It should be good enough to
keep the stream alive with relatively low resources.

Bug: 3119690
Change-Id: Ib9c55e5dddfba28928bd9b376832b68bda24c0e4
ni/rtp/AudioGroup.cpp
33808c6d2448bbc944905819c213f2debf18af5a 22-Dec-2010 Hung-ying Tyan <tyanh@google.com> am aec9a33f: am e0bd2688: Merge "Check if VoIP API is supported in SipManager." into gingerbread

* commit 'aec9a33f1cfc7c32690bc8e24aefaeb137ab9859':
Check if VoIP API is supported in SipManager.
5bd3782f244212cd8ef51bf9f3578869b08b4e18 20-Dec-2010 Hung-ying Tyan <tyanh@google.com> Check if VoIP API is supported in SipManager.

This is to make SipManager.isVoipSupported() effective.
Also add NPE check now that we may return null SipAudioCall when VOIP is not
supported.

Bug: 3251016

Change-Id: Icd551123499f55eef190743b90980922893c4a13
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipManager.java
635b2b77b917c1bf20ce135ce6fcc98a6a7be084 20-Dec-2010 Hung-ying Tyan <tyanh@google.com> am d90bc225: am a936b256: Remove SIP realm/domain check

* commit 'd90bc225b9d6e4f8f69d984aa63062a7b20ac65c':
Remove SIP realm/domain check
a936b256eb1611b5d8b88d0cd61f21225152cc82 16-Dec-2010 Hung-ying Tyan <tyanh@google.com> Remove SIP realm/domain check

as the realm may be different from the domain.

Bug: 3283834
Change-Id: I64c9f0d6d626afdb397c5d378d30afa9d6a64ca9
ava/com/android/server/sip/SipSessionGroup.java
58ee2acba8953814cc4bf65d2f28f7dd498b5779 16-Dec-2010 Hung-ying Tyan <tyanh@google.com> Check port in create peer's SIP profile.

SipURI returns port -1 when port is not present in the URI.
Don't call SipProfile.Builder.setPort() when that happens.

Bug: 3291248
Change-Id: I8e608cbc56ea82862df55fdba885f6a864db83ab
ava/android/net/sip/SipProfile.java
ava/com/android/server/sip/SipSessionGroup.java
eecf4a6f11129461088d620afadb6014edab3086 16-Dec-2010 Hung-ying Tyan <tyanh@google.com> Check port in create peer's SIP profile.

SipURI returns port -1 when port is not present in the URI.
Don't call SipProfile.Builder.setPort() when that happens.

Change-Id: Ic5fe7301195705a77010038cae20d6629b33135e
ava/android/net/sip/SipProfile.java
ava/com/android/server/sip/SipSessionGroup.java
c030a164c8a890947985d15722fe3df8785f7d04 07-Dec-2010 Chung-yih Wang <cywang@google.com> am c9cc9ab5: am 5f86d7f5: Merge "Fix SIP bug of different transport/port used for requests." into gingerbread

* commit 'c9cc9ab590ef879877e466c0b5f5823e11bb4c47':
Fix SIP bug of different transport/port used for requests.
f053292d7a46c30abbe6f12ca04dbc03ec964d80 03-Nov-2010 Chung-yih Wang <cywang@google.com> Fix SIP bug of different transport/port used for requests.

bug: http://b/3156148
Change-Id: I4fa5b274d2e90ebde12d9e99822dc193a65bad32
ava/android/net/sip/SipProfile.java
ava/com/android/server/sip/SipHelper.java
2aef9a1e847a7612549d9a0280cde6489e540f6b 03-Dec-2010 Hung-ying Tyan <tyanh@google.com> am 7da1ffc9: am e2abd103: Merge "Set AudioGroup mode according to audio settings" into gingerbread

* commit '7da1ffc9d2a51ef6120389a06351fd770ab45f46':
Set AudioGroup mode according to audio settings
e2abd103a2d311738ff1dd1e1d9b8e6c52aa870c 03-Dec-2010 Hung-ying Tyan <tyanh@google.com> Merge "Set AudioGroup mode according to audio settings" into gingerbread
d6b0d689a77934a0124ed9d3a59c9534a5d4958b 01-Dec-2010 Hung-ying Tyan <tyanh@google.com> am 6034f9b2: am 06e8cdc0: Fix race between ending and answering a SIP call.

* commit '6034f9b2664799cb4f983657a78023b49efff825':
Fix race between ending and answering a SIP call.
db4245291b15fd966b36c70f7f69ba4d22539803 01-Dec-2010 Hung-ying Tyan <tyanh@google.com> am ed34b244: am d7116ff1: Merge "Do not suppress error feedback during a SIP call." into gingerbread

* commit 'ed34b244f1665b604d2a291db504415b10a514d7':
Do not suppress error feedback during a SIP call.
06e8cdc0f81ead604d5adf9d7b3f982e10226fd2 25-Oct-2010 Hung-ying Tyan <tyanh@google.com> Fix race between ending and answering a SIP call.

+ Also fix race between ending and changing (holding/unholding) a SIP call.
+ Remove an unused method.

Bug : 3128233

Change-Id: Ie18d8333a88f0d9906d54988243d909b58e07e4b
ava/com/android/server/sip/SipSessionGroup.java
4c7cc83827458945fe7a1f4bd2bfe0629f0d30ae 01-Dec-2010 Chia-chi Yeh <chiachi@android.com> Merge "RTP: Prepare to unhide the APIs."
53aa6ef70d8692277f9403f94d43918ad9712dd0 30-Nov-2010 Chia-chi Yeh <chiachi@android.com> RTP: Prepare to unhide the APIs.

Polish things a little bit.

Change-Id: I2c3cea8b34b9c858879bc722ea1f38082ba22b8d
ava/android/net/rtp/AudioGroup.java
ava/android/net/rtp/AudioStream.java
ava/android/net/rtp/RtpStream.java
ni/rtp/AmrCodec.cpp
ni/rtp/AudioGroup.cpp
1c8c173666313f8ab589fa54911661cbc41a5e8f 01-Dec-2010 Hung-ying Tyan <tyanh@google.com> am c41b27e2: am 349f3509: Merge "Correct SipService.isOpened() implementation." into gingerbread

* commit 'c41b27e2748ee19620636a14721a1dc14c3b418c':
Correct SipService.isOpened() implementation.
121006789e9db9a35f0716e571a55fb0936c0783 01-Dec-2010 Hung-ying Tyan <tyanh@google.com> am 5c85338d: am d9e12303: Merge "Notify SipSessions before closing SIP stack." into gingerbread

* commit '5c85338dcf85462534d85440ded100a8012ff9dd':
Notify SipSessions before closing SIP stack.
ebf28fa3f086bd5d3fa8d988fe4b8a8faeddd710 01-Dec-2010 Hung-ying Tyan <tyanh@google.com> am 0e58a952: am 0bba9535: Merge "Throw proper exceptions in SipManager" into gingerbread

* commit '0e58a9529895e270dae90e69486a59e41de714b8':
Throw proper exceptions in SipManager
342a9be0096752aa0ae80120a64751a7d0b9e7a2 01-Dec-2010 Chia-chi Yeh <chiachi@android.com> am e843dfa8: am bd399b0b: Merge "RTP: Pause echo suppressor when far-end volume is low." into gingerbread

* commit 'e843dfa8dcd0a7bfa956b75424bb5db834975a64':
RTP: Pause echo suppressor when far-end volume is low.
fa81463e88d15859b557be6fef5982b049b92ab8 25-Oct-2010 Hung-ying Tyan <tyanh@google.com> Set AudioGroup mode according to audio settings

Set AudioGroup mode according to holding, mute and speaker phone settings.

Bug: 3119690
Change-Id: I02803ae105409b7f8482e6c2ef3e67623bd54e03
ava/android/net/sip/SipAudioCall.java
4189d99b6e4877352049b7447b7f0734ef99b9e8 24-Oct-2010 Hung-ying Tyan <tyanh@google.com> Do not suppress error feedback during a SIP call.

Bug: 3124788
Change-Id: Ia0a06f72336d1795515428eba0c9f875c32d13d1
ava/com/android/server/sip/SipSessionGroup.java
349f3509f7335bbdef443a75afa36fb3c2d9552c 30-Nov-2010 Hung-ying Tyan <tyanh@google.com> Merge "Correct SipService.isOpened() implementation." into gingerbread
d9e12303d279654afe16319f948f93490cd1b4d5 30-Nov-2010 Hung-ying Tyan <tyanh@google.com> Merge "Notify SipSessions before closing SIP stack." into gingerbread
0bba9535413f9ceefe03f1cef9ddaddccd05cae5 30-Nov-2010 Hung-ying Tyan <tyanh@google.com> Merge "Throw proper exceptions in SipManager" into gingerbread
bd399b0bd205a1a3889bae1a619c6d4d4a0f4816 30-Nov-2010 Chia-chi Yeh <chiachi@android.com> Merge "RTP: Pause echo suppressor when far-end volume is low." into gingerbread
8d1b2a17d9935819ec96f1b5fca0e9945f564eaa 03-Nov-2010 Hung-ying Tyan <tyanh@google.com> 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
ava/android/net/sip/SipManager.java
262cdfca7a0940735d3a08779e2d01bfdf639294 02-Nov-2010 Hung-ying Tyan <tyanh@google.com> Correct SipService.isOpened() implementation.

Make it return true for all existing accounts.
Rename mOpened to mOpenedToReceiveCalls to make it less confusing.

Bug: 3155849
Change-Id: I327f411bf76afd73434ad1fa2ffef3db1e35d778
ava/com/android/server/sip/SipService.java
e5bc8f617b48ab237bec22dd4572e678642f25eb 29-Oct-2010 Scott Main <smain@google.com> am 9a8df805: am 1112632a: Merge "docs: revise javadocs for sip add a package description, revise class descriptions and edit some method docs" into gingerbread

* commit '9a8df8054b2e38a27d8e8e6b17365979218f0e3f':
docs: revise javadocs for sip add a package description, revise class descriptions and edit some method docs
02b1d685cc287d7c53141872b3d80be4ee5dd59e 22-Oct-2010 Scott Main <smain@google.com> docs: revise javadocs for sip
add a package description, revise class descriptions and edit some method docs

Change-Id: Ice969a99c830349674c65d99e4b7a6f1d2f24a7e
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipErrorCode.java
ava/android/net/sip/SipException.java
ava/android/net/sip/SipManager.java
ava/android/net/sip/SipProfile.java
ava/android/net/sip/SipRegistrationListener.java
ava/android/net/sip/SipSession.java
ava/android/net/sip/package.html
0c7d30660c4573189570846a6ae0805d014fab56 27-Oct-2010 Chia-chi Yeh <chiachi@android.com> RTP: Pause echo suppressor when far-end volume is low.

Bug: 3136725
Change-Id: Ieeedd2836d3028045aacac963f44285491708cc3
ni/rtp/EchoSuppressor.cpp
5d0c5cf2d6c6e82bcdce95d72d9000a934b2f354 22-Oct-2010 Hung-ying Tyan <tyanh@google.com> Notify SipSessions before closing SIP stack.

Bug: 3116480
Change-Id: I748d63382ade250aed27ccb09ea68c76a433fd27
ava/com/android/server/sip/SipSessionGroup.java
2754b4bde824bfbdc483ad627aaaea87971b053a 22-Oct-2010 Hung-ying Tyan <tyanh@google.com> am d4d3f36f: am 1257d330: Merge "Clean up pending sessions on incoming call in SipService" into gingerbread

Merge commit 'd4d3f36f4c25b41f4253eadd5e67035fe220cad3'

* commit 'd4d3f36f4c25b41f4253eadd5e67035fe220cad3':
Clean up pending sessions on incoming call in SipService
60c45d026907edbe340c8cf9e1723b3dd34f8b6a 22-Oct-2010 Hung-ying Tyan <tyanh@google.com> Clean up pending sessions on incoming call in SipService

Bug: 3122186
Change-Id: I25c9aa19d138f6940a29025d54e7bc2ffb7daa29
ava/com/android/server/sip/SipService.java
39df5331c7423455f1fb6c01b075b618f8bc00fd 22-Oct-2010 Chia-chi Yeh <chiachi@android.com> am 044fcd64: am 703aae06: Merge "RTP: Fix non-zero DC in EchoSuppressor caused while aggregating samples." into gingerbread

Merge commit '044fcd64fe999dca0f986dfce9cb3b5b1da77f44'

* commit '044fcd64fe999dca0f986dfce9cb3b5b1da77f44':
RTP: Fix non-zero DC in EchoSuppressor caused while aggregating samples.
6d848f759e901264935ed7ba1094d865e3b2c16b 21-Oct-2010 Hung-ying Tyan <tyanh@google.com> am bdc15d8b: am 4056ab97: Merge "Add permission requirements to SipAudioCall and SipManager javadoc." into gingerbread

Merge commit 'bdc15d8b43e7763bf72780d0f683b223b8cf6625'

* commit 'bdc15d8b43e7763bf72780d0f683b223b8cf6625':
Add permission requirements to SipAudioCall and SipManager javadoc.
703aae06c0925b19657877bb1872bb2f28874969 21-Oct-2010 Chia-chi Yeh <chiachi@android.com> Merge "RTP: Fix non-zero DC in EchoSuppressor caused while aggregating samples." into gingerbread
8a68b52b9873f1f3d7114576c9f39a2b7b402152 21-Oct-2010 Chia-chi Yeh <chiachi@android.com> RTP: Fix non-zero DC in EchoSuppressor caused while aggregating samples.

Rewrite using integer arithmetic to get full 32-bit precision instead
of 23-bit in single precision floating-points.

Bug: 3029745
Change-Id: If67dcc403923755f403d08bbafb41ebce26e4e8b
ni/rtp/AudioGroup.cpp
ni/rtp/EchoSuppressor.cpp
ni/rtp/EchoSuppressor.h
164cd438fb21e82d0aacc06da940041f0b7f6a2c 21-Oct-2010 Hung-ying Tyan <tyanh@google.com> am 51028569: am 1180f2a0: Merge "Remove ringtone API from SipAudioCall." into gingerbread

Merge commit '5102856947595cffc1cceb11b9e4c5baf70b2e82'

* commit '5102856947595cffc1cceb11b9e4c5baf70b2e82':
Remove ringtone API from SipAudioCall.
16f5d6ee797543b42ea457c8a8724a569eac6595 21-Oct-2010 Chung-yih Wang <cywang@google.com> am aefcdde4: am 4944fdd7: Periodically scan wifi when wifi is not connected and wifi lock is grabbed in SipService.

Merge commit 'aefcdde4bdf2be74bdf9620359830faeed5419e6'

* commit 'aefcdde4bdf2be74bdf9620359830faeed5419e6':
Periodically scan wifi when wifi is not connected and wifi lock is
9d6d17fcd80ca43fb57c4bb5808e55e79f0fbe26 21-Oct-2010 Hung-ying Tyan <tyanh@google.com> am 35d9e770: am 0a6e717f: Handle dialing a SIP call to self.

Merge commit '35d9e7701eea343d8cdfcd3c990ae74685b299b2'

* commit '35d9e7701eea343d8cdfcd3c990ae74685b299b2':
Handle dialing a SIP call to self.
385a753dead6ef15f2e30eae47f73e642b3ef7ed 21-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 368fdba4 to master

Change-Id: I42b7b433c86a71a5da5db67109f056a280077c9d
e87b644402642bad7147f915849bfa0eadaea446 18-Oct-2010 Hung-ying Tyan <tyanh@google.com> Add permission requirements to SipAudioCall and SipManager javadoc.

Bug: 3116259

Change-Id: I00a033794e9d3e1c2d2ccfe4e612cd50003ec2ee
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipManager.java
9b449e5606786f7c197679f8f9d25985308bfb72 20-Oct-2010 Hung-ying Tyan <tyanh@google.com> 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
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipManager.java
4944fdd771d2a629b3c1af8097df5eb2de02d9ee 19-Oct-2010 Chung-yih Wang <cywang@google.com> Periodically scan wifi when wifi is not connected and wifi lock is
grabbed in SipService.

bug: http://b/3077454
Change-Id: I153974325c29e0f927c8eb7fdbc4725aaf10087d
ava/com/android/server/sip/SipService.java
0a6e717fb6846f66b8dc853e079f2166307bfc60 18-Oct-2010 Hung-ying Tyan <tyanh@google.com> Handle dialing a SIP call to self.

Reply BUSY HERE response so server may redirect the call to the voice mailbox.

http://b/issue?id=3103072
http://b/issue?id=3109479

Change-Id: I81f5dd59ad87298dd9dda87084538ee460eabba8
ava/com/android/server/sip/SipHelper.java
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
431bb2269532f2514861b908d5fafda8fa64da79 19-Oct-2010 Joe Onorato <joeo@google.com> 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
ava/com/android/server/sip/SipService.java
dc58e5211ff76677a545c5ce4c39a5fd246cffee 19-Oct-2010 Chung-yih Wang <cywang@google.com> am cd6fe63f: am b4116c09: Fix the incorrect environment variable name for the thread pool size.

Merge commit 'cd6fe63fdc2e99da11b19a233afd81e2448d0db2'

* commit 'cd6fe63fdc2e99da11b19a233afd81e2448d0db2':
Fix the incorrect environment variable name for the thread pool size.
78c206c75095b4a9092aabed8e79702ae0c5dc86 19-Oct-2010 John Huang <jsh@google.com> am 085996c4: am 45bd8303: Merge "Uncomment SIP/VOIP feature check in SipManager." into gingerbread

Merge commit '085996c411b4d3878dfd97c59bfc4a17da08959b'

* commit '085996c411b4d3878dfd97c59bfc4a17da08959b':
Uncomment SIP/VOIP feature check in SipManager.
723e997ef9745ad05c2499509c21976a42f2f278 19-Oct-2010 John Huang <jsh@google.com> am 3e9bcb98: am 382717f3: Merge "Set the thread pool size of NIST sip stack to one." into gingerbread

Merge commit '3e9bcb98c4190b18d113e79ead071a86cd7ca480'

* commit '3e9bcb98c4190b18d113e79ead071a86cd7ca480':
Set the thread pool size of NIST sip stack to one.
b4116c09fb9784551911ea0a10b4dd321ff9aa7d 19-Oct-2010 Chung-yih Wang <cywang@google.com> Fix the incorrect environment variable name for the thread pool size.

bug: http://b/3099715
Change-Id: I531048414f22c8edcd9c4f815c12a0bdd6347640
ava/com/android/server/sip/SipSessionGroup.java
45bd8303fe20f20843f5a76ddf42a5ace54add58 18-Oct-2010 John Huang <jsh@google.com> Merge "Uncomment SIP/VOIP feature check in SipManager." into gingerbread
a0cdfbf5b74a92611789b7ec08a84274b9011021 18-Oct-2010 Hung-ying Tyan <tyanh@google.com> Uncomment SIP/VOIP feature check in SipManager.

http://b/issue?id=2971947

Change-Id: I3afa8eb03c4e347b382213dd388354365f766b2f
ava/android/net/sip/SipManager.java
66cc5355a137e291cc1e3c5d871e1d9cd35ee0ab 18-Oct-2010 Chung-yih Wang <cywang@google.com> Set the thread pool size of NIST sip stack to one.

Set the thread pool size to one to fix the out-of-order packets
seen in sip service when the device is waken up from sleep.

bug:http://b/3099715
Change-Id: Ia169e3fde77488068c369e3345ecf6a6d8ddf792
ava/com/android/server/sip/SipSessionGroup.java
e1baa9c79ffd9240a20bab88c865afae5ce53e59 16-Oct-2010 Hung-ying Tyan <tyanh@google.com> am ebad42d6: am 3fbfee2f: Merge "SipService: add wake lock for incoming INVITE packets." into gingerbread

Merge commit 'ebad42d6d35dc0dc07fe89650268453dbdff8a79'

* commit 'ebad42d6d35dc0dc07fe89650268453dbdff8a79':
SipService: add wake lock for incoming INVITE packets.
0601be0803538416857425a69ccb895866eb5e4a 15-Oct-2010 Hung-ying Tyan <tyanh@google.com> am 4f5eb955: am bd57eeaf: SipService: add wake lock for multiple components.

Merge commit '4f5eb9550ba2cc037c4aa81613574a38a956dd5c'

* commit '4f5eb9550ba2cc037c4aa81613574a38a956dd5c':
SipService: add wake lock for multiple components.
61312df60783ca49b664d5ae82f007bc779d132e 15-Oct-2010 Hung-ying Tyan <tyanh@google.com> am f3a935f6: am 3bb10442: Merge "Make SipService listen to WIFI state change events." into gingerbread

Merge commit 'f3a935f6aa421110c7b6f36f922223c195f751bc'

* commit 'f3a935f6aa421110c7b6f36f922223c195f751bc':
Make SipService listen to WIFI state change events.
4fe18a4998ad1d3d0a62a6b35f9225304c34ef00 15-Oct-2010 Hung-ying Tyan <tyanh@google.com> am 8a362186: am f1b1eec9: Merge "SipService: mScreenOn is flipped to wrong value." into gingerbread

Merge commit '8a3621866d8a04b0a229eb5765ea9799e68fd90c'

* commit '8a3621866d8a04b0a229eb5765ea9799e68fd90c':
SipService: mScreenOn is flipped to wrong value.
28f63c06894b9ca9252f43bc54a098c0a785d4b4 14-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: add wake lock for incoming INVITE packets.

+ Keep the wake lock for 500ms. (Some measurements on N1 indicate 160~180ms
needed to bring up InCallScreen but since INVITE doesn't come in frequently
we can be more generous just to be safe.)
+ Move MyWakeupLock out of SipService so SipSessionGroup can use it without
awkward inter-dependency with SipService.
+ Add acquire(int timeout) to be used to create the "timed" wake lock.

http://b/issue?id=3081828

Change-Id: Iffd1d78d1a5cae9f795252ada75310917095204d
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
ava/com/android/server/sip/SipWakeLock.java
379694f528cbf947b4dbe3fecffced4162cc74e4 15-Oct-2010 Hung-ying Tyan <tyanh@google.com> am 06e55977: am 907f6f1d: Merge "Fix SipSessionGroup from throwing ConcurrentModificationException" into gingerbread

Merge commit '06e559779edd93a83100824b36c9bf67a27db178'

* commit '06e559779edd93a83100824b36c9bf67a27db178':
Fix SipSessionGroup from throwing ConcurrentModificationException
bd57eeafe034cf850225db403700b5dc5db5ebcc 13-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: add wake lock for multiple components.

+ Add MyWakeLock to maintain a global wake lock for multiple components.
+ Use a Set to store components that want to hold the lock.
+ When the first component enters the set, we grab the global wake lock.
+ When the set becomes empty, we release the global lock.
+ In places like no account being opened to receive calls, we reset the
wake lock just to be safe from possible leakage.
+ Make MyExecutor aware of the wake lock. It will grab the wake lock on
behalf of the task so that tasks don't need to worry about the lock.
+ Connectivity receiver is modified to be executed in MyExecutor.
+ WakeupTimer handler is already protected by AlarmManager's wake lock but
all the timeout handlers that register themselves to the WakeupTimer are
to be executed in MyExecutor to be protected by the wake lock.
+ Remove unnecessary code in the Keepalive and registration processes. Since
both processes are executed in MyExecutor submitted by the WakeupTimer (as
they are timeout handlers registered to the WakeupTimer), they don't need
to add themselves to MyExecutor explicitly in their run() callbacks.
+ Make the keepalive process wait for at most 3 seconds instead of forever for
server response. It could cause the wake lock to be held longer than necessary
and is a potential cause for ANR.

http://b/issue?id=3081828

Related bug:
http://b/issue?id=3087153

Change-Id: Idee0ddb837e67daa0d5092c012bb242bd7c18431
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
8635bb5405a50b86badcb3e674032d6f444d4944 14-Oct-2010 Hung-ying Tyan <tyanh@google.com> am c74d3917: am ece7e11b: Merge "SipService: fix a missing switch-case break." into gingerbread

Merge commit 'c74d39173e1071dbffe713e008b95784ac4312bc'

* commit 'c74d39173e1071dbffe713e008b95784ac4312bc':
SipService: fix a missing switch-case break.
4f8fd10f761d562ad3a4e01e78fc7046d3c9936c 13-Oct-2010 Hung-ying Tyan <tyanh@google.com> Make SipService listen to WIFI state change events.

+ Grab a WIFI lock if any account is opened to receive calls and WIFI is enabled
+ Release the WIFI lock if no account is opened to receive calls or WIFI is
disabled
+ Remove screen on/off event receiver

http://b/issue?id=3077454

Change-Id: Ifdf60a850bcf4106c75ec1e7563b26d8b33d7e92
ava/com/android/server/sip/SipService.java
f1b1eec9de1ca27b660f6c00487de07a30eecf64 13-Oct-2010 Hung-ying Tyan <tyanh@google.com> Merge "SipService: mScreenOn is flipped to wrong value." into gingerbread
d6fc979edbba6c65cac1085fb5f2b8b972713758 13-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: mScreenOn is flipped to wrong value.

http://b/issue?id=3077454

Change-Id: I23b6f70730074689b939e449c2c202ce8ffb586f
ava/com/android/server/sip/SipService.java
ebc886c857a702d788c2bdfb9e0b3d20746ad745 12-Oct-2010 Hung-ying Tyan <tyanh@google.com> Fix SipSessionGroup from throwing ConcurrentModificationException

http://b/issue?id=3087256

Change-Id: I67df64105db7c1295649f1f3ce77f99025ce3d44
ava/com/android/server/sip/SipSessionGroup.java
685b61b7117dbae94c5ceb5de4546ad23a4d3d0f 12-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: fix a missing switch-case break.

Change-Id: I638eecd8000293d4cb37b3595c02ca33df4924eb
ava/com/android/server/sip/SipService.java
82b400387114634e5b0b8c08ac142cb69ccf14cf 12-Oct-2010 Hung-ying Tyan <tyanh@google.com> am df08c2f0: am 692cac9f: SipHelper: add debug log for challenge responses.

Merge commit 'df08c2f03e7cf7be7002d34efe8e4e8d24e406de'

* commit 'df08c2f03e7cf7be7002d34efe8e4e8d24e406de':
SipHelper: add debug log for challenge responses.
ec17ab33542d0962f043155d9271a9c8b725497a 11-Oct-2010 Chung-yih Wang <cywang@google.com> am 833db408: am dc2e5208: Merge "Do not release the wifi lock if the screen is off." into gingerbread

Merge commit '833db40866ebf27be33aa387d08a2cb0b9a4246d'

* commit '833db40866ebf27be33aa387d08a2cb0b9a4246d':
Do not release the wifi lock if the screen is off.
692cac9fdd7b179ba807351772fdf2339c000dfe 10-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipHelper: add debug log for challenge responses.

Change-Id: If0143a0f076ef30b1b8998e477df933923bfa7b1
ava/com/android/server/sip/SipHelper.java
e06be941185e33392dde3dcaba85c67ce5423578 10-Oct-2010 Chung-yih Wang <cywang@google.com> am 77880ae4: am 44b7ef54: Merge "SipService: add permission check for using API" into gingerbread

Merge commit '77880ae4187d92506848249585687fc9d0c0dd25'

* commit '77880ae4187d92506848249585687fc9d0c0dd25':
SipService: add permission check for using API
3d59480dc201c893c6da5c3934b14a2d95a1bef9 10-Oct-2010 Hung-ying Tyan <tyanh@google.com> am ea445758: am 08faac3c: Unhide SIP API.

Merge commit 'ea445758efba6b728d5e597402e9d9538f3ef451'

* commit 'ea445758efba6b728d5e597402e9d9538f3ef451':
Unhide SIP API.
2473f94718d8d7f2c8f0eb4a705816829952509b 10-Oct-2010 Chung-yih Wang <cywang@google.com> am 4b7ff734: am 4483232f: Suppress harder for echo without affecting the volume of real voice.

Merge commit '4b7ff734611666a68471c97fabb6f516efab25cd'

* commit '4b7ff734611666a68471c97fabb6f516efab25cd':
Suppress harder for echo without affecting the volume of real voice.
c7e4b2d5bb9c9ab2d4a8efa0fd07be9d83987d36 09-Oct-2010 Hung-ying Tyan <tyanh@google.com> am 841d6ff9: am 62ec9834: Merge "Make SipService broadcast SIP_SERVICE_UP when it\'s up." into gingerbread

Merge commit '841d6ff9e05daccbc60daa1618a27e9db3a4fb32'

* commit '841d6ff9e05daccbc60daa1618a27e9db3a4fb32':
Make SipService broadcast SIP_SERVICE_UP when it's up.
1d8db8a0a83f3a09dd74afa3070df8bf4b8a6962 09-Oct-2010 Hung-ying Tyan <tyanh@google.com> am 909a974f: am 16c29bd7: Merge "SIP: Fix busy authentication loop." into gingerbread

Merge commit '909a974f8e5df4b6fc2cf8de6c64633406095c6e'

* commit '909a974f8e5df4b6fc2cf8de6c64633406095c6e':
SIP: Fix busy authentication loop.
c7fda188aee215f1842111f5b9f711f7b844b4d4 09-Oct-2010 Chung-yih Wang <cywang@google.com> Do not release the wifi lock if the screen is off.

We need to be able to receive calls if the device is able to
reassociate with any AP later on.

Change-Id: Ib7aafb98386bf250ed9b5ec0a5b519594efa1649
ava/com/android/server/sip/SipService.java
7ff6f97f84b3df7d1f2c5e730189d26ba35bc688 09-Oct-2010 Chung-yih Wang <cywang@google.com> resolved conflicts for merge of 4790a2e2 to master

Change-Id: I659ccd9a51e24f217f715178a98eaf6592c258d7
aa562ffdb8f728569e6957b742f271eb7303f878 08-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: add permission check for using API

Change-Id: Ifd85ba07f1b913011cb3e80e5027c67bfe3db280
ava/com/android/server/sip/SipService.java
08faac3c26e12863858e1534985dd950193f755f 15-Sep-2010 Hung-ying Tyan <tyanh@google.com> Unhide SIP API.

Change-Id: I09468e3149a242a3b1e085ad220eb74f84ac6c68
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipErrorCode.java
ava/android/net/sip/SipException.java
ava/android/net/sip/SipManager.java
ava/android/net/sip/SipProfile.java
ava/android/net/sip/SipRegistrationListener.java
ava/android/net/sip/SipSession.java
4483232f57ebdc444bf045120c302235a211e737 08-Oct-2010 Chung-yih Wang <cywang@google.com> Suppress harder for echo without affecting the volume of real voice.

Change-Id: Ia3ce98eedd487a9e879ff0a4907b8c15b5707429
ni/rtp/EchoSuppressor.cpp
9db99a4dc10ac0d5d3751f03ea51c0fed217d2f8 07-Oct-2010 Hung-ying Tyan <tyanh@google.com> Make SipService broadcast SIP_SERVICE_UP when it's up.

http://b/issue?id=3062010

Change-Id: I13419fa3a8fdfba1977260f703e4dcaa42a6606c
ava/android/net/sip/SipManager.java
ava/com/android/server/sip/SipService.java
16c29bd7f2ce147fd2f39f1f36df88d1b04a5387 07-Oct-2010 Hung-ying Tyan <tyanh@google.com> Merge "SIP: Fix busy authentication loop." into gingerbread
f209cd70623f837026fb6c41e40a421291be62d0 07-Oct-2010 Hung-ying Tyan <tyanh@google.com> am a785a59c: am 718e0033: Merge "SIP: add SERVER_UNREACHABLE error code." into gingerbread

Merge commit 'a785a59c831256f274627f8f8eb77f9d54508916'

* commit 'a785a59c831256f274627f8f8eb77f9d54508916':
SIP: add SERVER_UNREACHABLE error code.
828c89ba8e76224bc61702fa3b9c093300825ba0 07-Oct-2010 Hung-ying Tyan <tyanh@google.com> am 3cb2d3be: am 1862af57: Merge "SipService: supply PendingIntent when open a profile." into gingerbread

Merge commit '3cb2d3be6cb501c77c7a5765d954363125857cca'

* commit '3cb2d3be6cb501c77c7a5765d954363125857cca':
SipService: supply PendingIntent when open a profile.
ee8a884f3504c981be8a1d6888b4590a0a394e05 06-Oct-2010 Hung-ying Tyan <tyanh@google.com> SIP: Fix busy authentication loop.

Add a retry count and give up after two attempts.
Also stop auto registration when server is unreachable.
And rename onError() to restartLater() for better readability.

http://b/issue?id=3066573

Change-Id: Icfa65c58546a1e2bf8e59e29584a3926c53c479b
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
fd1e4ad52ca5c7371538390c7debe36492542051 06-Oct-2010 Marco Nelissen <marcone@google.com> Fix simulator build, part 1/n

Change-Id: If0a42ab262ee6aa6381ce95bd49baf232adb01c5
ni/rtp/AmrCodec.cpp
ni/rtp/EchoSuppressor.cpp
fb116fbea3b5f4ea725c0c3e82e70fd82e0a45c5 06-Oct-2010 Chung-yih Wang <cywang@google.com> Misc fixes for sim-eng build.

Change-Id: I0c5dac1097abc924e66dab92d7d03d5051b4fd29
ni/rtp/AmrCodec.cpp
ni/rtp/EchoSuppressor.cpp
718e0033e69fa7d1db12242324ab9098ac430bf5 05-Oct-2010 Hung-ying Tyan <tyanh@google.com> Merge "SIP: add SERVER_UNREACHABLE error code." into gingerbread
c6548fd9eda7b58f5a2e2a9c01e3c7cafd42fafb 05-Oct-2010 Hung-ying Tyan <tyanh@google.com> SIP: add SERVER_UNREACHABLE error code.

Let SipSession return it when UnknownHostException is caught.
Add DisconnectCause.SERVER_UNREACHABLE in Connection and have SipPhone report
it when receiving SERVER_UNREACHABLE from SipSession.

http://b/issue?id=3061691

Change-Id: I944328ba3ee30c0a9386e89b5c4696d4d9bde000
ava/android/net/sip/SipErrorCode.java
ava/com/android/server/sip/SipSessionGroup.java
323d3671ac813df8dd173f3f4d6cb681ee29f740 05-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: supply PendingIntent when open a profile.

The SipService used to take an action string and broadcasts an intent with
that action string when an incoming call is received. The design is not safe
(as the intent may be sniffed) and inflexible (can only received by
BroadcastReceiver). Now we use PendingIntent to fix all these.

Companion CL: https://android-git.corp.google.com/g/#change,71800

Change-Id: Id12e5c1cf9321edafb171494932cd936eae10b6e
ava/android/net/sip/ISipService.aidl
ava/android/net/sip/SipManager.java
ava/com/android/server/sip/SipService.java
e1ccf7c953c22a3e96a9e7f9483901d84c8c5f4c 04-Oct-2010 Chia-chi Yeh <chiachi@android.com> am fbd5a59d: am 4fc04f16: Merge "RTP: Add a baseline echo suppressor." into gingerbread

Merge commit 'fbd5a59da9a455bc1c54a80bd5b3afeb426a8e3d'

* commit 'fbd5a59da9a455bc1c54a80bd5b3afeb426a8e3d':
RTP: Add a baseline echo suppressor.
4fc04f160f5ad99ce618084c689b239a2644deca 04-Oct-2010 Chia-chi Yeh <chiachi@android.com> Merge "RTP: Add a baseline echo suppressor." into gingerbread
a8a10096a1501e901676632d78f699cdebe9f4f6 04-Oct-2010 Chia-chi Yeh <chiachi@android.com> RTP: Add a baseline echo suppressor.

Change-Id: I832f1f572f141fd928afe671b12d0b59f2a8e0b1
ni/rtp/Android.mk
ni/rtp/AudioGroup.cpp
ni/rtp/EchoSuppressor.cpp
ni/rtp/EchoSuppressor.h
51d2adab83837425dae8062b7ff2a5bd1e732dd9 04-Oct-2010 Hung-ying Tyan <tyanh@google.com> am 1f34ffd7: am 5cab38ba: Merge "SIP: minor fixes." into gingerbread

Merge commit '1f34ffd7e36de5d1a12d4a3901c3ac4e4e56cb99'

* commit '1f34ffd7e36de5d1a12d4a3901c3ac4e4e56cb99':
SIP: minor fixes.
9ea96c6cade1f25d4d77dcbd24854df431548b36 03-Oct-2010 Hung-ying Tyan <tyanh@google.com> SIP: minor fixes.

+ Log error instead of crashing app process in SipManager's ListenerRelay.
+ Terminate dialog and transaction in SipSessionGroup.reset().
+ Remove redundant reset() in SipSessionGroup.

Change-Id: Ifbf29d2c9607ffe1a1a50b0c131ee3a4e81a0d0e
ava/android/net/sip/SipManager.java
ava/com/android/server/sip/SipSessionGroup.java
82fb4ef335ec63a519a0658cea233ed8a3265020 01-Oct-2010 Chia-chi Yeh <chiachi@android.com> am c38e6ae4: am 274e3b5d: Merge "RTP: Start AudioRecord before AudioTrack to avoid being disabled." into gingerbread

Merge commit 'c38e6ae40096ec60bc42de663f39dc061b9c90f4'

* commit 'c38e6ae40096ec60bc42de663f39dc061b9c90f4':
RTP: Start AudioRecord before AudioTrack to avoid being disabled.
1041bb7eec5163781442624fdc2fef42b41f7c54 01-Oct-2010 Hung-ying Tyan <tyanh@google.com> am 9af6b536: am 063d02bb: Merge "SipService: turn off verbose logging" into gingerbread

Merge commit '9af6b53676061db6fc9c18300dc7d8258f7306ab'

* commit '9af6b53676061db6fc9c18300dc7d8258f7306ab':
SipService: turn off verbose logging
274e3b5d752d1a4fd05352e50ad098d2f5b49a36 01-Oct-2010 Chia-chi Yeh <chiachi@android.com> Merge "RTP: Start AudioRecord before AudioTrack to avoid being disabled." into gingerbread
063d02bb03a9260314b529490866528433148738 01-Oct-2010 Hung-ying Tyan <tyanh@google.com> Merge "SipService: turn off verbose logging" into gingerbread
67ecb5b90c7d944a485ed35f3e968ab0ae49f5b4 01-Oct-2010 Chia-chi Yeh <chiachi@android.com> RTP: Start AudioRecord before AudioTrack to avoid being disabled.

Change-Id: I96be89fda41d77e2cf5bfc1c2f14e2b109001b57
ni/rtp/AudioGroup.cpp
b031957d528840df0ccbd28651ecbf3c64d42718 01-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: turn off verbose logging

Change-Id: I264662ba17d215d532f58b6ee793e569fe67c334
ava/com/android/server/sip/SipService.java
2e88d0c4bc22412645d115945683ae6d7d2a33e3 30-Sep-2010 Chia-chi Yeh <chiachi@android.com> am 2b133fc0: am 21ae1ad6: RTP: Minor fixes with polishing.

Merge commit '2b133fc07533a853f7de23da4f60a766f4233bed'

* commit '2b133fc07533a853f7de23da4f60a766f4233bed':
RTP: Minor fixes with polishing.
e0ed9dbcb8f3b67f66a1b2a1df264e3aee0bb81c 30-Sep-2010 Hung-ying Tyan <tyanh@google.com> am c79e74ec: am d29e0754: Merge "Add uri field to SipManager.ListenerRelay" into gingerbread

Merge commit 'c79e74ec1d30f95de89568ee645a9b1577ae73b3'

* commit 'c79e74ec1d30f95de89568ee645a9b1577ae73b3':
Add uri field to SipManager.ListenerRelay
bf45f19435851c8c578d6edabb761e1f4c51da8e 30-Sep-2010 Chia-chi Yeh <chiachi@android.com> am f6381ec1: am dfd1484e: Merge "RTP: Adjust the jitter buffer to 512ms." into gingerbread

Merge commit 'f6381ec1da1166e3350d897faae654afb2c21a5a'

* commit 'f6381ec1da1166e3350d897faae654afb2c21a5a':
RTP: Adjust the jitter buffer to 512ms.
f3da1ea405e6a3f908a9e7773c7650cdb305f4dd 30-Sep-2010 Hung-ying Tyan <tyanh@google.com> am 34552149: am 6a53489a: SipService: add UID check.

Merge commit '34552149e4b997d4ed3383fc153faff2bb189066'

* commit '34552149e4b997d4ed3383fc153faff2bb189066':
SipService: add UID check.
a77c9541d008cfffed71cb8e3a9382001cf7fe9c 30-Sep-2010 Chia-chi Yeh <chiachi@android.com> am cbee6229: am 0a537b78: Merge "RTP: Enable AMR codec." into gingerbread

Merge commit 'cbee622954de5e9e0c07557f8ec9aaa741110043'

* commit 'cbee622954de5e9e0c07557f8ec9aaa741110043':
RTP: Enable AMR codec.
d161479237010cb2b7bc8dab0fbbce2cf0170ecf 30-Sep-2010 Hung-ying Tyan <tyanh@google.com> am 947d2abd: am 2365b78e: Merge "SIP: misc fixes." into gingerbread

Merge commit '947d2abd82ef68c661fc29fd5167e4c0ba749f71'

* commit '947d2abd82ef68c661fc29fd5167e4c0ba749f71':
SIP: misc fixes.
5a7c6d298e9f8963e3b82f84da15f16a4a83f8ff 30-Sep-2010 Chia-chi Yeh <chiachi@android.com> am 1c2eab2d: am 955ab37c: Merge "RTP: Enable GSM-EFR codec." into gingerbread

Merge commit '1c2eab2d86faa9c647a9893f761a50cfa28d9d57'

* commit '1c2eab2d86faa9c647a9893f761a50cfa28d9d57':
RTP: Enable GSM-EFR codec.
21ae1ad6a695d6f1f253797fcf2a77b975b82cd3 30-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: Minor fixes with polishing.

Change-Id: I50641373989e512fb489b5017edbcfd7848fe8b9
ni/rtp/AudioGroup.cpp
ni/rtp/G711Codec.cpp
ni/rtp/RtpStream.cpp
d29e0754183e4b3945eb7cabae91cd3df47ae4d6 30-Sep-2010 Hung-ying Tyan <tyanh@google.com> Merge "Add uri field to SipManager.ListenerRelay" into gingerbread
9e1d308e993d451882456e44cfaacae63df7a496 30-Sep-2010 Hung-ying Tyan <tyanh@google.com> Add uri field to SipManager.ListenerRelay

in case mSession is not available.

Change-Id: Ifee2c129e48aa1177f648f176413ab6aa5606770
ava/android/net/sip/SipManager.java
dfd1484e3ba9c305730ccb39859919ca0e97d720 30-Sep-2010 Chia-chi Yeh <chiachi@android.com> Merge "RTP: Adjust the jitter buffer to 512ms." into gingerbread
3520bd43139f4571cf96af126dba13681633bcb0 30-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: Adjust the jitter buffer to 512ms.

Change-Id: Ia91c1aa1a03b65dbd329ea98383f370844e2b0c0
ni/rtp/AudioGroup.cpp
8ff07224535602884e5e92b954bb3e38b67c7c19 30-Sep-2010 Chia-chi Yeh <chiachi@android.com> am 1254b9c5: am cd386649: Merge "RTP: Revise the workaround of private addresses and fix bugs." into gingerbread

Merge commit '1254b9c534c5f027f8928fbb3e743e57d55bd13d'

* commit '1254b9c534c5f027f8928fbb3e743e57d55bd13d':
RTP: Revise the workaround of private addresses and fix bugs.
6a53489ae594d7cc373a00687d6ea2f23d0634df 13-Sep-2010 Hung-ying Tyan <tyanh@google.com> SipService: add UID check.

Only allow creator or radio user to access profiles.

Change-Id: I548938f117926bcc878419142d1b5d818a4e70df
ava/com/android/server/sip/SipService.java
0a537b78d3fb4db86411d745b2696459d6b98ef6 30-Sep-2010 Chia-chi Yeh <chiachi@android.com> Merge "RTP: Enable AMR codec." into gingerbread
2365b78e64feaa9527efb15bf4ac207a837f2b45 30-Sep-2010 Hung-ying Tyan <tyanh@google.com> Merge "SIP: misc fixes." into gingerbread
f88fc1fa907f720df4a3e915509e688e9e4cf1f8 30-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: Enable AMR codec.

Change-Id: I49e6bdc1b67306b44173f2f346f8372a50264870
ava/android/net/rtp/AudioCodec.java
ni/rtp/AmrCodec.cpp
ni/rtp/AudioCodec.cpp
fb3a98b1d8d0ad040980d509c4c5341928b9460b 30-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: misc fixes.

+ Fix keepalive timer event leak due to the race between stopping timer and
the async'ed timeout handler
+ SipSessionImpl: set state before handling an event to ensure we get correct
state when some error occurs during handling the event.
+ Fix potential NPE in SipManager.ListenerRelay.getUri().

Change-Id: I021ee34f83059fd4fbb64b30bea427a5462aa51b
ava/android/net/sip/SipManager.java
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
f4ae94229d736c7dbd3c5c36d484213d51545702 29-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: Enable GSM-EFR codec.

Change-Id: I9d84009e4557a0a82c1f9d7d543922741be97c77
ava/android/net/rtp/AudioCodec.java
ni/rtp/AmrCodec.cpp
ni/rtp/Android.mk
ni/rtp/AudioCodec.cpp
fe5298992a52f93bb8365d345cdd82d88a4b49f2 29-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: Revise the workaround of private addresses and fix bugs.

Change-Id: Ie654b569f47049aa452eca8d3e6d4a98ac18469c
ni/rtp/AudioGroup.cpp
dcf2be6cf660269c77f51ff0e0f336726d1625c6 29-Sep-2010 Chia-chi Yeh <chiachi@android.com> am ebfe5632: am e006e4d2: Merge changes Iae1913fb,I38dbefef into gingerbread

Merge commit 'ebfe5632db275a89b49ab828064ba90db59702cf'

* commit 'ebfe5632db275a89b49ab828064ba90db59702cf':
RTP: Enable GSM codec.
RTP: Refactor out G711 codecs into another file.
e006e4d2c91c50795df0a02366b31610b4e97cb1 29-Sep-2010 Chia-chi Yeh <chiachi@android.com> Merge changes Iae1913fb,I38dbefef into gingerbread

* changes:
RTP: Enable GSM codec.
RTP: Refactor out G711 codecs into another file.
a6f950c9682ffffc00ca976aafeeedf391718b1d 29-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: Enable GSM codec.

Change-Id: Iae1913fb0643f1c66b5d16f24d51924d363e5ef5
ava/android/net/rtp/AudioCodec.java
ni/rtp/Android.mk
ni/rtp/AudioCodec.cpp
ni/rtp/GsmCodec.cpp
9783052ec1260985f4e08f4dada6331445ce538e 29-Sep-2010 Chia-chi Yeh <chiachi@android.com> am df31e03c: am 320cdcb1: Merge "RTP: Delay the initialization of AudioTrack and AudioRecord." into gingerbread

Merge commit 'df31e03c47cd4caf45d8a58cf1fe5893da48ec6c'

* commit 'df31e03c47cd4caf45d8a58cf1fe5893da48ec6c':
RTP: Delay the initialization of AudioTrack and AudioRecord.
0b3968ae539f084a7b29afffcd9dc3f02e81c811 29-Sep-2010 Hung-ying Tyan <tyanh@google.com> am 0d447760: am 6d028dd2: Merge "SIP: Feedback any provisional responses in addition to RING" into gingerbread

Merge commit '0d44776016cecf1c7c826c4784f8f867a56235f0'

* commit '0d44776016cecf1c7c826c4784f8f867a56235f0':
SIP: Feedback any provisional responses in addition to RING
78c11b3cf170fdd35ff6984bc2a64c01e2457503 28-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: Refactor out G711 codecs into another file.

Change-Id: I38dbefef2315a28d44683e86a51e69f38e3f20ec
ni/rtp/Android.mk
ni/rtp/AudioCodec.cpp
ni/rtp/G711Codec.cpp
320cdcb122505ba703326a102f9b13d2f2f8847a 28-Sep-2010 Chia-chi Yeh <chiachi@android.com> Merge "RTP: Delay the initialization of AudioTrack and AudioRecord." into gingerbread
9083c84af1742cfc9228add21ec72310e67e6086 28-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: Delay the initialization of AudioTrack and AudioRecord.

Related to http://b/3043844.

Change-Id: I2c4fd9f64e6eba597d68b2ea1ceeff83103697db
ni/rtp/AudioGroup.cpp
6c6eacda8066728537f2d8828e4c123f91ddfc27 28-Sep-2010 Hung-ying Tyan <tyanh@google.com> am f7e13400: am 624d5b4e: SIP: add DisconnectCause.SERVER_ERROR

Merge commit 'f7e13400b24bdc5461e640cfb2c9cb2bbb2b6236'

* commit 'f7e13400b24bdc5461e640cfb2c9cb2bbb2b6236':
SIP: add DisconnectCause.SERVER_ERROR
6057cd00d95c756b78f22c67279cb982bc0674ef 28-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: Feedback any provisional responses in addition to RING

The only exception is TRYING.
Also remove an unused import in SipSessionGroup.

http://b/issue?id=3021865

Change-Id: I160982b0c4b417362f1fb961217db90c3a585ce5
ava/com/android/server/sip/SipSessionGroup.java
624d5b4e8c20516516d0bff74479b9f5abdfe61c 28-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: add DisconnectCause.SERVER_ERROR

and fix how SipErrorCode.SERVER_ERROR is determinted from server response, not
from local exceptions.

http://b/issue?id=3041332

Change-Id: Idce67e29858d5c7573b98b7fa1fac074913d71d6
ava/com/android/server/sip/SipSessionGroup.java
a57afb6a6c9f4fb451535c3d6f49c3bdf4b59125 27-Sep-2010 Hung-ying Tyan <tyanh@google.com> resolved conflicts for merge of 2a36a778 to master

Change-Id: Ia70adeef06afddd29c827405fb5657bf9f5a29a3
7e54ef71db3320a751571bba5259fba816399421 25-Sep-2010 Hung-ying Tyan <tyanh@google.com> Move SipService out of SystemServer to phone process.

Companion CL: https://android-git/g/#change,70187
http://b/issue?id=2998069

Change-Id: I90923ac522ef363a4e04292f652d413c5a1526ad
ava/com/android/server/sip/SipHelper.java
ava/com/android/server/sip/SipService.java
ava/com/android/server/sip/SipSessionGroup.java
ava/com/android/server/sip/SipSessionListenerProxy.java
5a474a2bb8bc23fcc8d05e8b9ec3f4306dd63db1 27-Sep-2010 Hung-ying Tyan <tyanh@google.com> am 44669d31: am fd144d76: Merge "SipAudioCall: remove SipManager dependency." into gingerbread

Merge commit '44669d31d1d5b094d7b7d3e393281440ea0c9536'

* commit '44669d31d1d5b094d7b7d3e393281440ea0c9536':
SipAudioCall: remove SipManager dependency.
031d8786824a385fa47750e5e8aa75f40d70cae9 27-Sep-2010 Hung-ying Tyan <tyanh@google.com> am fe2d279c: am 00a22064: SipService: handle cross-domain authentication error

Merge commit 'fe2d279c5ef571340f20d433badd9f68072299af'

* commit 'fe2d279c5ef571340f20d433badd9f68072299af':
SipService: handle cross-domain authentication error
fd144d7667d9d050b7fb158276ae4623d4ea83b8 27-Sep-2010 Hung-ying Tyan <tyanh@google.com> Merge "SipAudioCall: remove SipManager dependency." into gingerbread
00a22064efef4f574e439079aae2deae1a087a31 25-Sep-2010 Hung-ying Tyan <tyanh@google.com> SipService: handle cross-domain authentication error

and add new CROSS_DOMAIN_AUTHENTICATION error code and OUT_OF_NETWORK
DisconnectCause.

http://b/issue?id=3020185

Change-Id: Icc0a341599d5a72b7cb2d43675fbddc516544978
ava/android/net/sip/SipErrorCode.java
5e18ad0c53faf88357c83bae66ab9d04c0388bb9 27-Sep-2010 Chung-yih Wang <cywang@google.com> am 4a04a312: am bd229420: Fix the unhold issue especially if one is behind NAT.

Merge commit '4a04a3129bd30a996dd302b982aeca8f228f57e8'

* commit '4a04a3129bd30a996dd302b982aeca8f228f57e8':
Fix the unhold issue especially if one is behind NAT.
bd2294204e3edaede3fe81eb9b11c05c4fafe627 23-Sep-2010 Chung-yih Wang <cywang@google.com> Fix the unhold issue especially if one is behind NAT.

+call startAudio() when call is established.

Change-Id: Ib6a1e34017fb83007ce275da1991058e8b803833
ni/rtp/AudioGroup.cpp
3a4197e642e9c70f1fe00c2cba30f0f957d36bfc 24-Sep-2010 Hung-ying Tyan <tyanh@google.com> SipAudioCall: remove SipManager dependency.

Change-Id: I2dc8bf427e52f64529ee0e0261362b975a8917c6
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipManager.java
a97c5f7779bbd53896b5312c9dd04c505511781d 24-Sep-2010 Hung-ying Tyan <tyanh@google.com> Merge "fix build"
fb0264096e08aeeb350c9a2762b34d14361ba38e 24-Sep-2010 Hung-ying Tyan <tyanh@google.com> fix build

Change-Id: Iff05b5ea7f535f532eec2af1edf78fdf8acfa21c
ava/android/net/sip/SipAudioCall.java
658bec956785e074edc4f6c9fe739c366e37be33 23-Sep-2010 Chia-chi Yeh <chiachi@android.com> SDP: remove dead code.

Change-Id: I2a5764a2b9cabc54b0ac18666e494c1cb39c4e9b
ava/android/net/sip/SdpSessionDescription.java
ava/android/net/sip/SessionDescription.aidl
ava/android/net/sip/SessionDescription.java
84a357bb6a8005e1c5e924e96a8ecf310e77c47c 15-Sep-2010 Hung-ying Tyan <tyanh@google.com> Refactoring SIP classes to get ready for API review.

+ replace SipAudioCall and its Listener interfaces with real implementations,
+ remove SipAudioCallImpl.java, most of it is has become part of SipAudioCall,
+ add SipSession and its Listener classes to wrap ISipSession and ISipSessionListener,
+ move SipSessionState to SipSession.State,
+ make SipManager keep context and remove the context argument from many methods of its,
+ rename SipManager.getInstance() to newInstance(),
+ rename constant names for action strings and extra keys to follow conventions,
+ set thread names for debugging purpose.

Change-Id: Ie1790dc0e8f49c06c7fc80d33fec0f673a9c3044
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipAudioCallImpl.java
ava/android/net/sip/SipManager.java
ava/android/net/sip/SipProfile.java
ava/android/net/sip/SipSession.java
ava/android/net/sip/SipSessionState.java
0b7d6de1559a4a78af76ab501e0a15afc396c2b9 23-Sep-2010 repo sync <chiachi@android.com> Fix the build.

Change-Id: I82210cb2d41f532583f83ea17e6f2d8d49280a30
ava/android/net/sip/SimpleSessionDescription.java
84f7f6ba3913a4ad8546d425197a6d64593b91cf 23-Sep-2010 repo sync <chiachi@android.com> SIP: Make SipAudioCallImpl use SimpleSessionDescription instead of javax.sdp.

Change-Id: I7efff4f29ca84c3e7c17ef066b7186b514a777b2
ava/android/net/sip/SipAudioCallImpl.java
e6c0c109588771a97aba51d06fdf73557b06dfd3 20-Sep-2010 Chia-chi Yeh <chiachi@android.com> SDP: Add a simple class to help manipulate session descriptions.

Change-Id: I1631ee20e8b4a9ad8e2184356b5d13de66e03db1
ava/android/net/sip/SimpleSessionDescription.java
7a69aeffda29bd1a7ebc5993eeb4e9ee224f096a 22-Sep-2010 repo sync <chiachi@android.com> RTP: Add log throttle for "no data".

Change-Id: I14d9886a40fa780514cbc6c5bac6fb2a670f55f4
ni/rtp/AudioGroup.cpp
4033a67d0e99d422336574fc5c982d349632b117 16-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: Update native part to reflect the API change.

Change-Id: Ic2858920ad77d7312f2429f89ca509a481363431
ni/rtp/AudioCodec.cpp
ni/rtp/AudioCodec.h
ni/rtp/AudioGroup.cpp
37adc522f6bc074a688ffbef420a8627ef9a4b5b 21-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: Add two getters to retrieve the current configuration from AudioStream.

Change-Id: Iff588130653242f6ddd6a6b663df775ecb276768
ava/android/net/rtp/AudioStream.java
32e106b7bdd57c82ee67705871f6116d92bce79b 16-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: Extend codec capability and update the APIs.

Change-Id: I37ba9d83c2de3c5dae2bfc1b7513df7f6fee3c5c
ava/android/net/rtp/AudioCodec.java
ava/android/net/rtp/AudioGroup.java
ava/android/net/rtp/AudioStream.java
ava/android/net/rtp/RtpStream.java
8544560ccc43de7ff49d91866f461f5572f0b147 20-Sep-2010 Hung-ying Tyan <tyanh@google.com> SipPhone: fix missing-call DisconnectCause feedback

also fix delivering bad news before closing a SipAudioCallImpl object so that
apps can get the current audio-call object state before it's closed:

http://b/issue?id=3009262

Change-Id: I94c19dae8b4f252de869e614ec462b19b4ff2077
ava/android/net/sip/SipAudioCallImpl.java
97963794af1e18674dd111e3ad344d90b16c922c 17-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: convert enum to static final int.

Converts SipErrorCode and SipSessionState.

Change-Id: Iee3a465649ea89d395b2336bbd673c25113e5f93
ava/android/net/sip/ISipSession.aidl
ava/android/net/sip/ISipSessionListener.aidl
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipAudioCallImpl.java
ava/android/net/sip/SipErrorCode.java
ava/android/net/sip/SipManager.java
ava/android/net/sip/SipRegistrationListener.java
ava/android/net/sip/SipSessionAdapter.java
ava/android/net/sip/SipSessionState.java
c4b87477c076d61062950becc132b7483e3fb198 19-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: add config flag for wifi-only configuration.

http://b/issue?id=2994029

Change-Id: I328da9b0f8b70d660dbcefffdac8250341792101
ava/android/net/sip/SipManager.java
afa583e6557557577188c3e40146ac8d6f2aa7c7 17-Sep-2010 Hung-ying Tyan <tyanh@google.com> SipAudioCall: expose startAudio()

so that apps can start audio when time is right.

Change-Id: I7ae96689d3a8006b34097533bc2434bc3814b82a
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipAudioCallImpl.java
9352cf1a4d46492fc48a20f7d825a9bcb6e8b365 16-Sep-2010 Hung-ying Tyan <tyanh@google.com> Add timer to SIP session creation process.

+ add timer parameter to ISipSession.make/changeCall(),
+ add timer paramter to SipAudioCall.make/answer/hold/continueCall()'s,
+ add timer parameter to SipManager.makeAudioCall(),
+ modify implementation in SipSessionGroup, SipAudioCallImpl accordingly,
+ make SipPhone to use it with 8-second timeout.

http://b/issue?id=2994748

Change-Id: I661a887e5810087ddc5e2318335e2fa427f80ec6
ava/android/net/sip/ISipSession.aidl
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipAudioCallImpl.java
ava/android/net/sip/SipManager.java
286bb5a00bdb9f0cb0815aef441ec72f231c84ea 14-Sep-2010 Hung-ying Tyan <tyanh@google.com> Fix links in SIP API javadoc.

Change-Id: I839280fe18502bb576f6e9c9a7948077c02fa570
ava/android/net/sip/ISipSession.aidl
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipErrorCode.java
ava/android/net/sip/SipException.java
ava/android/net/sip/SipManager.java
ava/android/net/sip/SipProfile.java
ava/android/net/sip/SipRegistrationListener.java
ae076d3981fda732d54b6c6e37e5659b2e7ba130 15-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: add PEER_NOT_REACHABLE error feedback.

http://b/issue?id=3002033

Change-Id: Ib64b08919d214acbab89945ac19dc113a68e62ad
ava/android/net/sip/SipErrorCode.java
12bec5ddf58ad3a69728810480e6194c806567d6 14-Sep-2010 Hung-ying Tyan <tyanh@google.com> SipService: ignore connect event for non-active networks.

+ sanity check and remove redundant code.

Change-Id: I4d3e226851ad7fc4d88ddcd0a5c58f7e33b6c14a
ava/android/net/sip/SipAudioCallImpl.java
13f6270eb14b409709c936b828e2a2fd40e427c4 14-Sep-2010 Hung-ying Tyan <tyanh@google.com> SipAudioCall: use SipErrorCode instead of string in onError()

and fix callback in setListener().

Change-Id: Ic2622df992a2ad45cb1e3f71736f320897ae8fb3
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipAudioCallImpl.java
99bf4e45c4566172189735b34b368b76660ca57a 14-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: remove dependency on javax.sip

and change errorCodeString to errorCode in
SipRegistrationListener.onRegistrationFailed().

Change-Id: Id9618f5a4b0effaed04f8b0dc60347499d9e4501
ava/android/net/sip/ISipSession.aidl
ava/android/net/sip/SipManager.java
ava/android/net/sip/SipProfile.java
ava/android/net/sip/SipRegistrationListener.java
d231aa880ab006d51ffe03454c1fc082f1c97bb8 13-Sep-2010 Hung-ying Tyan <tyanh@google.com> SipService: deliver connectivity change to all sessions.

+ add DATA_CONNECTION_LOST to SipErrorCode
+ convert it to Connection.DisconnectCause.LOST_SIGNAL in SipPhone

http://b/issue?id=2992548

Change-Id: Ie8983c1b81077b21f46304cf60b8e61df1ffd241
ava/android/net/sip/SipErrorCode.java
3d7606aa607b24817e37c264f2141ed7b2d50be0 12-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: enhance timeout and registration status feedback.

http://b/issue?id=2984419
http://b/issue?id=2991065

Change-Id: I2d3b1dd3a70079ff347f7256f4684aea07847f4e
ava/android/net/sip/SipErrorCode.java
25b52a2f97df112c2836972d0b6d9a4c7a9c4a4e 13-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: remove dependency on javax.sip.SipException.

Change-Id: I77d289bef1b5e7f1ec0c0408d0bbf96c21085cd7
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipAudioCallImpl.java
ava/android/net/sip/SipException.java
ava/android/net/sip/SipManager.java
903e1031605d715e904811b0dd06cc6a518f0048 09-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: add SipErrorCode for error feedback.

Change-Id: I8b071d4933479b780a403d0bfa30511f4c23ca8f
ava/android/net/sip/ISipSessionListener.aidl
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipAudioCallImpl.java
ava/android/net/sip/SipErrorCode.java
ava/android/net/sip/SipRegistrationListener.java
ava/android/net/sip/SipSessionAdapter.java
f6936a3a52b6bb6de27f75d4e38d116e896b7f4d 09-Sep-2010 Chia-chi Yeh <chiachi@android.com> Merge "RTP: prevent buffer overflow in AudioRecord." into gingerbread
557b04de23238fb496b5ca58e21331c842e95660 08-Sep-2010 Chia-chi Yeh <chiachi@android.com> RTP: prevent buffer overflow in AudioRecord.

This change simply reduces the receive timeout of DeviceSocket. It works
because AudioRecord will block us till there is enough data, which makes
AudioSocket overlap AudioRecord.

Change-Id: I4700224fb407e148ef359a9d99279e10240128d0
ni/rtp/AudioGroup.cpp
643fce978152c6c5ded316a8c9de6531b7d4cee7 03-Sep-2010 Hung-ying Tyan <tyanh@google.com> SipManager: always return true for SIP API and VOIP support query.

Change-Id: I397a804e0aa598aee77a8ce28ada1b11e10fbaea
http://b/issue?id=2972054
ava/android/net/sip/SipManager.java
dc296b0d4bd6fef8764c10fb4cd59c85bc5186f6 02-Sep-2010 Chia-chi Yeh <chiachi@android.com> Merge "SipService: reduce the usage of javax.sdp.*." into gingerbread
95b15c35608fe3ea679c8a478c6cbd841623371e 02-Sep-2010 Chia-chi Yeh <chiachi@android.com> SipService: reduce the usage of javax.sdp.*.

After this change, SipAudioCallImpl is the only place still using it.

Change-Id: I5693bffa54f9e19cbfa70b45dfcf40fba04dedbb
ava/android/net/sip/ISipSession.aidl
ava/android/net/sip/ISipSessionListener.aidl
ava/android/net/sip/SdpSessionDescription.java
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipAudioCallImpl.java
ava/android/net/sip/SipManager.java
ava/android/net/sip/SipSessionAdapter.java
60264b306453a3043442719b970f2edb3f46f51b 01-Sep-2010 Hung-ying Tyan <tyanh@google.com> SipProfile: remove outgoingCallAllowed flag.

Change-Id: I37a215bafce57adf6911c81fd38db324bac686ec
ava/android/net/sip/SipProfile.java
3424c02e6b931a8bbd651ae75217bebd008b2605 27-Aug-2010 Hung-ying Tyan <tyanh@google.com> Add software features for SIP and VOIP

and block SipService creation and SIP API if the feature is not available.

Change-Id: Icf780af1ac20dda4d8180cea3e5b20e21a8350bc
ava/android/net/sip/SipManager.java
0858806ffcb9ff34725abb79106aa1de27d1bf60 26-Aug-2010 Chung-yih Wang <cywang@google.com> Add Wifi High Perf. mode during a call.

To prevent the wifi from entering low-power mode due to the screen off
triggered by the proximity sensor.

Change-Id: I490bc594d800bc30c256e52ef3bce08bf86bc7b1
ava/android/net/sip/SipAudioCallImpl.java
14e00621c81da6a0391da47afce77945b27c7231 26-Aug-2010 Chia-chi Yeh <chiachi@android.com> Merge "Revert "RTP: integrate the echo canceller from speex."" into gingerbread
7fa7ee11f6c274903241897c284337ba8b158988 26-Aug-2010 Chia-chi Yeh <chiachi@android.com> Revert "RTP: integrate the echo canceller from speex."

This reverts commit 4ae6ec428f3570b9020b35ada6a62f94af66d888.
ni/rtp/Android.mk
ni/rtp/AudioGroup.cpp
5424c8dcacf1c227fe7deb0185510614122ab447 25-Aug-2010 Chung-yih Wang <cywang@google.com> Add dynamic uid info for tracking the sip service usage.

Change-Id: Ibc340401b63799326b08aee6eba602a3e753b13f
ava/android/net/sip/SipProfile.java
37f709aeb0424948a8f69577c6fad39dc95d7733 25-Aug-2010 Hung-ying Tyan <tyanh@google.com> Merge "SipProfile: add isOutgoingCallAllowed() and new builder constructor" into gingerbread
cf95f5d26363d4cd3815d31f5798f932a7720c17 23-Aug-2010 Hung-ying Tyan <tyanh@google.com> SipProfile: add isOutgoingCallAllowed() and new builder constructor

Change-Id: I7ced47079fd2b00c7160b152eb4c1d34399e39dc
ava/android/net/sip/SipProfile.java
3294d44b96f63f647fba3a03604eb028e28a42bc 18-Aug-2010 Hung-ying Tyan <tyanh@google.com> Add confcall management to SIP calls

and fix the bug of re-assigning connectTime's in SipConnection,
and adding synchronization for SipPhone to be thread-safe,
and set normal audio mode when call not on hold instead of on hold in SipAudioCallImpl,
and fix re-entrance problem in CallManager.setAudioMode() for in-call mode.

Change-Id: I54f39dab052062de1ce141e5358d892d30453a3a
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipAudioCallImpl.java
4ae6ec428f3570b9020b35ada6a62f94af66d888 24-Aug-2010 Chia-chi Yeh <chiachi@android.com> RTP: integrate the echo canceller from speex.

Currently the filter_length is set to one second.
Will change that when we have a better idea.

Change-Id: Ia942a8fff00b096de8ff0049a448816ea9a68068
ni/rtp/Android.mk
ni/rtp/AudioGroup.cpp
2880ef86e5210832ef44f2d45c46ada1891372e5 24-Aug-2010 Chia-chi Yeh <chiachi@android.com> RTP: reduce the latency by overlapping AudioRecord and AudioTrack.

Change-Id: I00d750ee514ef68d5b2a28bd1893417ed70ef1fc
ni/rtp/AudioGroup.cpp
b8790323473bef75a27d2da6fde2497b3bfe19eb 19-Aug-2010 Chia-chi Yeh <chiachi@android.com> RTP: fix few leaks when fail to add streams into a group.

Change-Id: Iefb3fe219ad48641da37a83c8d14e9ebf1d3086c
ava/android/net/rtp/AudioGroup.java
ni/rtp/AudioGroup.cpp
3459d3037cc0c482a27422f1cc000b5e9d289ae8 18-Aug-2010 Chia-chi Yeh <chiachi@android.com> RTP: remove froyo-compatible code.

Change-Id: I6822a4e4749a5909959658c29253242b4018aeb0
ni/rtp/AudioGroup.cpp
cfd15dd3c8554cbbcb5822a0fdf6ca31d6b28acf 16-Aug-2010 Chung-yih Wang <cywang@google.com> Fix the IN_CALL mode issue.

If the sip call is on-holding, we should not set the audio to
MODE_NORMAL, or it will affect the audio if there is an active pstn
call.

Change-Id: If1bcba952617bf8427bc9e2d64d483ba1ee37370
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipAudioCallImpl.java
ea4de5bd25b394a1bac6f27b43c4982aace2011e 10-Aug-2010 Hung-ying Tyan <tyanh@google.com> SipAudioCall: perform local ops before network op in endCall()

Change-Id: I1808f715d56c0979cea7741cb5bdb3831774d3ef
ava/android/net/sip/SipAudioCallImpl.java
8e63ddb4c78dc4453d64ea6e94c109db703185e4 09-Aug-2010 Hung-ying Tyan <tyanh@google.com> SIP: clean up unused class and fields.

Change-Id: I79ed7fb324fea9a52946340055b5ea1d389a926a
ava/android/net/sip/BinderHelper.java
ava/android/net/sip/SipManager.java
4c5d28cee0537c83ff0e5bc0daaae78f68dfc7c8 06-Aug-2010 Chia-chi Yeh <chiachi@android.com> RTP: move into frameworks.

Change-Id: Ic9c17b460448c746b21526ac10b647f281ae48e9
ni/rtp/Android.mk
ni/rtp/AudioCodec.cpp
ni/rtp/AudioCodec.h
ni/rtp/AudioGroup.cpp
ni/rtp/RtpStream.cpp
ni/rtp/rtp_jni.cpp
ni/rtp/util.cpp
cde66df44240cfe5a7bec12ac52464c3bf26c14f 05-Aug-2010 Chung-yih Wang <cywang@google.com> Revert "Move SIP telephony related codes to framework."

This reverts commit b631dcf3eb449ddec756bea330f4e70b996ffb9e.
ava/android/net/sip/SipManager.java
b631dcf3eb449ddec756bea330f4e70b996ffb9e 05-Aug-2010 Chung-yih Wang <cywang@google.com> Move SIP telephony related codes to framework.

+ hardcode the sip service for build dependency.

Change-Id: Ib0e9717c9b87eb6e06ffa3a7b01ae31184de61bb
ava/android/net/sip/SipManager.java
363c2ab82cca4f095e9e0c8465e28f6d27a24bf8 05-Aug-2010 Chung-yih Wang <cywang@google.com> Move the sip related codes to framework.

Change-Id: Ib81dadc39b73325c8438f078c7251857a83834fe
ava/android/net/rtp/AudioCodec.java
ava/android/net/rtp/AudioGroup.java
ava/android/net/rtp/AudioStream.java
ava/android/net/rtp/RtpStream.java
ava/android/net/sip/BinderHelper.java
ava/android/net/sip/ISipService.aidl
ava/android/net/sip/ISipSession.aidl
ava/android/net/sip/ISipSessionListener.aidl
ava/android/net/sip/SdpSessionDescription.java
ava/android/net/sip/SessionDescription.aidl
ava/android/net/sip/SessionDescription.java
ava/android/net/sip/SipAudioCall.java
ava/android/net/sip/SipAudioCallImpl.java
ava/android/net/sip/SipManager.java
ava/android/net/sip/SipProfile.aidl
ava/android/net/sip/SipProfile.java
ava/android/net/sip/SipRegistrationListener.java
ava/android/net/sip/SipSessionAdapter.java
ava/android/net/sip/SipSessionState.java