The drop region is now 70dip^2. This means it invisibly
overlaps nearby icons ever so slightly---not enough to
prevent icons being properly dropped on the workspace.
Bug: 2623734
Change-Id: I945160ef6bdfc0a4ac3cf9db57d440bad424dfc4
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
Also closes the gap below the buttons (not visibly, but the
hit rect now reaches the bottom of the screen). Bug: 2630273
Change-Id: I8e8de6b63f91b2fcf87c3af856003cc36dd6c096
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
The hotseats are permanent slots on either side of the
AllApps button. Their functions are:
LEFT/BOTTOM: Phone
Launched via the hardcoded class name
com.android.contacts/.ContactsLaunchActivity.
RIGHT/TOP: Browser
Launched by querying to see which application is the
default for URLs, then starting that activity directly.
In the future, it would be ideal to allow an application
with permission to access LauncherProvider to customize
these (icons, contentDescriptions, and Intents).
Bug: 2559083
Change-Id: I56f6e745f8574aa17e28feaa9d2118fb4a715cd4
This way we can figure out how many apps to send to the grid
at a time even if the grid hasn't been instantiated yet.
Bug: 2599979
Change-Id: I7960fe1adae6976555334422335f3a4b28d0675e