94 Commits

Author SHA1 Message Date
Hall Liu
057def534c Add support for Telecom analytics extensions
Add classes for call events and a field for them in
ParcelableCallAnalytics.
Add classes for timing information on user-visible operations.
Add the TelecomAnalytics class as the top-level object for analytics.
Add log session timing information to the TelecomAnalytics class,
independent of individual calls.

Bug: 28623064
Change-Id: Ifee5fdf6b6b341869ff0ff26c4388d357e3d9922
2016-06-14 16:37:10 -07:00
Tyler Gunn
2cbe2b5816 Un-@hide multi-endpoint APIs.
Bug: 28621640
This reverts commit 1bf206b766654ea9c4e9bc7a703a9d5f1d30ab72.
Change-Id: If8c85e4adeb017eec2b7e8199010deae2a920c6a
2016-05-06 03:07:45 +00:00
Sailesh Nepal
b05e4851d0 Merge "[Call Timing] Add constants for call timing extras" into nyc-dev 2016-04-18 22:36:40 +00:00
Tyler Gunn
1bf206b766 Hide multi-endpoint APIs.
Per feature council decision, the multi-endpoint APIs will be @hide for
the N release.

Bug: 28196918
Change-Id: Ia80b089bc754ce87ca208382eb79442b5265844d
2016-04-15 11:28:44 -07:00
Sailesh Nepal
da6bb3883f [Call Timing] Add constants for call timing extras
This CL defines new extras that can be set in a call's intent extras.
These extras track the following:
    CALL_CREATED_TIME_MILLIS - the time when the call was created by
	telephony (or another connection service)
    CALL_TELECOM_ROUTING_START_TIME_MILLIS - the time when telecom
	started processing the call
    CALL_TELECOM_ROUTING_END_TIME_MILLIS - the time when telecom
	finished processing things like call blocking and was ready to
	connect to the UI

These extras can be used by the dialer to track how long it takes for
calls to be shown to the user.

Bug: 28202119
Change-Id: I8fca259d449adedaeb4ff91d35bf59a7409be866
2016-04-15 02:23:59 -07:00
Abhijith Shastry
9bacdabf3e Remove deprecated API launchManageBlockedNumbersActivity
BUG: 27364137
Change-Id: Ie608c3f75d5fe353a1ba127b0da763c421401eb8
2016-04-04 10:46:11 -07:00
Tyler Gunn
876dbfb476 Add API support for multi-endpoint.
This CL includes changes required to support multi-endpoint (see the
design doc linked off the bug).

Main changes include:
- support for indicating if a call/connection is "external" to the device.
- support for indicating if an external call can be pulled from the
remote device to the local device.
- API used to initiate a pull of a call external to the current device to
the current device.
- Made the "connection event" API public (was previously @hide); this will
be used to support passing some error events involving pulling calls to
the incall ui.
- Added new InCallService metadata which will be used to determine if an
InCallService wants to be informed of external calls.
- New disconnect causes which will be used to expose the fact that a
multi-endpoint call was answered elsewhere and that a call ended because
it was pulled to another device.
- New call log call types to indicate if calls were answered elsewhere
or pulled to another device.

Bug: 27458894
Change-Id: I423f64ff965b5e50194635a51868c327782db2a1
2016-03-14 23:26:34 +00:00
Abhijith Shastry
ec30d2fd12 Tweak createManageBlockedNumbersIntent API documentation.
BUG: 27364137
Change-Id: I82b9802b3108f4d9d405fc55fefa766dbcddd537
2016-03-04 16:47:23 -08:00
Abhijith Shastry
6701be428c Add deprecated annotation to launchManageBlockedNumbersActivity API.
BUG: 27364137
Change-Id: I0c5c05042e6bc05a605613bde7ba3c579c1858ed
2016-02-29 16:31:12 -08:00
Abhijith Shastry
a26fe99b1e Add new API to create an intent to manage blocked numbers.
This replaces the launchManageBlockedNumbersActivity API.

BUG: 27364137

