1. ActivityConfigCallback might not have been registered
because DecorView was not yet attached to window and ViewRootImpl
was not available. In this CL the callback is set as soon as a
DecorView is attached to window.
2. When private display was removed from system, its stacks were
moved to bottom in AM but moved to top in WM.
3. When reparenting stack visibility of activities should be updated
before reparenting in WM, because otherwise WM will be resizing
windows that should no longer visible and reporting it to clients.
Bug: 34164473
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testOnMovedToDisplayCallback
Test: #testContentDestroyOnDisplayRemoved
Change-Id: I6ccc27d873d0d60d7650659fb25cbfcaaeb0fd07
Also:
- Give the session an integer ID as the activityToken is not stable over
restarts of the activity
- Verify that session is only accessed by one UID
- stabilize AccessibilityViewIds over activity lifecycle at least for
the IDs we can do that. This required to split the ID namespace in
"per-app" and "per-activity" views. Only the later ones can be
restored.
- Do not end session when app is killed (as it can be restarted)
Bug: 35484143
Fixes: 36392498
Test: cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases --test=android.autofillservice.cts.SessionLifecycleTest
cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases
Change-Id: I229acc1b3ce35fb57262da7d7466b5d4328b49d4
Using a feature will allow app developers to find out if a
particular device supports running activities on secondary
screens before using the APIs.
Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Change-Id: I7121bdb782cac9df70121e9df5cbf3fcb76f4a93
These values can change for themes that are dependent on the size,
such as the DialogWhenLarge theme. In this case, different layouts
are loaded that could depend on updated LayoutParams.
This CL identifies the case when the layoutparams change and informs
the activity.
Change-Id: Icde8d94cc089ca0c02a15120a860533ef540c850
Fixes: 31643268
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAppConfigurationTests#testDialogWhenLargeSplitSmall
This CL removes the strong reference added for mapping display ids
and Resources to Displays. Instead, the key pair is now the display
id and ResourcesKey, and the mapping is pruned when key is
invalidated.
Change-Id: If91368171212b28c40e03c15fb39c72412a44811
Fixes: 36625868
Test: make -j32 cts; cts-tradefed; run cts --module CtsAppTestCases --test android.app.cts.DisplayTest#testRotation
Added ActivityManager#supportsMultiDisplay() to check if system
supports running activities on secondary displays.
Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testMultiDisplayDisabled
Change-Id: I18f98f2f6a9e865ad8dc63a470210190536d3271
This CL removes the strong reference added for mapping display ids
and Resources to Displays. Instead, the key pair is now the display
id and ResourcesKey, and the mapping is pruned when key is
invalidated.
Change-Id: I60d767b52de7bbf769f6761f5a3301dd7aff6ddf
Fixes: 36625868
Test: make -j32 cts; cts-tradefed; run cts --module CtsAppTestCases --test android.app.cts.DisplayTest#testRotation
ActivityStackSupervisor tracks WaitResults which are waiting for an
Activity to become visible. This is used exclusively by
ActivityStarter to wait for an Activity to be brought to the
foreground before returning. However, there are some cases where
other Activities will report a visible state in between. Without a
qualifier, these would cause the ActivityStarter's WaitResult to be
fulfilled and the wrong information would be returned.
This changelist specifies a component the WaitResult should be
triggered on.
Change-Id: I7c356a8d153ddc24603acc55749e9992f9000c3f
Fixes: 36860122
Test: cts-tradefed run cts -m CtsServicesHostTestCases -t android.server.cts.ActivityManagerAmStartOptionsTests#testDashW_Direct
Also clear this overlay once the data changes. Some views call
notifyValueUpdated even if the value did not change. Hence remeber the
data that was autofilled and check if the data really changed.
Make the autofilledDrawable publicly accessible so that virtual views
can use the same UI.
As the activity is not aware that the views were autofilled the state
has to be explicitly persisted over activity lifecycle events as part
of the view. The lifecyle does not work yet as the AutofillIds are not
stable over activity lifecycle events.
Fixes: 34946006
Test: Autofilled and changed all supported views.
cts-tradefed run cts-dev -m CtsUiRenderingTestCases
Change-Id: I58b105bb221f1b6466dd136dfe5062d3babb5aa8
* changes:
Fix Log Traces for IpSecService
SystemServer: fix StartIpSecService trace and log
Add Initial IPsec APIs to IpSecService
IpSecManager and IpSecTransform API Cleanup
Change reserveSecurityParameterIndex() to take a remoteAddress
Add a Skeleton IpSecService
Because we were setting it to gone and to visible, the
animation would restart.
Test: add notifications with indeterminate progress and update a few times
Change-Id: I0d68ad609bac07fc0ab8ea7b0c78bf2e27dd21eb
Fixes: 36737710
While services themselves don't need an action when an explicit
component is specified, services in GMS may be different. In
the case of instant apps, the resolver service is hidden behind
a proxy that uses the action to route to the actual, implementing
service.
Bug: 36594944
Test: see that ephemeral resolution occurs
Change-Id: Id8c352614f780dc63f36c65be2ddb2d480b6846b
Bug 36762718
Bug 36982279
Changes getFragments() to return a List instead of a Collection.
The order is the order in which the fragment is added or attached.
Test: ran fragment cts tests
Change-Id: I10bbeef13e9154bbe052127cfa0e160b2e500b4d
Bug 36815706
onSaveInstanceState() is called prior to onStop(), but
onRetainNonConfigInstance() is called after. When a
retained instance fragment is added during onStop(),
the state of the two configurations won't match. This
CL moves the non-configuration save to happen immediately
after the save instance state.
Support Lib Change: Ib41cbe02d060d3411e32d1494525e119d0c23dd7
Test: I30e598abf7faceac3294aef1ee0ee3b07d3aa7c6
Change-Id: I861629e2c6da2d8b0e075e8283b631fdf80670c0
Framework resources have their mResDir set to null, since the framework
resources are implicitly always included. Guard against null
when checking to see if the Resources mResDir matches the asset path
WebView wants to inject itself into.
Bug: 36953234
Test: manual
Change-Id: Ie3dc0cc1240441a2466585224cdc7c15555c66bf
-Add IpSecService with the necessary glue to connect to netd
-Add code to retrieve IpSecService from System Server
Bug: 30984788
Test: b/34812052, b/34811227
Change-Id: I4cdcb643421141202f77a0e2f87a37012de0cd92
(cherry picked from commit 28084d89ec)
Bug 36740474
When onNewIntent() is called, it calls noteStateNotSaved on
the FragmentManager. It wasn't propagating that to child
FragmentManagers. This CL properly propagates the
noteStateNotSaved().
Test: I7cf360a4ed82ee34797896dc110477731c8206c0
Change-Id: Icfcbc385ef68657145b05cb59d5b2a70fe020992
Turns out we run this code during early boot, before the device idle
service has even been constructed yet. Find another way to achieve
the needed service execution.
Bug 36865930
Test: manual
Change-Id: I8e3304f37c3a5ee125b73aef2b7d7c7b387aa200