1) Introduce a new signature-level system permission allowing system apps to listen the
active emergency number, placed by calls or texts.
2) Add PhoneStateListener API surface to provide a mechanism to listen the
outgoing call emergency number or outgoing sms emergency number.
Bug: 135204580
Test: atest
Change-Id: I6e6bce6d4b97d492ca20302002911f9daa20767e
ModemActivityInfo is used for batteryStatusService which is part of
system service. To prepare telephony to be an mainline module, we
should expose ModemActivityInfo to systemAPI
1. remove getConsumedPower API as we are missing modem support, API
today only report 0
2. isValid API is introduced to cover modem issues before. Do not
expose this for now.
Bug: 140908357
Test: Build
Change-Id: I6e1b0daa2e0ce23b9fd55f0dd7037631b93eb7a5
The detailed proposal is here:
https://docs.google.com/document/d/1zeR67kiDmLUJ2CENXjJ2-O3REzhC7MtyYGjV_yMj2g0/edit#heading=h.o3tvsnccns69
Test: Tested with the "bluetooth" tile in quick settings. First call
setStateDescription() in
handleStateChanged(QSTile.State state), then add log to dump the
accessibility info string in
onInitializeAccessibilityNodeInfo(). With talkback enabled, checked that
the logs have the correct state description field.
Bug: 140882622
Change-Id: I658f7972fec2a4c8abeb9470d2bda2104db053df
Readding the @deprecated javadoc to Capabilities as it is valid
to @hide a superclass of a @SystemApi.
Bug: 138990145
Test: manual
Change-Id: I1749aa3f09b7782fd0d665238be4c288a33536ea
Make methods fully public, add documentation, swap what method is public
Test: make
Fixes: 139833596
Bug: 138589409
Change-Id: If39d6423efedcf8578dc2942274f6fbb341d164a
Changed the binder call return value to the resulting
audio restriction mode.
Also added audio restriction API support for legacy shim
path.
Test: new CTS tests
Bug: 135676184
Change-Id: I412e8f53705f2401995ff828bfdc9a8598dc305a
This decouples the Split and Pinned stack resize flows. The
current goal is to prepare for a leashed resize implementation
for split-screen. For this to work, it needs to be clear
what actual logic belongs to the various docked resizing modes
vs what is for general stack resize or pinned resize. This
also enables PiP and Split to be worked-on in parallel.
As can be seen, general stack resize is actually not required
because freeform and fullscreen modes use task resize.
Bug: 119687367
Test: go/wm-smoke + related CTS
Change-Id: I9cca1910a18b87dda618235e89f2bdc582086f34
exposes sound trigger module properties to privileged
system apps with MANAGE_SOUND_TRIGGER permission
Bug: 139071862
Test: GTS test confirmed API accessible and providing valid data
Change-Id: Iec7ba6fc59912f44341fbe8d7f99193b9ead52f0
This is in an effort to enable MissingNullability check in metalava to flag
all the new APIs that are missing nullability for APIs added since API 29.
Bug: 124515653
Test: make -j checkapi
Change-Id: I582ae992b78d738a5866c9890ef00d5b30ae7cb7
If private user data is send to an app the data provider should note an
app-op. This change adds a new API AppOpsManager#setNotedAppOpsCollector
that allows an app to get notified every time such an private data access
happens.
This will allow apps to monitor their own private data usage. Esp. with
big, old apps, distributed teams or 3rd party libraries it might not always
be clear what subsystems access private data.
There are three different situations how private data can be accessed and
an app op is noted:
1. Private data access inside a two-way binder call.
E.g. LocationManager#getLastKnownLocation. When we start a two way
binder transaction, we remember the calling uid via
AppOpsManager#collectNotedAppOps. Then when the data providing code
calls AppOpsManager#noteOp->AppOpsManager#markAppOpNoted the noted
app-op is remembered in
AppOpsManager#sAppOpsNotedInThisBinderTransaction. Then when returning
from the binder call, we add the list of noted app-ops to the
reply-parcel via AppOpsManager#prefixParcelWithAppOpsIfNeeded. On the
calling side we check if there were any app-ops noted in
AppOpsManager#readAndLogNotedAppops and then call the collector while
still in the binder code. This allows the collector e.g. collect a stack
trace which can be used to figure out what app code caused the
private data access.
2. Very complex apps might do permissions checks internal to themself.
I.e. an app notes an op for itself. We detect this case in
AppOpsManager#markAppOpNoted and immediately call the collector similar
to case (1).
3. Sometimes private data is accessed outside of a two-way binder call.
E.g. if an app registers a LocationListener an app-op is noted each time
a new location is send to the app. In this case it is not clear to the
framework which app-action triggered this app-op-note. Hence the data
provider has to describe in a AsyncNotedAppOp object when an why the
access happened. These objects are then send to the system server via
IAppOpsService#noteAsyncOp and then the collector in the app. There are
rare cases where a private data access happens before the app is running
(e.g. when a geo-fence is triggered). In this case we cache a small
amount of AsyncNotedAppOps (in AppOpsService#mUnforwardedAsyncNotedOps)
and deliver them when the app is ready for these events (in
AppOpsManager#setNotedAppOpsCollector).
Test: atest CtsAppOpsTestCases (includes new tests covering this
functionality)
Bug: 136505050
Change-Id: I96ded4a8d8d9bcb37a4555d9b1281cb57945ffa9
To prepare for enabling MissingNullability Metalava check this CL
works on adding missing nullability issues that metalava flags if
we tell it to flag new things since API 29.
This is not a complete CL, mostly addresses public api and
toString/equals for @SystemApi
Exempt-From-Owner-Approval: Large scale nullability clean up
Bug: 124515653
Test: make -j checkapi
Merged-In: I109260842cfc25f06e40694997fcbb4afa02c867
Change-Id: I109260842cfc25f06e40694997fcbb4afa02c867
To prepare for enabling MissingNullability Metalava check this CL
works on adding missing nullability issues that metalava flags if
we tell it to flag new things since API 29.
This is not a complete CL, mostly addresses public api and
toString/equals for @SystemApi
Exempt-From-Owner-Approval: Large scale nullability clean up
Bug: 124515653
Test: make -j checkapi
Change-Id: I109260842cfc25f06e40694997fcbb4afa02c867
To prepare for enabling MissingNullability Metalava check this CL
works on adding missing nullability issues that metalava flags if
we tell it to flag new things since API 29.
This is not a complete CL, mostly addresses public api and
toString/equals for @SystemApi
Exempt-From-Owner-Approval: Large scale nullability clean up
Bug: 124515653
Test: make -j checkapi
Merged-In: I109260842cfc25f06e40694997fcbb4afa02c867
Change-Id: I109260842cfc25f06e40694997fcbb4afa02c867
Bug: 139458376
Allows tests to increace the exit transition timeout so that
cloud devices don't finish before the exit transition completes.
Test: ActivityTransitionTest
Change-Id: Ib94086f5ab06ff8172b80b26260e41158d428b0c
TextClassificationSessionId.flattenToString() public
TextClassificationSessionId.flattenToString() is public, so that
text classifiers can log the session ID as a string.
Also, fix toString() method in TextClassifierEvent.
Bug: 124437773
Test: Added CTS for flattenToString().
Test: Checked toString output.
Change-Id: If615703a0bdb3762b05da504b3883f85daf17afe