Change-Id: I5d5a20d25f0dea8b8e0e998b51f80658ff404e2c
2016-02-29 11:53:43 -08:00
Hall Liu
e362e501ee Initialize MD5 in logging in background
Use a background task to call MessageDigest.getInstance in order to
avoid a possible disk read on initialization.

Bug: 26069217
Change-Id: I0091ce012bcd811dfca0e85c21a12c54913ed919
2016-02-11 10:39:40 -08:00
Brad Ebinger
ec0d33490a Update TelecomManager docs regarding PhoneAccounts
Updates the docs for addNewIncomingCall to mention that if the
PhoneAccountHandle representing a PhoneAccount is not registered or not
enabled, a SecurityException will be thrown (as of b/26864502). Also
notifies the user that PhoneAccounts are stored in DE storage
in registerPhoneAccount.

Bug: 26874536
Bug: 26780305
Change-Id: I2dae932cfa3404d7d5060dad840a75227793603e
2016-02-08 19:07:08 +00:00
Abhijith Shastry
1908cb84a5 Add API in TelecomManager to launch the UI to manage blocked numbers.
BUG: 26917087
Change-Id: Ide328d250561577f652e3a1ee093b37ad19084d8
2016-02-02 14:55:15 -08:00
Sailesh Nepal
9c2618b17f Expose a meta-data value to allow dialer ringing
This CL exposes a new meta-data, IN_CALL_SERVICE_RINGING. If this is set
to true then ringing is played by the dialer instead of Telecom.

This CL also adds a new silenceRinger() API to InCallService. This is
needed to implement ringer silence on volume key down.

BUG: 22857261
Change-Id: I498538282eddbb727104f5b879f25adbef4e6cf6
2016-01-26 17:06:06 -08:00
Sailesh Nepal
9c4b82cf95 Merge "Make missed call action public" 2016-01-23 18:28:31 +00:00
Sailesh Nepal
be15ad9b79 Make missed call action public
This CL makes the missed call notification action public. This will be
used by the dialer app to show it's own missed call UI.

See ag/850080 for more info.

BUG: 22857261

Change-Id: Ifae82d3036a278e5619edc8c766a1d0781296e72
2016-01-22 17:33:55 -08:00
Santos Cordon
888815501b Add metadata for car-mode in-call.
Change-Id: Ic2d55889e0ab65195bee549837b51c581ce5076a
2016-01-21 14:09:09 -08:00
Hall Liu
0464b9ba16 Add method to dump Telecom analytics
Add dumpAnalytics in TelecomManager to allow the connectivity stats
service to access Telecom analytics for uploading.

Change-Id: I197d6af340fac7f38b28bb44a476b5e694db4dba
2016-01-15 12:43:27 -08:00
Hall Liu
70ac616b38 Merge "Add extras tag for analytics support" 2015-12-08 21:53:25 +00:00
Tyler Gunn
6676bb5da5 Add "acceptRingingCall()" API which accepts a videoState.
- Added acceptRingingCall API which accepts a videostate to complement the
existing API.

Bug: 20159300
Change-Id: I2a9d53fd4dbbb0be49d95416f7e26d3ec61774cd
2015-11-24 15:43:20 -08:00
Hall Liu
90f62907b6 Add extras tag for analytics support
Change-Id: I174de505cb96206f90d3cc5ba8fcca7ed9908b7f
2015-11-19 16:19:24 -08:00
Hall Liu
e1bc2ec710 Add TelecomManager constructor for passing in TelecomServiceImpl
override

Bug: 24618535
Change-Id: I2dafcc9ab496de94eb6a6894916030ed4e7556f8
2015-10-09 16:31:10 -07:00
Bryce Lee
5821983253 am 18b76bf6: am 861559d3: am 24e5efda: Merge "Add additional broadcast for when a phone account is unregistered." into cw-e-dev
* commit '18b76bf6755b4e3469b17f6f898a40bb1fe70a63':
  Add additional broadcast for when a phone account is unregistered.
