4929 Commits

Author SHA1 Message Date
Kenny Root
b7db2726e9 Make OBB results a one-way call
OBB result back to an application needs to be a one-way binder call.

Bug: 3353699
Change-Id: I0e625914d18a001c2fa9d764ea6463f34cf96743
2011-01-25 17:29:59 -08:00
Jeff Brown
58a2da843f Fix crashes caused by some input devices.
The touch screen sometimes reports more than 10 pointers even though that's
all we asked for.  When this happens, we start dropping events with more
than 10 pointers.  This confuses applications and causes them to crash.
Raised the limit to 16 pointers.
Bug: 3331247

The default behavior was to identify all touch devices as touch screens.
External devices that are plugged in are more likely to be touch pads
not attached to a screen.  Changed the default to be a touch pad
and renamed some internal constants to avoid confusion.

A certain mouse happens to also behave like a touch pad.  That caused
problems because we would see multiple concurrent traces of motion events
coming from the same input device so we would batch them up.
Added code to ensure that we don't batch events unless they come from
the same *source* in addition to coming from the same *device*.

Due to batching or misbehaving drivers, it's possible for the set of
pointer ids to be different from what we expect when it comes time to
split motion events across windows.  As a result, we can generate motion
events with 0 pointers.  When we try to deliver those events, we cause
an error in the InputTransport so we tear down the InputChannel and kill
the application.
Added code to check out assumption about pointer ids and drop the
event gracefully instead.

Patched up the tests to take into account the change in default behavior
for identifying touch screens and touch pads.

Change-Id: Ic364bd4cb4cc6335d4a1213a26d6bdadc7e33505
2011-01-25 16:02:22 -08:00
Mathias Agopian
df8368925a am 239fd805: Merge "fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)" into gingerbread
* commit '239fd805ef7c0e4116b0a89e20caaf287e91f017':
  fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)
2011-01-25 14:46:40 -08:00
Mathias Agopian
af4fa5d83d am 1955a5c9: Merge "partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)" into gingerbread
* commit '1955a5c9da421dc89bb1a1dd3d3193159192cde9':
  partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)
2011-01-25 14:46:35 -08:00
Mathias Agopian
6b72702f30 am d0441f92: Merge "fix a small bug that caused screenshot to show garbage in some cases (DO NOT MERGE)" into gingerbread
* commit 'd0441f921b2b1879fb44041f521d9bfaa5a547d0':
  fix a small bug that caused screenshot to show garbage in some cases (DO NOT MERGE)
2011-01-25 14:46:31 -08:00
Mathias Agopian
2d665dd37a am 043a3cdd: Merge "workaround [3201922] display not on: log full of gralloc errors (DO NOT MERGE)" into gingerbread
* commit '043a3cddf67e2baf38711bcb125084599f8f9802':
  workaround [3201922] display not on: log full of gralloc errors (DO NOT MERGE)
2011-01-25 14:46:27 -08:00
Mathias Agopian
88bccab35c am d3fcd0a1: Merge "minor clean-up. SurfaceFlinger doesn\'t need libpixelflinger.so. (DO NOT MERGE)" into gingerbread
* commit 'd3fcd0a1c923498921107bb44fbc8b24582a170a':
  minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so. (DO NOT MERGE)
2011-01-25 14:46:22 -08:00
Mathias Agopian
21956040a7 fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)
Generally we never want to lock a buffer for write access if it is at
the "head" on the surfaceflinger side. The only exception (1) is when
the buffer is not currently in use AND there is at least one queued
buffer -- in which case, SurfaceFlinger will never use said buffer
anymore, because on the next composition around, it will be able to
retire the first queued buffer.

The logic above relies on SurfaceFlinger always retiring
and locking a buffer before composition -- unfortunately this
didn't happen during a screenshot.

This could leave us in a situation where a buffer is locked by the
application for write, and used by SurfaceFlinger for texturing,
causing a hang.

Here, we fix this issue by never assuming the exception (1), it was
intended as an optimization allowing ANativeWindow::lockBuffer() to
return sooner and was justified when most of SF composition was
done in software. The actual buffer locking is now ensured by
gralloc. We could have handled screenshots in a similar way to
a regular composition, but it could have caused glitches on screen,
essentially, taking a screenshot could cause to skip a frame.

now that we removed the notion of a "inUse" buffer in surfaceflinger
a lot of code can be simplified / removed.

