2479 Commits

Author SHA1 Message Date
Victoria Lease
25df1a82a8 Merge "use appropriate fallback chain for style" into jb-mr2-dev 2013-04-17 16:23:38 +00:00
Jamie Gennis
6ad0452e63 Disable tracing from Zygote
This change disables all atrace tracing in Zygote immediately after it is
initialized.  This is necessary because Zygote has no way to receive
notifications that the enabled trace tags have been changed.  Tracing is
re-enabled when other processes fork from Zygote.

Change-Id: If2983858fb0c4890ba9ab041849b1c4d98f66c13
2013-04-16 22:15:21 +00:00
Jesse Hall
811d373444 Merge "Add android.opengl.GLES30, hidden for now" into jb-mr2-dev 2013-04-16 21:32:36 +00:00
Victoria Lease
cc0f9d8469 use appropriate fallback chain for style
TextLayoutShaper was defaulting to the Regular-style fallback chain
for all unknown scripts. This became problematic in that the
codepoint->glyphID enumeration stage of shaping was always using the
Regular-style fallback chain for unknown scripts, and there's no
guarantee that glyph indices are compatible between fallback chains.

Defaulting to a style-appropriate fallback chain addresses this
issue, and probably unreported but related issues, as well.

Bug: 8189208
Change-Id: I6ecf531c74d71a8e4a5359d23439ccc950b0cf80
2013-04-16 09:51:45 -07:00
Jesse Hall
d830e74ff4 Add android.opengl.GLES30, hidden for now
Bug: 8566953
Change-Id: Ia5a01d5e857b4fce12a451e2dcab0359758ad648
2013-04-15 17:37:33 -07:00
Dianne Hackborn
15fed390c4 Merge "Add new resources trace, also trace apk dex loading." into jb-mr2-dev 2013-04-12 23:58:50 +00:00
Dianne Hackborn
f7be4800df Add new resources trace, also trace apk dex loading.
Change-Id: Ia48566efb21ee018659bd976ddb3a0f4997b9a3a
2013-04-12 14:53:10 -07:00
Romain Guy
50b68bf836 Merge "Add async events tracing to android.os.Trace" into jb-mr2-dev 2013-04-12 20:58:00 +00:00
Jaikumar Ganesh
9a8df4dcf9 Add new sensor types.
1. Add uncalibrated gyros and magnetic field sensor.
2. Change max number of events from 3 to 16.
3. Add new APIs for trigger sensors.

Change-Id: Ifac5c0024c8e5f88b721e5cd97ff26afaaa36717
2013-04-11 10:25:35 -07:00
Romain Guy
9425f923fa Add async events tracing to android.os.Trace
Change-Id: I106a50732a88c03a00602c328f8b46626bf66e08
2013-04-10 16:35:48 -07:00
Derek Sollenberger
c37b63d6e7 Merge "Ensure that a canvas is always backed by some form of SkDevice." into jb-mr2-dev 2013-04-10 12:11:14 +00:00
Ying Wang
d8b26d6c42 Merge "Add liblog" into jb-mr2-dev 2013-04-10 05:16:14 +00:00
Ying Wang
d685894212 Add liblog
Bug: 8580410
Change-Id: I746aa8258866508c3a725d0773faf4518096548f
2013-04-09 21:54:12 -07:00
Derek Sollenberger
45fa0cbc54 Ensure that a canvas is always backed by some form of SkDevice.
bug: 8518884
Change-Id: Id6c597179878ce5b938c00422e88bef5f12e2e1f
2013-04-09 16:36:55 -04:00
Jamie Gennis
f9c7d6bc15 Add APIs for application-generated systrace events
This change adds new APIs to enable applications to generate custom Systrace
begin/end events.  Application-generated events use the ATRACE_APP_TAG tag,
which is enabled only if either the application has declared itself debuggable
in its manifest or ro.debuggable is set to 1 on the device.

Change-Id: I311d09e2e6ed1a30f5ffa84907f250e11cc0d48d
2013-04-09 11:59:43 -07:00
Michael Wright
bdb706e48d Merge "Pipe through device resolution information" into jb-mr2-dev 2013-04-05 21:43:31 +00:00
Jeff Brown
1951ce86c2 Correctly manage the lifecycle of IME InputChannels.
InputChannels are normally duplicated when sent to a remote process
over Binder but this does not happen if the recipient is running within
the system server process.  This causes problems for KeyGuard because the
InputMethodManagerService may accidentally dispose the channel
that KeyGuard is using.

Fixed the lifecycle of InputChannels that are managed by the IME
framework.  We now return a duplicate of the channel to the application
and then take care to dispose of the duplicate when necessary.
In particular, InputBindResult disposes its InputChannel automatically
when returned through Binder (using PARCELABLE_WRITE_RETURN_VALUE).

Bug: 8493879
Change-Id: I08ec3d13268c76f3b56706b4523508bcefa3be79
2013-04-04 22:45:12 -07:00
Michael Wright
c6091c64c9 Pipe through device resolution information
Bug: 8424494
Change-Id: Iafeeee0d5cd29342c1cdc86b9616222aaa5d1b94
2013-04-04 18:10:37 -07:00
Jeff Brown
a4ca8ea0ad Fix reference cycle in InputEventReceiver and Sender.
If the receiver or sender was not properly disposed, then
the underlying input channel might be leaked because the
native peer was holding a strong reference to the object.