2015-09-27 15:11:29 +00:00
Bryce Lee
30b0aa04dc Add additional broadcast for when a phone account is unregistered.
Change-Id: Ia14a4206ea50af11c6151e11a95851e5ffa2cd99
2015-09-23 21:53:53 -07:00
Yorke Lee
c61d1366ff Add permission annotations to TelecomManager
Change-Id: I1394429d2e183165ba0e4c63da4952837d0a63e3
2015-09-21 17:25:25 -07:00
Bryce Lee
8d41d1d4fd add call back intents for clearing missed calls and calling back.
Change-Id: Ib81fecc21c5491f975fa7c44f4e5984a4b3f8e7f
2015-08-10 15:06:59 +00:00
Bryce Lee
5e4dd3e199 Add action for notifying custom components of missed calls.
Change-Id: I09797e323dda7a5316f42c2a1c20fadbc60f2c6f
2015-08-03 16:59:10 -07:00
Tyler Gunn
335ff2ec7a Add telecom extra keys required for DMR release.
Bug: 22848290
Change-Id: I3328234e3f07d83d0dbe5b61b959344b6cc5cc3f
2015-07-30 14:18:33 -07:00
Sailesh Nepal
cf85562bc9 Default permissions for sim call manager
This CL adds the following permissions by default to the
SIM call manager:
 - microphone
 - phone

BUG: 22790160
Change-Id: Icaf1db6c6943b3ddbd16a946a81d1bfb734d761f
2015-07-28 22:16:25 -07:00
Santos Cordon
895d4b8f63 Telecom API council changes.
- adding more javadocs.
- fixing javadoc on isEnabled
- renaming to CONFIGURE_PHONE_ACCOUNT

Bug: 21573551
Change-Id: Ice035b8573a08ea18181a73c9e9a462520a934f1
2015-06-29 16:17:47 -07:00
Santos Cordon
f2600eb5ac InCallService meta-data [2/4]
Bug: 21816241

Change-Id: I9af91a1287f652247ef590878759aa277bd925e5
2015-06-23 15:13:39 -07:00
Santos Cordon
7a060d5e2b Additional javadoc.
Change-Id: Iba7f9315521314d066a166ba884ac71c3a9c2496
2015-06-22 10:38:30 -07:00
Santos Cordon
2c27b9a9fa Clean up SIM CallManager APIs.
Bug: 21499476
Change-Id: Iaded74c6b885b0745dfa85d0b7733bdad75d615a
2015-06-18 16:13:54 -07:00
Yorke Lee
107c4ce2ac Send broadcast when default dialer changes
Add hidden TelecomManager.setDefaultDialer for system apps
to set the default dialer and trigger the broadcast

Bug: 21846308
Change-Id: Ifdd30cd1323ab0157edf7fd966173b6c52df6ba0
2015-06-15 12:36:09 -07:00
Yorke Lee
02fb5bc52b Rename TelecomManager.EXTRA_INCOMING_CALL_ADDRESS
Bug: 19696065
Change-Id: Ibe253c8cd66938ea1cd560d443008026eb1005d9
2015-06-09 12:28:06 -07:00
Yorke Lee
04ea7d3b7c Add telecom extra to specify handle for incoming call
Bug: 19696065
Change-Id: Ie7c9e3f982808abd4944cfa7bd3c754b93479f84
2015-06-05 16:00:12 -07:00
Yorke Lee
db6da48621 Allow default dialer changes and phone account enable/disable via ADB
Add commands accessible via adb shell that can be used for CTS tests
without the need for adb root
*set-phone-account-enabled
*set-phone-account-disabled
*set-default-dialer
*get-default-dialer

Modify enablePhoneAccount/setDefaultDialer to indicate success.

Remove now unused functionality in ProtectedEnableAccountPreferenceActivity
and ProtectedChangeDefaultDialerActivity.

Bug: 21583012
Change-Id: I542d145cc969334c004b8344fbbb01f278256f9d
2015-06-02 14:23:21 -07:00
Yorke Lee
5cf2dde3f7 Add ability to modify default dialer via ADB
Add hidden action to TelecomManager

