This always reloads the workspace, because I think it's a less risky change and that only adds
~100ms.
Change-Id: I215b1f741f022e47ce06e78b9cfdd9967a8f1b9d
This is achieved by moving the 3D All Apps surface out of the screen when
it is not needed anymore. This saves us compositing costs that slow down
the drawing of the workspace.
Change-Id: I06ce1f77449fe1864517f4161913bc162c8e6b46
This change reorganizes the increasingly Byzantine loader
thread so that the order of (workspace, allapps) can be
reversed if the user is currently looking at the all apps
view. The perceptual improvement in performance is huge if
you change the Launcher's orientation while All Apps is
visible (which forces a reload/bind of everything); now that
AA doesn't have to wait behind the workspace it
(specifically, its first batch of icons) appears much, much
faster.
Bug: 2722977
Change-Id: I07a9afd5f1cff4019f2640b082872176ba0a887e
* Correct the density (or, rather, remove the density) of
the icons in the cache to ensure they're drawn px-for-px.
* Create a new landscape layout for 2DAA that aligns things
properly (viz: Home icon at right, padding tuned, 6
columns).
* Performance improvement: Make the app grid, icons, and
home icon all opaque (by setting a black background) and
move the home icon so it doesn't overlap the grid.
Change-Id: I961323e9e39cb122cdc694853706e7fcdd10142f
Should the Launcher's database become corrupted by
mysterious forces (e.g.: third-party launchers; botched
upgrades; smoke monsters) in such a way as to cause two
items to share the same cell, we now ignore loading the
latter.
Prevents a runtime crash (http://b/2655516).
Bug: 2655516
Change-Id: Ia514746f04f0e51b2cd07e9290589a6eab75bdd2
If we're unable to create a bitmap for the drag, e.g. due to
memory pressure, give up.
Bug: 2650809
Change-Id: I5d7360dbb1bd736a629451467e93cccdfc255b67
Should avoid crashes when using Launcher2 alongside
third-party launchers that add additional workspaces.
Bug: 2709532
Change-Id: I7775b43e582346ba686524e357a2b262e9fc4dcd
Looks like the code path for buildDrawingCache(false) has some bugs.
This reverts to the old code path and tries to manage the creation of
those caches a bit better.
Change-Id: Ic468e9db396c51f723454dc3832e0cd1c0c82004
To do this, we invoke resolveActivity to see what activity
would result from viewing an arbitrary (but valid) URL. If
there's just one installed, or there are multiple and the
user has chosen a default handler for http:, we take that
component and launch it with CATEGORY_HOME (so as not to
upset the URL in the frontmost window/tab/what-have-you).
We also use this information to extract the localized name
of the app, which is then installed into the hotseat as the
contentDescription (for accessibility).
If there's no default and multiple options are availble,
we'll get the activity chooser instead. In this case, we
just fire off that chooser and let the user pick an app
(possibly setting a default along the way). Because the
default may change, we reload all this hotseat information
every time one of the hotseats is tapped.
Another side-effect of this approach is that until there
exists a default browser, the original URL will be sent to
the activity the user chooses from the ResolveActivity. So
we need a sensible default URL here; one can be found in
R.string.default_browser_url (similar to Browser's
R.string.homepage_base).
This change also moves the hotseat intents and icons into
arrays.xml for easier configuration.
Change-Id: I06268df8b59e0f41f1f8b0e47f823db4c44ec761
Duration of motion is now influenced by fling velocity. Constants have
been tuned and tweaked.
Fix a couple of drawing optimizations in Launcher2 Workspace.
Change-Id: Iaa674d10a28554884d9cc98134b2d1253b5e3e70
This fixes the issue where using the long-press-on-dots feature to
jump to a specific home screen overshoots by a large distance. It also
speeds up the resulting animation such that jumping from screen 1 to 5
doesn't take as long.
Change-Id: If41086b17df875be5514776e3af24292587d05a7