Commit Graph

132 Commits

Author SHA1 Message Date
Patrick Dubroy 3ec8bdd576 Refactor zooming animation, and apply it to customize drawer too.
Change-Id: I0bbd5a68adc82cea02dc583ac3d04e3de8c0346e
2010-08-09 14:25:36 -07:00
Michael Jurka 4bb4f735c8 small fixes to Launcher
- more robust unshrink animation
- catching a resource not found exception when
  making widget preview
- added more missing copyright headers
- hiding customization drawer when long press on widget
- long-pressing on widget is temporarily always
  springloaded to zoom in to workspace screen

Change-Id: I6c92877357e907d89840fecc4662f0700b96255b
2010-08-06 11:19:47 -07:00
Patrick Dubroy 7247f6315b Move all apps to the new animation framework, and some other all apps changes
Change-Id: Ib4c827966423d76e62db24036bbca0cd6ee46b95
2010-08-04 18:00:58 -07:00
Adam Cohen d22015cd37 Cleaning up grid size specification in Launcher
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
2010-08-04 11:03:47 -07:00
Michael Jurka 7ef4f752e1 fixed crash on phones
(didn't initialize a variable properly)
2010-08-03 16:04:26 -07:00
Michael Jurka 2c3af5ffb2 refreshed apps/configure button, added search button
- configure button now has a pressed state (as
  do the other two)
- also added a cast to getX() from float->int
  because of changes in the view property code

Change-Id: I57dc6e44838f4f4354f8977a3b542e93384b3d7d
2010-08-03 14:10:37 -07:00
Michael Jurka 54f7ac30f2 Made some temporary aesthetic improvements
- icons in the customization drawer are now much 
  more tightly spaced, and no longer use the 
  default gallery styling
- wrapped some >100 char lines
- removed "Applications" from the shortcuts
  customization drawer
2010-08-02 13:56:46 -07:00
Michael Jurka 79212d8136 Fixing bugs related to starting in All Apps mode
- fixed bug where Workspace.shrinkToBottom() was 
    not always called in showAllApps
- added logic to defer call to 
    Workspace.shrinkToBottom() after first layout
    call (necessary because shrinkToBottom relies
    on getWidth() working properly)
- added ability to Workspace.shrinkToBottom()
    without animation

Change-Id: I966141a60b6b014cf97e83b4d45725b41b16e55d
2010-07-30 17:39:39 -07:00
Michael Jurka 54dd75463d Tapping on mini-screen in All Apps view now goes back to home screen
- 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)
2010-07-30 14:47:52 -07:00
Michael Jurka 213d96354e Improved support for workspace screen thumbnails
- 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
2010-07-28 15:11:27 -07:00
Michael Jurka dee0589388 Home screen now shrinks while customizing
- added a shrink/fade animation on home screen when going into customization mode
- made items in the customization drawer larger

Change-Id: Iddbaf14aa5b1504fe94966971a1ab95c00f24331
2010-07-27 15:53:04 -07:00
Patrick Dubroy ff5f040de1 isOpaque is not appropriate for AllAppsTabbed; replace with isAnimating(). 2010-07-26 15:23:42 -07:00
Patrick Dubroy ab962b75ee fix 2869807: Crash on boot on trygon-userdebug
Change-Id: I59f0d653e498a69bd240232b8bb89884aa0c324d
2010-07-26 12:15:55 -07:00
Patrick Dubroy 558654c6ec Switched to tabbed version of AllApps2D on xlarge screens.
- 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
2010-07-26 11:44:33 -07:00
Patrick Dubroy 8f86ddcb90 Generate a default preview for widgets that don't have a previewImage.
Change-Id: I3a3c24543c925a50ab34fd3cbf7947544a5ac5c0
2010-07-16 14:46:07 -07:00
Patrick Dubroy 6569f2c80e When dragging items on the home screen, visualize where they will drop.
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
2010-07-12 17:29:35 -07:00
Michael Jurka 946ad470c7 Fixing runtime error on non-xlarge devices
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
2010-07-09 19:18:12 -07:00
Michael Jurka 0e26059548 Improving home screen customization
- 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
2010-07-09 11:56:45 -07:00
Winson Chung aafa03cbb9 Allow for NxM layout and in-place rotation of items on homescreen.
Currently, rotation is disabled as designs are still in flux, but the NxM grid is enabled (8x4).

Change-Id: I0026f88c674719e3d67de6d6d481d2d4cd606362
2010-06-30 16:24:40 -07:00
Michael Jurka af44209bfa First cut at new home screen customization for xlarge displays.
- 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
2010-06-28 10:49:34 -07:00
Joe Onorato 3611578579 Make the loader thread a Looper and move the package manager
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
2010-06-18 14:40:26 -04:00
Joe Onorato d0afc87d96 Fix crash in getCurrentWorkspaceScreen.
Bug 2761789

Change-Id: I9f005c876ca20f774e6d8046e34451a7fecbe805
2010-06-11 00:03:15 -07:00
Joe Onorato cc67f476c0 Improve launcher loading performance by only doing re-binds.
This always reloads the workspace, because I think it's a less risky change and that only adds
~100ms.

