When activity restarts, the widgetView gets onDetachFromWindow first
which inturn removes the AppWidgetResizeFrame from drawLayer while
the dispatchAttachToWindow was still in progress in DragLayer
Bug: 238416508
Test: Verified no crash after the change
Change-Id: I6359840c9fb3ae2719056845818620af19d3c94d
This changes how the hotseat height is calculated and by consequence how spaces are distributed in the workspace as well. This is the first of a series of changes that will improve and streamline workspace calculations.
Bug: 228998463
Fix: 234023782
Fix: 230191631
Fix: 232914299
Fix: 236238226
Test: manual, HSV and comparing to mocks
Change-Id: If021e8ba2c7c24c0bf9f27a1aa7aa946792ed04f
- Moved debug logs under DEBUG flag which defaults to false
- Moved info+ logs to permanent log tags
Fix: 198965093
Test: manual
Change-Id: Iea99f053da08e921542a8f532a9837997e10de5e
When Launcher restarts (as the result of a UiModeChange or something else), it attempts to recover its previous state. However, the OverviewSplitSelect state is unique because it requires some additional information to recover properly (the taskId of the staged task and so on). This change makes it so that the relevant information is passed forward in the recovery bundle. Launcher will now restart in the base Overview state, and then immediately apply the saved data to recover the OverviewSplitSelect state.
Fixes: 233019928
Test: Manual
Change-Id: Ie6123ef9c374be000268f82857b696c49213c541
Merged-In: Ie6123ef9c374be000268f82857b696c49213c541
- Removed TestProtocol.sForcePauseTimeout and
TestProtocol.REQUEST_SET_FORCE_PAUSE_TIMEOUT
- Instead, add MotionPauseDetector.TEST_HARNESS_TRIGGER_TIMEOUT, which
is used when Utilities.IS_RUNNING_IN_TEST_HARNESS.
Test: unbundled/launcher/launcher3_test_platform
Fixes: 232548865
Change-Id: I224e99042b41375cab6bffd555434217518958c5
Making sure that that search and prediction bar are on top of
RecyclerView/PagedView. This is determined by the widget of the
drawn width of the views if their top matches
Bug: 209579563
Test: Verified that the tite is focused first when opening widgets
Change-Id: Ib800b3743ece915ac4894029462d5776d389ff3f
Fixes a bug where the user would see the splitscreen thumbnails swap position when entering Overview from fake seascape.
The bug arose because Overview's layout in fake seascape previously respected the primary-top secondary-bottom rule for placing splitscreen thumbnails. Actually, this needs to be flipped to preserve left-right orientation: If the user sees Task A on the left, it should always be on the left no matter how they rotate their device.
Fixed by swapping thumbnail and icon positions in SeascapePagedViewHandler#setSplitTaskSwipeRect() and setSplitIconParams(). Fake seascape will now show primary thumbnail on the "bottom" of the screen and secondary on "top."
This patch also corrects a minor calculation bug affecting icon alignment.
Fixes: 221133532
Test: Manual
Change-Id: Id587cf3815e64792d758d0e352da1e1e38cb4348
This removes some dependency on FloatingHeaderView, making it
easier to replace
Bug: 234008165
Test: Verified that the UI does not change
Change-Id: I363c98c23f84fe570ea9cb1a40128359f5b67c9f
ItemDecorator uses item position which is not stable during animations.
Moving it to the background allows the padding to be stable
Bug: 236961658
Test: Verified that the app doesn't crash.
Change-Id: Ied12077de4097e827c5c4157f5196346a301f185
Adding a third argument for the talkback string.
Fix: 230593493
Test: Move an item using Talkback and it should mention the row,
column and page where you can drop the item.
Change-Id: Id3d4435e9ef3348278643e6e2a1cd1e8bf5157b7
The cross fade function of DragView tries to match the shapes of the fade-in and fade-out views. However, ImageView (the fade-in view) by default only tries to match at least one axis between the content (the final view) and the bound (the ImageView bounding box). We need to make sure that the content fully fills the bound to exactly match the shapes.
Test: Manual
Fix: 221496442
Change-Id: I7c142d52b7bfbd0e266a917c27cbd40691fbf3c2
Ex) for tablets.. the nav bar height is really the height of the taskbar.
Thats why we add the current padding of the work toggle button to the
taskbar size.
As of patchset 3.. I reverted mDevice.getInsets().bottom because it caused
the button to be higher than it should be on landscape.
Bug: 235053326
Test: Manual (pictures in bug thread)
Change-Id: I2f77d759ae060311d049182e8347dede590cd0b0
- Also listen for config chagne in FloatingHeaderView
Fix: 218500759
Test: Change screen size between phone and tablet, header protection is only enabled for phone
Change-Id: I65120080641ea75ae58c010c4a27fe2b1539e0b5
Running the following commands should change your connected
device display:
adb root
adb shell setprop ro.test_harness 1
adb shell pm enable --user 0 com.google.android.apps.nexuslauncher/com.android.launcher3.testing.TestInformationProvider
adb shell content call --uri content://com.google.android.apps.nexuslauncher.TestInfo --method emulate-display --extra device:s:pixel5 --extra grid:s:crazy_big
adb shell setprop ro.test_harness 0
Alternative method for this is using
./display_emulator.py emulate --device pixel5
I hooked up the existing DisplayEmulator into a content
provider. Doing this has a couple advantages to the previous method
of calling the emulator inside of a test. The biggest one is
that running the emulation doesn't restarts the Launcher3,
and because of that the previous method could leave the user in a
fake emulation where it looks like the device is being emulated but
is not 100% accurate.
Test: Run the command lines described above.
Fix: 229666646
Change-Id: Ia039fbaf4c7330d6bdf469633127f58d2466a1bf
Fix: 234847755
Test: With a modified local build, when changing display config to swap between same grid:
- When dbFile is same but device type is different, no migration is performed
- When both dbFile and device type are different, migration is performed properly
Test: Grid migration through Wallpaper & Styles still works properly
Change-Id: Ie7429a7d59c135ba47061cae21c40b8d8af7188a
This reverts commit d3e8cc40b4.
Reason for revert: b/231312158 is fixed, log is no longer needed
Fix: 231851651
Change-Id: I3ea8b9d14e7eb6f8f9c794c5d15cdfc94153d392