This allows using listener pattern instead of coroutines within the recommended repository pattern and avoid the jank due to coroutines
Bug: 390572144
Test: atest ListenableRefTest
Flag: com.android.launcher3.model_repository
Change-Id: I9f74166e01e1bdb4cb8afce3213022ea10137230
Adds `maxLineCount` attribute to CellSpec. The attribute indicates the max
number of lines of text the cell was speced to support. It's used to:
* enable two-line labels in `BubbleTextViews` for workspace (including
folder children) items
* Update cell dimension calculation to inform cell vertical padding
When calculating cell content size the icon text size will be included
`maxLineCount` times, so the cell content gets centered as if it
contains `maxLineCount` lines of text. That way the icon position will
be consistent between cells with text that fits into one line, and cells
that contain two lines of text.
Adds `maxLineCountMatchesWorkspace` attribute to specify that the cell
should inherit `maxLineCount` from workspace cell spec.
Bug: 30153091
Flag: com.android.launcher3.enable_scalability_for_desktop_experience
Test: Manual
Change-Id: I150a62f427a0ad755a4746a736d9846d3bea4d2e
BgDataModel holds a mutable handle of the data, which ensures that all edits go through this class and there is a single place to keep the repository updated
Bug: 390572144
Test: Updated existing model tests
Flag: EXEMPT refactor
Change-Id: I991b707dd21801d1abd00510f676549947285012
> This allows the whole workspace model to be contained in itemIdMap instead of spread across multiple data containers
> Deprecating extraItems, all non-workspace data should use separate repositories
> Design: http://go/launchermodel-re-arch?#heading=h.5y8n4r164d5s
Bug: 390572144
Test: atest PredictionUpdateTaskTest
Flag: EXEMPT refactor
Change-Id: I886d0a8d5bbbf9f5c2054d4a2442bf03f9c4eab5
The test don't run yet in presubmit, first I will have the NexusLauncherE2ETests
target ready and then I will add it to the presubmit.
Bug: 324261526
Flag: EXEMPT test only
Test: atest NexusLauncherE2ETests
Change-Id: I4daa204ec735456c481b0682ca518da381af7bb7
This cl includes :
- Refactor to remove unpinning/pinning in desktop mode with refactor of DisplayController, TaksbarPinningController, and its tests.
- Combined the auto stashing conditions under one method shouldAllowTaskbarToAutoStash() which takes in consideration isTransientTaskbar, isInDesktop, and Always Show Taskbar option is turned on/off in desktop mode.
- enabled taksbar divider popup support in desktop mode.
- Intorduced animation for pinned taksbar when autostadhing is enabled.
- Enable to onSwipeToUnstashTaskbar for TaskbarInputStashController for pinned taksbar in desktop mode.
Test: Presubmit, Unit, Manual
Bug: 381535785
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ie5ecf3a3c72bf8dfadf2d0c908269305fe5bad0b
1) Moving any DB file deletion before opening the DB to avoid deleting already opened file
2) Using a sandbox directory for BackupAndRestoreDBSelectionTest which can delete actively opened files causing other tests to fail
Bug: 403551539
Flag: EXEMPT bugfix
Test: Presubmit
Change-Id: Ib1088a0e486edf755e5f7dcd738eb835af78b4c4
Use the provided @UiExecutor within the ThemeManager
instead of referencing the MAIN_EXECUTOR directly.
Bug: 407593767
Test: ThemeManagerTest
Flag: NONE - new module
Change-Id: I6359adc1308bdb209dcf6c6e1c2d3fc7f4438585
With the dagger update the initialization happens in constructor which
we would avoid once we work on refactor and move it into a repository
class. The list will also be fetched from a different data source, so,
makes sense to delete it at the moment.
Bug: 406324964
Flag: EXEMPT BUGFIX
Test: Not applicable as code is removed
Change-Id: Iab8bb1e94677abf9b5b882f4d3485b002faf3e0f
Revert submission 32704934-model-test-cleanup
Reason for revert: Droidmonitor created revert due to b/406588406. Will be verifying through ABTD before submission.
Reverted changes: /q/submissionid:32704934-model-test-cleanup
Change-Id: Ieeb7f5b5699afeae27f946f060147bb68afc36e5
> Using Sandbox application everywhere to avoid test leaks
> Removing LauncherModelHelper and moving some utility methods to rules and extensions
Bug: 406521480
Flag: EXEMPT test only
Test: Presubmit
Change-Id: I17bd5ec2bdb0fc0cbe02be9c8ee76595effe3f11
This would allow customizing the widget holder in LauncherPreview
Bug: 361850561
Test: Updated tests and presubmit
Flag: EXEMPT dagger
Change-Id: I32491169188992453693048986c57cb780fdf1d8
Update SimpleBroadcastReceiver API to pass in broadcast permission and
register Growth Broadcast Receiver with permission to prevent other apps
from triggering Growth Nudge on their behalf.
Flag: EXEMPT add separately
Test: Manual
Bug: 397739323
Change-Id: I3a9d5e131ced752af0a1b35d400eed6d170fc81e
This fixes roboelectric test Running in Android Studio.
Bug: 390496167
Flag: TEST_ONLY
Test: all dumpTest
Test: Running roboelectric test in Android Studio
Change-Id: I903c6cea3c981a9c38cfcd05b54e4095b6fe2a8a
Moving widget filtering to UI layer as it changes with surface
Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger
Change-Id: I9d9377540ca36873659cea4ecc91fb162d82cd44
Move SandboxContext to a separate class.
Remove all MainThreadInitializedObject references in Launcher3 and tests.
Remove ObjectSandbox interface and make RoboApplication extend
SandboxContext
Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger
Change-Id: I1a8af5e6ae59df44d8ad6732b4d6e949ac402d6c
This Cl includes
- addition of entry/exit callback methods in DesktopVisibilityController.
- taskbar manager now listens to desktop mode changes.
- TaskbarBackrgroundRedererer can now individually animation backgrounds for transient and persistent taskbars
- new channel for taskbar icon alpha added to TaskbarViewController
- new animated float to handle background alpha while we are recreating taskbar with animation.
Solution:
we use the callabck we get from DekstopVisibilty for entry/exit to first change logic of when we are considered inDesktopMode. Upon entry/exit we notify display controller for info change.
we also at notify taskbar manager who is now a listener to the desktop mode change and start the recreate process. TaskbarManager first animates existing taskbar out of user view and then follows the original recreate flow.
Test: Presubmit
Bug: 343882478
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ib827564cacd194f499e7d9b1965e2bb13e3548ab
Earlier wallpaper preview was reading widgets that were eligible for
displaying in picker, which means widgets that are marked as hidden in
picker wouldn't show up in wallpaper preview.
This fix updates widgets model to maintain map of all widgets (instead of just pickable widgets like before), so that the existing `getWidgetsByComponentKey` function used by wallpaper preview can see all widgets. And, updates picker specific methods to use separate functions (suffixed `forPicker` that filter out picker ineligible widgets when read by picker code).
Bug: 385695615
Test: WidgetsModelTest, WidgetsPredictionUpdateTaskTest and demo
Flag: EXEMPT BUGFIX
Change-Id: I59efe38be0ce1f8a956ba4be42fb6e8b48b5d323
Unless explicitly annotated, parameters in java are by
default nullable. There are a few cases where a null context
may be passed to the unregisterReceiverSafely function
of SimpleBroadcastReceiver.
To mitigate misuses or incorrect contexts being passed for
register vs unregister, keep the context as a strong reference
in the constructor.
Also added NonNull annotations for any public callsites to
enforce behavior.
Bug: 395019017, 395966395
Flag: NONE - bug fixed
Test: manual - presubmit
Change-Id: Ie371fa45cadceaf51cf184b446df9123ef27c337
This CL does the following:
- Adds new methods `isInDesktopMode()` and
`isInDesktopModeAndNotInOverview()` to `DesktopVisibilityController`.
- These two methods rely on the new multi-desks impl when the flags are
enabled.
- Makes the existing `areDesktopTasksVisible()` and
`areDesktopTasksVisibleAndNotInOverview()` private, and migrates all
the usages to the new methods.
- The new methods uses the old methods if the flags are disabled.
A companion NexusLauncher CL is at ag/31601363.
Bug: 394182435
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I29ff38f984bfe2f68a120f84e1a75fa36b739258
And make DisplayController display id aware
Test: locally tested on Tangor
Flag: EXEMPT refactor
Bug: 392858637
Change-Id: I805cd7323c48a2988c95b9fda7f6cfe4c153860c
Bug: 390665752
Flag: com.android.window.flags.enable_desktop_taskbar_on_freeform_displays
Test: manual on desktop device. verify correct taskbar is shown
on home screen, in overview, in desktop mode, with fullscreen
app shown. Verify opening/launching apps from taskbar works
as expected.
Change-Id: I5c1e21799609c28ec44cc190bfc681934907199f