Commit Graph

295 Commits

Author SHA1 Message Date
Grace Kloba
d5ada83c71 ScaleGestureDetector needs to query the displaymetrics
for the width/height on each touch down as orientation
can change.

This should fix the problem where we can't pinch on the
top right corner when device is in landscape mode.
2010-01-20 23:06:43 -08:00
Grace Kloba
8f9fbb0c45 Fix the sloppy detection in the ScaleGestureDetector.
Fix http://b/issue?id=2385061
2010-01-20 17:35:50 -08:00
Adam Powell
380b525220 Edge of screen slop detection for ScaleGestureDetector. 2010-01-19 16:33:46 -08:00
Adam Powell
ae542ff055 TransformGestureDetector is now ScaleGestureDetector - scope reduced.
N1 screen can't reliably handle translation and scaling at the same time.
2010-01-13 17:08:31 -08:00
Adam Powell
8acdb201bd Added TransformGestureDetector (still in progress)
Modified VelocityTracker to track multiple pointers
Added TransformTest
2010-01-12 15:08:23 -08:00
Romain Guy
ecd80ee31c Fix invalidate code path (#2273209).
Cached views would, in some situations, not update if they contained an
animating child. This was caused by clearing the dirty cache flag too
early in View.buildDrawingCache().

Approved by Dr. No mcleron.

Change-Id: I8c5f2fc3e6605657e0da625d60d50b55bb133666
2009-12-04 10:21:55 -08:00
Mike Lockwood
435eb6464c Add WindowManagerPolicy.OFF_BECAUSE_OF_PROX_SENSOR to indicate screen was turned off by the proximity sensor.
Part of a fix for bug b/2300622 (Proximity sensor always blows up the lock screen while in call)

Change-Id: I9ef888638b19540a78a34507d52ff522f505102f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-12-03 08:56:53 -05:00
Joe Onorato
b71193bffc Fix 2283089 - ERD47B: Force Close of Launcher2 process when hitting Search button to invoke QSB
In this case, as opposed to what was happening in 1977685, the focused view wasn't the one that was
directly removed, it was a child of the removed view.
2009-11-24 18:34:42 -05:00
Dianne Hackborn
1d62ea9d8c Fix issue #2249821: Unable to start passion in safe mode
Holding down the trackball now works.

Also fix a little API check warning from Intent.

Change-Id: Icb1f901535cb521917bf7f847a93c4ff7861d20e
2009-11-18 11:42:32 -08:00
Marco Nelissen
bf6956b1d9 Add a way for wallpapers to know the delta between virtual screens. 2009-11-09 17:39:33 -08:00
Dianne Hackborn
badc47ecd1 Fix issue #2242440: Window screen brightness attribute is broken
Um okay, that was dumb.  And I guess this means it is time to make 6.xml.

Change-Id: Ic42763b1c8a13448cf6db20b4cd6daadc7786ac1
2009-11-08 17:37:50 -08:00
Romain Guy
1d5b3a631c Fix the build
Change-Id: Id7514858594772ab79c0f3db745b00f0bb59218b
2009-11-05 18:45:10 -08:00
Romain Guy
293451e4f0 Remove unused field and add new API to control the children drawing order.
Approved by: xav, hackbod, mcleron.

Change-Id: I3bbfb4f96e3c9adedbb68d78703059a2df1e2013
2009-11-04 16:57:07 -08:00
Romain Guy
732046f874 Unhide View.isOpaque().
Change-Id: I96444af2a7e66a330a2c4b3fa0a173ec5ab4ed40
2009-11-03 12:09:04 -08:00
Dianne Hackborn
7580493b01 Implement feature #2117336: Create event communication APIs for live wallpaper
Note: currently only implements an async version (no result), and not yet
actually tested.

Change-Id: Id47ed045a4b0eb309ea8c58daf41a0e03eff1d3a
2009-10-22 20:10:53 -07:00
Mike Lockwood
3d0ea72dd7 Add WindowManagerPolicy.allowKeyRepeat() method for disabling key repeats.
Part of a fix for bug b/2198537

Change-Id: I99dc64772fa7644b12432d5549603025196ea3e2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-21 23:08:13 -04:00
Jack Palevich
d443ba4534 Prevent transparent region from getting out of sync with Surface Flinger
The ViewRoot is responsible for calculating the current view's surface's
transparent region and reporting this to the window server, which in
turn notifies Surface Flinger.

To minimize cross-process traffic, ViewRoot keeps track of the
most recent transparent region that it has reported to the window
server, and only sends updates when the region shape changes.

ViewRoot is effectively shadowing the internal state of the window
server, and usually this works fine, because ViewRoot is usually the
only thing that changes this value.

But when the surface is recreated, the window server resets the
transparent region to empty. So in order to properly update the window
server we need to reset our copy of its state to empty too.

Fixes issue #2133090: GL Gears runs at half speed in some cases
2009-10-21 09:33:34 -07:00
Romain Guy
a62e4705d5 Fixes #2175599. Prevents an NPE when AttachInfo is null.
This bug was introduced by a change made to query the window's opacity.

Approved by mcleron.

Change-Id: I95319bde72b0faade095bbbbb317e84b9be8efa8
2009-10-08 10:48:54 -07:00
Dianne Hackborn
3d163f073f More fix #2163209: alarm clock rings but is hidden behind lock screen
There was another way we could ignore the application windows flags
while the lock screen was displayed.  This is the infrastructure to
deal with that.

Change-Id: Id8c9cb2f7081df6757ccb797a7cde618e82f7b38
2009-10-07 21:26:57 -07:00
Romain Guy
35b38cefcc Improve drawing cache speed by selecting the correct opacity and keeping a 32 bits
format when the window is 32 bits.

Change-Id: I46762def67fa7d6a331a75fa8660c6422394ccf2
2009-10-07 14:08:24 -07:00
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