Change-Id: I215b1f741f022e47ce06e78b9cfdd9967a8f1b9d
2010-06-08 11:32:28 -07:00
Daniel Sandler 843e860e8e Load All Apps before the workspace if All Apps is showing.
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
2010-06-07 16:45:16 -04:00
Daniel Sandler 3e9454a9ac Disable hotseat buttons if AllApps is visible.
Bug: 2707845
Change-Id: Ic4039f9737b3218a45bb3e8456c47927edd3fe3d
2010-05-24 11:22:41 -04:00
Daniel Sandler ab1ebd7e6f Hotseats: better strategy for finding the default browser.
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
2010-04-28 15:52:54 -04:00
Daniel Sandler c9b1877f9a New Launcher feature: "hotseat" icons.
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
2010-04-23 12:37:23 -04:00
Joe Onorato d65d08e709 Fix race in LauncherModel that causes it to show duplicate icons.
Change-Id: I78130d6f237f476bc33a4718ca5ef245fe502857
2010-04-21 11:43:04 -04:00
Daniel Sandler cbe7f20ad7 Move batch size to a resource.
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
2010-04-19 14:47:18 -04:00
Joe Onorato effc4a8aef Paper over bug 2592956 - Home not redrawing the shortcuts, widgets, or background.
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
2010-04-15 11:51:38 -07:00
Daniel Sandler dca661236c Batch loading of icons for AllApps.
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
2010-04-14 14:36:10 -04:00
Joe Onorato 7018d8e327 Fix 2575588 - After creating new folder shortcut unable to navigate between home screen using touch.
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
2010-04-13 20:29:42 -07:00
Joe Onorato f984e853f2 fix 2542590 add more logging when launching app fails
Change-Id: I5a1fa261c6e67eb7afb661de39e35ce43e2caa59
2010-03-25 09:47:45 -07:00
Romain Guy c16fea7161 Improve focus restore on orientation change.
Change-Id: If405c60f4a45aeb4079aa4dcd96b684fd6ea819c
2010-03-12 17:17:56 -08:00
Romain Guy 13c2e7b788 Prevent ANR in Home when changing orientation.
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
2010-03-10 19:45:00 -08:00
Joe Onorato 64e6be78dc Refactor the app updates so that it doesn't rely on the package name.
This will be needed for the upcoming change to update the icons with the
grayed out when the SD card goes away.
2010-03-10 13:42:32 -08:00
Romain Guy 406d703fad Make touch events work in landscape. 2010-03-04 18:59:31 -08:00
Romain Guy edcce099c9 Fix the build! 2010-03-04 13:03:17 -08:00
Romain Guy 8e633c5a3e Prevent crash when a bad widget launches a non-existent config activity. 2010-03-04 12:51:36 -08:00
Romain Guy 060b5c88cc Implement landscape in 3D all apps.
Bug #2454737
Bug #2454736
2010-03-04 10:16:43 -08:00
Daniel Sandler c351eb8b6a Hide the workspace when launching AllApps2D.
Boosts performance and squashes some weird focus issues.

(Also: fix builds with AllApps3D)

Change-Id: Id1c4628e119c950dced9d3383993674f3d6b9a1c
2010-03-03 15:11:52 -05:00
Daniel Sandler 388f679aa4 Introduce 2D All Apps and other support for sapphire-class devices.
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
2010-03-03 14:38:45 -05:00
Romain Guy fb5411e982 Correctly position the quick contact badge when opened from a folder.
Bug #2467438
2010-02-24 10:04:17 -08:00
Joe Onorato deb98afe40 minor refactor: This function is only called from one place. It doesn't need the parameters. 2010-02-19 15:00:12 -08:00
Joe Onorato f0dde0927b Don't do the haptic feedback on workspace items when they're not being picked up.
related to bug 2309687
2010-02-16 18:25:23 -05:00
Joe Onorato 52fbb3cd46 Revert "Merge "Launcher changes to handle UTS test mode." into eclair"
This reverts commit b8fc9e7df6, reversing
changes made to 52ba5b08f2.
2010-02-13 11:23:10 -05:00
Wink Saville 7ac5037acc am c4470606: am b8fc9e7d: Merge "Launcher changes to handle UTS test mode." into eclair
Merge commit 'c44706064341f02a14d61091492a5fc6dc6efd2d'

* commit 'c44706064341f02a14d61091492a5fc6dc6efd2d':
  Launcher changes to handle UTS test mode.
2010-02-12 16:02:32 -08:00
Wink Saville 2693030ea4 Launcher changes to handle UTS test mode.
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>
2010-02-12 12:12:45 -08:00
Joe Onorato 0589f0f66c Split ApplicationInfo into ApplicationInfo which is used for AllAppsView and ShortcutInfo which is
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.
2010-02-12 12:18:40 -05:00
Bjorn Bringert 3e244cf9d2 Use Search.SOURCE from android-common
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
2010-02-10 14:17:35 +00:00