We should also avoid using non-static inner class that extends IOnBackInvokedCallback.Stub and IRemoteAnimationRunner.Stub inside LauncherBackAnimationController, which references the entire LauncherBackAnimationController object.
1. When launcher is created, a Runnable is posted to ShellExecutor to call BackAnimationController#registerAnimation
2. When launcher is later destroyed, another Runnable is posted to same ShellExecturo to call BackAnimationController#unregisterAnimation
3. If the execturo queued the 1st runnable, then we have leaked LauncherBackAnimationController object, including Launcher activity.
This CL fixes the leak by making the Stub static inner classes, and use weak reference hold reference to launcher activity.
Bug: 297806573
Test: Grab a heap dump and this reference no longer exist
Flag: N/A
Change-Id: I78853e900a98399b02682ba2d9179e544a4030d5
The name doesn't make clear what the test is doing and
it doesn't follow our naming conventions. Also, adding
comment to explain what the test is doing.
Bug: 298234173
Test: atest UninstallWorkspaceIcon
Change-Id: Icdc42e891a94d159fc07e69931ea8444d882ad56
Also getting rid of part of the logic that updates the frame size in multi-window mode since multi-window is no longer supported
Test: N/A
Bug: 268553314
Flag: ENABLE_WIDGET_TRANSITION_FOR_RESIZING. OFF
Change-Id: I081b11441b562fccec7feb12cec0b28b9a0ea3a2
zhidou@ from ACE team is working on AConfigFakelib which will be useful
to set fake flag values in both unit tests and UI automator tests.
Meanwhile, we will mock the flag values for unit tests and UI automator
tests will have all flags values defaulted to false.
testAConfigLib with "test:true" doesn't generate fake flags values and
forces us to set the flag values using "SetFlagsRule". "SetFlagsRule"
doesn't work with Out Of Proc tests and hence doesn't serve the purpose
for us. AConfigFakelib and FakeFlagTargetPreparer should use for Out Of
Proc tests.
testAConfigLib with "test:true" is suitable for java host tests where
there is no device involved. Launcher tests are instrumentation tests and tests run on actual
devices. So we can use the production version of the AConfig lib and device
config flag values will be fetched for UI Automator tests.
Also migrating "enable_twoline_allapps" to trunk stable. Unit tests is
using mockito to mock the flag value as false. The owner of
"enable_twoline_allapps" can mock the value to true in unit tests as
next step.
Bug: 294913042
Test: Local studio build and soong build
Flag: enable_twoline_allapps
Change-Id: Iea42bf18197832a9ecbddc1c3aaa8c9e36169131
When swiping up to overview, we need to calculate a target position for
the desktop tasks. They need to be scaled down and positioned within the
desktop tile.
After recents animation finishes, the tasks will be replaced by
screenshots. To make the replace less flickery, the position of the
tasks should match the position of the screenshots.
TODO: there is a flicker when the task is replaced with recents entry.
Task is hidden and then, half a second later, the recents tile is
shown. Enabling live tiles should help with this.
Bug: 298252273
Test: swipe up to recents from desktop
Change-Id: I0c7fba40dc2511c17d0011d0516456de07cfa004
Previously, users used to be able to swipe down near the
bottom of the screen to leave overview. This was causing the taskbar to
animate to home while still in overview (and causing jank). Since this isn't expected behavior for
how to leave overview, this change removes that method.
Flag: N/A
Fix: 284416178
Test: Completed multiple transitions (ex. Overview to home) with 3
button nav and gesture nav. Ensured swiping down from below the recents
task does not go to the home screen while not affecting other
transitions.
Change-Id: I8cdfde71117dd947174d9c3c3a7f834fbeaddcca
They are perceived to produce too much noise and maintenance.
Bug: 187761685
Test: presubmit
Flag: N/A
Change-Id: I062eb5670a92a2ccc7039108829b09ca9d9127ae
- removes a lot of dead code for the old popup design and especially around adding notifications to popups
- renames several resource files to remove the material_u specification, as it is now the only design
Test: manually run through launcher popups
Bug: 270395516
Flag: ENABLE_MATERIAL_U_POPUP
Change-Id: I462063482206578b4b896a6d405dc2383f2da510
Refactor codebase to remove Proto1 as it is no longer supported.
Test: aTest WMShellUnitTests
Bug: 297217817
Change-Id: Ifaf67754c048d913fe203f4b34efc3c9c611039c
The space that should be removed in split screen should check if there is a taskbar or not. Adding the transient taskbar property to DeviceProfile solves that without having to pass context around.
Fix: 289769344
Test: manual
Flag: N/A
Change-Id: Id0c51c4ec9481d3c206eef52d44094ec7a8c98cf
Fix kotlin nullable errors that were exposed by setting the retention
of android.annotation.NonNull and android.annotation.Nullable to
class retention.
Bug: 294110802
Test: builds
Merged-In: I88aec6fbc814be98f9ef048bbc5af889d0797970
Change-Id: I158db4f57d46606d7152a438d68e2b9f4c0014d9
finishRecentsAnimation calls cleanup immediately which removes all the
callbacks. This prevents any callback previousy added from getting
the cancelled callback.
Bug: 298069218
Test: Verified locally
Flag: N/A
Change-Id: I54b9a4529870d771f2eff8fd7cb6f2f376f9e112
This patch adds a clarifying message for testSaveAppPairMenuItemExistsOnSplitPair() and testSaveAppPairMenuItemDoesNotExistOnSingleTask(). The test should not run when the feature is not yet enabled.
Fixes: 297083938
Test: N/A
Change-Id: Idf4c99ed393e2d6e2c2b7b77dc6083a27c4f90d1