If wallpaper is visible and its target window has fixed rotation
transform, wallpaper token will be associated to share the same
transform. So if the target window cancels the transform, the
associated window, i.e. wallpaper should also be restored to the
original configuration.
Fixes: 153420536
Fixes: 153201558
Test: atest WindowTokenTests#testClearFixedRotationTransform
Change-Id: I75fe8bfadf3b681f2dc33df9c6599a9bbc5769ea
- If the task is previously not visible or has no visible children at
the point when we start controlling it in the task org, hide the task
until we send taskAppeared to ensure that the task org can reparent
and show it otherwise we could see a flash of the task.
This happens mainly from two cases:
- when starting a new task with a given win mode, we show it and wait
for first draw before notifying the task org
- when transitioning into pip from swipe up, the activity is hidden
and when it requests to enter pip is made visible again
Since we are hiding the task w/ the pending transaction, we also need
to defer all task org callbacks until that's applied to ensure proper
lifecycle of the calls.
- Also skip app transitions for task org tasks for now
This reverts commit d2fb07e4f632af9ab16667c58b1c1d40711f1544.
Bug: 152809695
Bug: 152134460
Test: Open a bubble, ensure that we don't see the task in fullscreen
first. Enter pip, ensure that we don't see flash of the task
before SysUI can fade it in.
Test: atest PipAnimationControllerTest
Test: atest TaskOrganizerTests
Test: atest SplitScreenTests
Change-Id: I9f1fc5931df1d69a7086c02b633347162cda94bf
There is a key signing problem in general-tests so move all overlays
to device-tests.
Bug: 141998755
Bug: 153631240
Bug: 153630797
Test: atest InstallOverlayTests
Change-Id: Ic8274031c8bd0aca5a6b7ccfee53b047334ab060
In quick switch flows, launcher will first swipe task snapshot
through recents animation, and then start new task with custom animation
options through startActivityFromRecents after gesture finish detected,
and then finish recents animation finally.
But that way user may experience flickering before the new task launch
and recents animation finish.
To improve quick switch flickering, we ignore the new task's custom
animation from recents and generate task remote animation target,
and then trigger a callback for launcher to control/animate this
task surface, more like a part of RecentsAnimation,
Also, adding removeTask method for launcher can flexibility remove the
new task animation target once no need to animate, so that launcher
can decide when to finish recents animation.
Bug: 152480470
Test: manual as below steps:
1) Doing quick switch task.
2) Make sure launcher can receive onTaskAppeared callback.
3) Make sure launcher calls removeTask successfully.
4) Make sure launcher can finish recents animation after 3).
Change-Id: I0692a280a49719229fa8871509bad37a1343a00f
This patch uses Instrumentation parameter inside
getDefaultLauncher function to obtain user ID
from it and get default launcher namely for that
user as setDefaultLauncher function sets launcher
for the user from Instrumentation context. This
fixes incorrect launcher settings for the cases
that use two sequential calls to get/set
default launcher.
Bug: 145774461
Test: run cts -m CtsShortcutHostTestCases -t \
android.content.pm.cts.shortcuthost.ShortcutManagerMultiuserTest#testSecondaryUser
Signed-off-by: Sergii Iegorov <sergii.iegorov@globallogic.com>
Change-Id: I8941f5648ad783c7681fdb56677e855756db957d
Merged-in: I8941f5648ad783c7681fdb56677e855756db957d
* accountTypesWithManagementDisabled
* disableScreenCapture
For security logging nothing has to be done since the state is
stored in a system property, just changed it so that the logging
will be started after the migration and only events for the
right user are logged.
Also removed the todo about hardening for power cut case, the
risk of additional complexity sees to outweight the benefit.
Bug: 149075700
Test: atest DevicePolicyManagerServiceMigrationTest
Change-Id: I3a58325f2d6f415e51998c5096c5fc123d26602d
* Modified setAutoTimeRequired to call
pushUserRestrictions after requireAutoTime
in the active admin is set.
* Modified addSyntheticRestrictions in the
active admin to include the auto time
required case.
Bug: 145604635
Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
atest com.android.server.devicepolicy.DevicePolicyManagerServiceMigrationTest
Change-Id: Ida4952eeec8ec12573c4049a9bf8e0ce6a951a86
If it is frozen, interface has to implement getInterface(Version|Hash)
Bug: 153501202
Test: m FrameworksServicesTests
Change-Id: Ia9423a7fe524ff225435344b527728ec2646adfc
Merged-In: Ia9423a7fe524ff225435344b527728ec2646adfc
When an app hasn't been used in a long time (long enough for it to have
naturally time out into the RESTRICTED bucket) and a prediction service
anticipates that an app will not be used anytime soon (by predicting the
app into the RARE bucket), then we drop the app into the RESTRICTED
bucket in such a way that the prediction service can bring it back out
at the appropriate time.
Bug: 153567783
Test: atest FrameworksServicesTests:AppIdleHistoryTests
Test: atest FrameworksServicesTests:AppStandbyControllerTests
Change-Id: I0ec846a6d1bc8e254cabe6a9b504f4cae071def8
If a non-resizable activity can fill the non-decor space,
its bounds should not exclude decor bounds because the
activity and decor can show as a continuous area. otherwise
unexpected letterbox may be created and IME cannot attach
to it due to the activity doesn't match parent's bounds.
Fix: 152197007
Test: SizeCompatTests#testAspectRatioMatchParentBoundsAndImeAttachable
Change-Id: I61d2c99702fb8642a3bf5728949489b6b98eb508
The root causes of this issue are:
1. WindowTokenClient#attachContext makes WindowTokenClient has strong
reference to WindowContext, which leads to WindowContext cannot be
GC'd.
2. WMS#removeWindowToken needs MANAGE_APP_TOKEN permission which
normal apps don't hold.
This CL does following things:
1. Use weak reference instead on WindowTokenClient#mContext.
2. Relax WMS#removeWindowToken to check callingUid if
MANAGE_WINDOW_TOKEN permission is not held
3. Deliver config changes to the client side in
WMS#addWindowTokenWithOption
4. Some minor fixes
fixes: 150812449
Bug: 150715095
Test: atest WindowContextTest
Test: atest WindowManagerServiceTests
Test: atest WindowTokenTests
Test: atest WindowManagerPermissionTests#testMANAGE_APP_TOKENS
Test: atest
WindowManagerPermissionTests#testADD_WINDOW_TOKEN_WITH_OPTIONS
Change-Id: I9f1d73af2abb78fc9844e6d9eb25e9f0293514e7
Support addWindow with the other userId which can be different from Uid.
This can be used when client want to addView for secondary user.
Example:
1. Create context with createContextAsUser or similar method.
2. Get WindowManager with this context.
3. WindowManager#addView
Bug: 151414297
Test: atest WmTests WindowAddRemovePerfTest AddWindowAsUserTest
Change-Id: I13e58d76b1f056f3829bc984c2b61496c8f8d535
Delegate task display area creation and container management to the
display area policy implementation. This should allow creating and
handling device-specific task display area arrangements.
Bug: 152116619
Test: WM CTS and unit tests
Change-Id: Ic1182d064e7d8387f701f04fb267e2bb6d4da0c5
Root tasks that created by organizer were not added to
TaskOrganizerStates because those tasks were not visible.
In that case, these tasks were not removed when the organizer
was dead.
Bug: 153287798
Test: atest SplitScreenTests
Test: atest TaskOrganizerTests
Change-Id: Icbe1f119ae6e97f730138af83f265724bb4ae5a9
Removed moveTasksToFullscreenStack (only a small piece of it
was used by pip, so just localized it).
Remove stack creation/reparenting from resizeTask since modes
don't work like that anymore.
Removed some always-false parameters in AS.setWindowingMode
Bug: 133381284
Test: tests pass
Change-Id: I22e846250196eb93b480a05bed1f66d34b51a092
This change fixes the AppsFilterTest#testWhoCanSee to properly validate
/ assert. The initial commit used a mistakenly created local method to
"assert" instead of the intended hamcrest assert method. Oops.
Test: atest AppsFilterTest
Bug: 143534210
Change-Id: Ibd2de769d63a166f225e2bec75d27eaff2343ee9
System server may load code at runtime from outside its original
classpath. In order to ensure this code is optimized (verified) we need to
report it to PackageManager which can optimize it during idle-maintenance
windows.
This CL sets up the reporting infrastructure for system server.
Test: atest DexManagerTest
Bug: 148774920
Change-Id: Ibd2ee38857b97bde426ee0a01c60543f1acb8671
Text toasts don't currently support multi-user. This CL prepares toasts
for multi-user by wiring the user information from who requested the
toast (in the form of uid) to ToastUI, where text toasts are actually
rendered.
We go only as far as obtaining a new user-specific context for that user
and using that to construct the view. Actual support will come in future
CLs.
Bug: 151414297
Test: atest android.widget.cts29.ToastTest android.widget.cts.ToastTest
ToastWindowTest ToastUITest NotificationManagerServiceTest
LegacyToastTest
Change-Id: I8c92453c6a2b73c31f9a41ca9ff463d194d4f44f
system bars from being hidden by applications if true.
Bug: 149233545
Bug: 151820910
Test: atest InsetsPolicyTest, manual
Change-Id: I2bc610c8388200c47efcbfedf6f24fe867a696ec