3155 Commits

Author SHA1 Message Date
Andreas Huber
d430354c6b Merge "Revert "Split AndroidRuntime into AndroidRuntimeBase base-class and the rest."" 2014-02-13 17:22:49 +00:00
Andreas Huber
9ae000ca8c Revert "Split AndroidRuntime into AndroidRuntimeBase base-class and the rest."
This reverts commit 7825334929b098b36e1144872200e75ba6d24b13.

Change-Id: I1702eb3ff9d7192d64039c8bf4bc3fc5d8e458c4
2014-02-13 17:22:33 +00:00
Andreas Huber
04f0cab79d Merge "Split AndroidRuntime into AndroidRuntimeBase base-class and the rest." 2014-02-13 16:35:03 +00:00
Nick Kralevich
edb03c7d6d am 4f2d02fb: am 20b5fd98: am 93994e9d: am a9bb594d: Merge "Convert all selinux_android_restorecon and _setfilecon calls to new API."
* commit '4f2d02fb0073c4129957c0d2ac6e0c0055f4dad8':
  Convert all selinux_android_restorecon and _setfilecon calls to new API.
2014-02-13 01:11:47 +00:00
Nick Kralevich
20b5fd98fb am 93994e9d: am a9bb594d: Merge "Convert all selinux_android_restorecon and _setfilecon calls to new API."
* commit '93994e9db44a30402bd596764163d81ee1b1fd30':
  Convert all selinux_android_restorecon and _setfilecon calls to new API.
2014-02-12 23:19:05 +00:00
Nick Kralevich
a9bb594da6 Merge "Convert all selinux_android_restorecon and _setfilecon calls to new API." 2014-02-12 23:09:37 +00:00
Andreas Huber
7825334929 Split AndroidRuntime into AndroidRuntimeBase base-class and the rest.
AndroidRuntimeBase (exported by libandroid_runtime_base.so) is all you need
to link against to gain the ability to do AndroidRuntimeBase::getJNIEnv()
thus minimizing build dependencies.

Change-Id: Ia7f0c94c8c02b974c068e0db34774827f96aa95b
2014-02-12 15:00:05 -08:00
Nick Kralevich
d5c8044e7e resolved conflicts for merge of 1cbea39f to master
Change-Id: Ib33484546c6a03cbc4cd96e97d9d785d68e10700
2014-02-12 14:41:25 -08:00
Nick Kralevich
dd3d95f182 resolved conflicts for merge of 4ad93639 to klp-modular-dev-plus-aosp
Change-Id: I7ad222301ec0b863d48a1a9a839469436c385ea0
2014-02-12 11:05:59 -08:00
Derek Sollenberger
ebcf70b128 Merge "Revert "Refactor setting an SkPaint onto a hwui Layer."" 2014-02-12 19:00:46 +00:00
Derek Sollenberger
90d0c75e94 Revert "Refactor setting an SkPaint onto a hwui Layer."
This reverts commit e889298cd6ae1fc0d76bc00d7d12586db03eb261.

Change-Id: I4b1d609b2d4280595d40cb10d6c18875c22999f8
2014-02-12 18:59:05 +00:00
Derek Sollenberger
5f97e9e9ed Merge "Refactor setting an SkPaint onto a hwui Layer." 2014-02-12 18:10:21 +00:00
Derek Sollenberger
e889298cd6 Refactor setting an SkPaint onto a hwui Layer.
This CL removes the unecessary JNI call to set the colorFilter on
a layer.

Change-Id: I9e088f888938d4315745aa618334bfdb9e61343a
2014-02-12 11:26:06 -05:00
Jean-Michel Trivi
ed8bb0159c Merge "AudioTrack JNI function rename" 2014-02-11 22:38:27 +00:00
Dianne Hackborn
67754d93c4 Merge "Runtime resource overlay, iteration 2" 2014-02-11 21:29:58 +00:00
Michael Wright
0d148c8b4e Merge "Move inputservice over to frameworks/native" 2014-02-11 19:09:12 +00:00
Michael Wright
d6b473713f Move inputservice over to frameworks/native
Remove all of the pieces except the PointerController and SpriteController over
to frameworks/native in preparation for inputflinger. Those two need to stay in
frameworks/base for now because they depend on Skia currently. In the long run
they should be merged into either the InputManager or the WindowManager rather
than as a part of the inputservice / inputflinger.

