Currently when WM detects certain events, it will notify the logger
of these events asynchronously and logger uses the timestamp at which it
gets notified to log these events. It's possible that the delay between
when the event actually occurs and when the logger gets notified could be
large. So for better accuracy, WM should also pass on the event timestamp
to the logger.
Bug: 62375480
Test: Triggered sysui_multi_action event logs and verified that
APP_TRANSITION_DELAY_MS is less than APP_TRANSITION_WINDOWS_DRAWN_DELAY_MS.
Test: When the system is not busy, the timestamps we used to log earlier
and timestamps we log with this change are almost same.
Change-Id: I5f62654a6b7f179d821c0082b180246c8a569df1
We normally prevent apps from allocating into the "reserved" cache
space, but this change makes an exception for an active camera app,
since the user is probably trying to capture an important memory.
This change only lets the active camera app clear up to half of the
reserved space, since we don't want to completely destroy the
experience of all other apps.
Test: manual app before/during/after active camera session
Bug: 38267830
Change-Id: Ie9e63884fb2638ca881e10b894629eea84601648
This CL will be reverted once it merges into the next release branch
to re-introduce the proposed APIs.
This CL also makes the following code changes to preserve API
compatibility:
-- It keeps the recently added RemoteViews.clone() synchronized logic
intact, but moves it inside the method to avoid changing the API
signature.
-- It reverts the RttCall.read() behavior to the oc-dev logic, since
we can't throw IOException until we get an API level bump. (The
original logic returned null instead of throwing.)
Test: builds, boots
Bug: 62427252, 62431886, 62427329
Bug: 62468911, 62431162, 62428935, 62429096
Bug: 37290820, 37359238, 36886243
Bug: 30143923, 35761231, 62192626, 29829689
Change-Id: I83d723f598cb0ee1fe198e65debd86ef7fd0420c
Allows for dumping the activity state during the last anr. This will
also be included in collected bug reports.
Bug: 38121026
Test: Cause an anr to occur and run 'adb shell dumpsys activity lastanr'
Change-Id: I1e4200f9e5cc16bfab98e5af31fc599cdd54cd11
Bug 62188967
A previous change stopped animations on fragment Views before
being removed. This change in behavior caused other problems,
so the behavior must be placed behind a target SDK check.
Test: ran fragment tests, validated on app
Change-Id: I098e9b0f1472d9838abeacba3baaa7581f7a82ad
This reverts commit 8f7828ebe7.
Mutes sound on legacy apps that use their summaries to make sound
Change-Id: I635b1428ee247c0b7753f58343637e64da1c981d
Fixes: 62387153
The Alarm Manager APIs that allow callers to ascribe wakelock time
to other apps are gated on the UPDATE_DEVICE_STATS permission.
Document this with the appropriate annotation.
Test: N/A
Change-Id: Idf5548089fb7d2235139ae8ba7bf58e7f455eb33
We've seen some @SystemApi methods protected with non-system
permissions, so give Doclava the platform AndroidManifest.xml so it
can parse the actual permission protection levels to look for APIs
that are letting in non-system apps.
Also document more @SystemApi permissions.
This is purely a docs change; no logic changes are being made.
Test: make -j32 update-api
Bug: 62263906
Change-Id: Ie0f0a5fb0033817bcc95060f2183a52ae4ae7b06
Most @SystemApi methods should be protected with system (or higher)
permissions, so annotate common methods with @RequiresPermission to
make automatic verification easier.
Verification is really only relevant when calling into system
services (where permissions checking can happen on the other side of
a Binder call), so annotate managers with the new @SystemService
annotation, which is now automatically documented.
This is purely a docs change; no logic changes are being made.
Test: make -j32 update-api && make -j32 offline-sdk-docs
Bug: 62263906
Change-Id: I2554227202d84465676aa4ab0dd336b5c45fc651
- When the window for the activity enters PIP, update the outline provider
to override the alpha of the shadow (to be opaque) to ensure that is is
visible. Only applies to the task root activity.
Bug: 36741700
Test: Launch YT, ensure that there is a shadow when after it enters PIP
Test: go/wm-smoke
Test: android.server.cts.ActivityManagerPinnedStackTests
Change-Id: If089dae84e4916d3d0e7bbeb316215b46e522e05
- This can happen either if an app creates an ActivityOptions without a
thumbnail, or if the call to create a hardware bitmap fails for any
reason. Just ignore the thumbnail for the transition in this case.
Bug: 62296016
Test: Have not been able to reproduce, but this is just a logical change
Change-Id: I30776b651df1f42118fe1d317fa4817261a6e977
- It is possible for the session to be requested to be hidden before it
gets the message to be shown and completes showing. This leads to an
inconsistency where the voice interaction service implementation will be
in a different state than the system for the session. Instead, we can
cancel any pending show messages, and also clean up the pending show
callback list immediately when the session is hidden.
- Also fixing up some error message codes when starting the assistant
activity.
Bug: 38379130
Test: android.server.cts.ActivityManagerAssistantStackTests
Test: CtsVoiceInteractionTestCases
Test: CtsAlarmClockTestCases
Change-Id: I0d0e9c024367a47bda82d6a29ca89e18b7d69527
With my TimePickerDialog change to support keyboard based input I
accidentally broke TimePickerDialog#onClick as it was no longer being
called, instead it was calling TimeSetListener directly. This CL changes
the logic back to use onClick again.
Bug: 36042834
Test: Locally tested FitBit app.
Change-Id: I47d5563c99cc46eaaf2b1d4a96483d6825fc5805
On watches, multi-window is used to present essential system UI, and thus it
must be supported regardless of device memory characteristics.
Bug: 37482466
Test: Manually, on a watch
Change-Id: I7929a090b7fd46de019d237ce771c82a6d7fd3f3