Change high res loading state implementation to toggle on/off based on
config_lowResTaskSnapshotScale!=0 instead of ro.config.low_ram=true
Test: TaskSnapshotCacheTest
Test: TaskSnapshotControllerTest
Test: TaskSnapshotPersisterLoaderTest
Test: TaskSnapshotSurfaceTest
Bug: 148099851
Change-Id: I316e553a8a13fe38f1224c38f7aa717a0f628f57
Enable preloading if config_enableTaskSnapshotPreloading instead of
assuming it should be off for all low ram devices. This allows it to be
configured via an overlay.
Test: TaskSnapshotCacheTest
Test: TaskSnapshotControllerTest
Test: TaskSnapshotPersisterLoaderTest
Test: TaskSnapshotSurfaceTest
Bug: 148099851
Change-Id: I9e3320dcff5b710e110cc7199c41c5a004991592
Previously, we were only updating the clip rect when params.currentRect
== null, meaning the clip would be stale once the caller started
providing its own rect (e.g. when swiping to home).
Also fix some visual jumps when swiping home, all caused by running the
transform progress from 0 to 1 instead of starting at whatever the
progress was before ending the gesture, e.g.:
- When swiping to home without animating into an icon, the corner radius
was set back to the window corner radius.
- Before this change, the clip didn't update throughout the animation,
making the window slightly bigger than the floating icon view; after
this change, the clip jumped to show the insets again before clipping
back down during the home animation.
Bug: 149870691
Change-Id: Ie48f4b665a5bf3cbef76bdf7f043febe99fb84a0
AppWindowAnimationHelper and TransformParams were being very tightly
intertwined, to the point that you really had to understand subtle
nuances of both in order to get a desired behavior. This makes making
changes really difficult, because there are lots of "traps" to know
about and navigate. To help alleviate this burden, cleaned up some of
these traps and give AWAH and TP distinct roles:
- A caller who needs to animate an app window needs both AWAH and TP.
TP defines specific parameters of how the app window should be
controlled, and AWAH simply reads from TP in order to provide the
desired behavior.
- Only the caller should write to TP; AWAH should no longer change
anything in a TP that is passed to it. For instance, instead of
repurposing TP.currentRect, AWAH now has its own mCurrentRect to
update based on passed parameters.
- TP is a very basic class that just holds various values that callers
can set one at a time. The order should not matter (setting one value
will never set another one), and defaults make sense.
- Commented the setter methods in TP so developers shouldn't have to
follow the code to see how they are used.
Bug: 149870691
Change-Id: Ia48f4453c29549271a3fc6538128a1a77439e015
This includes
- Dismiss work edu on launcher state change
- Remove work tab flash on first setup
- Make edu bottom sheet adopt theme color
- Fix Work toggle bottom inset
Bug: 149200572
Bug: 149197172
Bug: 149199058
Bug: 149215103
Bug: 149198955
Bug: 145595763
Bug:149481723
Test: Manual
Change-Id: I39a30782b80fd3a66bede55754fa30a940d2caee
We'll want to detect this gesture ourselves to distinguish
between left and right edge and update the UI accordingly.
Note: This exclusion only works if the sandbox is launched
into the same task as Launcher (i.e. from Launcher itself).
I haven't found a way to get this to happen over adb.
Test: Launched BackGestureTutorialActivity from Launcher
and verified Back gesture animations did not play and the
onBackPressed callback was not called. Verified these did
still work in other apps.
Bug: 148542211
Change-Id: Iebc3428738edbf8ebfcff157f5952b787eb46bac
The flag is only set when building from Android Studio... and is never
used for dogfood.
Test: local
Change-Id: I898d585f4558c2437f0152ef102bea59c351f80b
This change adds the QUERY_ALL_PACKAGES permission to launcher3 so that
it can see all packages on device with the app enumeration featur
enabled in R.
Bug: 149557568
Test: Manual; use launcher3 and ensure it displays all apps
Change-Id: I15e6e86e5476900a6b9c3a6da1cbb11fcbf97e6c
- If any call to finish the recents animation comes in before
onRecentsAnimationStarted, we'll clear the callbacks but the listener
registered in startRecentsAnimation will persist. Since the call
to actually finish the animation with the system is posted on the
main thread, if the animation started callback returns in that time,
the controller will be set (via the listener) but the callbacks will
be unset. Instead, we can clear all the listeners from the previous
callbacks when cleaning up the animation.
Bug: 145758818
Change-Id: I29dab94f5fb25f762a823d59ef318a361282b595
- Dump OverviewComponentObserver (to check if we're using 3P launcher)
- Dump current enabled and disabled plugins
- Dump all debug FeatureFlags instead of a few handpicked ones
Bug: 146174627
Change-Id: Ic8df899433b0e42d0e05eb1c80c87f62d3b936b6
When computing applying the rotation matrix to the TaskView thumnail,
use the rotation of the window configuration instead of the displays.
The forced rotation (ag/10176951) does not yet provide overrided values
for the display orientation when the requesting app is being forced
rotated, which is the case of the launcher. So
getDisplay().getRotation() would return the true rotation of the display
and not the rotation of the activity.
Test: with "adb shell settings put global forced_rotation 1"
and ag/10176951 and parents applied
1. Open landscape application
2. Display recents view
3. Check that the thumnail is in the same rotation as the opened
application
+ tests from I060a5dfcbcbb2ac21624d2ac778f76562bd60f40
Bug: 143053092
Bug: 143892437
Change-Id: Iee250459050b3c75dc3b79deed0682f809c7168b
It tests UiDevice.pressRecentApps(), which we don't use, so we don't
need to test it.
Bug: 131115533
Change-Id: I3a1b31f3b8368e3c848c888a5a27577faa940832
The flake had disappeared, perhaps because of this logging, or,
hopefully, for some other reason.
Bug: 148313079
Change-Id: I636783d5fc71474dd443c143289c3ff74651835e
- Notifies prediction client when a folder is converted into workspace
item as a result of losing all items but one.
- Notifies predction client when a folder is created from an item in the
workspace with no duplicates.
Bug: 148749638
Test: Manual
Change-Id: Ifd51a6fe2a40c8baf4d88e2dba1e5bdc925e1608
Send TYPE_VIEW_FOCUSED in the following places:
- When page transition ends on a task
- When finishing state transition to overview
- When un-hiding the current running task view
Bug: 145647019
Change-Id: I7bb357ea60e1dea79daf2ad50efa51071e064da8
Activity tracker is accessed on a non-UI thread, which can cause a non-initialized
Launcher to be treated as initialized
Bug: 149022794
Change-Id: I6634a6aff891592369c16469bbe95a9ea611819c
There is a guaranteed order in which TIS events will be registered
relative to other TIS events. However, relative to the touch events
arriving to the activity, TIS events can come in any order.
Now the event checker verifies 2 independent ordered event sequences:
from TIS, and “the rest” (Main).
Change-Id: I5872e0e3b0b498050a91c67105fbe4a29411375a