3736 Commits

Author SHA1 Message Date
Jeff Brown
5462bc6318 Fix a leak in Parcel::writeBlob.
Was mistakenly assuming that Parcel::writeFileDescriptor took
ownership of the fd that was passed in.  It does not!
Added some comments and a default parameter to allow the caller
to specify whether it wishes the Parcel to take ownership.

Bug: 5563374
Change-Id: I5a12f51d582bf246ce90133cce7690bb9bca93f6
2011-11-04 19:26:03 -07:00
Stephen Hines
a049184274 Fix potential segfault in RS watchdog.
BUG=5544671

This initializes the watchdog structure properly. Without this fix, it is
possible to call LOGE with a garbage string value.

Change-Id: Ie05eb65f83eca938f18ac962794407d58c3f277f
2011-10-31 15:42:40 -07:00
Jeff Brown
89101cd9d9 Improve the slow query instrumentation.
On user-debug and eng builds, you can set the
"db.log.slow_query_threshold" system property to queries that
take longer than the specified number of milliseconds.
Set it to 0 to log all queries.

This property has been around for a while but it was implemented
poorly.  In particular, it *changed* the behavior of the query
by calling getCount() while holding the Db connection.
In normal operation, the query will not actually run until later.

By putting the timing logic into fillWindow() instead, we ensure
that we only measure queries that actually ran.  We also capture
cases where the cursor window gets filled multiple times.

Bug: 5520301
Change-Id: I174f5e1ea15831a1d22a36e9a804d7755f230b38
2011-10-28 14:58:39 -07:00
Jason Sams
28e4f87f38 Fix bug where CPU could be stuck spinning
Required the wallpaper be animating and
the system to have run slowly during the
last frame when rendering stopped.

bug 5180240

Change-Id: I38c2b6f07a1e36019dd05c77a58973e36d12728c
2011-10-26 17:56:00 -07:00
Jamie Gennis
791e63829c SurfaceTexture: free buffers when disconnect fails
This change makes SurfaceTextureClient free its references to all the
buffers even when the disconnect binder call to the SurfaceTexture
fails.

Bug: 5384823
Change-Id: Iad787fbae5fda4769546fd52276e4e4030c62be6
2011-10-18 17:14:33 -07:00
Mathias Agopian
9a0732af1b Merge "SensorManager reconnects to sensor service when the later dies" into ics-mr0 2011-10-17 15:50:36 -07:00
Jamie Gennis
3a73507801 Merge "SurfaceTexture: report binder transaction failures" into ics-mr0 2011-10-17 11:25:46 -07:00
Mathias Agopian
de6c44e906 SensorManager reconnects to sensor service when the later dies
if system process ever restarted, processes using a SensorManager
would loose the ability to use it, resulting to a crash.
we now listen for sensor service death and reconnected if necessary.

Bug: 5445240
Change-Id: Ia47f8b26cdcecb729fa22bf11d55e10fcaef8cfc
2011-10-16 22:15:23 -07:00
Mathias Agopian
a338379873 add logging and defensive code when initializing sensors
Bug: 5445240
Change-Id: I9dc7d27d3e8b4f15989488859831526d8c7ded3b
2011-10-16 00:38:30 -07:00
Jamie Gennis
6cb76588d7 SurfaceTexture: report binder transaction failures
This change fixes the ISurfaceTexture error reporting for the case where
the binder transaction fails.

Bug: 5082219
Change-Id: I6517532992e3a76dc9eb5e4a36af43a562391aaa
2011-10-14 15:17:07 -07:00
Jamie Gennis
a1e273ae59 Merge "Surface: fix a protected buffer test" into ics-mr0 2011-10-14 12:56:28 -07:00
Jason Sams
43b57ec48e Fix error printing if no command string is set.
Change-Id: I588c0d0a4e1b8f80c967ebfb6aff179a0cac4a36
2011-10-13 16:05:27 -07:00
Jamie Gennis
74f7dfa803 Surface: fix a protected buffer test
This change renames the ScreenshotsOfProtectedBuffersFail to
ScreenshotsOfProtectedBuffersSucceed and changes the test to verify that
the screenshot succeeds.

Change-Id: I960bb8eed4211578cb4dc446b08392937da064b6
2011-10-12 18:42:33 -07:00
Jamie Gennis
075e4c3d2e Merge "SurfaceFlinger: update orientation via transactions" into ics-mr0 2011-10-12 13:03:11 -07:00
Eino-Ville Talvala
0a27359280 Merge "Add video stabilization control to Camera parameters." into ics-mr0 2011-10-12 10:37:57 -07:00
Eino-Ville Talvala
037abb8bb0 Add video stabilization control to Camera parameters.
Hardware video stabilization reduces camera shake in preview
and in recorded videos. It has no effect on still image capture.

Convenience accessor methods hidden for now.

Change-Id: Ie18450bff662b2ef98b85d19719beefc180975fc
2011-10-12 10:34:10 -07:00
Jamie Gennis
e2909e121c SurfaceFlinger: update orientation via transactions
This change merges the ISurfaceComposer::setOrientation functionality
into ISurfaceComposer::setTransactionState.  It enables the window
manager to atomically update both the display orientation and the
position and size of the windows in a single transaction with
SurfaceFlinger.

