Commit Graph

275 Commits

Author SHA1 Message Date
Dianne Hackborn
29e4a3c566 Update from API review.
Change-Id: I16b1c566f91167aac9615ac59dd297a154c828ea
2009-09-30 23:21:02 -07:00
Mike Cleron
290947bbf8 Git sucks 2009-09-29 21:53:56 -07:00
Dianne Hackborn
94d691499b Fix issue #1930911: Crash in system process
Ensure that we do all the work for removing a window's view
hierarchy in that window's thread.

Change-Id: Ib7c1701aee6b541b75fd1a680f6987f959f2ba88
2009-09-28 22:14:42 -07:00
Mike Cleron
52f0a64952 Finish off java API to allow fading scrollbars 2009-09-28 18:31:09 -07:00
Android (Google) Code Review
ebd45e5ca9 Merge change I55edce63 into eclair
* changes:
  Fix issue #2149145: Safe Mode does not work on Sholes device
2009-09-28 18:11:28 -04:00
Mike Cleron
fe81d386a8 Remove obsolete links; start at a method to turn on fading scrollbars 2009-09-28 14:34:14 -07:00
Dianne Hackborn
6af0d50a8e Fix issue #2149145: Safe Mode does not work on Sholes device
The APIs for checking whether keys are held down now also look
at virtual keys.

However it turns out there is less than a second between the time we
start the input thread and check for safe mode, so there is not enough
time to actually open all of the devices and get the data from them
about the finger being down to determine if a virtual key is down.

So now you can also hold DPAD center, trackball center, or s to
enter safe mode.  Also give some vibrator feedback.

Change-Id: I55edce63bc0c375813bd3751766b8070beeb0153
2009-09-28 13:40:45 -07:00
Mike Cleron
3ecd58c650 Fix build 2009-09-28 11:44:36 -07:00
Mike Cleron
f116bf8884 Fading scrollbars return. But you have to opt in. 2009-09-28 10:47:04 -07:00
Dianne Hackborn
2397640740 Maybe fix issue #2145012: Array bounds exception in touch event processing
Change-Id: I223d9ae29f22f08cb8426ccd8bbadeedd5db3fc3
2009-09-26 17:34:50 -07:00
Dianne Hackborn
3e2ac88434 Fix/improve issue #2142662: too easy to click a link/item instead of fling
Reduce the slop.

Change-Id: If255e68cc8092e7f746a91c0fea27abfc5292b73
2009-09-25 01:34:28 -07:00
Dianne Hackborn
3b3e145d3c A variety of work on animations.
- The lock screen now fades in and out.
- Fixed a bug where we would accidentally freeze the screen when switching
  to an activity with a different orientation than the current (but
  the screen itself is in the current orientation).  This would mess up
  the animations on the car dock.
- New API to force a particular animation for an activity transition
  (untested).
- New wallpaper animations.
- Resources now uses the next API version when in a development build,
  to help applications being developed against such builds.

Change-Id: I2d9998f8400967ff09a04d693dc4ce55f0dbef5b
2009-09-25 00:48:02 -07:00
Dianne Hackborn
ffa424800d Fix issue #2133206: dialogs/menus should auto-dismiss when screen turns off
Lot of infrastructure for more things to go away when "clear system dialogs"
happens, and now do this when we turn on the lock screen.

Change-Id: I567130296fe47ce82df065ed58ef21b37416ceaf
2009-09-23 23:17:07 -07:00
Dianne Hackborn
5baba16989 Newer animations.
Change-Id: I1bb8e52f91dc60a6ec9496e2c66623bc8080b95d
2009-09-23 17:03:41 -07:00
Dianne Hackborn
9bfb707597 Various fixes and improvements to window, activity.
- New meta-data you can add to a dock activity to have it launched by the
  home key when the device is in that dock.

- Fix a deadlock involving ActivityThread's internal content provider lock.

- New window flag to have a non-secure keyguard entirely dismissed when a
  window is displayed.

- New WindowManagerPolicy APIs to allow the policy to tell the system when
  a change it makes during layout may cause the wall paper or
  overall configuration to change.

- Fix a bug where an application token removed while one of its windows is
  animating could cause the animating window to get stuck on screen.

