1755 Commits

Author SHA1 Message Date
Jeff Sharkey
fab0ab3c9c Improve OWNERS coverage across frameworks/base/.
As general background, OWNERS files expedite code reviews by helping
code authors quickly find relevant reviewers, and they also ensure
that stakeholders are involved in code changes in their areas.

Some teams under frameworks/base/ have been using OWNERS files
successfully for many years, and we're ready to expand them to cover
more areas.  Here's the historical coverage statistics for the last
two years of changes before these new OWNERS changes land:

-- 56% of changes are fully covered by OWNERS
-- 17% of changes are partially covered by OWNERS
-- 25% of changes have no OWNERS coverage

Working closely with team leads, we've now identified clear OWNERS on
a per-package basis, and we're using "include" directives whenever
possible to to simplify future maintenance.  With this extensive
effort, we've now improved our coverage as follows:

-- 98% of changes are fully covered by OWNERS
-- 1% of changes are partially covered by OWNERS
-- 1% of changes have no OWNERS coverage

This specific change is automatically generated by a script from
detailed ownership information confirmed by team leads.

Bug: 174932174
Test: manual
Exempt-From-Owner-Approval: refactoring with team leads buy-in
Merged-In: I9789c97c1de8e5d962b48c29c57d82fe83729eba
Change-Id: I9789c97c1de8e5d962b48c29c57d82fe83729eba
2020-12-08 08:36:27 -07:00
Dan Shi
4d46518b6f Move CtsTelecomTestCases to group presubmit-large
Also move OverlayRemountedTest, RollbackTest

The test config takes longer than 15mins to run. Move it to a dedicated
group for running slow presubmit Test Mapping test.

Bug: 174654670
Bug: 174495337
Test: none
Change-Id: Ie134c5d171bd99cca908f316d03050001c22ac32
2020-12-04 18:14:10 +00:00
Aurimas Liutikas
e1bb600fc7 Merge "Remove legacy style metalava suppression" 2020-11-16 17:40:07 +00:00
Aurimas Liutikas
bdd6c53abb Merge "Suppress all hidden abstract methods in constructable classes." 2020-11-13 02:56:37 +00:00
Aurimas Liutikas
d23189b998 Suppress all hidden abstract methods in constructable classes.
Having a hidden abstract method for a class that can be extended
means that public implementors cannot implement these hidden methods
posing a risk that custom implementations will not have required
abstract methods resulting in an exception.

Bug: 151134792
Test: make update-api
Change-Id: I758d12465fabc671be19bedeeceb16885de23c87
Merged-In: I758d12465fabc671be19bedeeceb16885de23c87
Exempt-From-Owner-Approval: large scale suppression of existing issues,
    no-op in terms of behavior
2020-11-13 02:56:20 +00:00
Aurimas Liutikas
46a165215b Remove legacy style metalava suppression
@SuppressLint("Doclava125") is a legacy way of suppressing
RequiresPermission check. Updating to the new style of suppression
so metalava no longer has to support the legacy mode.

sed -i "s/@SuppressLint(\"Doclava125/@SuppressLint(\"RequiresPermission/" \
core/java/android/app/admin/DevicePolicyManager.java \
core/java/android/hardware/hdmi/HdmiControlManager.java \
core/java/android/hardware/location/ContextHubManager.java \
core/java/android/hardware/usb/UsbDeviceConnection.java \
core/java/android/net/TrafficStats.java \
core/java/android/os/RecoverySystem.java \
core/java/android/os/storage/StorageManager.java \
core/java/android/service/persistentdata/PersistentDataBlockManager.java \
location/java/android/location/LocationManager.java \
media/java/android/media/AudioManager.java \
telecomm/java/android/telecom/TelecomManager.java \
telephony/java/android/telephony/CarrierConfigManager.java \
telephony/java/android/telephony/TelephonyManager.java \
wifi/java/android/net/wifi/RttManager.java \
wifi/java/android/net/wifi/WifiScanner.java

Test: make
Exempt-From-Owner-Approval: No-op change
Merged-In: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
Change-Id: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
2020-11-12 18:30:12 -08:00
Shuo Qian
83cc1b62f0 Merge "Introduce hasCompanionInCallServiceAccess API" 2020-11-12 21:51:29 +00:00
sqian
dfb7ca01a8 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
Merged-In: Id659bfae8556e965d3c31613848bde808f28a858
(cherry picked from commit 4d0652699a88ad60c2dfdbf7b59065ee684df6d6)
2020-11-11 22:51:49 +00:00
allenwtsu
6ec972a72a Declare audio codec bitrate and bandwidth
Bug: 172304392
Test: atest
Change-Id: Iea4de76a4c1628c8828ba84282ef014f94cc169a
2020-11-11 00:55:52 +08:00
Tyler Gunn
ef2c66e72f Merge "Remove redundant permission requirements docs." 2020-11-09 17:06:30 +00:00
Tyler Gunn
1a4f04068a Remove redundant permission requirements docs.
Methods use @RequiresPermission annotation to declare permissions.
This CL removes redundant javadoc which also state the permission reqs;
the @RequiresPermission annotation results in autogenerated permission
docs.
Let some references in the javadoc in where a permission OR a role is a
requirement to use an API, or where permissions had specific API levels
noted in the javadoc.

