Commit Graph

1491 Commits

Author SHA1 Message Date
Dianne Hackborn
b68c768ddb am 41744836: am 7916ac65: Add new command line option to change global screen size.
* commit '417448369c170a34d76c477aa19c5293e3caa1df':
  Add new command line option to change global screen size.
2011-05-16 21:29:32 -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
60e13114eb am 1d340a3c: am 0eac0927: Merge "DO NOT MERGE. From main -- Start work on simulating landscape/portrait when orientation is locked." into honeycomb-mr2
* commit '1d340a3c24913d8750900355cd92ef5742eea11f':
  DO NOT MERGE.  From main -- Start work on simulating landscape/portrait when orientation is locked.
2011-05-16 13:16:45 -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
63446167b9 am fddd927f: am 9d0f2c6d: Merge "DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation." into honeycomb-mr2
* commit 'fddd927fb78bb206287203f4f447a416b525115a':
  DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.
2011-05-16 13:04:49 -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
f97ed77197 am d90a2c4d: am 1e662c32: Merge "DO NOT MERGE. Integrate from master: Rework display size access." into honeycomb-mr2
* commit 'd90a2c4d4463085155444efb07eba2d6579b444a':
  DO NOT MERGE.  Integrate from master: Rework display size access.
2011-05-16 13:01:38 -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
24df0757f8 am ed9321ab: am f9dd34f4: DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
* commit 'ed9321ab5d282e40e7c5fa9caf0eb9d05646f2d0':
  DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.
2011-05-13 18:41:04 -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
05be6d6fe0 am 4907d1d5: am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2
* commit '4907d1d5e2c7d244b07579b8c52153df69754e85':
  Better compat mode part one: start scaling windows.
2011-05-09 17:10:34 -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
Conley Owens
a3dcd0a3f1 Merged "Adjust mBiggerTouchSlopSquare to the suitable value"
Conflicts:
	core/java/android/view/ViewConfiguration.java

Change-Id: I74de006dbb19fd878591bc90955a1c6e74aa084e
2011-04-29 17:49:06 -07:00
Conley Owens
eb8171bcff Merge "Adjust mBiggerTouchSlopSquare to the suitable value" 2011-04-29 10:01:23 -07:00
Conley Owens
a60594cb1c Fixed bad merge in ViewRoot.java.
Change-Id: If76a320da3ecf0d0e9f366eb7157b195274a9e5f
2011-04-28 11:06:34 -07:00
Conley Owens
c4791bd65c Merge commit '5e3562a5' into m
Conflicts:
	core/java/android/view/ViewRoot.java

Change-Id: Idd1eb8309e169eae2de3838f7969606df8097b87
2011-04-27 16:58:24 -07:00
Martin Wallgren
505bd0d60d onDetachedFromWindow is called before onAttachedToWindow
Multiple threads are adding messages about the current
state of the views to the main looper. This can cause
onDetachedFromWindow to be posted on the looper before
onAttachedToWindow. This change will make sure to only
dispatch onDetachedFromWindow if we have previously
dispatched onAttachToWindow.

Change-Id: Ibc7cbcafb098bc000d2ef5480d2110d3fff4d55a
2011-04-13 15:03:35 +02: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