Commit Graph

1701 Commits

Author SHA1 Message Date
Mathew Inwood
8e742f928e Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

This is a resubmit of ag/12929664 with some APIs excluded that caused
test failures; see bugs 171886397, 171888296, 171864568.

APIs excluded:
Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
Landroid/os/Process;->myPpid()I
Landroid/os/SharedMemory;->getFd()I
Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I

Bug: 170729553
Test: Treehugger
Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
2020-10-29 11:51:12 +00:00
Hongwei Wang
286c33a5c5 Merge "Revert "Add maxTargetSdk restriction to unused APIs."" 2020-10-28 23:58:21 +00:00
Hongwei Wang
050275cd83 Revert "Add maxTargetSdk restriction to unused APIs."
This reverts commit 72f07d6a8a.

Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?testMethod=testAppZygotePreload&testClass=android.app.cts.ServiceTest&atpConfigName=suite%2Ftest-mapping-presubmit-retry_cloud-tf&testModule=CtsAppTestCases&fkbb=6936597&lkbb=6936969&lkgb=6936551&testResults=true&branch=git_master&target=cf_x86_phone-userdebug>, bug b/171886397

Bug: 171886397
Change-Id: Ibe0f0430a3451477c1ee8ef56a596e91ea1e7672
2020-10-28 20:16:22 +00:00
Mathew Inwood
ee5d369323 Merge "Add maxTargetSdk restriction to unused APIs." 2020-10-28 09:39:20 +00:00
Mathew Inwood
72f07d6a8a Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

Bug: 170729553
Test: Treehugger
Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
2020-10-27 15:46:07 +00:00
Shuo Qian
4d0652699a Introduce hasCompanionInCallServiceAccess API
It retruns whether the caller has InCallService access for the companion
 apps. A companion app is an app associated with a physical wearable
 device via the {@link android.companion.CompanionDeviceManager} API.

Test: cts
Bug: 169595473
Change-Id: Id659bfae8556e965d3c31613848bde808f28a858
2020-10-26 16:57:38 -07:00
Anton Hansson
586a3cf229 Remove @TestApi from @SystemApi symbols
I ran these commands:
    cd frameworks/base
    grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \
        's/\@SystemApi[\s\n]+(\@\w+[\s\n]+)?\@TestApi/\@SystemApi\1/gs'
    grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \
        's/\@TestApi[\s\n]+(\@\w+[\s\n]+)?\@SystemApi/\1\@SystemApi/gs'

Bug: 171179806
Test: m checkapi
Change-Id: I772790b783b0a8730b8bf680c9e569a886b8d789
2020-10-20 09:04:03 +01:00
Taesu Lee
902b89d936 Use TelephonyManager#isEmergencyNumber() instead
Replace deprecated PhoneNumberUtils#isLocalEmergencyNumber() and
isEmergencyNumber() with TelephonyManager#isEmergencyNumber().

Test: Build
Bug: 132703886

Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Change-Id: I232d7f7d23efd963b6d30938f0fa304c90fca8a8
2020-10-13 15:52:20 -07:00
Tyler Gunn
d67a33d6e1 Merge "Add clarification text on getCallerNumberVerificationStatus docs." am: f83bccb02f am: 793b248026 am: 0b22366dc7 am: 49f8fc73bf
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1455218

Change-Id: Icf13ea562dc9dbfd241c28c7938b8bfa50d4631b
2020-10-09 19:01:21 +00:00
Tyler Gunn
f83bccb02f Merge "Add clarification text on getCallerNumberVerificationStatus docs." 2020-10-09 17:07:40 +00:00
Tyler Gunn
9c64249ea2 Add clarification text on getCallerNumberVerificationStatus docs.
Update API docs to make it clear what the verification status means and how
it can be used by CallScreeningService and CallRedirecitonService
implementations.