Change-Id: I6d33fd39edd796bb9bdfd9dd7e077b84ca62ea08
2009-09-22 13:39:34 -07:00
Dianne Hackborn
bfe319e06a Turn animations on by default.
Add API to skip the animation for a particular start activity, so that
a latter better one can be used.

Fix Theme.NoDisplay to actually work.

Fiddle with various animations: don't do a different animation for task
switching, try a scale animation for switching in/out of the wallpaper.

Adjust the animation duration so that at normal speed we have something
more like the slower animation option (so slow is now the default).

Change-Id: Ieba9f3db0bd9a762a19b327a3ecccbc7b547893d
2009-09-21 17:26:41 -07:00
Dianne Hackborn
6136b7ef16 Show the live wallpaper on the lock screen.
This also takes care of the problem of system dialogs like the
crash dialog causing the status bar to dim behind the lock screen.

On the down side, the fade transition from the lock screen is
now gone, and I'm not sure how likely it is for it to return.

Change-Id: I7f9e6d0f3510a1fdbbe6ad252d986bd85a16475d
2009-09-18 09:27:22 -07:00
Mike Lockwood
c17f07aa04 Revert "Don't activate keyguard if screen is turned off while proximity sensor is active."
This reverts commit ddfe879b78.
2009-09-17 11:58:01 -04:00
Romain Guy
d03b880836 Change Theme.Light's background back to pure white.
Go away gray!

Change-Id: Ice59e585bfd01c02c0fa7fd74a8b13e548248f9e
2009-09-16 14:36:16 -07:00
Dianne Hackborn
93e462b79d Implement issue #1780928: Need support hiding nav keys.
This implements support for devices whose hardware can hide
their navigation keys.  It works much like the existing keyboardHidden
configuration, and for compatibility uses the same configuration
change bit.

Also add FLAG_TURN_ON_SCREEN for windows, which has the system
cause the screen to be turned on when the window is displayed.
Great fun when used with FLAG_SHOW_WHEN_LOCKED!

Change-Id: I0b867f19af85cfd8786a14cea194b34f7bdd9b7a
2009-09-15 22:50:40 -07:00
Dianne Hackborn
1cd403eaac Add SurfaceView API to put surface on top of window.
Change-Id: I9db84ee63a362e54ebc2f5b24a20ae5bdc3588bf
2009-09-15 11:29:00 -07:00
Dianne Hackborn
8d37426c75 Various fixed for back key handling.
My last change was far from perfect.  Hopefully this gets us
a little closer.

Change-Id: I413e55b6af42400b565de3040859d25d668bc9d2
2009-09-14 21:21:52 -07:00
Dianne Hackborn
83fe3f5592 Last big work on #1991910: Make swipes work with capacitive keys
This takes care of allowing us to cancel the back button.  The
back button is a bear because it is strewn all over the place --
everywhere you can close something, there is some code looking
for the back button that now needs to deal with being canceled.

The main things changed are activity (of course), dialog,
input method, search dialog.  There are some other misc places
in the framework (and some I missed here that I will get in a
second pass).

To facility all of this, the key dispatching APIs now provide
a lot more support for dealing with looking for cancelled keys,
and incidentally also provide an actual API for catching long
key presses.  This also helped clean up the code in PhoneWindow
where it deals with all of the combinations of key pressed and
releases.  (And also allows people to override
Activity.onKeyLongPress() to provide a different long press
action for a standard key like search.)

And while I was doing this, I reworked how we detect long
presses by having this be part of the key event delivered by
the window manager.  This should greatly reduce (hopefully
outright eliminate) the problems with long presses being
mis-detected when an application is being slow.

Change-Id: Ia19066b8d588d573df3eee6d96e1c90fdc19f57d
2009-09-14 17:53:52 -07:00
Android (Google) Code Review
d023f9a9a9 Merge change 24829 into eclair
* changes:
  Some optizations to wallpaper drawing/scrolling.
2009-09-14 18:45:42 -04:00
Dianne Hackborn
19382ac1a4 Some optizations to wallpaper drawing/scrolling.
First, fix some issues with the final wallpaper bitmap
we use: ensure it is always 16bpp, and make sure dithering
of its bitmap is turned off.   We take of dithering
when loading, to make sure we don't use it when drawing.

Also add new APIs to return the wallpaper with the equivalent
of Launcher's old FastBitmapDrawable.  As doing this, also load
the default wallpaper the same way as custom ones, taking care to
resize it as needed at load time.

