Allow for a null classloader, but make sure we recrete if the
classloader changes later.
Test: Added CTS
Change-Id: Ibea54d7e03acd5201d81b2261bab0739020de12d
Fixes: 74089652
Want to be able to support allowing a Slice to specify some keywords
associated with it; need a new hint to identify these.
Bug: 74086214
Test: make
Change-Id: I79d3f1806eecf416f5e3ae09451b90507b382c24
In NotificationManagerService#cancelToast we have been calling
WindowManagerService#removeWindowToken with 'removeWindows'=true. This
is allowing for Surface destruction without any sort of synchronization
from the client. Before the call to removeWindowToken we are emitting
a one-way hide call to the Toast client. As a solution to the lifetime
issue we have the client callback to let us know it has processed the
hide call (and thus stopped the ViewRoot). On the server side we also instate
a timeout. This mirrors the app stop timeout. All codepaths I could find
leading to this sort of situation where a client is still rendering
in to a toast following the total duration expiring seem to indicate a hung
client UI thread.
Bug: 62536731
Bug: 70530552
Test: Manual. go/wm-smoke
Change-Id: I89643b3c3a9fa42423b498c1bd3a422a7959aaaf
Two issues here - ops stated for a package that went away
by another package were not marked as finished. And when
the process that started the ops died we did not finish
all nested ops.
Test: atest android.permission.cts.AppOpsTest
bug: 64085448
Change-Id: Id57b3043605a65f2dfc1eea50b81793dd86f58d1
Now include Gl extensions (thanks to whoever wrote the code
I copied!).
Tweak the protos a bit to include missing info and correct
some things.
Add some new test APIs that are needed for CTS.
Bug: 73301635
Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerGetConfigTests
Change-Id: Ie3f8173d217468246e8b6c7f45b7cbfcb352d60f
- Draw over other apps
- Camera
- Microphone
The icons are not yet clickable, and the system 'drawing over
other apps' notification still appears even when the app's
notification is tagged.
Test: runtest systemui
Bug: 64085448
Change-Id: Ib3b0cdd9adced82f562f256cb81af80dc395440d
All the other dumpsys use XXXServiceDumpProto or XXXDumpProto other
than ones modified here.
The name convention is if the proto describes the top level output of dumpsys,
it should contain `Dump`. This makes the consumer easy to understand the proto
is from dumpsys of a certain service, not data structure of
the service, e.g. WindowManagerServiceProto ->
WindowManagerServiceDumpProto.
Another change here is ActivityManagerService has 4 sub dump protos, so
the top level for each one should be a DumpProto instead of its internal
data struture, e.g. ActivityStackSupervisorProto will just be a field of
AmServiceDumpActivitiesProto, which `dumpsys --proto activities` used to
output ActivityStackSupervisorProto directly.
Bug: 72474563
Test: manual and CTS tests
Change-Id: I1e1ac032d27591083bb5b1b19aac82804215472a
Add explanation for the possible failure reasons of
addOverrideApn, updateOverrideApn and removeOverrideApn.
Bug: 73750993
Test: test not required
Change-Id: Ic3493043fe6e5fedea006118bfc8dab7219d03ab
This reverts commit 574aea0f1b.
Reason for revert: Crashes sometimes (chaselist issue)
Change-Id: I1440ef7a002e85c3e020d424f13073ca2516dd9c
Fixes: 73991490
onActivityResult callback should always be executed before onResume.
If an activity is in the process of starting or creation, it can be
executed after onStart. If an activity was already resumed, then we
should pause it first, execute onActivityResult, then resume again.
So there are two valid pre-execute states - onStart and onPause.
For cases like the one described above this CL uses post-execution
state to identify valid pre-execute states and will try to use the
one that is closer to the current activity state during execution.
It also moves activity result and new intent callbacks into the same
transaction as the resumed state request, so that all changes can be
handled appropriately on the client side.
Bug: 72547861
Bug: 73348613
Test: TransactionExecutorTests
Test: ActivityLifecycleTests
Change-Id: I0af457d305c73a640040b8b7aee46dbbdfa6038f
- Update the minimized state when docking an app from home to ensure that
the animation of the docked task goes to the right bounds
- Temporarily block the invocation of the old recents activity when showing
recents as a part of setting the windowing mode of another task (this is
fine right now because quickstep only allows docking via the UI and not
from the nav bar while another task is open).
- Add proto field so we can determine whether to check the recents activity
from the split screen CTS tests
- Also fix issue with invisible docked task due to wrong bounds calculated
due to launcher not notifying the divider of the first docked frame
Bug: 73118672
Test: go/wm-smoke
Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerSplitScreenTests
Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerTransitionSelectionTests
Change-Id: Ib1208501c311de009a9e706103134865c521cb63
Adding an api which apps can query to check if the user has put them
into forced app standby.
An app may want to do this to manage expectations for any jobs or alarms
it schedules. It can also be used as an indication that the user noticed
unreasonable battery consumption attributed to the app.
Test: atest android.app.cts.ActivityManagerTest#testIsBackgroundRestricted
Bug: 73664209
Change-Id: I870f6c852c500769d3bf99d5a9ba3bf4eb1b65f5
Added an api which apps can query to find out about their own usage
events. This is useful in understanding the apps historical bucket
changes.
Test: atest android.app.usage.cts.UsageStatsTest#testQueryEventsForSelf
Fixes: 71906213
Change-Id: Ie6144cfe515fd0748a317835918a9d8cf1aea007
The "conditional" value doesn't have any permissions to examine.
Test: builds, boots, "conditional" annotations work
Bug: 73559440
Change-Id: I36177078c1a6aeb7392773548f9c5e4696064e57