Be able to switch between in-call services UIs.
Created a tree data structure to handle switching between InCallServices
depending on the state of the system. Tree looks like this:
CarModeSwitchingConnection
| |
+------+ +-------+
| |
CarModeConnection EmergencyConnection
|
|
DefaultDialerConnection
Bug: 24571147
Change-Id: I0999fad4185321d5211172aed2f1d60fe8f5fe3a
Although telecom always runs as system user, it binds to apps in the
user space and so needs to interact with apps with the current user
explicitly. This change fixes areas that neglected to do that.
Bug: 27161171
Change-Id: I55a4f612c9b38d4e448c346173845a79a926c695
Add additional step to look for and bind to a car-mode UI if the device
is currently in car-mode. Add a system state component to listen for
car-mode changes.
Change-Id: I5124b46f43b47bda39cf3d0f882378cf69b0505b
Added a VideoProviderProxy which intermediates between the VideoProvider
in the ConnectionService and the InCallService.
Changed CallsManager to listen for session modification requests via the
VideoProviderProxy and report these to its listeners via the
CallsManagerListeberBase.
Changed InCallToneMonitor to listen for session modification requests and
to play a tone when a request to upgrade is received.
Also, added an intent in the TestInCallService which I neglected to commit
in a previous CL.
Bug: 20232310
Change-Id: I1b105968f519ff6b166bbd02cb57b1cf68d2cea9
TestInCallService has an "ACTION_SEND_UPGRADE_REQUEST_FROM_TEST_INCALL_SERVICE"
intent.
Added support to specify an int videoState as part of the intent so that
the caller can test sending video requests that our InCall may not
support (e.g. incoming 1-way request when in audio-only).
Bug: 20090022
Change-Id: I283575cc296444bbdadcdec5c1caa1593c1eed3b
I had added the android:process to the TestCallActivity section in the
manifest. This made my test intent work, but broke the intents in the
TestCallActivity which communicated back to the TestConnectionService.
Correctected this by adding a new BroadcastReceiver which is used to handle
intents for the TestInCallService.
Change-Id: I665b381a5519b0a1ddac39f580ce6482615dcffa
This prevents the activity from bringing up the UI at all,
which makes the initiation of a test call more realistic from the
ActivityManager's perspective since calls are usually
generated from the background.
Change-Id: Ie8893d38593f61689b8e2cdfd2e17d5efef3d79e
This prevents the activity from bringing up the UI at all,
which makes the initiation of a test call more realistic from the
ActivityManager's perspective since calls are usually
generated from the background.
Change-Id: Ie8893d38593f61689b8e2cdfd2e17d5efef3d79e
The current code assumes that only a single instance of VideoCall will be
provided to the default system InCall UI. Ideally multiple
InCallService implementations should be able to use the VideoCall APIs.
Note: it only really makes sense for a single InCallService to get/set
the video surfaces.
- Modify InCallController to only update the VideoProvider in the parcelled
call data if it has changed.
- In InCallController, removed check that would prevent sending video
provider to other InCallServices other than the default incall UI.
- Created TestCallList and modified TestInCallServiceImpl to track all
calls and output some debug information about the calls/video callbacks.
- Added a new Test intent, ACTION_SEND_UPGRADE_TO_VIDEO_REQUEST which will
cause the TestInCallServiceImpl to loop through all telecom calls and
trigger the VideoCall API to send an upgrade to video request. THis is
to mimic how the telephony test team will be using a test InCallService
to control the device.
Bug: 20092420
Change-Id: Ib781551d5168bc095f58b7b62906a9e59e43958e
After initiating a call using
adb shell am start -a android.telecom.testapps.ACTION_START_INCOMING_CALL
-d "tel:14082932268"
Hang up the call using:
adb shell am start -a android.telecom.testapps.ACTION_HANGUP_CALLS
Bug: 19803865
Change-Id: I9ba12bac1eb5db5c19d0d830fc1e1e77cb3b86cb
This CL splits the automated unit tests (*.tests package) and the
interactive test connection services (*.testapps package).
Apart from code hygiene and flexibility moving forward, this makes
Android manifest and build files, and the relevant dependencies,
simpler and easier to follow.
Change-Id: Id8c7763ae65f437fdfdabe8b0a4f3561adadbcb3