Switched to using a weak reference.

Also updated Binder to use a new helper created for this purpose.

Change-Id: I19680bf96d0548777bff02aa1d91874d1e8e41da
2013-04-02 18:59:15 -07:00
Michael Wright
10f9b0997e Start input event sequence numbers at 1
Change-Id: Ia69574cb25bfced8bbeefbc23350706bacdfee12
2013-04-01 13:11:34 -07:00
Victoria Lease
a4b68908bd Merge "bidiFlags != SkPaint::Flags" into jb-mr2-dev 2013-03-29 15:00:50 +00:00
Victoria Lease
626d3c2281 bidiFlags != SkPaint::Flags
We've a number of native functions in the text layout path that take
a bidiFlags argument. We've a number of callers of those functions
passing in SkPaint::Flags in that slot. This completely breaks text
directionality for the affected functions, as
SkPaint::kAntiAlias_Flag happens to share values with kBidi_RTL,
resulting in anti-aliased SkPaints measuring text as if it were RTL,
and non-anti-aliased SkPaints measuring text as if it were LTR,
regardless of the actual text directionality. Oops!

To address the issue, this commit replaces erroneous calls to
SkPaint.getFlags() with the value of Paint.mBidiFlags, and includes
the necessary plumbing to get that value where it needs to be.

Bug: 8471481
Change-Id: I2d04b70defed3130fc1ad13f4c9098f5fce4ffde
2013-03-28 15:56:14 -07:00
Jeff Brown
6c81a93ef3 Support specifying buffer start offset for USB requests.
Deprecated existing API which only supported passing buffer
and length in favor of a new one that also supports passing
the start.

Being able to pass a start index is very important because
the kernel imposes size limits on how much data can be transferred
at a time so we often need to transmit large buffers in chunks.

Change-Id: I3484b5e68f1ece61d4645ea04be8ee6a3b79169d
2013-03-28 03:13:09 -07:00
Jeff Brown
44e13ef1a1 Disable some noisy error logs.
Disabled some error logs that occur when an input channel is
closed remotely by its peer.  These can happen during normal
course of operations because the act of removing windows or
finishing IME sessions is asynchronous so both peers may react
to the change independently at different times.

The coordination with the input dispatcher is designed to
avoid logging these errors.  However it's not possible to achieve
the same coordination with the IME so we might as well silence
the errors since they don't tell us anything useful.

If something truly bad happens then one of two things will occur:

1. The system will realize that the process crashed because
   of a DeadObjectException or other error, so it will take
   measures to clean up.

2. If the error was spurious and non-fatal (how?) then at worst
   an ANR may occur because the consumer stopped reading from
   the input channel.  However this has never been observed
   and I doubt it's even possible.

Change-Id: I11a05d6d75e63e91be003971a544069b3a0d77f4
2013-03-27 12:34:30 -07:00
Jeff Brown
ca3d655d20 Merge "Use input transport for communications between app and IME." into jb-mr2-dev 2013-03-27 02:43:54 +00:00
Jeff Brown
c28867a1d6 Use input transport for communications between app and IME.
The input method manager service now supplies an input channel for
communication while creating an IME session on behalf of the
application.

This change significanly reduces the overhead of IME event dispatch
by using a standard input channel to send input events rather than
using binder.  This results in fewer thread context switches
and fewer object allocations.

What's more, the IME may perform additional batching of the motion
events that it receives which may help it catch up if it is
getting behind while processing them.

Bug: 7984576
Bug: 8473020
Change-Id: Ibe26311edd0060cdcae80194f1753482e635786f
2013-03-26 15:42:39 -07:00
Elliott Hughes
c5f790f3ba am 145e60b3: am 6c75deb5: Merge "Remove the fixed-length buffer in DdmHandleNativeHeap.getLeakInfo."
* commit '145e60b3e31f8daaf8e12dba0668c12e47968dd1':
  Remove the fixed-length buffer in DdmHandleNativeHeap.getLeakInfo.
2013-03-26 14:58:10 -07:00
Elliott Hughes
a480dafbf2 Remove the fixed-length buffer in DdmHandleNativeHeap.getLeakInfo.
It was possible to overrun this buffer, and even if you did fill
the buffer in a single read and exit the loop, the "string" still
wouldn't be terminated.

Bug: 8468088
Change-Id: Ia19f4d26dfd79e7b63807a7ec9540b932163d246
2013-03-26 13:18:52 -07:00
Chris Craik
a4e16c58c9 Restore final canvas state after deferred flush
bug:8450062

- Fixes overdraw indication with DeferredDisplayList
- Fixes drawHardwareLayer called after flush

Additionally changes drawLayer to pass its paint to native via setLayerPaint

Wrap flush in save/restore so that reordering doesn't affect final
transform

