The rotate&crop heuristics must now return specific
modes instead of true&false. Various modes are not
supported by the app compat overrides which can only be
enabled or disabled.
Clean up unnecessary app compat overrides that can not
be supported and update the corresponding comments.
Bug: 204587197
Test: Manual using application
Change-Id: Iacb6844c625092a9864ab5ff7cae7376cfd2cd9a
controller, instead of accessible to anyone via Dagger.
Test: manual once-over of key user journeys
Test: atest SystemUITests
Bug: 204583449
Change-Id: I00282f273aae79e01c32405aae970d5673a56447
A new VibrationThread might be created and dropped if the ongoing
thread takes long to be finished and a new vibration arrived to the
service.
The wakelock is only acquired when a thread starts, so move the calls to
configure the worksource to the run() method.
Fix: 193742818
Test: manual
Change-Id: I7d7953ec9e065bcec78110b44daf3ef57693164d
(cherry picked from commit 56663ddbe7)
Merged-In: I7d7953ec9e065bcec78110b44daf3ef57693164d
callback to the correct listener interface.
StatusBar also had two different methods called when
panelExpansionChanged happened, so those methods are merged into one.
Test: manual (verified callback still triggers correctly)
Test: atest SystemUITests
Bug: 200063118
Change-Id: I90011b0e0bb9bb57accf82806cef7d5c44e19a7f
panelExpanisonChanged listener off of the
StatusBar.ExpansionChangedListener interface and onto
the PanelExpansionListener interface.
These two listener interfaces do the same thing, so we should unify them
into one interface. All 2.x CLs will migrate listeners to
the PanelExpansionListener interface.
Test: manual (verify ScrimController's callback still triggers)
Bug: 200063118
Change-Id: Ie0cec69a6571a936fa98be39e6de118cc0a6bdaf
Revert submission 16003793-magnification_border
Bug: 196510717
Reason for revert: Caused NexusLauncherTests and NexusLauncherOutOfProcTests to stop running
Reverted Changes:
Ibbc9c51ea:Do NOT MERGE Fix magnification border includes tas...
Ida2bb5bf1:DO NOT MERGE Fix the cutout of magnification borde...
Change-Id: Id61a370271f94b4a379709226a90e29bc5dfa4b3
The window type of the Taskbar is navigation_bar_paenel, which
is unmagnifiable. However, we used to exclude these windows from
magnification region computation to avoid cutout.
When the foldables is unfolded, the taskbar wouldn't cause the cutout.
To fix this problem, so we add a flag to distinguish the windows
that cause the cutout.
Bug: 196510717
Test: manual test
Change-Id: Ibbc9c51ead9ea492f1f2e598587b21dd28d30a2b
The previous calculation was not correct.
Now we interpolate between the requested height, including the override,
and the actual view bounds.
Test: visual
Bug: 199047412
Change-Id: I62104d04c9cee22d12ca63d55e4f834e44dde335
- Pull code that manages the lifecycle of the callback into its own
class which takes care of cleaning up any callback references and also
listening for when the binder dies
- Removing some boilerplate code
Bug: 202740477
Test: atest WMShellUnitTests
Change-Id: I7ff4c876fc14291d6523c2c62a7c453a01d96294
This ensures that a locusId change will trigger an
onTaskInfoChange immediately. Previously it would just
be sent with the next info change event which isn't
sufficient.
Test: atest NotificationManagerTest
Bug: 204260661
Change-Id: I2b53f63b6efd6d2c22a877b7c33f5a12832a8e1d
a method inside StatusBarWindowController, rather than being in
StatusBar.java.
Test: Test steps in ag/14294127 (specifically, that the updated
animation in b/183229367#comment11 still occurs)
Bug: 204583449
Change-Id: Ib4e8a18250db0cabed490fe286e8944262cc4f9c
When testing testImeSwitchingWithoutWindowFocusAfterDisplayOffOnFull on
the virtual device, the test flows will be:
1) Launch an activity and click the editor to show IME
2) Turn off/on the screen
3) Launch the IME picker dialog and expecting no window focus change.
4) Switch to another IME app and expect the IME visible after switched.
Somehow the flaky point is in step 4) that if attaching the new input
to show the IME comes first, before the input target updated to WM,
in the meantime the app received onControlChanged
callback with null control from WMS#relayoutWindow, then in
ImeInsetsSourceConsumer#setControl -> hide() will end up calling
notifyImeHidden for IME to invoke hideMySoftInput(), which is
not expected result.
As this unexpected IME hidden issue is related the timing issue of
updating IME targets to WM a bit late and showing IME request happends
from IMMS instead of from ImeInsetsSourceConsumer#requestShow.
(i.e. consumer#hide() be invoked when mIsRequestedVisibleAwaitingControl
is false but the control is null when setControl called)
To fix this issue case, it looks make sense to check with
ImeInsetsSourceConsumer#isRequestedVisibleAwaitingControl() when the
null control callback in setControl(), since
isRequestedVisibleAwaitingControl() will be true when requested the IME
visible, so that it won't fall into hide() logic.
Also, modified "Animation finished abruptly." debug log in
InsetsAnimationControlImpl#applyChangeInsets to print only when the
animation actually finished, since it does not make sense to print
when the animation is not finish.
Fix: 204524304
Test: atest InputMethodServiceLifecycleTest#\
testImeSwitchingWithoutWindowFocusAfterDisplayOffOnFull \
--rerun-until-failure 100
Change-Id: I3071af14bf78e23f9526d6a9c138ab6ae2e0e339
* changes:
New Pipeline: Remote Input 4/4: Add RemoteInputCoordinator
New Pipeline: Remote Input 3/4: Extract notification rebuilder methods to a utility
New Pipeline: Remote Input 2/4: Add ability to internally update notifications
New Pipeline: Remote Input 1/4: Extract legacy pipeline logic within NotificationRemoteInputManager
Make SmartReplyController a Dumpable