noteworthy, the whole concept of "unlockClient" wrt. "compositionComplete"
is also gone.
2011-01-25 14:19:13 -08:00
Mathias Agopian
68d3478860 partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)
We used to guarantee that a layer in SurfaceFlinger would never be
destroyed before all references (to its ISurface) on the client
side would be released. At some point, this guarantee got
relaxed to allow to free gralloc resources sooner. This last
change was incorrect, because:
- in implementations with reference-counting the gralloc resources
wouldn't be released anyways, until all the mapping were gone
- in implementations without ref counting, the client side
would most likely crash or do something bad
- it also caused the SharedBufferStack slot to be reallocated
to another surface, which could be problematic if the client
continued to use the surface after the window manager destroyed it.

So, we essentially reinstate the guarantee that layers won't be
destroyed until after all references to their ISurface are
released.

NOTE: This doesn't entirely fix 3306150 because there is another
problem there where the Browser continues to use a surface after it
has been destroyed.

also improve SurfaceFlinger 'dumpsys' log

list the purgatory, which shows windows that have been closed,
but for which the client still has references.
2011-01-25 14:19:13 -08:00
Mathias Agopian
8aa11d82f3 fix a small bug that caused screenshot to show garbage in some cases (DO NOT MERGE)
we were not clearing the screen entirely, which caused garbage when
the screen wasn't entirely covered by windows.

Change-Id: Ia7aa13c36a8a314e0e8427d419b16b9aa2165ddf
2011-01-25 14:18:58 -08:00
Mathias Agopian
84c6f5a44c workaround [3201922] display not on: log full of gralloc errors (DO NOT MERGE)
we make sure to call compositionComplete after everytime we do
composition with the GPU (even for the screenshot case), which is
where the buffer locks are released.

Change-Id: I450430d1e4d1ee9ce1023970642378c42cdcfa4c
2011-01-25 14:18:29 -08:00
Mathias Agopian
728d849fc9 minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so. (DO NOT MERGE)
Change-Id: I1ddbbbec4fa5b2521ef3787bc28efe1bc90d0060
2011-01-25 14:18:15 -08:00
Robert Greenwalt
678c6a358d am d14239a2: Merge "Fix tethering when switching default connection" into honeycomb
* commit 'd14239a2fb12d775f7b2345286d36ac02234e0a7':
  Fix tethering when switching default connection
2011-01-25 10:30:36 -08:00
Robert Greenwalt
d14239a2fb Merge "Fix tethering when switching default connection" into honeycomb 2011-01-25 10:27:51 -08:00
satok
6ee3bcf6c6 am 3a92c5fd: Merge "Fix the return value of switch to last ime." into honeycomb
* commit '3a92c5fd3262236e0c6969591da7f6cb50dbddfc':
  Fix the return value of switch to last ime.
2011-01-25 08:02:42 -08:00
satok
c445bcd0bc Fix the return value of switch to last ime.
Change-Id: I5fe8cc696433a7ee72973d16d8f121d3362ab0e0
2011-01-26 00:49:51 +09:00
Dianne Hackborn
98d169eacd am 5d9d03a0: Maybe fix issue #3093599: java.lang.IndexOutOfBoundsException...
* commit '5d9d03a0234faa3cffd11502f973057045cafe82':
  Maybe fix issue #3093599: java.lang.IndexOutOfBoundsException...
2011-01-24 22:12:36 -08:00
Dianne Hackborn
5d9d03a023 Maybe fix issue #3093599: java.lang.IndexOutOfBoundsException...
...Invalid index 0, size is 0 at
android.app.ActivityThread.performPauseActivity(ActivityThread.java:2326)

It looks like if an arrow key is dispatched between the time the
list view is told its data set has changed and it does the resulting
layout pass, we could try to move the position to a now invalid
index.  This may prevent that from happening.

Also put in a better error message if saving state of a fragment
whose target is no longer in the fragment manager.

And fix a bug in PackageManager where we could return a null from
queryIntentActivities().

And add a new API to find out whether a fragment is being removed,
to help fix issue #3306021: NPE at
android.app.AlertDialog.getDefaultDialogTheme(AlertDialog.java)

Next, for new HC apps we can delay committing data to
storage until the activity is stopped.

Finally, use the new multi-threaded AyncTask executor in a few
places, so we don't have worked blocked by long-running tasks from
the application.

Change-Id: I27b2aafedf2e1bf3a2316309889613fa539760f3
2011-01-24 21:23:03 -08:00
Mathias Agopian
977553e4d4 am 34edd5b2: Merge "tone down the log spew regarding taking screenshots." into honeycomb
* commit '34edd5b2678332e23bb78c59d4720c5b7b0e842e':
  tone down the log spew regarding taking screenshots.