Finally implement a mechanism for the window manager to wait
for the wallpaper to redraw at its new position before returning
from the application's call to change the offset.  This ensures
that the wallpaper better tracks the application.  Note that there
is a timeout in this wait that is relatively short, and if it
expires we will run for a while without waiting.

Change-Id: Ife449437746da85958bd447e0a6cf3d2223b398c
2009-09-14 15:29:44 -07:00
Romain Guy
8c11e31143 Fix a possible NPE in View.
Change-Id: Ieebd176e1f42c78e298aca973e9e5eed2dc3c6d9
2009-09-14 15:15:30 -07:00
Dianne Hackborn
8cae124af2 Various cleanup around resources and nine-patches.
Remove the stuff that doesn't use preloaded drawables when in
compatibility mode, since this works fine ever since we were able
to deal with drawables in a different density than the canvas.

Change the snapshot function on View to return a snapshot at
the same size that will actually be drawn on screen (when in
compatibility mode), to be able to show scaling artifacts and
all.

This change was original an attempt to fix issue #2101917: Text
field edges appears to be improperly rounded.  That turns out to
probably be something deeper in the graphics system, but also
included here is the debugging code I did to try to track down the
problem to make it easy to turn on again later.

Change-Id: I34bfca629639c7ff103f3989d88874112ef778d9
2009-09-11 13:31:45 -07:00
Mathias Agopian
6b7f1a62b5 fix [2074427] SurfaceView doesn't disappear on GONE 2009-09-09 18:32:34 -07:00
Dianne Hackborn
eb034652c2 Implement all of the infrastructure for configuring wallpapers.
Actually being able to configure a wallpaper relies on additional
work in the launcher and wallpapers that will be in another change.
Also note that this breaks all existing wallpapers, since they now
need to include a meta-data item about themselves.  This also
will be fixed in another change.

Change-Id: I97d2c2bd07237abc32f92b9147c32530a2f73c71
2009-09-07 22:48:02 -07:00
Dianne Hackborn
0586a1b77a Fix issue #2095422: Some fades from opaque to transparent don't work
ViewRoot was using Surface.clear(), which has different behavior
in different processes -- in the system process it would kill the
surface, causing all windows in that process to immediately disappear
instead of animating away.

This change makes Surface.release() public and uses that instead.  It
also renames Surface.clear() to Surface.destroy().

Also fixed some issues in the window manager that were causing the
wallpaper to not get immediately resized when the orientation changes
and its target window is removed and re-added.

Change-Id: I2a992e365cf5747511f0bf1193db32dc2525b218
2009-09-07 01:01:15 -07:00
Dianne Hackborn
25994b4306 Wallpapers: new transitions, hiding when not visible, other cleanup.
This is work on the transitions with wallpapers.  There are now new
animations specifically for leaving the wallpaper and returning to
it, which allow us to have a consistent animation when entering home
and returning to it.  I also renamed the existing animations across
wallpapers, and cleaned up some junk in the various interpolators.

This also now hides the wallpaper surface when it is not visible,
to get rid of the wallpaper flickers people complained about albeit
in a somewhat brutal way. :)  (Though really returning us to the
previous behavior with the same previous bugs and name back to them
not being very visible, yay!)  There is are also some bug fixes
here and there about managing the wallpaper visibility that this
change revealed.

Change-Id: I913990a9a81651728122ed2e1101b75ed2c36fcb
2009-09-04 14:28:42 -07:00
Mike Reed
e8853fc570 also expose onDrawHorizontalScrollBar() in View
retool WebView's calculations to correctly compute scrollbar height and parameters
2009-09-04 15:05:27 -04:00
Mike Reed
4d6fe5ffdc allow subclassing for drawing vertical scrollbar, so that clients (e.g. webview) can resize/position 2009-09-03 13:29:05 -04:00
Romain Guy
6198ae8468 Prevent ListView from scrolling/flinging its content when the content fits on screen.
Change-Id: Id46313bca3ae53b0717cd74a4a6f889a01f9fcb1
2009-08-31 17:45:55 -07:00
Android (Google) Code Review
6391830d10 Merge change 22958 into eclair
* changes:
  Don't activate keyguard if screen is turned off while proximity sensor is active.