Bug: 5439574
Change-Id: I18a8ccc564d7d760ef8afb2d015ccdb7a7963900
2011-10-11 13:34:01 -07:00
Jeff Brown
0cde89f5f0 Use ashmem for CursorWindows.
Bug: 5332296

The memory dealer introduces additional delays for reclaiming
the memory owned by CursorWindows because the Binder object must
be finalized.  Using ashmem instead gives CursorWindow more
direct control over the lifetime of the shared memory region.

The provider now allocates the CursorWindows and returns them
to clients with a read-only protection bit set on the ashmem
region.

Improved the encapsulation of CursorWindow.  Callers shouldn't
need to care about details like how string fields are allocated.

Removed the compile-time configuration of string and numeric
storage modes to remove some dead weight.

Change-Id: I07c2bc2a9c573d7e435dcaecd269d25ea9807acd
2011-10-11 11:03:19 -07:00
Jeff Brown
270928bd4a Merge changes Idbfeb3cc,I03e8e2e7,Iff9eed78
* changes:
  Fix regression in CursorWindow.getString() Bug: 5332296
  Clean up CursorWindow lifetime. Bug: 5332296
  Fix regression in CursorWindow.copyStingToBuffer. Bug: 5332296
2011-10-07 15:08:24 -07:00
Romain Guy
5a6d3a4c03 Stupid fixed point math.
Bug #5423215

Change-Id: I39379e1f8fb4d59de4ede6e4fe7cf7a2c7cc625a
2011-10-07 15:03:24 -07:00
Jeff Brown
d0ff68da6a Fix regression in CursorWindow.copyStingToBuffer.
Bug: 5332296

Change-Id: Iff9eed786f0a8293b6156f883a66a322ddad5e99
2011-10-07 13:28:18 -07:00
Jeff Brown
3bc6bbc92c Clean up CursorWindow code.
Bug: 5332296

The code is functionally equivalent, but a little more efficient
and much easier to maintain.

Change-Id: I90670a13799df05831843a5137ab234929281b7c
2011-10-06 14:40:13 -07:00
Jason Sams
66fb1f3f3d Merge "Wrapping new API with #defines to prevent old apps from using them." 2011-10-05 12:01:51 -07:00
Romain Guy
ac0757a47c Merge "Canvas.getClipBounds() was broken and unreliable with OpenGL ES 2.0" 2011-10-04 19:22:41 -07:00
Romain Guy
ed7a8fc768 Canvas.getClipBounds() was broken and unreliable with OpenGL ES 2.0
This bug was affecting several third party applications. The bug was
introduced by an optimization that prevented the local clip to be
recomputed when needed.

Change-Id: I7b5c464db21b5ff1a7274af75a3a64d0e9d84772
2011-10-04 19:21:27 -07:00
Jason Sams
3c1951c442 Merge "Fix crash running old HC apps." 2011-10-04 15:53:37 -07:00
Jason Sams
795072ec7b Fix crash running old HC apps.
Change-Id: If7206de334868cb40eb8e5dd04fbe8c70bc1d614
2011-10-04 15:46:57 -07:00
Dianne Hackborn
c04db7e067 Fix handling of "allow fds" state.
Didn't take into account nesting of bundles.  Boo.

Change-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01
2011-10-03 21:09:35 -07:00
Jeff Brown
6579a9d6fe Transfer large bitmaps using ashmem.
Bug: 5224703

Change-Id: If385a66adf4c6179a0bb49c0e6d09a9567e23808
2011-10-03 17:28:13 -07:00
Dianne Hackborn
9ecebbfbf7 Add mechanism for Parcel to not allow FDs to be written to it.
This is to help implement issue #5224703.

Change-Id: I026a5890495537d15b57fe61227a640aac806d46
2011-10-03 16:58:41 -07:00
Jamie Gennis
8606fefa21 SurfaceTexture: parameterize the texture target
This change adds a hack to allow Android Browser to use a SurfaceTexture
to stream RGBA images to a GL_TEXTURE_2D texture object.

Change-Id: Idb90064d5d4b920959ef3be7451362ac5012460e
2011-09-30 14:19:41 -07:00
Romain Guy
59c7f80dd2 TextureView works best when it draws stuff.
Bug #5391188

Change-Id: I5e754881ccb08ff288ebd60de77282c9cbcf3f86
2011-09-29 17:21:45 -07:00
Mathias Agopian
acde31e124 may fix the build
Change-Id: I065b1e6652f0e800ba5674a6d9aa954c3ac6c790
2011-09-28 17:33:11 -07:00
Alex Sakhartchouk
f6576d9631 Wrapping new API with #defines to prevent old apps from using them.
Change-Id: Ib3a2d19544ad72987ebec09d465bec8eeb6423c8
2011-09-28 15:23:18 -07:00
Jamie Gennis
feb158b3cb Merge changes Ib302d79e,Ib4ee085f
* changes:
  SurfaceFlinger: set layer names on SurfaceTextures
  SurfaceTexture: add name support