2011-01-24 19:49:14 -08:00
Mathias Agopian
3431f47b47 tone down the log spew regarding taking screenshots.
Change-Id: I673806bda23eba6aab25f7505b7e0170afc9920b
2011-01-24 18:13:54 -08:00
Jeff Brown
747aee5ab9 am 8bb7e488: Merge "Fix regression setting input windows." into honeycomb
* commit '8bb7e488e2564b75d8d920850891675090debcca':
  Fix regression setting input windows.
2011-01-24 17:00:28 -08:00
Jeff Brown
2e44b0788f Fix regression setting input windows.
Change-Id: I24d58a02f69ae40f03b133d487354a883585e93e
2011-01-24 16:44:18 -08:00
Dianne Hackborn
81ac92df33 am 6d92cde2: am 35f4d32d: Merge "frameworks/base: Track owner in appropriate owners list of Uri"
* commit '6d92cde287b6399d5c90f3eaccb73602d6d51313':
  frameworks/base: Track owner in appropriate owners list of Uri
2011-01-24 14:34:46 -08:00
satok
57ffc00239 Add a way that subtype will be excluded from a last input method
Bug: 3382702

- Added SUBTYPE_EXTRAVALUE_EXCLUDE_FROM_LAST_IME and if subtype has this extra value,
It will be excluded from a last input method which will be called from switchToLastInputMethod

Change-Id: I03ae10e07f978dcc3a83dd77b10613048dce7f22
2011-01-25 00:52:53 +09:00
Joe Onorato
4c541b1303 Merge "visibility ("lights out") API." into honeycomb 2011-01-23 19:26:13 -08:00
Joe Onorato
664644d9e0 visibility ("lights out") API.
1. Views may setSystemUiVisibility() to recommend that
the system chrome (status bar or other UI) show or hide
itself.  (This functionality was previously available only
via the FLAG_FULLSCREEN window flag for some SystemUI
implementations.)

2. Views may register a OnSystemUiVisibilityChangedListener
on a view, and find out when the system UI actually
appears or disappears, allowing apps to coordinate the
appearance of their own UI if desired.

Bug: 3241144
Change-Id: Ia1758d94099182d49a1e3688ea2738ae4995b829
2011-01-23 19:22:52 -08:00
Dianne Hackborn
89ba6750e5 Fix issue #3215261: NPE in WiFi Settings
And also fix #3343369: EGL_BAD_DISPLAY and/or broadcast intent
TIME_SET before boot completion

And a few more tweaks to animations to keep the wallpaper displayed
when needed.

And make more use of the drag and drop "rotation disabled" thing to
also use it while animating the screen rotation, since if we try to
start a new rotation while doing the animation we end up with a mess.

Change-Id: I373af305a6e23a92835abed96229a83e173f67ce
2011-01-23 17:35:08 -08:00
Robert Greenwalt
05d8936f27 Fix tethering when switching default connection
If the default connection is suitable use that rather than a random interface.
This permits us to deterministically switch back to wifi after hanging out on
DUN APN.

bug:3374236
Change-Id: Iee5137b9f09c358f262e7a62f20282e79f7d889f
2011-01-23 16:04:05 -08:00
Jeff Brown
c9ce1f24df Merge "Fix spurious resizes during rotation animation." into honeycomb 2011-01-23 13:39:10 -08:00
Jeff Brown
fbae722d2a Fix spurious resizes during rotation animation.
Fixed a bug in WindowManagerService where it would set mSurfaceResized
to true even if the surface was just moved and not resized.  As a result,
we would send dozens of spurious resize messages to all applications
during orientation changes since the rotation animation changes the
positions of surfaces as they swing into place.  Among other things,
the spurious resizes caused the wallpaper to be redrawn dozens of time.

Change-Id: I2be7278c0d6a00aaef665a65e268d8da1771e51f
2011-01-23 13:07:25 -08:00
Dianne Hackborn
ff801ec713 Fix issue #3302006: Cannot see the dialog lunched from a transparent activity.
The activity manager was not performing the layout pass on the new window,
because its app token was still hidden, because the activity manager / window
manager were still waiting for it to be ready to show.

Just ignore whether the app token is hidden for this case.

Also fixes some problems with animations, and tweaks the ViewConfiguration
values for xlarge screens.

Change-Id: Icbe9c77ba8127d1e02df2d6f27b8e86ec842e50a
2011-01-22 18:13:13 -08:00
Dianne Hackborn
6d92cde287 am 35f4d32d: Merge "frameworks/base: Track owner in appropriate owners list of Uri"
* commit '35f4d32dc2f0c383323e780ecc7e2764704c5d2c':
  frameworks/base: Track owner in appropriate owners list of Uri