Test: Build API docs and view offline.
Bug: 150343312
Change-Id: I56f92f5e3ab544e31337a8147134baac33bb4ea9
2020-10-08 13:37:03 -07:00
Jeff Sharkey
f76ffeaff1 Merge changes from topic "oct6"
* changes:
  Upgrade AndroidFrameworkBinderIdentity to fatal.
  Tighten up Binder.clearCallingIdentity() usage.
  Tighten up Binder.clearCallingIdentity() usage.
  Tighten up Binder.clearCallingIdentity() usage.
2020-10-08 18:50:22 +00:00
Treehugger Robot
01aca15537 Merge "CallScreeningService API docs cleanup." am: 834c527a3b am: fcafb9acdf am: c3f4c873df am: 1f4f3591a8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1453996

Change-Id: I71719dac58f6cda5e94fb62cd68015ce11a097c3
2020-10-08 04:20:36 +00:00
Treehugger Robot
834c527a3b Merge "CallScreeningService API docs cleanup." 2020-10-08 02:49:10 +00:00
Treehugger Robot
7709d39a4d Merge "Clarify API docs for getCannedTextResponses." am: fc1a08a982 am: 9626f7cc42 am: 48b97996fb am: 0108bb9b4b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1451125

Change-Id: Id0185ea220741f93f43ebf7433d9655013f9dae9
2020-10-08 02:36:03 +00:00
Tyler Gunn
467acc47a3 CallScreeningService API docs cleanup.
Cleanups for call screening service APIs and to provide more clarity for
the lifecycle of the service.

Fixes: 170286897
Test: make docs ; preview docs genreated.
Change-Id: I487b438e39abb83cee1bd050889a6bce164247d7
2020-10-07 15:54:43 -07:00
Tyler Gunn
434fc2c524 Clarify API docs for getCannedTextResponses.
The API docs do not clearly indicate the fact that canned text responses
may not be available when a call is first added.  Updating the API docs
to clarify this and reference the listener a developer can use to be
informed of changes to the canned responses.

Test: Docs only change.
Bug: 162843384
Change-Id: I52ced96439b2dfa31c1f2428979ab54466763afa
2020-10-06 14:23:54 -07:00
Jeff Sharkey
2d2e07e2ff Tighten up Binder.clearCallingIdentity() usage.
The recently added AndroidFrameworkBinderIdentity Error Prone checker
examines code to ensure that any cleared identities are restored to
avoid obscure security vulnerabilities.

This change is a purely mechanical refactoring that adds the "final"
keyword to the cleared identity to ensure that it's not accidentally
modified before eventually being cleared.  Here's the exact command
used to generate this CL:

$ find . -name "*.java" -exec sed -Ei \
    's/    (long \w+ = .+?clearCallingIdentity)/    final \1/' \
    {} \;

Bug: 155703208
Test: make
Exempt-From-Owner-Approval: trivial refactoring
Change-Id: I832c9d70c3dfcd8d669cf71939d97837becc973a
2020-10-06 11:18:09 -06:00
Hall Liu
4bb53ec753 Update documentation for phone account sort order
Update documentation to reflect that the sort order extra
should contain integers.

Bug: 169153499
Test: docs only
Change-Id: Ic5269d577f007e01a0c9eaa95cd7e8814ab8f79a
2020-09-29 15:15:24 -07:00
Hall Liu
221f804a00 API tweaks in response to feedback
Update documentation on PhoneAccount#EXTRA_SORT_ORDER to make it more
clear what the sorting order is in edge cases.

Make DisconnectCause#REASON_EMULATING_SINGLE_CALL public, since it might
get propogated up to dialer apps.

Fixes: 169153499
Test: docs only
Change-Id: I7f810f909a8a61b422283c3bafcc97307e4d863b
2020-09-23 16:48:59 -07:00
Hall Liu
e82e9bf01b Merge "Expose Telecom constants for use in Telephony" am: 9fcb2819d0 am: 1bf919f084 am: 5b6beb2fc0 am: 2f8cf2f852 am: 74bb99708b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1427473