Try 2.

Change-Id: I84259356d3eb8efc5aefb9d6b311b5fc590ea3ed
2014-02-11 10:47:36 -08:00
John Reck
fc53ef2779 Implement missing safelyRun() on ThreadedRenderer
Change-Id: I14b75f37a13fabaa759a51369190dbdc84087c4b
2014-02-11 10:40:25 -08:00
John Reck
f6eebb21d5 Merge "Refactor HardwareLayer" 2014-02-11 17:30:53 +00:00
Narayan Kamath
faa91f852e am 86fb9904: am 8a63c34b: am 3aeb629d: Merge "Use long to store pointers in GLES_JNI/EGL classes"
* commit '86fb9904ad5760cb957782b45e96054c01fe4200':
  Use long to store pointers in GLES_JNI/EGL classes
2014-02-11 16:40:39 +00:00
Narayan Kamath
a1cffb429c am d350af96: am b90fc64b: am f44a3f1e: Merge "Use long for pointers in EmojiFactory and PdfDocument"
* commit 'd350af9695018e81f85600fb7dd906003cbaf62e':
  Use long for pointers in EmojiFactory and PdfDocument
2014-02-11 16:40:27 +00:00
Narayan Kamath
86fb9904ad am 8a63c34b: am 3aeb629d: Merge "Use long to store pointers in GLES_JNI/EGL classes"
* commit '8a63c34bb0f0cf25051c6eeb49c21476258fadfb':
  Use long to store pointers in GLES_JNI/EGL classes
2014-02-11 16:34:16 +00:00
Narayan Kamath
d350af9695 am b90fc64b: am f44a3f1e: Merge "Use long for pointers in EmojiFactory and PdfDocument"
* commit 'b90fc64b030ee50bda9a0dabb5247660b70d6659':
  Use long for pointers in EmojiFactory and PdfDocument
2014-02-11 16:34:04 +00:00
Narayan Kamath
3aeb629d82 Merge "Use long to store pointers in GLES_JNI/EGL classes" 2014-02-11 15:39:04 +00:00
Narayan Kamath
f44a3f1e00 Merge "Use long for pointers in EmojiFactory and PdfDocument" 2014-02-11 14:07:17 +00:00
John Reck
04fc583c3d Refactor HardwareLayer
Defer all the things!
 Groundwork to allow hardware layers to work in a renderthread world

Change-Id: Ib3aa47525f393083621254a743dbaa6352f933bd
2014-02-10 20:55:39 -08:00
Michael Wright
f52fd37826 Merge "Revert "Move inputservice over to frameworks/native"" 2014-02-10 23:09:45 +00:00
Michael Wright
453fa30ab2 Revert "Move inputservice over to frameworks/native"
This reverts commit 89e5c7ebb37fabc4368e87e17a502db62598bd61.
2014-02-10 15:08:26 -08:00
Michael Wright
740dfefcfc Merge "Move inputservice over to frameworks/native" 2014-02-10 22:42:01 +00:00
Colin Cross
e7755a0d25 am 675d44ad: am 12f1f5b8: am 40545f32: Merge "frameworks/base: fix errors inside ALOGV"
* commit '675d44ad2355eb4404e286f2c337196297d1e26f':
  frameworks/base: fix errors inside ALOGV
2014-02-10 22:14:53 +00:00
Michael Wright
89e5c7ebb3 Move inputservice over to frameworks/native
Remove all of the pieces except the PointerController and SpriteController over
to frameworks/native in preparation for inputflinger. Those two need to stay in
frameworks/base for now because they depend on Skia currently. In the long run
they should be merged into either the InputManager or the WindowManager rather
than as a part of the inputservice / inputflinger.

Change-Id: Iebef71f3030fb3d26a5f338eb66d75bb37c17734
2014-02-10 14:10:27 -08:00
Colin Cross
675d44ad23 am 12f1f5b8: am 40545f32: Merge "frameworks/base: fix errors inside ALOGV"
* commit '12f1f5b87326a31f4c69e949a1e645e82c9152d4':
  frameworks/base: fix errors inside ALOGV
