Commit Graph

1483 Commits

Author SHA1 Message Date
satok
d9435bcecc am b4788fdb: Do not merge. Backport two fixes for InputMethethodFramework
* commit 'b4788fdbfdda97bd9cfd0e483276934114d9c438':
  Do not merge. Backport two fixes for InputMethethodFramework
2011-05-20 06:41:03 -07:00
satok
b4788fdbfd Do not merge. Backport two fixes for InputMethethodFramework
Bug: 3420384

backport cl1: Iaf293cf6c6fb35a994f344b0afc30e9f523032f4
backport cl2: I29d2555aeb7d0e51205d9f1fe0da708df0890942

Change-Id: Ia71ba27957fa818dc4ef8ff05b5fdb120b9650e0
2011-05-20 22:11:54 +09:00
Dianne Hackborn
c851ea5672 am 69cb8757: Add new "-swNNNdp" resource qualifier.
* commit '69cb87576ba163b61bb0e6477a3b7c57a9b11d40':
  Add new "-swNNNdp" resource qualifier.
2011-05-19 19:30:32 -07:00
Dianne Hackborn
69cb87576b Add new "-swNNNdp" resource qualifier.
Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
2011-05-19 18:23:29 -07:00
Dianne Hackborn
417448369c am 7916ac65: Add new command line option to change global screen size.
* commit '7916ac65dc492e4e1431879875c77d7121fbf82e':
  Add new command line option to change global screen size.
2011-05-16 21:21:24 -07:00
Dianne Hackborn
7916ac65dc Add new command line option to change global screen size.
For example:

adb shell am display-size 1024x600

Change-Id: I5df462acd3323bdaaaefa3126faea7dd8595b726
2011-05-16 20:55:41 -07:00
Dianne Hackborn
1d340a3c24 am 0eac0927: Merge "DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked." into honeycomb-mr2
* commit '0eac092766d7871b34927442ee0b6e27e7e1317b':
  DO NOT MERGE.  From main -- Start work on simulating landscape/portrait when orientation is locked.
2011-05-16 13:13:00 -07:00
Dianne Hackborn
68066c2f38 DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked.
Not yet working, so turned off.

Also fix a bug where the display size configuration became inconsistent
after a configuration change -- we now figure out everything about the
display size when computing a new configuration.

Change-Id: Id155f133c0bf108508a225ef64ed3ca398a90a58
2011-05-16 13:08:07 -07:00
Dianne Hackborn
fddd927fb7 am 9d0f2c6d: Merge "DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation." into honeycomb-mr2
* commit '9d0f2c6d970a1d2c7f9de5c9e89737d7772f95d3':
  DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.
2011-05-16 13:02:57 -07:00
Dianne Hackborn
29735689ce DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.
Change-Id: Ie271123271a662f3f753f381ce4c43ad7904dc4a
2011-05-16 12:57:38 -07:00
Dianne Hackborn
d90a2c4d44 am 1e662c32: Merge "DO NOT MERGE. Integrate from master: Rework display size access." into honeycomb-mr2
* commit '1e662c3294b740ff694ad98e4d9a366e1e4b5e62':
  DO NOT MERGE.  Integrate from master: Rework display size access.
2011-05-16 12:57:00 -07:00
Dianne Hackborn
ac8dea12c1 DO NOT MERGE. Integrate from master: Rework display size access.
Applications now get the display size from the window manager.  No
behavior should be changed yet, this is just prep for some real
changes.

Change-Id: I47bf8b55ecd4476c25ed6482494a7bcc5fae45d2
2011-05-16 11:58:27 -07:00
Dianne Hackborn
ed9321ab5d am f9dd34f4: DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
* commit 'f9dd34f4d3203fd50363b3b0247c5d0db6fe2c8f':
  DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
2011-05-13 18:39:01 -07:00
Dianne Hackborn
f9dd34f4d3 DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
And clean up some documentation.

Change-Id: I8f06e2fc3bb6c552581b64657e82ba690d524232
2011-05-13 18:31:04 -07:00
Dianne Hackborn
4907d1d5e2 am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2
* commit '0c6cbf410a642f6e9cea7cca0a6e53a4a3cdd324':
  Better compat mode part one: start scaling windows.