Test: make docs
Fixes: 137633265
Change-Id: Id1ab7090def6b1d0dbdc8d2cc8586b5341e2eb7e
2020-11-06 13:19:27 -08:00
Mathew Inwood
5d123b6775 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
Merged-In: I626caf7c1fe46c5ab1f39c2895b42a34319f771a
Change-Id: I54e5ecd11e76ca1de3c5893e3a98b0108e735413
2020-11-04 09:45:53 +00:00
Hall Liu
730f35321d Merge "Update docs for RttCall#write" 2020-11-03 21:29:25 +00:00
Hall Liu
dc46c85da6 Update docs for RttCall#write
Update docs to clarify some confusion over recommended behavior for
paste/autocomplete operations.

Bug: 171986522
Test: docs only
Change-Id: I0515319a1aff00640fb4557584b17f10126eb215
2020-10-29 16:25:05 -07:00
Tyler Gunn
5c17953fb7 Merge "Modify the TelecomLoaderService to provide LocalServices to Telecom" 2020-10-26 15:59:36 +00:00
Brad Ebinger
ee4eca707c Modify the TelecomLoaderService to provide LocalServices to Telecom
We need access to the DeviceIdleController, which is not currently
accessible via the PowerWhitelistManager due to restrictions with
components in the same SYSTEM process accessing public APIs (see
context#enforceCallingPermission).

To get around this, we need to wrap services only available as
LocalServices using Binder to pass these services to the Telecom
code. This is all in-process (no IPC allowed), so there should be
little to no impact.

Bug: 160724034
Test: miss call and verify `adb shell cmd deviceidle tempwhitelist` contains
default dialer.
Test: atest TelecomUnitTests; atest CtsTelecomTestCases

Change-Id: I6275b550d19743e576b93f5fcd2bd3aa9ea4e1a8
Merged-In: I3d71331cbc8f01f764cc0b9704416821007feeb5
2020-10-22 21:43:02 +00:00
Hall Liu
2cf63f72cd 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
Merged-In: Ic5269d577f007e01a0c9eaa95cd7e8814ab8f79a
2020-10-22 14:07:38 -07:00
Hall Liu
5968c09340 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
Merged-In: I7f810f909a8a61b422283c3bafcc97307e4d863b
2020-10-22 14:07:32 -07:00
Anton Hansson
dd7d52f963 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
Merged-In: I772790b783b0a8730b8bf680c9e569a886b8d789
2020-10-19 16:41:01 +01:00
Taesu Lee
b40a55ccc9 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
Merged-In: I232d7f7d23efd963b6d30938f0fa304c90fca8a8
2020-10-14 02:31:14 +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
Treehugger Robot
834c527a3b Merge "CallScreeningService API docs cleanup." 2020-10-08 02:49:10 +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
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
Brad Ebinger
f3670cc3d3 Merge "Update OWNERS" am: 33082d4490
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1418955

Change-Id: Ia358e7f028c9fbbb80aa03e714f652c251a6fd9b
2020-09-08 19:20:53 +00:00
Brad Ebinger
ca201499c6 Update OWNERS
Test: manual
Change-Id: I1c6231bb83f626fcbd3684eb45224abfa610afef
2020-09-03 23:29:16 +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
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
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
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
Hall Liu
1b2995ca3f Merge "Run CtsTelecomTestCases in presubmit" 2020-07-28 20:47:36 +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
de99d04289 Run CtsTelecomTestCases in presubmit
Run Telecom CTS in presubmit, and include a few fixes to prevent
flakiness in said presubmit.

Fixes: 158798240
Test: presubmit
Change-Id: I9b9e2f2604615e93301bc83be7c3545c6f80cb9c
2020-07-01 14:51:59 -07:00
Treehugger Robot
8c5ed53fad Merge "Add telecom command to stop block suppression" am: afe114c2f5 am: 533a19175c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1350781

Change-Id: I4cface851f70245a7efc4063e54c2943f2d0e362
2020-06-26 23:11:08 +00:00
Treehugger Robot
afe114c2f5 Merge "Add telecom command to stop block suppression" 2020-06-26 22:45:32 +00:00
Hall Liu
efe7351c7c Add telecom command to stop block suppression
Add a Telecom command to stop the number blocking suppression that
happens after an emergency call.

Bug: 158798240
Test: atest CtsTelecomTestCases
Change-Id: I122de1962fb6aa48a3092c2aa323dcbdcbb8f42e
2020-06-26 13:38:50 -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