Commit Graph

316 Commits

Author SHA1 Message Date
Thomas Stuart
4e1184dc26 decouple TelecomManager#getSelfManagedPhoneAccounts (2/3)
Recently TelecomManager#getSelfManagedPhoneAccounts was updated
to allow callingPackages to get their PA's.  However, API council
noted there was ambiguity with what was returned from the method.
Thus the method has been decoupled into 2 methods.

bug: 216640181
Test: CTS
Change-Id: Idbcb4740f5a5d7fdf5bedb9d9f6173eef0cb3f17
2022-02-28 16:39:38 +00:00
Grace Jia
e04723f178 Revert "Add API for cross device calling."
Revert "Add cts tests for new cross device calling api"

Revert submission 16308056-cross-api

Reason for revert: Don't want to launch this in T now
Reverted Changes:
I731226c0b:Add cts tests for new cross device calling api
I1a3aa6c1a:Add API for cross device calling.
I40f78925b:Implement new TelecomManager API for cross device ...

Change-Id: I687d94235b159d8daa20fe75de08394adc39f8c7
2022-02-07 19:42:49 +00:00
Thomas Stuart
ebed2a6d95 Merge "limit TelecomManager#registerPhoneAccount to 10; api doc update" 2022-02-04 20:08:19 +00:00
Roopa Sattiraju
98c76c40e3 Adding SystemApi for remaining Telecomm errors
Bug: 206121418
Test: Compile apex
Change-Id: I7a8511f48b2e243569cd38e13501124a5b1bb5b2
2022-02-01 12:33:47 -08:00
Thomas Stuart
e041621587 limit TelecomManager#registerPhoneAccount to 10; api doc update
bug: 209814693
Test: CTS
Change-Id: I8e4425a4e7de716f86b1f1f56ea605d93f357a57
2022-02-01 00:11:09 +00:00
Thomas Stuart
3779fcfd15 Merge "TelecomManager#getSelfManagedPA comments update (3/3)" 2022-01-24 22:45:43 +00:00
Thomas Stuart
b90f5c9dc6 TelecomManager#getSelfManagedPA comments update (3/3)
bug: 209839019
Test: CTS
Change-Id: I152e0ee7bd749598a1822f34566b66a50df04863
2022-01-24 18:26:26 +00:00
Grace Jia
e086d088a9 Add API for cross device calling.
Test: CTS test
Change-Id: I1a3aa6c1ae6d445a2f3b55e5f0d11918da5bed33
2022-01-12 13:50:52 -08:00
Grace Jia
d9bdab733f Merge "Add new API for new feature of display name." am: e43f70afc7 am: bacd6a4a11 am: 93e2d21187 am: aa6e8fff87
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1807961

Change-Id: I28ae3bf23808bca60b474969f4a0b90e9747e682
2022-01-06 20:23:29 +00:00
Hui Wang
c47df7fd76 Add new Telephony feature flags and update API annotations
Bug: 206437821
Test: make
Test: atest CtsTelephonyTestCases FrameworksTelephonyTests
Change-Id: I511afb5afc52b859a37f8ae27ab671c2b8037527
2021-12-14 20:37:47 +00:00
Grace Jia
cc16b0403c Add new API for new feature of display name.
Bug: 181383364
Test: BlockedNumberProvider test
Change-Id: I13c0ea3451b78ce5c7352f1f3fa15a28ae9bfa1f
2021-12-01 21:34:04 +00:00
Meng Wang
8665b5105e Deprecate get/setLine1Number in favor of get/setPhoneNumber
Bug: 193539271
Test: make
Change-Id: I09bcdca9d44d6b6a6d4ca00b6d0bba4c45a39bac
2021-11-19 09:56:14 -08:00
Shuo Qian
911d4646f3 Check callingpackage for calling UID consistency with phoneAccountHandle.
Test: manual
Bug: 192663798
Bug: 192663553
Change-Id: Idd2ea20cd17933f86011b8ddc1037903725c2461
2021-07-16 18:08:54 +00:00
Grace Jia
3ad3cb75af Protect TelecomManager#getPhoneAccount with necessary permissions.
Bug: 183407956
Test: make, CTS test
Change-Id: I0ff68f29865c0bb2b316b3fc73d2c5adc37e4a36
(cherry picked from commit b13eb2c476)
2021-06-21 18:37:05 +00:00
Grace Jia
b13eb2c476 Protect TelecomManager#getPhoneAccount with necessary permissions.
Bug: 183407956
Test: make, CTS test
Change-Id: I0ff68f29865c0bb2b316b3fc73d2c5adc37e4a36
2021-06-11 07:53:08 +00:00
Brad Ebinger
d0812639e0 Move READ_PHONE_STATE compat id to @hide
Bug: 185121376
Test: atest CtsTelephony2TestCases CtsTelecomTestCases2
Change-Id: I0207faf30c85cc3275e312939bec570390129304
2021-04-17 16:24:06 -07:00
Brad Ebinger
a8366aeae4 Enforce READ_PHONE_STATE for APIs involving call state
For API version 31+, ensure that READ_PHONE_STATE is checked on
APIs that retrieve/notify the call state of the device.