2011-09-27 14:24:09 -07:00
Mathias Agopian
0ee06d116b Region cannot handle malformed Rects. Abort the Region op in that case.
Bug: 5331198, 5334829
Change-Id: Ib1fdbf6fb291e7f1191ccfe16b5ff29d73e7a474
2011-09-26 15:58:20 -07:00
Jason Sams
94aaed3846 Remove unused fields in ProgramRaster
Change-Id: I70c9d47674c956ec850c178c7aaa9a5e3dd9dffb
2011-09-23 14:18:53 -07:00
Jamie Gennis
44a052203e SurfaceTexture: add name support
This change adds support for setting a string that can be used to
identify a SurfaceTexture object in log messages.

Change-Id: Ib4ee085f36c8830dc964c05ef1654f5a55dfcd60
2011-09-22 17:49:10 -07:00
Jason Sams
dd0ffde6f5 Merge "Cleanup RS logs Reduce the startup/shutdown info and format the logs in a consistent manner." 2011-09-21 08:53:10 -07:00
Jason Sams
8410b14c85 Cleanup RS logs
Reduce the startup/shutdown info and format the logs
in a consistent manner.

Change-Id: I4592cd9fcf7e2920010d84c7137137262cdc73b9
2011-09-20 16:59:22 -07:00
Mathias Agopian
8bba5efcee Make sure Region handles invalid rectangles
the boolean operation code assumes rects are valid and
could go into an infinite loop if not. make sure we
abort before that happens.

Bug: 5331198, 5334829
Change-Id: Iee4e3b838ecf504ef21f7447fd2e34a56e7dc3f8
2011-09-19 16:50:17 -07:00
Mathias Agopian
83b186a246 fix the float Rect in OpenGLRenderer to handle NANs
- we want functions like isEmpty() to return true if NANs are
involved in the Rect

- also clean-up the intersect familly of calls

- minor cleanup in the int32_t Rect as well

These played a role in http://b/5331198.

Bug: 5331198

Change-Id: I5369725ab482e4b83da9f1bd4cee5256e5de75b2
2011-09-19 16:50:07 -07:00
Jeff Brown
92061b70be am 79aa4030: Merge "Can\'t stop the fling! Bug: 5335420" into ics-factoryrom
* commit '79aa40302b643ee6c6227ee354a1b1378e721568':
  Can't stop the fling! Bug: 5335420
2011-09-16 23:30:52 -07:00
Jeff Brown
b0c71eb9f5 Can't stop the fling!
Bug: 5335420

Fixed a bug in VelocityTracker where the output velocity was
not being set to zero when not available.

Added a condition to ensure that the velocity is at least
the minimum fling velocity before continuing.  If not, then
the user is trying to stop the fling and scroll more precisely.

Change-Id: I36634b0c3f7a9a09cf20c33f71d41163a8e33eed
2011-09-16 21:43:58 -07:00
Mathias Agopian
1afeea0f20 Merge "work around a problem where fp registers get corrupted (DO NOT MERGE)" into ics-factoryrom 2011-09-16 17:08:21 -07:00
Mathias Agopian
a5f7b3cbf7 work around a problem where fp registers get corrupted (DO NOT MERGE)
Bug: 5331198
Change-Id: I1f9b4a79d34d63f8adb0555909998664ea2ea9ca
2011-09-16 16:59:52 -07:00
Jeff Brown
3fccb86b31 Make LTE_FLOAT a strict weak order. (DO NOT MERGE)
Bug: 5327776

Currently LTE_FLOAT isn't even a valid partial order, let alone
a strict weak order as needed by binary search.  Consequently,
KeyedVectors with keys whose types have operator< using LTE_FLOAT
sometimes find the wrong values!

This problem affects several graphics caches including the
TextLayoutCache.

(This is still not a total order because NaNs are not comparable
but hopefully we don't ever search for NaNs this way!)

Change-Id: Ic447a34c7d87f681ee81538f22a0937a039072dd
2011-09-16 13:35:01 -07:00
Jeff Brown
bb0bccba23 Merge "Make LTE_FLOAT a strict weak order. Bug: 5327776" 2011-09-16 13:11:24 -07:00
Mathias Agopian
4920fde825 Merge "cleanup: fix typos in logs" 2011-09-16 12:58:30 -07:00
Jeff Brown
13ede62fd7 Make LTE_FLOAT a strict weak order.
Bug: 5327776

Currently LTE_FLOAT isn't even a valid partial order, let alone
a strict weak order as needed by binary search.  Consequently,
KeyedVectors with keys whose types have operator< using LTE_FLOAT
sometimes find the wrong values!

This problem affects several graphics caches including the
TextLayoutCache.

(This is still not a total order because NaNs are not comparable
but hopefully we don't ever search for NaNs this way!)

Change-Id: Ic447a34c7d87f681ee81538f22a0937a039072dd
2011-09-16 12:00:05 -07:00