Change-Id: I08befa42c28500da6387699eefd4be28aedf9f4c
2013-03-22 11:54:51 -07:00
Kenny Root
afd10322f5 am d9520336: am 20345bd8: Merge "Update SELinux JNI to use helpers"
* commit 'd9520336a74560cdd983c9480b2e6a317dd8a193':
  Update SELinux JNI to use helpers
2013-03-20 16:08:11 -07:00
Fabrice Di Meglio
19eceaadd7 Merge "Fix bug #8437358 Clean any ICU related code from TextLayout / Paint and their dependencies" into jb-mr2-dev 2013-03-20 22:27:37 +00:00
Kenny Root
cd19e3f2db Update SELinux JNI to use helpers
Change-Id: Ifc707eafd1ecbba64c93fa2250c4334d0ce40005
2013-03-20 15:24:25 -07:00
Chris Craik
4494599e5a Merge "Use snapshot alpha for layers" into jb-mr2-dev 2013-03-20 22:22:44 +00:00
Fabrice Di Meglio
665f02c667 Fix bug #8437358 Clean any ICU related code from TextLayout / Paint and their dependencies
- remove the ICU related methods and update the methods using the "reserved" argument
- update to CTS in another CL too

Change-Id: I5509736568c342d9d17bfeafc17951117ab5d3cc
2013-03-20 14:56:05 -07:00
Mathias Agopian
7c116b54b7 make Surface.java internal state thread-safe
it's still incorrect to use Surface from different
threads, however this shouldn't result to native crashes
anymore.

Bug: 8328715
Change-Id: I89ac5cc1218dc5aa0e35f8e6d4737879a442f0c6
2013-03-18 20:29:18 -07:00
Chris Craik
a08f95cfec Use snapshot alpha for layers
Removes mMultipliedAlpha, using the snapshot alpha for all
non-overlapping display list alpha control.

Additionally, fixes opacity issues where children of
hasOverlappingRendering=false displaylists (both hw layer sublists and
other sublists with hasOverlappingRendering=false)

Change-Id: I6adc16da855835f9f518f8967628e5d0135c789b
2013-03-15 17:29:27 -07:00
Fabrice Di Meglio
261f82ca99 Merge "Revert "Clean Paint.mBidiFlags as it is no longer used"" into jb-mr2-dev 2013-03-15 20:34:06 +00:00
Fabrice Di Meglio
2d93475c69 Merge "Revert "Fix bug #8194572 Chrome SIGBUS'es on launch around TextLayoutCacheKey"" into jb-mr2-dev 2013-03-15 20:33:49 +00:00
Fabrice Di Meglio
fe099074c4 Merge "Revert "fix argument mismatches in Paint JNI"" into jb-mr2-dev 2013-03-15 20:33:22 +00:00
Fabrice Di Meglio
da12f389eb Revert "Clean Paint.mBidiFlags as it is no longer used"
This reverts commit 6d9fe5bd22b531bfce69b146254a4791c76acddc.
2013-03-15 11:26:56 -07:00
Fabrice Di Meglio
19f46b0d7a Revert "Fix bug #8194572 Chrome SIGBUS'es on launch around TextLayoutCacheKey"
This reverts commit ebcacc785b0883c9435a3e850f790785fba93370.
2013-03-15 11:26:23 -07:00
Fabrice Di Meglio
a4bf8114a7 Revert "fix argument mismatches in Paint JNI"
This reverts commit b61fb10fe435b74a761e82f517abd0320f22193e.
2013-03-15 11:22:29 -07:00
Robert Greenwalt
28cdf1dc22 Don't update routes if Dhcp fails.
bug:8377625
Change-Id: I11d2c29728078813bfb1245cc46e8cce2b307a2c
2013-03-15 10:48:46 -07:00
Mathias Agopian
b1fa4f92dc Merge "fix CloseGuard usage in Surface" into jb-mr2-dev 2013-03-14 02:13:13 +00:00
Mathias Agopian
86e1bc7305 fix CloseGuard usage in Surface
Bug: 8375415
Change-Id: I03e9f318c2ad586f4bd93b280557ada66121d275
2013-03-13 18:21:11 -07:00
Mathias Agopian
065a118e0e Merge "Try to keep the same native Surface object when reading a parcel" into jb-mr2-dev 2013-03-13 23:54:34 +00:00
Mathias Agopian
c3b9cd6351 Try to keep the same native Surface object when reading a parcel
If the IGraphicBufferProducers are the same, it's really the same
window, so we keep the same native object.

Bug: 8322406
Change-Id: I96d55a90e6656a05d4e32ae22945226c350b5747
2013-03-13 16:07:57 -07:00
Jaikumar Ganesh
1aab1dbca5 Revert "Add new sensor types."
This reverts commit bc03a348d78326dee779a8ecc325799c9fceac98.
2013-03-13 15:00:21 -07:00
Mathias Agopian
2530b32de5 Merge "remove uses of Surface in favor of IGraphicBufferProducer" into jb-mr2-dev 2013-03-13 21:42:35 +00:00
Mathias Agopian
4a05f43698 remove uses of Surface in favor of IGraphicBufferProducer
Change-Id: I2ec590eed03c76a084ee6b0af362a3ca6476bf9f
2013-03-12 18:43:34 -07:00