Bug: 157233955
Test: atest CtsTelecomTestCases2 CtsTelephony2TestCases
Change-Id: I9f8674a3075d3e0f75ee4f41eefce328c0fa6b91
2021-03-25 15:11:00 -07:00
Hall Liu
48c3c14a2a Clarify semantics in call composer extras
Docs updates:
* setCallExtraParcelable must take a framework-defined parcelable
* EXTRA_PICTURE_URI takes an android.net.Uri
* Remove redundant documentation on setCallComposerStatus

Fixes: 182510687
Test: docs only
Change-Id: I43f776cf8bcb72c4121515536a3790cf44bf1638
2021-03-11 16:17:31 -08:00
Shuo Qian
93273fd60d Companion InCallService API review
Test: atest; make docs
Bug: 179116441
Change-Id: Id75e727f6c3fc42132a80f7258bf790be79acf19
Merged-In: Id75e727f6c3fc42132a80f7258bf790be79acf19
2021-02-25 22:01:27 +00:00
Hall Liu
8fee7eaa81 Rename TelecomManager.EXTRA_INCOMING_PICTURE
Rename to EXTRA_PICTURE_URI, since we also need to set it for outgoing
calls in order to write to the call log correctly.

Bug: 177613111
Test: atest CallComposerTest
Change-Id: Ie171c8f978db7de30e81800c464b2bd68aff73f8
Merged-In: Ie171c8f978db7de30e81800c464b2bd68aff73f8
2021-01-28 12:28:29 -08:00
Hall Liu
a749abcead Add support for integrating call composer
* Minor bugfix in call log to handle USER_CURRENT
* add TelephonyLocalConnection that allows frameworks/opt/telephony to
call code (indirectly) in packages/services/Telephony

Bug: 177613111
Test: atest CallComposerTest

Merged-In: I602b51da6009c884364a026781ca3c160978fbd1
Change-Id: I61af7553b4b3d71fe87c86fca62941747d43ef55
2021-01-28 12:28:25 -08:00
Shuo Qian
3ed3883ff6 Add Call Composer API extras in TelecomManager
Test: cts
Bug: 173437870
Change-Id: I46cd9ee72de3d217fa23b368c0b88811cf8ce555
2020-12-03 04:51:57 +00:00
Kevin Jeon
767cda30ef Cache the telecom service in getTelecomService()
This change caches the results of getTelecomService() and implements a
death recipient that clears the cache when necessary.

Bug: 173460628
Bug: 173039862
Test: manual testing (phone calls, dialer tab transitions)
Change-Id: I438d479c78319eafa917ba661d7cbd49600fff2c
2020-11-17 17:31:33 +00:00
Kevin Jeon
a4fe5bbad4 Merge "Remove isServiceConnected() from TelecomManager" 2020-11-16 17:14:38 +00:00
Aurimas Liutikas
1394a019e7 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
Change-Id: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
2020-11-12 18:27:15 -08:00
Kevin Jeon
eddcb1bfe8 Remove isServiceConnected() from TelecomManager
isServiceConnected() was being called before uses of getTelecomService()
to ensure that the service was connected before accessing it. However,
isServiceConnected() used getTelecomService() to check if the service
was connected, resulting in unnecessary binder calls.

Bug: 173036057
Bug: 173039862
Test: manual testing (switching between different tabs, calling)
Change-Id: I622464927826d8af1c6e75ed4557580d8723315c
2020-11-11 21:54:28 +00:00
Tyler Gunn
e5dded6f02 Merge "Remove redundant permission requirements docs." am: ef2c66e72f am: 7e94f9e844 am: 6f4ea387c3 am: df4dfb23e0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1490126