2009-08-27 14:31:06 -07:00
Mike Lockwood
ddfe879b78 Don't activate keyguard if screen is turned off while proximity sensor is active.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-27 13:27:08 -07:00
Dianne Hackborn
6ccd2aff3e resolved conflicts for merge of 301b97ac to eclair
Change-Id: I0fb70cbe0a52006ad14f43a02c30b72aad457c48
2009-08-27 12:26:44 -07:00
Romain Guy
e55e1a7885 Change fade to use a gradient from opaque color to transparent color.
Previously the fade was using a gradient from opaque color to transparent black.
2009-08-27 10:42:26 -07:00
Dianne Hackborn
fd12af4e76 Various tweaks to try to improve low memory behavior.
- Reduce the amount that we ask processes to GC after a significant
  operation occurs, but introducing a minimum time between GCs and
  using this in various ways to schedule them.

- Don't spam all of the processes with onLowMemory().  Now deliver
  these using the same gc facility, so we do the processes one at a
  time, and don't allow the same process to get this call more than
  once a minute.

- Increase the time a service must run before we will reset its
  restart delay to 30 minutes (from 10).

- Increase the restart delay multiplication factor from 2 to 4.

- Ensure that we don't restart more than one service every 10 seconds
  (unless some external event causes a service's process to be started
  for some other reason of course).

- Increase the amount of time that a service must run before we
  decide to lower it to a background process.

And some other things:

- Catch IllegalArgumentException in ViewRoot like we do for no
  resources to avoid the system process crashing.

- Fix a number of places where we were missing breaks between the
  activity manager's message dispatch func(!!).

- Fix reason printed for processes in the background.

- Print the list of processing waiting to GC.
2009-08-27 01:03:24 -07:00
Dianne Hackborn
4a51c20ce6 I am getting tired of the java doc warnings, so fix them.
Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
2009-08-24 17:37:32 -07:00
Mike Lockwood
391305e740 Add resources to specify display rotation when in keyboard open or docked state.
Also added constant for SW_LID input event.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-24 15:38:47 -07:00
Dianne Hackborn
3be63c0930 Infrastructure for supporting wallpaper previews.
Various things that will allow us to show previews of wallpapers.
Also some fixes to animations across wallpapers.
2009-08-20 20:34:42 -07:00
Android (Google) Code Review
789de3a824 Merge change 22003 into eclair
* changes:
  Add wallpaper transition animations.
2009-08-19 18:35:53 -07:00
Dianne Hackborn
f8fbdb6b92 Add wallpaper transition animations.
The window manager now detects when a transition between two
wallpaper activities is happening, and switches to a new set
of animations for that.  The animations I defined here are just
an arbitrary something that can work in this case.
2009-08-19 17:45:56 -07:00
Mathias Agopian
b2f8450db8 fix [2063336] Surface.lockSurface throws IllegalArgumentException when out of memory 2009-08-19 17:10:18 -07:00
Romain Guy
15df6703f8 Fix potential leak in ViewRoot.
The way View.post() is handled can cause potential leaks in ViewRoot. For instance,
if a View calls post(Runnable) just after being detached from the window (in an
onClickListener for instance,) it will enqueue a Runnable in ViewRoot.RunQueue.
Unfortunately the RunQueue is emptied only on the very first layout of the ViewRoot.
This change prevents the leak by rxecuting the enqueued Runnables on every layout request
The latter did not happen before and to keep views in a correct state I think it
is necessary to always ensure we run the Runnables sent via View.post().
2009-08-18 10:16:41 -07:00
Dianne Hackborn
8df8b2b405 Allow wallpapers to get touch events. 2009-08-17 21:23:05 -07:00
Mathias Agopian
317a6280cc Surface::GPU and Surface::HARDWARE are now deprecated; they will be set automatically if needed.
this also ripples into the window manager API by making some constant there deprecated as well.
2009-08-13 18:19:32 -07:00
Joe Onorato
168173a698 Don't crash when the window is closing 2009-08-12 21:42:00 -07:00
Dianne Hackborn
72c82ab992 Report wallpaper offset to the wallpaper, use this in the image wallpaper.
Wallpapers can now be just the size of the screen, and get told when their
scroll position should change to do the updating on their own.
2009-08-12 14:41:29 -07:00