Change-Id: Id62c2a0f4add8ce3fccaef64240f9a8efb79aa94
2020-09-16 01:48:21 +00:00
Hall Liu
2ef041183d Expose Telecom constants for use in Telephony
Expose Telecom constants that are used in Telephony in preparation for
mainline. Exposure is a combination of public/system -- those which made
sense for 3pty apps to access were made public.

Fixes: 168551099
Test: atest CtsTelecomTestCases
Change-Id: I688f04ba4ddf0498bad3463888fae71cdff2844a
2020-09-14 18:37:44 -07:00
Songchun Fan
c903f6ac26 [telecom] system_server should not call non forUser Settings.Secure.get* methods
BUG: 166312046
Test: builds
Change-Id: I69e91c84ff170abd6e82e0ff322e168c11004daa
2020-09-03 22:59:14 +00:00
Xin Li
628590d7ec Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27
Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2
2020-08-31 21:21:38 -07:00
Grace Jia
1c997e4ead Merge "Add adhoc conference APIs to RemoteConnection and RemoteConnectionService." am: 329c6ff777 am: e40cfa60de am: 6a55cd1644 am: 300b3cce72 am: f98b0c5eb1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1388908

Change-Id: I3fc6ba1492996d41530461452e83759a490adc6d
2020-08-13 19:30:59 +00:00
Grace Jia
6a55cd1644 Merge "Add adhoc conference APIs to RemoteConnection and RemoteConnectionService." am: 329c6ff777 am: e40cfa60de
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1388908

Change-Id: I49034d851b111792fa54b3d2f236d56513bb00f9
2020-08-13 18:46:06 +00:00
Grace Jia
329c6ff777 Merge "Add adhoc conference APIs to RemoteConnection and RemoteConnectionService." 2020-08-13 18:06:19 +00:00
Tyler Gunn
560c97bc25 Merge "Improve remote connection logging." 2020-08-12 18:27:36 +00:00
Tyler Gunn
419c0fa22e Merge "Fix createLaunchEmergencyDialerIntent API behavior when Telecom unavailable." 2020-08-12 18:27:18 +00:00
Grace Jia
9a09c67075 Add adhoc conference APIs to RemoteConnection and
RemoteConnectionService.

Plumb through the adhoc conference APIs via these new APIs.

Bug: 159944852
Test: atest CtsTelecomTestCases:RemoteConnectionTest
Change-Id: Icfa27e0616dd35ba350f7a491e5c95337a286b9d
2020-08-11 19:26:33 +00:00
Grace Jia
0128b3c58c Deprecate TelecomManager#getPhoneAccountsForPackage for security.
Bug: 153995334
Test: make
Change-Id: I66d757139f3b7e25481b302e9378327873c7912c
2020-08-07 00:41:29 +00:00
Tyler Gunn
c59fd0cd80 Improve remote connection logging.
This CL improves traceability of calls initiated via a remote connection
service.
For regular incoming/outgoing calls, when initiating a request to create
a remote connection in RemoteConnectionService, we set
EXTRA_REQUESTING_PACKAGE_NAME in the parcelled request to the package name
of the connection manager.  In ConnectionService this serves as an
indicator that the incoming request is via a connection manager and is
used to trigger setting of EXTRA_REMOTE_PHONE_ACCOUNT_HANDLE with the
phone account handle the remote connection service uses to place the call.
For conferences and existing connections, the initial request is from
the remote connection service to the connection manager so we can
just set the EXTRA_REMOTE_PHONE_ACCOUNT handle there directly.

Also cleaned up logging in the telecom session logging to remove the
assumption that the ownerInfo is an incall service.

Test: Manual testing with connection manager to verify logging.
Bug: 154353494
Fixes: 155097158
Merged-In: I916750e0f558db1eb9e581bab7a9fbc71f781709
Change-Id: Iee1b5cfd3334a5de08d7b04022b7c6d5af6a4b04
2020-08-05 13:45:33 -07:00
Tyler Gunn
893a602e61 Fix createLaunchEmergencyDialerIntent API behavior when Telecom unavailable.
The API contract for createLaunchEmergencyDialerIntent indicates that
the return value is @NonNull, however the code clearly can return a null
value if either:
1. Telecom is unavailable.
2. There is a remote exception.

