Widgets of other apps used to fill their cells minus Launcher3's widget
padding, which is a few pixels wider than the icons' edges and reaches down
into the room kept for icon labels; on the owner's phone they hung about
13 px past the icons sideways and 40 px below. Now the room a widget keeps in
its cells is the distance from the cell edges to the icon edges, worked out
as IconFrame does for the launcher's own widgets, so every widget's edges
meet the edges of the icons around it.
The one function (FlexeraWidgets.appWidgetPadding) is used for the layout,
for the size the app is told, for the drop animation and through
WidgetSizes for previews. The cells a widget needs are still worked out
with Launcher3's padding, so no widget changes its cell count. A new switch
under Settings, Home screen, Widgets ("Line up with icons", on by default)
turns it off; Lawnchair's Widget padding slider shows only then.
Checked on the emulator against lines drawn at the icon edges: Google
Calendar's widgets meet them within 2 px; Google Clock's sits about 20 px
inside, because it draws an empty margin of its own.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Swiping on from the first home screen page, towards the page that is not
there, now does what the owner chose under Settings, Gestures, Quick launch:
open an app, or any other of the launcher's gesture actions. The last page has
a choice of its own.
The stretch the pages already show at either end is an edge effect; quick
launch replaces it with one that also counts how far the finger has pulled.
Lifting the finger after a pull of about a seventh of the screen, or after a
flick, does the action; a short pull or one that is taken back does nothing.
An app opens out of the screen edge the finger pulled from.
From Android 12, where the stretch is Android's own. Infinite scrolling takes
those swipes for itself, so the two do not combine.
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
* feat and fix : Add Tilt to swipe pages setting
Replace the multi-level Motion controls with a single Home screen toggle named “Tilt to swipe pages,” positioned below Infinite scrolling. Update the description to explain that tilting the phone moves between pages while rearranging apps or widgets, and make the pan controller use the toggle directly while retaining the existing preference key for compatibility. Fix for "[BUG] Large empty gap between app drawer search bar and app grid when app suggestions are disabled
#7490"
* EDITS : Coderabbit suggested edits for PR #7500
* Coderabbit suggested changes (2) #7500
* Update gradle-daemon-jvm.properties
* Remove unrelated Gradle toolchain changes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add docstrings for pan-to-move and all apps header changes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add a tilt sensitivity control
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Infinite scrolling kept a wrap state (target page, saved scroll bounds,
a cached feed flag) that every path out of a swipe had to tear down.
Paths that missed it caused the bugs: a short or backward swipe on the
last page wrapped anyway, the first page flashed when a layout pass
reset the bounds mid-wrap, touching during a wrap jumped to the target,
two-panel layouts got stuck between pages, and the page indicator lost
its active dot.
The wrap now follows from the scroll position alone: on an end that
wraps, the scroll may run one screen further, and the screen from the
other end is translated into that gap. Workspace decides which ends
wrap; other paged views behave as in AOSP.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit fixes the infinite scroll wrap animation so it scrolls one page in the correct swipe direction instead of animating through all intermediate pages.
* fix: Reimplement and only handle touch target on configured app
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
* feat: Promote to stable
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
* fix: Prevent app icons from conflicting with edit mode state
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
* fix: Address reviewer
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
* refactor: Make icon swipe settings enable by mandatory default
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
---------
Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
Allow users to designate any workspace page as the default home page
via long-press popup menu. Pressing HOME navigates to the chosen page
instead of always page 0. Resets to page 0 if the default page is deleted.
Revert submission 33672643-DataDeviceProfile1
Reason for revert: Droidmonitor created revert due to b/419867875. Will be verifying through ABTD before submission.
Fix: 419867875
Reverted changes: /q/submissionid:33672643-DataDeviceProfile1
Change-Id: Icb66aefbbcee24e05806b2139923e1f2ea1c65e3
I was being cautios on my previous fix for this same
isse, cautios because I'm modifying an object by reference
That's why I was only updating the container when the icon being
dropped was PendingAddShortcutInfo but we can change the container
on every icon (we don't need to in the Widget case which is the
other if statement), we can be sure it is a safe operation because
we later update the info anyway rendering the previous info invalid.
Fix: 413784315
Test: WIP
Flag: EXEMPT bug fix
Change-Id: I60ecdb52be1c7bf0584cb1c74ee15b85961e5012
Instead of the dispatcher specifying the type, the UI checks th diff. This
ensures that the UI is updated correctly in all paths
Bug: 390572144
Flag: EXEMPT refactor
Test: Manually verified folder edit path where these callbacks were getting dispatched
Change-Id: Ib73eed5da87a847753a78453a48ab4fc495c1199
Folder and FolderIcon are UI objects and can talk to each other directly.
FolderInfo changes are already propogated via model callbacks, and doesn't need a separate listener pattern.
Bug: 398791288
Flag: EXEMPT bugfix
Test: atest FolderTest
Change-Id: Iefd47b8ea12a8ecaf34211a3d908220a0e999187