2011-05-09 17:08:40 -07:00
Dianne Hackborn
e2515eebf4 Better compat mode part one: start scaling windows.
First step of improving app screen size compatibility mode.  When
running in compat mode, an application's windows are scaled up on
the screen rather than being small with 1:1 pixels.

Currently we scale the application to fill the entire screen, so
don't use an even pixel scaling.  Though this may have some
negative impact on the appearance (it looks okay to me), it has a
big benefit of allowing us to now treat these apps as normal
full-screens apps and do the normal transition animations as you
move in and out and around in them.

This introduces fun stuff in the input system to take care of
modifying pointer coordinates to account for the app window
surface scaling.  The input dispatcher is told about the scale
that is being applied to each window and, when there is one,
adjusts pointer events appropriately as they are being sent
to the transport.

Also modified is CompatibilityInfo, which has been greatly
simplified to not be so insane and incomprehendible.  It is
now simple -- when constructed it determines if the given app
is compatible with the current screen size and density, and
that is that.

There are new APIs on ActivityManagerService to put applications
that we would traditionally consider compatible with larger screens
in compatibility mode.  This is the start of a facility to have
a UI affordance for a user to switch apps in and out of
compatibility.

To test switching of modes, there is a new variation of the "am"
command to do this: am screen-compat [on|off] [package]

This mode switching has the fundamentals of restarting activities
when it is changed, though the state still needs to be persisted
and the overall mode switch cleaned up.

For the few small apps I have tested, things mostly seem to be
working well.  I know of one problem with the text selection
handles being drawn at the wrong position because at some point
the window offset is being scaled incorrectly.  There are
probably other similar issues around the interaction between
two windows because the different window coordinate spaces are
done in a hacky way instead of being formally integrated into
the window manager layout process.

Change-Id: Ie038e3746b448135117bd860859d74e360938557
2011-05-09 17:03:24 -07:00
Adam Powell
ea775ca3ac am f8d1533b: Merge "Fix bug 4111271 and bug 4077526 - WebView touch event handling when WebCore is too slow" into honeycomb-mr1
* commit 'f8d1533b07b51935e295b2cf92e2ea2aa94b303f':
  Fix bug 4111271 and bug 4077526 - WebView touch event handling when WebCore is too slow
2011-03-17 01:38:15 -07:00
Adam Powell
d0197f3669 Fix bug 4111271 and bug 4077526 - WebView touch event handling when
WebCore is too slow

Make sure that we can recover properly from a bad gesture with missing
events that never come back from webcore. Lower timeout to 1 second.

Confirm movement on touch event enqueue so that we don't get phantom
taps or long presses when webcore is slow to respond.

Add sanity check in ScaleGestureDetector to end a gesture early on a
bad MotionEvent stream rather than throwing up.

Change-Id: I69690409d7edd6b4320dbcf3b052aba4023360fe
2011-03-17 01:32:17 -07:00
Brad Fitzpatrick
aaae0573bb am 403da3a7: am 8d25eab1: Merge "Releasing lock even if exception is thrown."
* commit '403da3a79af78920b33448bbc8d91c4b8aebf4a4':
  Releasing lock even if exception is thrown.
2011-03-15 12:05:40 -07:00
Brad Fitzpatrick
8d25eab105 Merge "Releasing lock even if exception is thrown." 2011-03-15 11:23:44 -07:00
Brad Fitzpatrick
8b5345fb36 Merge "Fixing self-assignment in copying code." 2011-03-15 11:18:18 -07:00
Romain Guy
ee7ace065f Merge "Fix rendering artifact in edge fades. Bug #4092053" into honeycomb-mr1 2011-03-14 18:16:39 -07:00
Romain Guy
7b5b6abf85 Fix rendering artifact in edge fades.
Bug #4092053

The problem always existed but was made visible by partial invalidation.
When saving a layer, the renderer would try to postpone glClear()
operations until the next drawing command. This however does not work
since the clip might have changed. The fix is rather simple and
simply gets rid of this "optimization" (that turned out to be
usless anyway given how View issues saveLayer() calls.)

This change also fixes an issue with gradients (color stops where
not properly computed when using a null stops array) and optimizes
display lists rendering (quickly rejects larger portions of the
tree to avoid executing unnecessary code.)