Since the API just returns a new ACTION_EMERGENCY_DIAL intent with the
package name of the emergency dialer (from Telecom string resources), we
can provide a reasonable fallback behavior by just returning a new
ACTION_EMERGENCY_DIAL intent with no targeted package.  The system will
still launch the emergency dialer in this case, but if there is a scenario
where multiple emergency dialers are installed on a device, the AOSP one
may get launched instead.  This is, however, better than there being NO
emergency dialer launched.

Test: Comment out call to Telecom service and verify the AOSP emergency
dialer still launches.
Bug: 152187752
Fixes: 155097434
Merged-In: I1665d456dace8e41cc035e792f319d98dd07219c
Change-Id: I06f8a5bebace5b22822f7bb714e14915126b904f
2020-08-05 13:37:27 -07:00
Tyler Gunn
c5ef3b9cae Merge "Update language to comply with Android's inclusive language guidance" am: a005cb30ed am: 3772a5b3fd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1377136

Change-Id: I2f838a951cec8f6e7af82a0cd08d99d6045f3952
2020-07-30 21:25:38 +00:00
Tyler Gunn
a005cb30ed Merge "Update language to comply with Android's inclusive language guidance" 2020-07-30 20:42:55 +00:00
Tyler Gunn
460360d6b8 Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Test: Presubmit
Bug: 161896447
Change-Id: I4142f4819f5ed3e2ffddf471b90923985e72523a
2020-07-29 10:23:07 -07:00
Treehugger Robot
e8a4750ac5 Merge "Expose adhoc conference calling API as public." am: 8ebbe3c038 am: fb8f41f0c2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1368819

Change-Id: Ia5e17f2dbbfbb539f2415348e1ddb960354d3662
2020-07-28 17:41:13 +00:00
Grace Jia
8587ee5cd5 Expose adhoc conference calling API as public.
Bug: 159944852
Test: make
Change-Id: I2cf39a6fd8a02ca4f2d0c83c484ab12bb13f74c3
2020-07-27 11:18:36 -07:00
Hall Liu
3293dd1e64 Merge "Mark TelecomManager#isRinging as a TestApi" am: 94091aceaa am: 1ab98f185e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1340753

Change-Id: Ic643ef7b31f62a6771c1f1ba5aa0e4c0a16e7e0c
2020-06-17 01:34:55 +00:00
Hall Liu
ae6a918ba9 Mark TelecomManager#isRinging as a TestApi
Bug: 150320750
Test: atest BackgroundCallAudioTest
Change-Id: I048960feb97cd6cf081056ee649e7ea8dacdc8e3
Merged-In: I048960feb97cd6cf081056ee649e7ea8dacdc8e3
2020-06-16 16:52:24 -07:00
Tyler Gunn
df62e53c72 Merge "Update audio processing API docs." into rvc-dev am: 04e5ed5223
Change-Id: Ie0c28b5904df38f59dc6ca528e0269f95d4e54da
2020-05-15 22:23:45 +00:00
Tyler Gunn
460b7d49a1 Update audio processing API docs.
Updating the audio processing API docs to mention the fact that the app
must indicate in their InCallService and CallScreeningService service
entries that the service type is for "microphone" access, otherwise
background audio access will not be permitted.