2014-02-10 22:09:12 +00:00
Leon Scroggins III
3393f390a5 Merge "Decode file descriptor from the correct offset." 2014-02-10 20:30:50 +00:00
Derek Sollenberger
eef1be1d83 Merge "Removing SkiaColorFilter and inspecting the native object directly." 2014-02-10 19:19:07 +00:00
Colin Cross
d06969518b frameworks/base: fix errors inside ALOGV
Fix errors exposed by adding compile-time checking to disabled ALOGVs.

Change-Id: I9beeb5d5df498c63d6bed49734ee80a8e0afcefc
2014-02-09 21:54:01 -08:00
Chris Craik
b67a7bf27b Add shadow casting / global perspective APIs, hidden for now.
Global perspective isn't yet hooked up in rendering.

Change-Id: I64ad272ea5dc523505260ce114f0a6bebdcfe9dc
2014-02-07 16:02:51 -08:00
Derek Sollenberger
76d3a1b8d0 Removing SkiaColorFilter and inspecting the native object directly.
bug: 10650594
Change-Id: I4fcf66d008765afa0e35d011f58bc792183cb74f
2014-02-07 17:06:14 -05:00
ztenghui
fad4593a3c Add the clipToOutline by just using the clipPathOp
Change-Id: I6ba23b589e579599d018600d0744be0efe2028c1
2014-02-07 13:36:57 -08:00
Chris Craik
27bfb24518 Merge "Rework and clean up DisplayList projection" 2014-02-07 18:47:57 +00:00
Stephen Smalley
d8fa586099 Convert all selinux_android_restorecon and _setfilecon calls to new API.
libselinux selinux_android_restorecon API is changing to the more
general interface with flags and dropping the older variants.

Also get rid of the old, no longer used selinux_android_setfilecon API
and rename selinux_android_setfilecon2 to it as it is the only API in use.

Change-Id: I1e71ec398ccdc24cac4ec76f1b858d0f680f4925
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-02-07 09:36:25 -05:00
Narayan Kamath
8f52fee060 Merge "Fix several bad function definitions." 2014-02-07 11:34:19 +00:00
Chris Craik
1df26446b7 Rework and clean up DisplayList projection
Move the projection surface to be a property of a DisplayList,
set to true for every background drawable.

Additionally, handle a projecting view background such that it doesn't
try to project onto itself (which is undesirable).

Change-Id: Ic70b17474bd87340e80767f8518f73b233419c7a
2014-02-06 16:07:37 -08:00
Leon Scroggins III
2826e5f202 Decode file descriptor from the correct offset.
Fix a few bugs in nativeDecodeFileDescriptor:
1. Restore the FD's offset when exiting the function.
2. Copy the data when potentially using an SkImageRef.
   The old behavior would have continued to modify the
   file descriptor's offset each time a new decode was
   required. The copy ensures that the file descriptor
   remains unchanged.
3. Buffer the file stream.
   Prior to this change, if the image was not a PNG,
   the stream would be rewound to the beginning of the
   file, even if the file descriptor was passed in with
   an offset. Thanks to the buffer, the stream is only
   rewound to the original offset.

Depends on https://googleplex-android-review.googlesource.com/#/c/415821/1
in external/skia

BUG:12807677
BUG:12895876
Change-Id: I38b8cf5d210dbbc0107e6562e3884867de57fc4b
2014-02-06 18:44:54 -05:00
John Reck
593b19a49e Remove overdraw counter
Change-Id: Iee05362b9080b28714a4cca5a571f19ce81eadfd
2014-02-06 11:26:23 -08:00
Narayan Kamath
017546e652 Fix several bad function definitions.
We claim these functions want jlong as input (8 bytes wide)
but the definitions use pointer types or jints
(4 bytes wide for 32 bit).

bug: 12890271
Change-Id: I6a167a4f3aac1e22ddea33d067caaef6a11b418c
2014-02-06 11:50:31 +00:00
Andy McFadden
9b311c900d Pass a thread name to AttachCurrentThread
Reduces logspam from ART.

Bug 12896873

Change-Id: I82ae8e2dbba3918071d9c28f5ae5c882f8dcab3a
2014-02-04 15:59:39 -08:00
Jean-Michel Trivi
eac8438a7d AudioTrack JNI function rename
The "native" prefix is used to identify methods with a native
  implementation on the Java side, and shouldn't therefore be used
  on some of the functions (and not others) here.