Change-Id: I0f5b5f6e1220d41a09cc2fa84c212b0b4afd9c46
2011-03-14 18:05:08 -07:00
Jim Miller
1b365921e8 Fix 3201849: Enable hardware acceleration in LockScreen WaveView [DO NOT MERGE]
Change-Id: I07bbed7843857158cd2c1ffd9b184bde7fd5860d
2011-03-10 17:20:21 -08:00
Jeff Brown
efd3266b71 Input improvements and bug fixes.
Associate each motion axis with the source from which it comes.
It is possible for multiple sources of the same device to define
the same axis.  This fixes new API that was introduced in MR1.
(Bug: 4066146)

Fixed a bug that might cause a segfault when using a trackball.

Only fade out the mouse pointer when touching the touch screen,
ignore other touch pads.

Changed the plural "sources" to "source" in several places in
the InputReader where we intend to refer to a particular source
rather than to a combination of sources.

Improved the batching code to support batching events from different
sources of the same device in parallel.  (Bug: 3391564)

Change-Id: I0189e18e464338f126f7bf94370b928e1b1695f2
2011-03-09 18:30:28 -08:00
Jeff Brown
9626b14a28 Fix off by one errors in touch motion ranges. (DO NOT MERGE)
Report inclusive minimum and maximum ranges for all
axes including X and Y.

Set mouse pointer bounds to 0..width-1, 0..height-1.

Rotate touch and mouse positions more carefully, paying attention
to the maximum bounds when calculating the complement of an axis.

Simplified the InputReader somewhat and removed support for a
couple of poorly defined input device configuration parameters.
We now assume that the touch device provides useful absolute axis
ranges for the X and Y axes since the alternative does not actually
make sense.

Bug: 3413541
Change-Id: I121d28a125c4f9618cb283dc460d33ff1a907023
2011-03-09 02:46:45 -08:00
Romain Guy
e294d41593 Prevents NPE when a View was detached
Bug #4068284

Change-Id: Ied1c9b8d32a3e9957c6b165642ba40bbdaf35d53
2011-03-08 17:35:10 -08:00
Romain Guy
2243e555b0 Correctly handle opaque fading views
Bug #3475554

Change-Id: Ia4915ada67046486103dfc6f08e4dac8564f85dd
2011-03-08 11:46:28 -08:00
Romain Guy
bc8a8e8c92 Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1 2011-03-07 22:40:27 -08:00
Dianne Hackborn
37e792d53d Merge "Fix issue #3515088: Don't be so aggressive trying to reclaim memory" into honeycomb-mr1 2011-03-07 18:20:23 -08:00
Chet Haase
4bd6ccd251 Merge "Restore save/restore calls removed recently" into honeycomb-mr1 2011-03-07 18:12:34 -08:00
Romain Guy
cabfcc1364 Add support for partial invalidates in WebView
Bug #3461349

This change also fixes two bugs that prevented partial invalidates
from working with other views. Both bugs were in our EGL implementation:
they were preventing the caller from comparing the current context/surface
with another context/surface. This was causing HardwareRenderer to always
redraw the entire screen.

Change-Id: I33e096b304d4a0b7e6c8f92930f71d2ece9bebf5
2011-03-07 18:09:03 -08:00
Adam Powell
ad542efb8a Merge "Fix bug 3506292 - Add guards against bad event streams to ScaleGestureDetector" into honeycomb-mr1 2011-03-07 18:08:11 -08:00
Chet Haase
88172fe49c Restore save/restore calls removed recently
Calls thought to be duplicates were removed, which caused rendering problems
for Browser as well as crashes in the widget list and music.

Change-Id: I6364aaa362619ea3dd368990304d61d84bbe2a90
2011-03-07 17:36:33 -08:00
Adam Powell
0818020d7c Fix bug 3506292 - Add guards against bad event streams to ScaleGestureDetector
Change-Id: Id38ebb368168b7157369964e39948036405427b1
2011-03-07 16:48:29 -08:00
Adam Powell
a46c1df226 Merge "Fix bug 4021346 - crash while navigating" into honeycomb-mr1 2011-03-07 16:25:20 -08:00
Adam Powell
3ba8f5d675 Fix bug 4021346 - crash while navigating
Change-Id: Iff60c5f4214c56597f2a1b393982d023866e490e
2011-03-07 15:36:33 -08:00
Dianne Hackborn
db773c5572 Fix issue #3515088: Don't be so aggressive trying to reclaim memory
Change-Id: I8184306fa8c27a41b8bcfcad8d96985be8f0c9aa
2011-03-07 11:57:33 -08:00
Jeff Brown
f0210c3621 Merge "Joystick tweaks. (DO NOT MERGE)" into honeycomb-mr1 2011-03-07 11:47:58 -08:00
Jeff Brown
8529745b27 Joystick tweaks. (DO NOT MERGE)
Ensure that the joystick can always reach -1.0, 0.0 and 1.0 positions
even when noise filtering is applied.  (Bug: 3514510)