2011-01-22 11:50:41 -08:00
Dianne Hackborn
5503d803ec Merge "Fix issue #3377999: Activities need to be stopped when sleeping" into honeycomb 2011-01-22 11:38:48 -08:00
Vairavan Srinivasan
91c12c27ef frameworks/base: Track owner in appropriate owners list of Uri
The owner isn't kept track it URI's writeOwners when
grantUriPermissionUncheckedLocked is invoked to provide both
read and write access to the URI. Fix is to check for both
read and write permissions and add owner to appropriate lists.

Change-Id: Id23688b96aefeb0a4911ee52ad47124bc5904fa0
2011-01-21 18:26:06 -08:00
Jeff Brown
75a0e44831 Merge "Optimize call to drawBitmap during screen rotation." into honeycomb 2011-01-21 15:29:46 -08:00
Jeff Brown
cab114906d Merge "Reduce number of calls to updateInputWindows by 60%." into honeycomb 2011-01-21 15:29:39 -08:00
Jeff Brown
8db9ac4b7d Optimize call to drawBitmap during screen rotation.
Using SRC mode reduces drawBitmap time from 50ms to 15ms.

Change-Id: Ibde82f358d92bd330b8c78c9db1ded6a0b4ba135
2011-01-21 14:39:52 -08:00
Jeff Brown
3a22cd90bc Reduce number of calls to updateInputWindows by 60%.
Change-Id: Ida9069dd58be2070f3c9d312aa9d868bd98eb8e2
2011-01-21 14:09:43 -08:00
Dianne Hackborn
4eba96bb31 Fix issue #3377999: Activities need to be stopped when sleeping
This is a band-aid over the existing kludgy stopping mechanism
where the semantics of stop are different in the activity manager
than in the clients.

This change is intended to be as unobtrusive as possible, only
impacting the sleep case.  I have a different change that
completely reworks how we stop activities to simply this all
a lot by unifying the semantics between the server and client.
However, it is too late in HC for such an extensive change.  Later
I'll revert this one and put in the better solution.

Change-Id: Id77f2db1ec83469cdd888acb8fbc4679daa7766e
2011-01-21 13:42:26 -08:00
Jason parks
0512d080a5 Merge "Add and enforce the permission for encrypting/decrypting." into honeycomb 2011-01-21 11:59:15 -08:00
Jason parks
0f2ef34b5a Merge "Update encryption commands." into honeycomb 2011-01-21 11:39:15 -08:00
Andy Stadler
c2ff2ec0d9 Merge "Read actual device encryption status" into honeycomb 2011-01-21 10:27:46 -08:00
satok
bb4aa0683c Show implicitly enabled subtypes in the input method selection dialog
bug: 3367646

Change-Id: I9550f17f163950d80113fbcb8c9dd8a7d014cf6a
2011-01-21 20:20:02 +09:00
Jason parks
8888c597c4 Add and enforce the permission for encrypting/decrypting.
Change-Id: Ia292d8a5981266c2703743beb79fd786d77b375d
2011-01-21 00:07:49 -06:00
Jason parks
9ed98bcdc9 Update encryption commands.
* Changed to inplace encryption.
* Changed decryption to return the proper error code. It will now return success or the number of failed attempts.
* Be lazy and post a message 2 seconds later to call restart. I don't feel like messing with binder interfaces for a proper callback.

Change-Id: Iae2de7057aa66f248fd2df3f29777ad3368442f0
2011-01-21 00:06:20 -06:00
Eric Laurent
39999e3af5 am c5694ebd: Merge "do not merge - Fix issue 3371096." into gingerbread
* commit 'c5694ebda9a50be391ef9cfaa7f93e9efb04b6c5':
  do not merge - Fix issue 3371096.
2011-01-20 21:46:21 -08:00
satok
0e5bf5051b Merge "Show ime switch icon when there is a hard keyboard" into honeycomb 2011-01-20 19:47:43 -08:00
satok
865b97761c Show ime switch icon when there is a hard keyboard
Change-Id: Ife3a8733b1a1bf43b195ecf4b8c5082b6538d0a0
2011-01-21 12:28:01 +09:00
Mathias Agopian
b703d338c3 am 822d4ce6: Merge "fix [3369027] Sensor.TYPE_ROTATION_VECTOR is unstable and returns NaNs when running slowly" into gingerbread
* commit '822d4ce61687d386f9630b33113c6193257d6878':
  fix [3369027] Sensor.TYPE_ROTATION_VECTOR is unstable and returns NaNs when running slowly
2011-01-20 17:41:20 -08:00
Andy Stadler
0fe45dea92 Read actual device encryption status
Bug: 3346770
Change-Id: Ie70c14b1b4584a5f340a27102145f7860ba9e14b
2011-01-20 16:35:09 -08:00