- had to disable touch event swallowing in workspace in X-Large mode to get this to work
- also changed default screen in XLarge mode to 2 (the middle one)
- 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
- add a temporary new zoom animation for all apps
- modify AllApps2D to allow it to be transparent
- other changes to dismiss the customization drawer when appropriate
Change-Id: I5660ab77f256ded299c1721c589983a1b30d56a4
Draw a rectangle around the area where an item will land if it is dropped.
If the area is vacant, the rectangle is green; otherwise, it is red.
Change-Id: I859b52514566fa55f8c7a04493b8088d12baa476
Previous commit made Launcher a subclass of TabActivity, but there is no TabHost in non-xlarge layouts; Launcher now subclasses from Activity and no longer assumes that there must be a TabHost
Change-Id: I496496a602e43768d79113c7090435119cb4e5e5
- 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
- Add new layout for xlarge, removing hotseat, next/prev page, etc.
- Add a "+" button in top right which switches to customization mode
- Add a widget chooser which slides up from bottom of screen
- Initial support for dragging widgets onto home screen
Change-Id: I14e2e013ccceff4066fcb7c4492b4f6bef6595e7
updates into that thread as well.
This gets rid of the ANRs that happened because both threads were
holding mAllAppsListLock. Now mAllAppsList should only be touched
from within the worker thread.
Change-Id: Ifc4ac27e0c0a927ac66c456d097fd3d4ef6c5e1e
This always reloads the workspace, because I think it's a less risky change and that only adds
~100ms.
Change-Id: I215b1f741f022e47ce06e78b9cfdd9967a8f1b9d
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
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
The mNext* stuff in AllApps3D got reset when onNewIntent came in too fast after an
onCreate, which happened because of the configuration changed.
Change-Id: I9a358b6969ac1d17ea98f58218d47bfe983936f0
AllAppsList now maintains <data> and <added> in sorted
order, to amortize the cost of sorting the apps list over
multiple batches.
Launcher boosts thread priority on first launch, but we now
reduce thread priority to normal after the main workspace
has been drawn but before all apps are loaded.
Experimental feature: a short delay is introduced between
batches to help free up the CPU (as well as to show that we
are indeed batching apps).
Bug: 2562420
Change-Id: I2035ec3e819b4e7993a80c6d03bfad3914c95a7a
Somebody fixed a bug in managed dialogs where it wouldn't
create the dialog after a configuration change. This means that we
shouldn't set mWaitingForResult in createDialog, we need to set it in
onShow. This is what the add dialog was already doing.
Change-Id: I955c2f7cd4a47213f84986ec9ba251146b1ac423
Bug #2504556
This solves the issue by keeping the GL context, the RS context and
the RS scene around, across orientation changes.
Change-Id: I8e3dc6e6bf039087046d49d2826c8800c5bef582
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
When in UTS test mode keys received need to be handled
by the Phone application or Contacts application to
operate properly in the test mode. When not in test mode
the search widget will handle the keys as it was before
this change.
The UTS test mode is enabled when presist.sys.uts-test-mode is 1.
bug: 2402366
Change-Id: I58e68830f9ce6905e189ecba1c04b1076799a0a0
Signed-off-by: Wink Saville <wink@google.com>
used for the workspace.
Consolidate the three icon resampling functions into one.
Ensure that the icons stored in LauncherProvider are the right size, so we don't have to resample
them each time we load them.
The SOURCE (search source identifier) constant is moving
from hidden in android.app.SearchManager to com.android.common.Search.
Part of http://b/issue?id=2429556
Change-Id: I68fa792f2d452aadcb9216f5c780bd082ca5039f