Using view alpha instead of background paint’s color alpha component
will make ScrimView alpha and visibility available to View Capture and
any analysis tool that’s based on it.
The change makes ScimView background completely opaque, and makes Scrim
View use variable alpha instead of always-1.0 alpha.
Changes some code that depends on the old way of representing ScrimView
opacity.
Also moves “updateSysUiColors()” call in ScrimView#setBackgroundColor
below updating alpha and background color so the new values are used in
the calculations.
Bug: 282991128
Test: local, presubmit
Change-Id: I6ca089bae55adfb9c3140d06da4fbb3b08f2bf8b
- Edit Mode doesn't close after dragging / dropping an app
- Edit Mode can be entered through options popup menu, Spring Loaded still entered by dragging items
- Adds new onLeavingState call to launcher states to cleanup changes
Bug: 279590398
Flag: MULTI_SELECT_EDIT_MODE
Test: manually tested the new state with flag on/off
Change-Id: If4550037f9659dcb8cd8b1943388d1ec5d55fa29
We previously made a few CL's guarded under flags for the multi select feature. We ended up having to halt progress on this, and now that we're starting again, the design is different and we are using a new flag. Here we get rid of the unused code and flags
Bug: 277617038
Test: Verify everything still works normally, everything was guarded under flags that were off so there shouldn't be any changes
Change-Id: I2f57d1f67aa2a8cf83287f6f3df9fa6c46dbf0ab
This reverts commit 0263a679f2.
Reason for revert: Trying again to confirm if this was the actual cause of regression
Change-Id: I2a663015d7ecdcf315634d8a976bf8294b58981d
be easily modularized
> Moving the color configuration to xml
> Moving auto-hide logic to a subclass as it doesn't
need to be in the main library
Bug: 274011949
Test: Verified on device
Change-Id: Icf7bd5d1cbde3daa9441f2af51f98a931bcd6ee2
mQsb is the name used for the first page pinned widget. This variable name is bad since in some launchers the first page pinned widget is a qsb but sometimes it is a smartspace. Renaming the variable to mFirstPagePinnedWidget is a more accurate name for this variable.
Bug: 251259222
Test: N/A
Change-Id: I6d3c74163995d2267510ee546924917062c4955c
- New interpolators
- New duration
- Removed workspace translation
- Removed overlapping fades -- are now sequential
See video in the bug.
Bug: 227745955
Test: manual
Change-Id: I19fa19a3806e963a04c5e694a52d3c1b921cf51f
ALL_APPS State
HOTSEAT_ICONS got added to visible elements for ALL_APPS State in ag/16992837.
============================================================
Phone
Before:
HotSeat present in view hierarchy - https://hsv.googleplex.com/4906040983289856?node=41
Video: https://b.corp.google.com/issues/228803923#comment9
After:
HotSeat not present in view hierarchy - https://hsv.googleplex.com/5379653922455552?node=42
Video: https://b.corp.google.com/issues/228803923#comment11
============================================================
Tablets
I couldn't test this implementation on tablet. But I have verified on a phone
locally by adding HOTSEAT_ICONS to visible elements and then verifying
"IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS" get set and hotseat icons are not focusable in all apps.
Video : https://b.corp.google.com/issues/228803923#comment14
============================================================
Bug: 228803923
Bug: 227565451
Test: Manual. See the video attached in bug.
Change-Id: I055e3bb61c8cfd240e0fe1000fe3a391a150f6d1
These are review comments followup from ag/17399997
Bug: b/218187058
Test: manually test thet Launcher3 features work correctly
Change-Id: I9865a37c1ed663370dc28e7678994f3d961e3cd1
While re-arranging icons the hotseat remains in scale 1.0f, while the workspace reduces it's scale (as defined by SpringLoadedState.java). Previously, the code to aggregate animations was assuming hotseat and workspace always had the same scale.
MultiScaleProperty.get() was being used to set the starting value of the animation. Previously, it was returning the last aggregated value. However, this value was correct only for the workspace, but not for the hotseat. Returning the current view scale makes it always correct.
Bug: 220271046
Test: Dragged icons from hotseat to workspace, and verified animation didn't jump
Change-Id: Ic01776c1d8e3967624626ed7c44d194a06295790
The unfold progresses are mapped to 0.85 - 1 range and set as a scale for launcher.
In case of multiple scale animations for workspace and hotseat, they are combined using MultiScaleProperty (e.g. opening an app while unfolding/going to all apps while unfolding). Note that this is a pretty difficult scenario to be in. If that happens, we multiply all values and bound the result between the max and min values.
Bug: 217368525
Test: atest MultiScalePropertyTest and manually
Change-Id: I6131c39f36deade0b7280c72edda2d72045344e9
Also rename ANIM_WORKSPACE_SCRIM_FADE to ANIM_SCRIM_FADE since
the scrim is shared between states now.
Bug: 183001675
Test: Manual in 3 button and 0 button modes
Change-Id: Ice83b54480bdf74155e8593c421b68d7186cf78a
Make it possible to set the color of workspace scrim to a different color
per state. Motivated by making Overview Scrim and All Apps scrims different
colors.
Bug: 186253733
Test: Local build and flash
Change-Id: Id7c38ce3c9173308eedfcb7592ececa7bd6bf220
This reverts commit 8c383f97e4.
Reason for revert: ScrimView is used in multiple places, Overview is broken by this change.
Change-Id: Ie395e2d94feaca4c9365bb5da68e9dc219990e03
- We remove the fling completely
- We set damping to 1 for x/y springs so there is no
bounciness, and updated the stiffness and bounds to tighten
up the path to the final location.
- During the animation, we translate all launcher content
down
- When the x/y springs, and rect animator all finish,
we use a spring to bounce the launcher content back up
- Added AppCloseConfig so that the entire animation can
be defined in one location, with getter methods so that
all the involved parties of the animation can access the
current value.
- The animations are all defined linearly, and then
interpolated over using a 3 point curve.
Building behind feature flag as we tune the values.
Bug: 173107751
Test: manual, visual
Change-Id: I83ad0fa2c4234cf30004240d43e191354595adc8
=> Remove the bitmap-based icon outline
=> Add simple cell based location preview of drop location
=> Round corners of page outlines
=> Get rid of page background for focused page
=> Update colors to use system accent color
Bug: 185163323
Test: manual
Change-Id: Id604c59201536967e25236f305eeeb0aafc9c022
Before, this happened to work because we skipped setting the scrim when
doing an atomic animation, but the atomic animation code has been
removed. Add an explicit SKIP_SCRIM config flag instead.
Test: swipe up from overview to home, ensure scrim animates nicely
Bug: 185411781
Change-Id: I7bc14a11d9d416cc7336ea29d21107dcdbdbf782
> Merging overview and all-apps scrims into a single View
> Decoupling TaskMenuView from taskView
Bug: 184676497
Test: Manual
Change-Id: I49f7249eaa2a800054385ab8e73a441d6a1b5e16
- Remove PLAY_ATOMIC_OVERVIEW_SCALE and PLAY_ATOMIC_OVERVIEW_PEEK
- Remove complicated parallel atomic animation support from
AbstractStateChangeTouchController and subclasses
- Remove some code related to going between Overview <-> AllApps
Test: Swipe between states in all 3 navigation modes
Bug: 175137718
Change-Id: Ice314d46946c3a983cdc6ccf1a67effb5da9156e
Now that QSB is always part of Hotseat, we don't need
getQsbScaleAndTranslation(), and now that HOTSEAT_ICONS are never in
Overview, we can remove the getHotseatScaleAndTranslation() override
Test: Everything works as before
Bug: 175137718
Change-Id: I902815d8e270269c1a2a9af54fa8480e5aef929d
Instead of keeping the Taskbar window showing above the home screen,
we now integrate a copy of TaskbarView directly into Launcher's view
hierarchy. Most TaskbarController calls apply to both TaskbarViews
(mTaskbarViewInApp and mTaskbarViewOnHome), except for calls related
to Hotseat, which only apply to mTasbkarViewInApp given the real
Hotseat will be showing with mTaskbarViewOnHome.
More cleanup will follow this change.
Test: All taskbar interactions (e.g. drag and drop) continue to work
Bug: 182512211
Bug: 171917176
Change-Id: I0f0b124f652daa85f866e1df8f9e2981540331a0
Removing sections in all-apps during transition and treating
it as a single unit
Bug: 175137718
Test: Manual
Change-Id: I55a501d80b5903f1a9d92a26b3784784fd9e50fd
- Seamlessly show real hotseat and hide taskbar hotseat, while
keeping rest of taskbar visible
- Update MultiValueAlpha to allow for taking max alpha instead
of blending, and use that for Hotseat
- Fix folder open bounds on home screen when taskbar is present
Test: Open folder from taskbar on home, can drag out items
Bug: 182079330
Bug: 171917176
Change-Id: I7c1983e3219b1341cf233260f0ccac9051c4dc14
Remove hotseat space from workspace in DeviceProfile if
taskbar is present, and instantly swap between taskbar and
hotseat when entering SpringLoadedMode. To allow for an exact
handoff, we also scale up the TaskbarView such that its icons
match the hotseat icon size when on the home screen.
Note that this CL only supports dragging to the taskbar, not
out of it (which still triggers system drag and drop instead).
Test: In RTL and LTR, drag a workspace item and ensure hotseat
seamlessly swaps with the taskbar hotseat and allows drops.
Bug: 179886115
Bug: 171917176
Change-Id: Id6462075b9b0b66b06d51a78c9c0b3e11e83e84d
=> The entire DragLayer is translated during the -1 transition which creates a janky looking edge at the top of the screen
=> By bumping the scrim up a level, we avoid this
=> Separated WorkspaceAndHotseatScrim into two separate scrims, since only part of the scrim needed to be bumped up to a level. Further, it was an overloaded class.
=> We had previously been implicitly relying on the fact that the scrim was rendered in the Workspace parent; we need to make sure to propagate workspace inavlidations to the container of the scrim. While things would still work without this change, it's more correct to leave it, as we no longer assume a hierarchy for functinoality.
Bug: 178215332
Test: manual verification. See video in bug.
Change-Id: I0a76ddf35ceea8c9635367f69380ef24f42e9479
> Removing 'Launcher' as parameter from state methods called by StateManager
> Converting state properties to methods for easier abstraction
> Moving state handling drom state definition to activity class
Change-Id: I997627df606a7e0bb3bf32688d045a942a47fc94
Using PendingAnimation for animation builder.
This will allow us to easily add SpringAnimation to stateAnimation
Change-Id: I8d88489a5da6fc85747ef9be7c13858b441cd28a
This avoids the double negative we use in a few places, so should be clearer.
Also added some comments to explain what the animComponents are used for.
Change-Id: Ibd25bd12efce6553b377bbd9c0651e4f4ac3e498