Commit Graph

1510 Commits

Author SHA1 Message Date
Dianne Hackborn
a1396dfe7a am 02140891: Merge "Work on issue #4518815: Compatibility mode introduces compatibility regression..." into honeycomb-mr2
* commit '021408910af170268cb486910d4dd5a7d838c2bb':
  Work on issue #4518815: Compatibility mode introduces compatibility regression...
2011-06-08 20:02:43 -07:00
Dianne Hackborn
5fd2169eab Work on issue #4518815: Compatibility mode introduces compatibility regression...
...for Market App iRunner

There were a lot of serious issues with how we updated (or often didn't update)
the display and resource state when switching compatibility mode in conjunction
with restarting and updating application components.  This addresses everything
I could find.

Unfortunately it does *not* fix this particular app.  I am starting to think this
is just an issue in the app.  This change does fix a number of other problems
I could repro, such as switching the compatibility mode of an IME.

Also a few changes here and there to get rid of $#*&^!! debug logs.

Change-Id: Ib15572eac9ec93b4b9966ddcbbc830ce9dec1317
2011-06-08 18:45:43 -07:00
Adam Powell
7ed8ff18ce am 68b81434: Merge "Fix bug 4533120 - rough handling of invalid event streams in ScaleGestureDetector" into honeycomb-mr2
* commit '68b81434963db90e0d5b14710e4edd86084ede3c':
  Fix bug 4533120 - rough handling of invalid event streams in ScaleGestureDetector
2011-06-07 16:22:32 -07:00
Adam Powell
982cb98393 Fix bug 4533120 - rough handling of invalid event streams in
ScaleGestureDetector

Make ScaleGestureDetector a bit more tolerant of bogus event streams.

Change-Id: I28a8b1ea494b7f1ca9d4c4623b95aee38f213369
2011-06-07 16:13:51 -07:00
Jeff Brown
b353614572 am ed48fa89: Merge "Touch pad improvements. Bug: 4124987" into honeycomb-mr2
* commit 'ed48fa89a8e31b04681347a9235c2a566e7dbb8e':
  Touch pad improvements. Bug: 4124987
2011-06-06 20:32:25 -07:00
Jeff Brown
bb3fcba0ca Touch pad improvements.
Bug: 4124987

Only show one spot per touch point instead of one spot per
finger for multitouch gestures.

Tweaked the pointer acceleration curves.

Dissociated the hover/tap timeouts from the "tap" timeout
since they mean very different things.

Change-Id: I7c2cbd30feeb65ebc12f6c7e33a67dc9a9f59d4c
2011-06-06 19:23:05 -07:00
satok
e10de072d5 am be96408b: (Do not merge) Backport a fix for InputMethodManager.java
* commit 'be96408b801666bf196adb0eabff4839e51e63ed':
  (Do not merge) Backport a fix for InputMethodManager.java
2011-06-02 23:22:35 -07:00
satok
be96408b80 (Do not merge) Backport a fix for InputMethodManager.java
Bug: 4517456

Original CL: Icec380f3ca05cf798cc4b82155d0cecf178633a5

Change-Id: I579fb1ee1b53d312f7cfc5c689d4500cb875352e
2011-06-03 14:48:21 +09:00
Jeff Brown
c881276160 am e1718de6: Merge "Add a preference panel for mouse speed." into honeycomb-mr2
* commit 'e1718de61c20c8d401633f83589f18d2c0c652db':
  Add a preference panel for mouse speed.
2011-06-02 17:28:07 -07:00
Jeff Brown
1a84fd1fb7 Add a preference panel for mouse speed.
Bug: 4124987
Change-Id: I3ce175d268a1d043cf5878481261b1049a15a149
2011-06-02 15:39:21 -07:00
Dianne Hackborn
13e2bef4f6 am 80cf4e79: Merge "Fix issue #4500511: Holo effect background doesn\'t reach top of screen anymore" into honeycomb-mr2
* commit '80cf4e79d2acd1f94b6a9866255459c6ab2760be':
  Fix issue #4500511: Holo effect background doesn't reach top of screen anymore
2011-06-01 12:39:36 -07:00
Dianne Hackborn
a239c84525 Fix issue #4500511: Holo effect background doesn't reach top of screen anymore
Change-Id: Iebefe924e71206f3e6388eaee64f7b1416bc3239
2011-06-01 12:30:38 -07:00
Dianne Hackborn
a4cfcf10cc am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2
* commit '75d6b3c2a24224e41e87685db0d9d0b8abea091d':
  Fix issue #4502672: Wrong xml resources used for homescreen widgets.
2011-05-31 18:08:27 -07:00
Dianne Hackborn
2f0b17573d Fix issue #4502672: Wrong xml resources used for homescreen widgets.
There was a race in the system process between applying the initial
configuration and executing code in higher-level system services
like the app widget service that relies on the config.  For some
reason it starting showing up more after my code changes; it should
now be completely fixed.

Also fix the activity starting window to run in compatibility mode
if its application is going to be in compatibility mode.

And some various cleanup and small fixes.

Change-Id: I0566933bf1bbb4259c1d99a60c0a3c19af1542e5
2011-05-31 18:04:14 -07:00
Scott Main
101139cc8f am c3123961: DO NOT MERGE cherry pick Change-Id: I67ef29f8ccc7b4a754ebb24efd96e9821e3d8662 docs: add accepted values for setting status bar visibility
* commit 'c31239616cca417e71acb98813df7eda645835df':
  DO NOT MERGE cherry pick Change-Id: I67ef29f8ccc7b4a754ebb24efd96e9821e3d8662 docs: add accepted values for setting status bar visibility
2011-05-26 13:34:40 -07:00
Dianne Hackborn
d5238cc1ab am 7a09f72b: Merge "Rework how we decide whether to use system or status bar." into honeycomb-mr2
* commit '7a09f72b8850ec22e4ca7fd50aba20ead7666f67':
  Rework how we decide whether to use system or status bar.
2011-05-26 13:34:33 -07:00
Scott Main
c31239616c DO NOT MERGE
cherry pick Change-Id: I67ef29f8ccc7b4a754ebb24efd96e9821e3d8662
docs: add accepted values for setting status bar visibility

Change-Id: I255dcd62b71c1b4ca40187b395abce8d6836c249
2011-05-26 12:44:08 -07:00
Dianne Hackborn
81e56d535c Rework how we decide whether to use system or status bar.
The PhoneWindowManager is now responsible for determing this,
since it needs to do this before we can generate the configuration
since we need to take into account the system bar size we will use.

Also the Display should now report the screen height without
including the system bar.

Change-Id: I82dfcc5e327e4d13d82c373c6c870f557a99b757
2011-05-26 10:46:19 -07:00
Jeff Brown
8148cc3e47 am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
* commit '86ea1f5f521981d075aef56f11693e4f3bc32fdb':
  Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
2011-05-25 14:43:34 -07:00
Jeff Brown
c5c7e047d1 am d0132e8e: Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)
* commit 'd0132e8e187ebf69bf4d2d6d0ef0027ff3f7a727':
  Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)
