2490 Commits

Author SHA1 Message Date
Victoria Lease
af1653a851 resolved conflicts for merge of 6c18e2c8 to master
Change-Id: Idb4679247b201a1f453c63fee5b45b12b03a67a1
2013-04-17 10:33:23 -07:00
Victoria Lease
25df1a82a8 Merge "use appropriate fallback chain for style" into jb-mr2-dev 2013-04-17 16:23:38 +00:00
Jamie Gennis
a720a87fde am a0b28ca7: am 95a869f9: Merge "Disable tracing from Zygote" into jb-mr2-dev
* commit 'a0b28ca74806dcf46300d82ebb689b002bd36955':
  Disable tracing from Zygote
2013-04-16 17:01:12 -07: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
8065804653 am f454b52e: am 811d3734: Merge "Add android.opengl.GLES30, hidden for now" into jb-mr2-dev
* commit 'f454b52ee7d7bdd2fe207860921ca58eeed19017':
  Add android.opengl.GLES30, hidden for now
2013-04-16 14:38:59 -07: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
11dc37686f am 18e99d1d: am 15fed390: Merge "Add new resources trace, also trace apk dex loading." into jb-mr2-dev
* commit '18e99d1d5f7bb2e35fb9f5c3edbb4265d66e3d93':
  Add new resources trace, also trace apk dex loading.
2013-04-12 17:06:37 -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
190a0f24db am a378bab7: am 50b68bf8: Merge "Add async events tracing to android.os.Trace" into jb-mr2-dev
* commit 'a378bab7a7ea4f748c72b0d14acbdf9359dbebfb':
  Add async events tracing to android.os.Trace
2013-04-12 14:04:07 -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
339d051957 am 380043de: am 9a8df4dc: Add new sensor types.
* commit '380043deb0607262505baa2d3c8a46a8277697e5':
  Add new sensor types.
2013-04-11 10:56:11 -07: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
7a5583fe36 am 8225c5b3: am c37b63d6: Merge "Ensure that a canvas is always backed by some form of SkDevice." into jb-mr2-dev
* commit '8225c5b3d925324dac7703fba0fd5a0f126afed6':
  Ensure that a canvas is always backed by some form of SkDevice.
2013-04-10 05:18:41 -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
28af35e8cd resolved conflicts for merge of a976bddd to master
Change-Id: I64e1cbfb0eee891ce4d1eee40eefdcedcc501f7f
2013-04-09 23:21:42 -07: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
Jamie Gennis
097fc7ef72 am bb2e031a: am 65b08486: Merge "Add APIs for application-generated systrace events" into jb-mr2-dev
* commit 'bb2e031ace9072a0bd71f6316269f3060f04aa27':
  Add APIs for application-generated systrace events
2013-04-09 15:39:55 -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
Derek Sollenberger
8c7d0f01d5 Merge "Refactoring code to support r8352 of Skia." 2013-04-08 18:01:51 +00: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
Derek Sollenberger
109109cdd5 Refactoring code to support r8352 of Skia.
Change-Id: Ica1463c84edaf7a46566d1ff792f7f73cef31997
2013-04-03 14:22:01 -04: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