Add support for a few more standard axes.

Add additional mapping modes for axes.
Some axes are inverted from standard interpretation
or are actually intended to be split into two distict axes
such as left/right trigger controls or accelerator/brake.

Add key layout file for a G25 racing wheel and XBox 360 controller
to tweak behavior.  They work fine without them but the axis mappings
are not ideal.

Change-Id: I0fddd90309af4dc14d35f34fe99ed6e521c0b7c7
2011-03-04 19:12:41 -08:00
Romain Guy
d6cf477e5d Remove many unnecessary save/restore calls.
This should help complex applications by reducing the amount of
unnecessary work performed by the renderer.

Change-Id: I9bdebb1a35cdbcc3d926b7485f19d9e88a019040
2011-03-04 17:10:54 -08:00
Dianne Hackborn
63e1cea248 Merge "Fix issue #3485923: Gmail crash" 2011-03-02 22:44:55 -08:00
Dianne Hackborn
6482517101 Fix issue #3485923: Gmail crash
Allow application to try to recover if a surface OOM error
happens on the client side.

Change-Id: I0308bd99647a35e4bcac448340b7fc6330a828f6
2011-03-02 22:38:58 -08:00
Jeff Brown
a454767b09 Get key repeat timeout and delay from ViewConfiguration.
Replaces previously hardcoded values.  This ensures that key repeat
takes the accessibility long press timeout setting into account.

Unfortunately the system must be rebooted for the change to take
effect.  We will fix that later.

Change-Id: I3ab70bb037331620b7e532170c1727287b5c6f91
2011-03-02 21:38:11 -08:00
Jeff Brown
55acdf7dcd Merge "Wake screen from external HID peripherals." 2011-03-02 19:59:07 -08:00
Jeff Brown
56194ebec6 Wake screen from external HID peripherals.
Added some plumbing to enable the policy to intercept motion
events when the screen is off to handle wakeup if needed.

Added a basic concept of an external device to limit the scope
of the wakeup policy to external devices only.  The wakeup policy
for internal devices should be based on explicit rules such as
policy flags in key layout files.

Moved isTouchEvent to native.

Ensure the dispatcher sends the right event type to userActivity
for non-touch pointer events like HOVER_MOVE and SCROLL.

Bug: 3193114
Change-Id: I15dbd48a16810dfaf226ff7ad117d46908ca4f86
2011-03-02 19:57:07 -08:00
Svetoslav Ganov
2da0c5826d Merge "Add system wide management of core settings" 2011-03-02 19:17:06 -08:00
Chet Haase
9402a667e9 Merge "Cancel LayoutTransition animations selectively" 2011-03-02 18:39:11 -08:00
Chet Haase
e8e45d32fd Cancel LayoutTransition animations selectively
A recent change to LayoutTransition caused new layout transitions to
cancel any previously-running animations. This was to handle situations
where a transition adding an item needed transitions removing items to
finish their job first (and vice versa). But canceling *all* running
animations from transitions caused some artifacts, like making the status
bar icons blink or fade in, depending on which one was started last.

The new approach is to cancel just the ones we care about: adding animations
cancel removing animations, and vice versa. Either one cancels 'changing'
animations, which prevents objects from being animated to the old end
locations, since the new transition will animate them to the correct new
end locations.

Change-Id: I68ac351b05365cace6639b6618422395c35c83fd
2011-03-02 18:37:31 -08:00
Svetoslav Ganov
54d068ec6a Add system wide management of core settings
bug:3505060

Since we want to have some settings that are used very frequently
by many applications (long-press timeout is one example) these should
be managed efficiently to reduce lookups from different processes
because in the case of a cache miss a disk I/O is performed. Now
the system manages such core settings and propagates them to the
application processes.

Change-Id: Ie793211baf8770f2181ac8ba9d7c2609dfaa32a7
2011-03-02 18:22:49 -08:00