This commit eliminates the notion of in-place rotations and a bunch of
associated complexities (including the notion of canonical coordinates).
Further, the number of x and y cells per workspace screen is now being stored
in a single location in the XML definition of Workspace. This fixes a couple
bugs where incorrect values were being used. Finally, eliminated the notion of
"shortAxis" and "longAxis" in terms of padding and cell count. These have been
translated to corresponding x and y axis values.
Change-Id: I30cfed66f82d739355b3f01730b28b6c0437989c
- Shrinking workspace view in All Apps
- Added vertical margin for workspace screen thumnbnails
- Fixed bugs in a few of the Launcher state transitions (e.g. customization to all apps)
Change-Id: I9ad1c8861585d78fdb2e3bc986a614526b3cfe5f
- added a shrink/fade animation on home screen when going into customization mode
- made items in the customization drawer larger
Change-Id: Iddbaf14aa5b1504fe94966971a1ab95c00f24331
- Created a drawer with tabs for widgets, folders, shortcuts, wallpapers
(wallpapers are currently not implemented)
- Tapping outside the drawer dismisses it
- Moved the all apps icon to the upper right of the screen
- Adding a toast that says "No more space on screen" when dragging a widget to a full screen
- Fixed bug where you could stack two equal-sized widgets on top of each other on the homescreen (exposed by the new ability to drag widgets onto the home screen)
Change-Id: I03b65ce54a85d24328c94e0c06e249571de449ee
* 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
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
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
* Removed another redundant sort
* Correctly set the thread priority to BACKGROUND for the
all apps loading step.
* Moved batch delay to a resource
* Reduced delay between loading batches of apps to 100ms
(we really just want to sleep a tiny bit between batches
to give the UI time to react)
Bug: 2562420
Bug: 2599979 (related)
Change-Id: I1ae72a68c1a47377a9eb62827fe7666bfc50caa5
Bug #2562729
In landscape, the left and right dots buttons are 93dip wide; this makes them overlap
with widgets at the bottom of the screen. The dots do not need to be that wide but
we chose this size to make it easier to tap them in portrait. To avoid issues in
landscape, this change introduces a new type of ImageView that can ignore touch
events in a certain zone. This was easier and cheaper than re-cutting 36+ assets.
Change-Id: Id261fba41a43dede943e72060e39e87658e4b0df
This fiddles the manifest to allow the app's shared user id and
process to be changed at build time via resource overlays, so we
can build launcher to run in the acore process for low-end devices.
Also switches the cert of launcher back to shared, to allow for
this. (Note this only really matters if the shared user id is set,
otherwise launcher will still get its own uid.)
Change-Id: I0bd0a06e1442c4bfe5ceb2d438cb58f29d911578
AllAppsView is now the 2D, GridView-based version (very
similar to classic Launcher); AllApps3D is the
RenderScript/Rollo implementation.
TODO:
- some mdpi assets are not in fact mdpi
- related to above: static wallpapers not working yet
- add dynamic selection of 2D/3D AA; currently you must
choose one at build time by picking the appropriate class
in all_apps.xml (see separate CL for sapphire overlay
that does this)
Change-Id: I253d98404ea8a329a4049d2e48edd2e5129fa6ba
It's now sending them. The beeping and vibrating accessibility things
work, but we only have prebuilts for the speech one and it's not saying
anything and I can't debug it, so this will have to do.
Added support for adding appwidgets beyond clock and search to the
intital configuration. Also pulled in a previous change in Launcher that
allowed http shortcuts. New syntax looks like this in
default_workspace.xml:
<appwidget
launcher:packageName="com.android.settings"
launcher:className="com.android.settings.widget.SettingsAppWidgetProvider"
launcher:screen="0"
launcher:x="0"
launcher:y="2"
launcher:spanX="4"
launcher:spanY="1" />
<shortcut
launcher:packageName="com.android.settings"
launcher:icon="@drawable/ic_launcher_appwidget"
launcher:title="@string/group_folder"
launcher:uri="http://www.nytimes.com"
launcher:screen="2"
launcher:x="2"
launcher:y="2" />
This change requires changing the signature and shared user id of Launcher2, we
will have to revert this once we move the wallpapers picker back to Settings.