TaskInfo#userId should be used instead of Context#getUserId because the
latter isn't correct following user switch.
In addition, don't mark the education as seen for the current user until
the dialog enter animation is done, to make sure the dialog is fully
visible to the user.
Fix: 225840105
Test: atest WMShellUnitTests:LetterboxEduWindowManagerTest
Change-Id: Ic99c59bc866735bdc1420513f7a3eade4253e391
The goal of this CL is to remove RELAYOUT_RES_DRAG_RESIZING_DOCKED and
RELAYOUT_RES_DRAG_RESIZING_FREEFORM, which is a step to make relayout an
oneway binder call.
When the resize mode is changed at the server side, the server will send
the new mode to the client via IWindow#resized, so the client doesn't
need to obtain the resize mode from the flags returned from relayout.
Bug: 161810301
Test: Perform drag-resize and drag-move on a freeform task and see if
there is any unexpected behavior.
Change-Id: I450abc113932b6c1dc0ce0e2b76bebdf85a60777
* changes:
RESTRICT AUTOMERGE Refactor device policy resource APIs to a separate class
RESTRICT AUTOMERGE move device policy resource APIs to a separate class
RESTRICT AUTOMERGE hide device policy resources constants
This results in the compat UI clicks reaching KidsModeTaskOrganizer instead of ShellTaskOrganizer.
Test: tested manually
Fix: 225137584
Change-Id: I1c79dd400810cc31c1d0f938887e45ab11ecf6fa
In previous CL(5e0c72a2c5) we provide a
way to read the animation duration from AVD and AnimationDrawable,
which should be enough to deprecate this attribute since the naming
could confusing developers.
The attribute was used to cut off the animation if the icon is
animatable, but since the animation can be stop when removing the
splash screen view from window, the attribute is useless so framework
won't read it anymore.
The attribute was also be the return value from
SplashScreenView#getIconAnimationDuration, however, since this API was
designed to let developer decide when to cut off the animation if the
app want to handle OnExitAnimationListener#onSplashScreenExit,
developer can pre-decide the duration in the app without set this
attribute.
Bug: 211707095
Test: atest SplashscreenTests StartingSurfaceDrawerTests
Change-Id: Ib3a0b4314bd15158c392e56c0e125a33c753e716
Broadcast protected by systemui permission
Bug: 219724552
Test: manual - add action to TV PiP notification temporarily and trigger
from notification
Change-Id: Ie69c780bb134012815be09bf9c9a7e8385259dcb
- Adds broadcast receiver protected by systemui permission
- Adds option to show only the move menu instead of the button menu
Bug: 219723009
Test: manual - add action to TV PiP notification temporarily and trigger
from notification, also open menu while in move mode (double click home
or keyevent WINDOW)
Change-Id: I5044fbe26dfc6adc46aca6f2dc0cda2d9b6dacff
PiP animations happen in both launcher and in shell. On top of that,
the implementations are different!? The launcher impl will actually
merge expand-pip into an enter animation, but the shell impl waits
for the enter animation to finish. This means we need to alter the
finish-handling logic depending on whether the animation is running
"locally" in shell or not.
Additionally, fixed an ordering-problem: This was calling the
finish-callback before unsetting the mFinishCallback member. The
problem is that if there are pending animations queued-up, those
will start in sync -- if those end up calling-back into PipTransition,
then they will see mFinishCallback as non-null.
Bug: 224622288
Test: atest PinnedStackTests
Change-Id: Ie3696b101ecca69fae93b347ff358863cdb4e6c3
The custom close action will replace the system close action and
the button in the menu will be colored red to be able to tell it
apart.
If one of the custom actions matches the close actions it will be
removed to avoid duplicates resulting from the custom close action.
If the app doesn't close the PiP after five seconds the system will
continue to close the PiP as normal.
Bug: 218487423
Test: manual
Change-Id: Ic3c520c50ac0e3d2f0e73cf2f71d47a4f548f861
And flag drag-to-split launch with no-user-action to prevent sending
user leaving event to the current top activity since it's going to be
put into another side of the split. This prevents the current top
activity from going into pip mode with user leaving event.
Bug: 223936167
Test: atest WMShellUnitTests
Test: Drag an app icon onto a task which supports auto-pip, it'll enter
multi-window mode instead of pip mode properly.
Change-Id: Ifbeccbd19c8c83a31e116d9a73a2d7432c07917f
The increase to the gradient height doesn't work well for phone
landscape since it can be larger. This meant the calculation to
place the dismiss target window is incorrect.
This change fixes it by capping the height to the window size.
Test: visual - have PIP in landscape on phone and verify drag to
dismiss target is fully visible
Bug: 223467425
Change-Id: I78a5565c8e09f010fad46ccd96c137f1c4de93b0
controllers.
Test: m -j.
Test: Open and swipe back on pre-T and T apps.
Test: atest BackNavigationControllerTests
Test: atest BackAnimationControllerTest
Bug: 195946584
Change-Id: I981f8deff9fad75355ee0e8bbe08b375f4da6e74
Now that we support showing a background color behind animations again
to makes sense to undeprecate the background color animation API so the
background color can be set during in the animation's definition.
Test: atest CtsWindowManagerDeviceTestCases:ActivityTransitionTests
Change-Id: I1bd1468f7ae4ee41f5d2d25947852c78b93bc6ee
This reverts commit ad89a82145.
Reason for revert: b/222170518 was unrelated to gesture back, and is now fixed.
Test: m -j. Test back behavior throughout system.
Change-Id: Ia27c7ea97416831355e1949ec6874de570b52108
We would like to make relayoutWindow a non-blocking call,
and of course why not, who likes blocking. However it functions
as a critical path of BLASTSync. To understand why examine the
Guarantee described in BLASTSync.md.
In order to implement this guarantee we need to know
“Which frame has the client finished drawing” when it calls
finishDrawing. The current answer to this question is
“The frame reflecting the state observed in the last call
to relayoutWindow”. The comments on mPending and mCurrentDrawHandlers
also have a lot more context on how this works currently. Since
relayoutWindow has a critical section, it also ensures that changes
to syncable state and preparation of sync will be observed atomically
(since they are both observed over relayoutWindow, which is always
called before any frame drawing updated syncable state).
We design a new protocol described in BLASTSync.md, which uses a seqId
to track which call to finishDrawing reflects which syncable state.
We implement this seqId based system. Unfortunately the WindowManager
doesn’t quite conform to the requirements specified by the protocol,
and a follow up CL ensures that syncable state changes will
always be sent with the seqId.
This CL simply adds the protocol specification and makes some required
interface changes. It can be seen to be a no-op.
Bug: 161810301
Bug: 175861051
Bug: 175861127
Bug: 200285149
Change-Id: If2dea07121fe7de5d2524c5b63678dddf955d4b7
When rotation, it will re-init the split divider for new rotation on
DAinfoChanged callback, but when shell transition, we should do it on
startAnimation to make transition smooth and make didider could release
by specfic Transcation to avoid it hide immediately but didn't sync with
transition.
Fix: 222158856
Test: manual
Test: pass existing tests
Change-Id: I797ffd0ea35d89b4ec1e3ef4828ce36e18c860be
I noticed when opening settings while stack is expanded wouldn't
cause the stack to collapse. This was because we skipped the collapse
if the shade was expanded. I don't think there's any reason to be
doing this, I think this was accidentally added during the refactor
to move bubbles into shell.
Test: manual - have bubbles expanded, pull down the shade, tap on
the settings gear or long press on a tile, ensure that
when the settings screen opens that the stack collapsed
Bug: 223635739
Change-Id: Ia3476e694a8e64c95eed63dea4a3729e83766683
- Legacy style was overriding the Shell landscape style for the
divider
Bug: 213379024
Test: Build sysui from studio and verify the divider background
is correct
Change-Id: Ic47b411fad0469c86459cc01189a722dbad8d8c3