Test: Docs only change.
Bug: 156042528
Change-Id: I3576dba445497791e6fa4e0a2fa42cf10eb1df5b
2020-05-15 10:19:32 -07:00
Tyler Gunn
d53dc11b1f Merge "Ensure conference state is posted to Telecom for new conferences." am: 2e46eac097
Change-Id: I03b8dbca60d71aaeb03ff700482a45d35e34f6d3
2020-05-12 15:23:01 +00:00
Tyler Gunn
2e46eac097 Merge "Ensure conference state is posted to Telecom for new conferences." 2020-05-12 15:12:53 +00:00
Tyler Gunn
1036237bb5 Ensure conference state is posted to Telecom for new conferences.
There is an edge-case where an IMS conference fails to merge two
participants into a conference, AND the conference event package comes in
before the ImsCall indicates it is multiparty.  In this case, the CEP
will have a single participant which means we'll treat the call as a
standalone call.  ImsConference correctly sets the conference state, but
this was previously just passed along the ConnectionService adapter
to Telecom.  In this case the conference isn't even added to Telecom so
the method call in effect does nothing.

Changed to cache the conference state and ensure when adding the conference
to Telecom that we call the setConferenceState method (yeah, could have
put this in the ParcelableConference, but this is an edge case).

Test: Wrote unit test to verify property is set.
Bug: 134047008
Fixes: 155097934
Merged-In: I203880c593f6bac471a06eb9dcbb529d0bb75ba5
Change-Id: Ib48437abb1295d147e227727ce4ff2996f28b5de
2020-05-11 14:29:44 -07:00
Tyler Gunn
f94ecdc108 Merge "Fix parceling and unparceling for URIs in Telecom." am: 68a50c1b2f
Change-Id: I9f15005fd017442afd6894b9769df883524fc055
2020-05-11 21:17:55 +00:00
Tyler Gunn
68a50c1b2f Merge "Fix parceling and unparceling for URIs in Telecom." 2020-05-11 21:04:58 +00:00
Tyler Gunn
04e1fd15f6 Fix parceling and unparceling for URIs in Telecom.
When testing parceling and unparceling of numbers with postdial digits
it appears in parcelling to the dialer there were some cases where
the commas were being URL encoded during parceling.

Elsewhere in the platform the Uri.writeToParcel and
Uri.CREATOR.createFromParcel methods are used.  Switching to those methods
ensured that the parceling did not uri-encode on parcel/unparcel.
GatewayInfo already used the right method to unparcel.

Test: Unit/CTS tests.
Bug: 152172598
Fixes: 155098148
Merged-In: I87b881e55a749e0ea46ba3b3c7d297856a744f37
Change-Id: I32b7d049107cb3901fd934dc609541d1d2622a5a
2020-05-11 12:55:29 -07:00
Tyler Gunn
24f2f2e1c6 Merge "Improve connection manager logging." into rvc-dev am: dcbb86a7bd
Change-Id: Ib5ad35b6081246aabbf838bb27a121eaed646bc8
2020-05-10 05:16:05 +00:00
Tyler Gunn
6b0cfc3878 Improve connection manager logging.
1. In ConnectionService, upping the incoming log level to info from
debug; this ensures we can better trace whether methods are actually
called.
2. Added the ability in the logging class to get a new external session
which supplies the owner info which will be passed in to the recipient of
the external session.  This allows Telecom or a connection manager to
pass in a package abbreviation which will form the calling owner info
when the receiver continues the external session.
3. Add owner info to the Session.Info class so it can be passed about.
4. Ensure owner info is copied when getting Session.Info; subsessions were
not showing the owner info in the past; this corrects that.
5. When retrieving the external session info, creating a "package call
stack" with the owner info.  This lets us see the hierarchy of where calls
originated.
Example: cad/cast/ccme
Shows that com.android.dialer send a message to com.android.server.telecom
which relayed a message to com.connection.manager.example.
6. Start sessions in RemoteConnection API methods and pass along external
session info.  This bridges session tracing across a connection manager so
we can now trace a method call all the way from dialer, through telecom,
through the connection manager, and finally into telephony.

Test: Manual call testing with connection manager to verify log behavior.
Bug: 153899641
Change-Id: Ic081237737359aadbec8a8a0b0640c9e31443ef6
2020-05-07 15:33:26 -07:00