Change-Id: I698c0154f438cdaf78926f12a261cbc0eb807cd0
2015-05-29 14:56:32 -07:00
Yorke Lee
656eeb0402 Make ACTION_CONNECTION_SERVICE_CONFIGURE public
Bug: 21499146
Change-Id: I3b931231807eec0aed91832013c7c055005fc9ad
2015-05-28 16:12:46 -07:00
Santos Cordon
d8faf70b80 Add intents for enabling phone accounts.
Bug: 20303449
Change-Id: If0057d42373b6964193c562ae8a8487a0299da76
2015-05-20 16:55:59 -07:00
Santos Cordon
91371dc036 Add enable/disable properties to phone accounts.
Bug: 20303449
Change-Id: Ie6203a284454d43f4dd20917f0f1fda0b36484f8
2015-05-19 13:06:21 -07:00
Santos Cordon
ed769ae5d2 Improve javadoc for PRESENTATION_ constants.
Bug: 21089678
Change-Id: I045fd71a30c75c213dd5c0c64ded983ea5e5d866
2015-05-13 19:09:47 -07:00
Yorke Lee
32f2473160 More video related API fixes
android.telecom.Connection.VideoProvider
* onSetPauseImage takes Uri instead of String
* changeCallDataUsage -> setCallDataUsage
* add quality constants to changeVideoQuality() docs

android.telecom.InCallService.VideoCall
* setPauseImage takes Uri instea dof String

android.telecom.VideoProfile.VideoState
* Move constants to VideoProfile, prefix with STATE_

Bug: 21040387
Bug: 21066505
Change-Id: I764e72aced9d1e2d30d6d0cf0862100860d47c79
2015-05-12 16:45:14 -07:00
Yorke Lee
a5d5c1d084 Fix potential NPE in TelecomManager.placeCall
Don't pass null parameters

Change-Id: Icf8f4eb3e96a51a5c091322c83ae163e366c21de
2015-05-05 16:36:22 -07:00
Yorke Lee
f1a349bda3 Add default dialer checks to Telecom/Telephony
Check for the default dialer or the modify phone state permission
for various TelecomManager/TelephonyManager methods.

Make sure to check the user-selected default rather than the
hardcoded package name.

Exercise this code in TestDialerActivity.

Bug: 20304458
Change-Id: Ic04cd8f2ba98e1d54c39549ae89d3e11cd5cdafb
2015-04-29 16:21:00 -07:00
Yorke Lee
1011f4870c Add APIs to getDefaultDialerPackage and getSystemDialerPackage
getDefaultDialerPackage is a public API and will be used by
apps to determine if they are the default dialer.

getSystemDialerPackage is a hidden API and is only used by
system components.

Also add new public string constants to allow apps to show
a dialog requesting that the user change the current default
dialer.

Bug: 20304458
Change-Id: I121d36741474c1fe171c372fb766a6c128228c9c
2015-04-24 11:12:34 -07:00
Yorke Lee
3e56ba14cc Add TelecomManager.placeCall
Places a new outgoing call using the system telecom service
with the specified parameters.

Making emergency calls using this method requires that the
method-caller is either the user-selected default dialer app
or preloaded system dialer app.

Requires that the caller have the
{@link android.Manifest.permission#CALL_PHONE} permission.

Bug: 20348183
Change-Id: Ieedb5628e8c6be25137944e7c3639dc1d9bc61df
2015-04-23 16:48:52 -07:00
Svet Ganov
16a1689950 Add OP_READ_PHONE_STATE app op - framework
The READ_PHONE_STATE permission protects PII information and
is in the Phone group. This change is adding the corrseponding
app op for gating access to the API guarded by READ_POHNE state
which will be used instead as an access control for legacy apps.

Change-Id: I2ff895a5a0e529f26ec0ad706266a30d829268ba
2015-04-17 20:43:56 +00:00
Yorke Lee
49e2d46812 Change hasVoicemailNumber to getVoicemailNumber
Bug: 20223485

Change-Id: I67eb12e2030ec8f73326ade4eb750b0c2f6e52ad
2015-04-16 09:30:57 -07:00
Jay Shrauner
225ccadc03 Hide getUserSelectedOutgoingPhoneAccount
Bug:20224972
Change-Id: I21528788e38817f77fc68b56e26a33ac726d39e2
2015-04-15 15:51:15 -07:00