2011-05-25 14:43:16 -07:00
Jeff Brown
86ea1f5f52 Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
Added a new PointerIcon API (hidden for now) for loading
pointer icons.

Fixed a starvation problem in the native Looper's sendMessage
implementation which caused new messages to be posted ahead
of old messages sent with sendMessageDelayed.

Redesigned the touch pad gestures to be defined in terms of
more fluid finger / spot movements.  The objective is to reinforce
the natural mapping between fingers and spots which means there
must not be any discontinuities in spot motion relative to
the fingers.

Removed the SpotController stub and folded its responsibilities
into PointerController.

Change-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e
2011-05-25 14:37:17 -07:00
Jeff Brown
d0132e8e18 Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)
Alt-TAB should have different semantics from the APP_SWITCH key
or long-press on HOME.  Accordingly, remove the fallback action
for Alt-TAB and initiate the task switching behavior directly
in the policy.

Modified RecentApplicationsDialog to be more precise about the
initial modifiers that it considers to be holding the dialog.

The dialog is now dismissed by a second press on the APP_SWITCH
key or by a second long press on HOME.

Change-Id: I07e72dc4e1f3cd8edaf357c1d49e79f60d6d1604
2011-05-25 14:37:15 -07:00
Jeff Brown
16330e2496 am 94e838f6: Merge "Improve VelocityTracker numerical stability. (DO NOT MERGE)" into honeycomb-mr2
* commit '94e838f6e113f8cad30086a18f68da99976101d0':
  Improve VelocityTracker numerical stability. (DO NOT MERGE)
2011-05-25 14:34:57 -07:00
Jeff Brown
94e838f6e1 Merge "Improve VelocityTracker numerical stability. (DO NOT MERGE)" into honeycomb-mr2 2011-05-25 14:31:44 -07:00
Dianne Hackborn
00b3a5c65e am c404e9b2: Merge "More compatibility mode improvements." into honeycomb-mr2
* commit 'c404e9b20165f634904d1489216d17d8e09fe696':
  More compatibility mode improvements.
2011-05-24 19:10:53 -07:00
Dianne Hackborn
5be8de3420 More compatibility mode improvements.
We now correctly adjust display metrics, fixing for example issues
seen in Barcode Scanner.  In addition the decision about when to use
compatibility mode has a bug fixed where certain apps would not go
out of compatibility mode even though they should be able to.

Change-Id: I5971206323df0f11ce653d1c790c700f457f0582
2011-05-24 18:13:25 -07:00
Jeff Brown
5b2b4d9c0a Improve VelocityTracker numerical stability. (DO NOT MERGE)
Replaced VelocityTracker with a faster and more accurate
native implementation.  This avoids the duplicate maintenance
overhead of having two implementations.

The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation.  This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.

The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.

The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces.  The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.

Bug: 4086785
Change-Id: I95054102397c4b6a9076dc6a0fc841b4beec7920
2011-05-23 17:19:59 -07:00
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