With adaptive icons, we can have FloatingIconView match the shape
and size of the closing window, regardless of the icon shape.
FloatingIconView starts off as a rounded rect (same corners as task view)
and then morphs into the icon shape using FolderShape#createRevealAnimator
in reverse.
Decided to add FeatureFlag.ADAPTIVE_ICON_WINDOW_ANIM since there are still
some issues with folders, badges, and a visible jump when swapping the
FloatingIconView with the original icon.
Bug: 123900446
Change-Id: I94969eea6d5f4b932a84a11eb403611276042b46
If the ENABLE_HINTS_IN_OVERVIEW flag is enabled, pulls chip hint
data (currently from the NavBarHint plugin; eventually from AiAi)
and shows the chips between the task view screenshot and the QSB.
Screenshot: https://screenshot.googleplex.com/Ww05W13XjBv
BUG:124390101
Change-Id: I7686673b705257eca31f2fa40e2744e197153c7c
- A stabilization session starts when going to a new task via a quick switch
- A stabilization session ends after 5 seconds on the same task or when completing
a gesture to go to home or overview
- We track the system task order and copy it for the duration of the stabilization session
- After the session ends, we switch back to the system task order
- Remove ENABLE_TASK_STABILIZATION flag (and also QUICK_SWITCH)
Bug: 111926330
Change-Id: I2c18dff2d20ad02b73a4935ac534e9fc9f5f49c0
TogglableFlags are not initalized if !IS_DEBUG_DEVICE. Thus,
trying to read from the ContentProvider produces a NPE.
Also make ENABLE_TASK_STABILIZER global again now that this
fix is in place.
Bug: 123429711
Change-Id: I252e9b3ef4e802e769865f13b14487a36b8e1f82
- Pause (swipe and hold) detection based on velocity and acceleration,
so it feels immediately responsive
- Don't show shelf during swipe; peek when swipe pauses
- Disallow long swipe
- If swiping to go home (we didn't detect a pause), animate window and
launcher together (not final animation, but mechanism is in place)
- Guarded by SWIPE_HOME flag
Bug: 111926330
Change-Id: Ie4af04517c6688e3d649c2971a1aad197837cb3b
BUG: 123429711
This reverts commit e346b2f910.
Reason: launcher crashes in user build
Change-Id: I57315a7969dd70aa615235ed8425d5b2a05545a6
(cherry picked from commit 612bb6be7c)
- Punch a hole (by erasing part of launcher where current task is rendered) to reveal app surface drawn underneath using surface transform. We use LauncherLayoutListener before reaching OVERVIEW threshold, and TaskView after threshold due to layering constraint (it's above Overview but below All Apps)
- Render live tile following user-trigger scrolling (horizontal and vertical) by tracking the task view rect.
- When user launches the current running app (through the live tile or icon in the app drawer), finish recents animation to app.
- When user launches another app (through Overview or other entry points where user opens an app), take a screenshot of the current running app, switch to screenshot mode and launch the other app.
- Refactor ClipAnimationController#ApplyTransform to consolidate transforming by progress and by getting the current rect of the app on the screen.
Bug: 111697218
Test: manual test
Change-Id: I0ad764399e872f181a9d65dc453f0175f2b58dd1
Added new SpringObjectAnimator class that wraps an ObjectAnimator so the
Object can be controlled via the Animator or via a SpringAnimation. It extends
ValueAnimator so that it remains compatible with AnimatorPlaybackController.
Code is behind feature flag toggle QUICKSTEP_SPRINGS.
Bug: 111698021
Change-Id: I1b20179ede37e89a6a6bb2a45d407cc74c99ac4e
+ Default SDK 28 -> 26, as >26 isn't available for
unbundled make builds.
+ @Ignore 3 test methods that currently fail with
resource-related errors.
Test: RunLauncherRoboTests succeeds locally
Bug: 119567714
Change-Id: Id6ea42cef050119d892b5af2b1ba1afc4c4f0b28
- ToggleableGlobalSettingsFlag saves/loads from Settings.Global rather than
SharedPrefs, allowing other processes to update the setting as well.
- ToggleableGlobalSettingsFlag#get() reads from storage every time.
- Add the flags' descriptions to the feature flags settings UI.
Change-Id: I9cfc44ddaa5d9e223cf77a9b2475f8d25757d1fb
- Scale down current task and translate it to the left
- Translate previous task in from the left
- This is a toggle; quick switch again returns to the first task
Currently this is implemented by repurposing onQuickScrub(progress) to update the positions
of the first two pages. This makes tracking velocity a bit difficult; if we want to go down
this path in the long run we should probably track velocity properly on MotionEvents.
Change-Id: I4445b5f08b6e88e71cbb5e30b1f1d45c5f1edc68
This is the first step in adding a flag toggler UI to launcher.
The change migrates a single flag (QSB_ON_FIRST_SCREEN) from a
boolean constant to a boolean method. In future, that will allow
us to return different values at runtime.
Bug: 117223984
Change-Id: I1e62c91dd941b8145166021bc0aa157733e62ea0
If the orientation of the screenshot doesn't match the thumbnail view,
we rotate the screenshot 90 degrees. We don't know whether a landscape
screenshot was seascape, so we just assume it's not (i.e. landscape
screenshots always rotate +90 degrees when shown in portrait).
Portrait screenshots rotate so that the bottom aligns with the nav bar,
e.g. rotate +90 in seascape and -90 in landscape
Currently guarded by the flag OVERVIEW_USE_SCREENSHOT_ORIENTATION.
Bug: 74552612
Change-Id: I438e45d89b54ffe41950c8bb9abdbb9a1c33aa40
Derivative projects can extend the FloatingHeader to add support
to custom content in all-apps screen.
Change-Id: I4e29221a72e5a077a756713a6774cda7ecde8f1b
> Enable to use floating for prediction row even without tabs.
> Behind ALL_APPS_PREDICTION_ROW_VIEW feature flag.
> Expand/Collapse personal/work tabs in stopped intermediate state.
Bug: 68713881
Change-Id: I7817e7b7c6f572358f2b9a7a347339a9081708ee
This CL will bring two tabs to all apps: Personal and Work,
currently only if the user has a workfile set up and
behind a feature flag defaulting to disabled.
Bug: 68713881
Change-Id: Ib5a558281ef3593359db3ad593ee1d0cf279f547
> Moving the definitions to xml so that it is easier to override in derivative projects
> Fixing verious bind and save logic for custom widgets
> Adding feature flag to easily disable custom widgets
Change-Id: I0e278bc7dd415713029364060ef10842da990be9
The old folder preview and animation relied on creating bitmaps for transition.
As we move to hardware bitmaps, creating custom bitmaps which rely on icon bitmaps
would be costly (hardware bitmaps are immutable and cannot be drawn on a software canvas).
Bug: 35428783
Change-Id: I39869ed44feb6a886985ad15775bc1ab55565727