Change-Id: I9e88a1159c8f06260af6667e239dcdd39479b11f
2014-02-04 15:20:59 -08:00
Mårten Kongstad
48d22323ce Runtime resource overlay, iteration 2
Support any number of overlay packages. Support any target package.

UPDATED PACKAGE MATCHING
------------------------
In Runtime resource overlay, iteration 1, only a single overlay package
was considered. Package matching was based on file paths:
/vendor/overlay/system/framework-res.apk corresponded to
/system/framework-res.apk. Introduce a more flexible matching scheme
where any package is an overlay package if its manifest includes

    <overlay targetPackage="com.target.package"/>

For security reasons, an overlay package must fulfill certain criteria
to take effect: see below.

THE IDMAP TOOL AND IDMAP FILES
------------------------------
Idmap files are created by the 'idmap' binary; idmap files must be
present when loading packages. For the Android system, Zygote calls
'idmap' as part of the resource pre-loading. For application packages,
'idmap' is invoked via 'installd' during package installation (similar
to 'dexopt').

UPDATED FLOW
------------
The following is an outline of the start-up sequences for the Android
system and Android apps. Steps marked with '+' are introduced by this
commit.

Zygote initialization
   Initial AssetManager object created
+    idmap --scan creates idmaps for overlays targeting 'android', \
           stores list of overlays in /data/resource-cache/overlays.list
   AssetManager caches framework-res.apk
+  AssetManager caches overlay packages listed in overlays.list

Android boot
   New AssetManager's ResTable acquired
     AssetManager re-uses cached framework-res.apk
+    AssetManager re-uses cached 'android' overlays (if any)

App boot
   ActivityThread prepares AssetManager to load app.apk
+  ActivityThread prepares AssetManager to load app overlays (if any)
   New AssetManager's ResTable acquired as per Android boot

SECURITY
--------
Overlay packages are required to be pre-loaded (in /vendor/overlay).
These packages are trusted by definition. A future iteration of runtime
resource overlay may add support for downloaded overlays, which would
likely require target and overlay signatures match for the overlay to
be trusted.

LOOKUP PRIORITY
---------------
During resource lookup, packages are sequentially queried to provide a
best match, given the constraints of the current configuration. If any
package provide a better match than what has been found so far, it
replaces the previous match. The target package is always queried last.

When loading a package with more than one overlay, the order in which
the overlays are added become significant if several packages overlay
the same resource.

Had downloaded overlays been supported, the install time could have been
used to determine the load order. Regardless, for pre-installed
overlays, the install time is randomly determined by the order in which
the Package Manager locates the packages during initial boot. To support
a well-defined order, pre-installed overlay packages are expected to
define an additional 'priority' attribute in their <overlay> tags:

    <overlay targetPackage="com.target.package" priority="1234"/>

Pre-installed overlays are loaded in order of their priority attributes,
sorted in ascending order.

Assigning the same priority to several overlays targeting the same base
package leads to undefined behaviour. It is the responsibility of the
vendor to avoid this.

The following example shows the ResTable and PackageGroups after loading
an application and two overlays. The resource lookup framework will
query the packages in the order C, B, A.

        +------+------+-     -+------+------+
        | 0x01 |      |  ...  |      | 0x7f |
        +------+------+-     -+------+------+
            |                           |
        "android"                Target package A
                                        |
                       Pre-installed overlay B (priority 1)
                                        |
                       Pre-installed overlay C (priority 2)

Change-Id: If49c963149369b1957f7d2303b3dd27f669ed24e
2014-02-03 11:20:30 +01:00
Chris Craik
1d89563ff8 Merge "Add initial hidden outline APIs" 2014-01-31 18:56:41 +00:00
Narayan Kamath
90b8eaa68b am 797b5adc: am 77a1986c: am 49b7ba4d: Merge "AArch64: Make AssetManager and related classes 64-bit compatible"
* commit '797b5adcb4ead3c687db3d9fd831dff93760dd4a':
  AArch64: Make AssetManager and related classes 64-bit compatible
2014-01-31 17:12:42 +00:00