Change-Id: Icdf6583384aafa71c1cdfafafc605430223a55cf
2020-11-09 18:52:35 +00:00
Tyler Gunn
df4dfb23e0 Merge "Remove redundant permission requirements docs." am: ef2c66e72f am: 7e94f9e844 am: 6f4ea387c3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1490126

Change-Id: I0997f681c52485345cf9ee2c6004b53e74974630
2020-11-09 18:18:48 +00:00
TreeHugger Robot
8419a72543 Merge "Add disconnect message constant Bug: b/171255813 Test: make Change-Id: Ia300b12ecf7d0c1d7d057b48a801b2928354315e" into rvc-qpr-dev am: 265a962d72 am: f6bdb84e9a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12987248

Change-Id: I55595d8ed84af37d315947809d95191b211f6164
2020-11-07 20:53:32 +00:00
TreeHugger Robot
f6bdb84e9a Merge "Add disconnect message constant Bug: b/171255813 Test: make Change-Id: Ia300b12ecf7d0c1d7d057b48a801b2928354315e" into rvc-qpr-dev am: 265a962d72
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12987248

Change-Id: Id8d13e2cd4b52a616b4e36331d43ba8084033151
2020-11-07 20:36:24 +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
radhika
0dd90655e1 Add disconnect message constant
Bug: b/171255813
Test: make
Change-Id: Ia300b12ecf7d0c1d7d057b48a801b2928354315e
2020-11-06 17:35:16 +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
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
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
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
0128b3c58c Deprecate TelecomManager#getPhoneAccountsForPackage for security.
Bug: 153995334
Test: make
Change-Id: I66d757139f3b7e25481b302e9378327873c7912c
2020-08-07 00:41:29 +00: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
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
Andrew Sapperstein
8fe35e5f21 Fix broken @see tags in public documentation.
These were previously being suppressed by doclava but with this change,
all failures are fixed and the suppression logic has been removed.

To fix the issues, there were a few possible changes made:
- broken reference to a public API (such as incorrect parameters): fixed
- unnecessary @link inside an @see tag: fixed
- @see referring to an @hide or @SystemApi: reference removed
- broken references to inner class constructors
 - worked around by fully qualifying the constructor

Bug: 6963924
Test: make doc-comment-check-docs
Exempt-From-Owner-Approval: cherry-picked from master
Change-Id: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85
Merged-In: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85
(cherry picked from commit e0624c7a40)
2020-05-01 18:25:32 +00:00
Andrew Sapperstein
1f6e22cbd8 Fix broken @see tags in public documentation.
These were previously being suppressed by doclava but with this change,
all failures are fixed and the suppression logic has been removed.

To fix the issues, there were a few possible changes made:
- broken reference to a public API (such as incorrect parameters): fixed
- unnecessary @link inside an @see tag: fixed
- @see referring to an @hide or @SystemApi: reference removed
- broken references to inner class constructors
 - worked around by fully qualifying the constructor

Bug: 6963924
Test: make doc-comment-check-docs
Change-Id: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85
Merged-In: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85
2020-05-01 00:42:22 +00:00
Fan Zhang
f7c753bc16 Add @TestApi to createLaunchEmergencyDialerIntent
Test: build
Bug: 154867896
Change-Id: Id2eb94b233c6c00a81c51d17c5414b3cce5ebdf5
2020-04-28 03:34:17 +00:00
Tyler Gunn
753aa1063e 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.
Fixes: 152187752

Change-Id: I06f8a5bebace5b22822f7bb714e14915126b904f
2020-04-23 10:16:26 -07:00
Michael Groover
f4cd234bcb Merge "Update permission requirements for TelecomManager#getLine1Number" into rvc-dev 2020-04-09 17:21:42 +00:00
Tyler Gunn
7a665af1d8 Document that some Telecom broadcast and extra keys are dead-ends.
Too late to @deprecate, but we can still at least indicate that the
broadcasts are dead-ends and help the developer know the right way to
go.

Test: make -j offline-sdk-docs; confirm docs look good.
Bug: 148268693
Fixes: 152915447
Change-Id: I88b03a62c812232cf0d5bbeb693cdaf3c2eed3e1
2020-04-08 16:13:41 -07:00