2958 Commits

Author SHA1 Message Date
Narayan Kamath
a2275b9869 am c850102d: am 0da4ad42: Merge "Don\'t register methods when there\'s nothing to register."
* commit 'c850102d5c4b1fad47c221911c7be5567cebe8b1':
  Don't register methods when there's nothing to register.
2014-03-20 10:18:46 +00:00
Narayan Kamath
f83c73ec2f Don't register methods when there's nothing to register.
Change-Id: I6d0233f79bb90089426d702b4076ec5750e82475
2014-03-19 14:13:27 +00:00
Narayan Kamath
ddcaf0d178 am d2133079: am 7c0dfed5: Merge "Pass int32_t for JNI calls to java Input/Output streams."
* commit 'd2133079c085cb0879facc8ee72678524d22571a':
  Pass int32_t for JNI calls to java Input/Output streams.
2014-03-18 09:41:20 +00:00
Ashok Bhat
2bb39d7a43 Pass int32_t for JNI calls to java Input/Output streams.
Passing size_t is problematic on 64 bit platforms where
it's 8 bytes in size. Conversion to int32_t is safe because
the size argument is always clamped to fCapacity, which is
4 bytes wide.

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Change-Id: I58558561a4f56451485f1a5fc6cdeda677247071
2014-03-17 10:13:16 +00:00
Dave Allison
0d70d336b4 am 788fb96d: am 47653f2d: Merge "Move options buffers to top scope"
* commit '788fb96d7f1cfe27cf8dd56a053258964427286f':
  Move options buffers to top scope
2014-03-14 21:21:59 +00:00
Dave Allison
07a1e2323b Move options buffers to top scope
It is important that the char buffers for options do
not go out of scope as the mOptions.add() does not copy
the buffer.  This moves all the buffers to the top
level scope of the function to prevent accidental
overwriting when they go out of scope.

Bug: 13448497
Change-Id: I5a97ddd32ff34f237915927906e1e1f833ff036e
2014-03-14 21:15:08 +00:00
Narayan Kamath
acccf83616 am b071a07d: am a79af364: Merge "Remove java.io.tmpdir assignment in AndroidRuntime (again)."
* commit 'b071a07da89a8736fa4fd757f9a6c6e990d0e858':
  Remove java.io.tmpdir assignment in AndroidRuntime (again).
2014-03-13 01:55:28 +00:00
Brian Carlstrom
a77df79c17 am ec4c7752: am ab97d617: Merge "Only pass -Xprofile-* options to ART"
* commit 'ec4c7752c22ae26924378d953a6f4a0e8e8b036d':
  Only pass -Xprofile-* options to ART
2014-03-11 18:52:23 +00:00
Narayan Kamath
a742ca4017 am bbf82665: am 6e2fb587: Merge "LP64: Make 9 patches architecture agnostic."
* commit 'bbf826659e8e5d0be683b2459207c495303d53b6':
  LP64: Make 9 patches architecture agnostic.
2014-03-11 18:52:07 +00:00
Dave Allison
2fddd6cd2e am b94904ab: am 3fc3b9fd: Merge "ART profiler usage."
* commit 'b94904ab6dfbb9db7e8042f10886042a295857d4':
  ART profiler usage.
2014-03-11 18:51:42 +00:00
Brian Carlstrom
2d0bd7d36b am 485e3b45: am 5c126c3d: Merge "Add dex2oat-flags plumbing to AndroidRuntime"
* commit '485e3b459491267ae1390e1df5ff8f7d4695f819':
  Add dex2oat-flags plumbing to AndroidRuntime
2014-03-11 18:29:52 +00:00
Narayan Kamath
2d895e6344 am 8fb22ae7: am eee2c72f: Merge "Various format string fixes for 64bit"
* commit '8fb22ae772fc62a10db6a06f283140d9233e8704':
  Various format string fixes for 64bit
2014-03-11 18:16:59 +00:00
Narayan Kamath
30420d58e2 am 2525acf5: am e4dae5f2: Merge "AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY"
* commit '2525acf5a9855d748c008268bb26d6f6d5045d84':
  AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY
2014-03-11 18:16:20 +00:00
Narayan Kamath
b3802a8e23 Remove java.io.tmpdir assignment in AndroidRuntime (again).
This was brought back by a bad merge conflict resolution
in change 0efbd9a463c848118c7685f4bfc8765a82caa761.

Change-Id: I0c7cbe8ee396293619eabf4d0a3c2f06c76bdd6e
2014-03-11 15:02:10 +00:00
Narayan Kamath
3ba975e75d am 7fe5978b: am 2ba70fd4: Merge "Use reinterpret_cast when an integer is cast to a pointer"
* commit '7fe5978bf7c4b473d8f6db5a12cfdcd110511331':
  Use reinterpret_cast when an integer is cast to a pointer
2014-03-11 00:53:11 +00:00
Narayan Kamath
5bf28c1ec8 am a88abfb3: am 6ab07fac: Merge "Use long for pointers in opengl/EGL classes"
* commit 'a88abfb3a5dccdad6210b294843fa2e21a27d378':
  Use long for pointers in opengl/EGL classes
2014-03-11 00:53:08 +00:00
Greg Hackmann
5468a5c117 am 9e413bf4: am bbfc08b3: Merge changes I6d4fdada,Ia34899a4
* commit '9e413bf4e562d98b6efeb157369f152edd5f0261':
  open("/dev/rtc0") failure in AlarmManagerService.setTime() should be non-fatal
  Move time setting code from SystemClock to AlarmManagerService
2014-03-10 18:04:47 +00:00
Brian Carlstrom
98ba7bd5d1 Only pass -Xprofile-* options to ART
Bug: 13391896
Change-Id: I5d6a3b900c9b20f02e1d4ccb73f712e9260c7dfd
2014-03-10 10:22:10 -07:00
Narayan Kamath
6381dd4ff2 LP64: Make 9 patches architecture agnostic.
The Res_png_9patch struct had several pointer members
whose size differed between 32 and 64 bit platforms.

These members have been replaced by uint32_t offsets
to serialized data. The serialized form for 9patches
places a Res_png_9patch object at the beginning of
serialized data, followed by int32_t arrays of xDivs,
yDivs and colors.

Note that these offsets are not strictly required,
since they can be computed from the values of numXDivs,
numYDivs & numColors, however they are called in tight
loops so having them computed once is a beneficial.

This change also removed the unused patch_equals function
from aapt's Image.cpp.

Change-Id: I3b9ac8ae5c05510d41377cae4dff1c69b40c2531
2014-03-10 10:00:02 +00:00
Narayan Kamath
6c18e8adf2 am 911b2ce3: am 4a642ee5: Merge "Remove unused JNITest class"
* commit '911b2ce3da7dbd8b6335d1092fc6c9e880147104':
  Remove unused JNITest class
2014-03-08 01:51:43 +00:00
Dave Allison
0efbd9a463 ART profiler usage.
This is a change to add args to some of the profiler related
functions, including installd commands.

Also read properties and set command line options for the runtime
profiling parameters.

Changed calls to isDexOptNeeded() to isDexOptNeededInternal().  This
needs additional arguments passed for profiles.

Bug: 12877748
Change-Id: I1a426c9309d760bac0cf92daa298defee62287c1

Conflicts:
	core/jni/AndroidRuntime.cpp
2014-03-07 12:32:44 -08:00
Narayan Kamath
b2235d5db7 am fca204a4: am 05cebdc2: Merge "Fix several bad function definitions."
* commit 'fca204a4b8771b800383c91465a48eb2cd8b3ba2':
  Fix several bad function definitions.
2014-03-07 19:41:27 +00:00
Narayan Kamath
cde7868356 am b152473f: am 9fce8535: Merge "AArch64: Make AssetAtlasService 64-bit compatible"
* commit 'b152473f46d8176e7eb2c55b54342a7a29c525cf':
  AArch64: Make AssetAtlasService 64-bit compatible
2014-03-07 19:41:24 +00:00
Narayan Kamath
ae69111e23 am 96ddea41: am 7c710936: Merge "Remove java.io.tmpdir assignment in AndroidRuntime."
* commit '96ddea413dcf266d996877d3fc2d81738c5316c8':
  Remove java.io.tmpdir assignment in AndroidRuntime.
2014-03-07 19:40:30 +00:00
Narayan Kamath
d556b42909 am 3bec0fbb: am fa8f95e9: Merge "AArch64: Use long for pointers in SurfaceSession class"
* commit '3bec0fbb349a969934828ee726956877a3a21dee':
  AArch64: Use long for pointers in SurfaceSession class
2014-03-07 19:34:28 +00:00
Leon Scroggins III
5eea60a0ef am 74ca3fd3: am bc57651f: Merge "DO NOT MERGE - merge nativeDecodeFileDescriptor fixes into KLP-MR2 BUG:13191516" into klp-dev
* commit '74ca3fd34dac9674f61313594e2863ffecd79c7a':
  DO NOT MERGE - merge nativeDecodeFileDescriptor fixes into KLP-MR2 BUG:13191516
2014-03-07 18:31:39 +00:00
Leon Scroggins III
42ae4cf2ce Merge "resolved conflicts for merge of 8d3281f5 to klp-dev-plus-aosp" into klp-dev-plus-aosp 2014-03-07 18:26:19 +00:00
Leon Scroggins III
bc57651fb5 Merge "DO NOT MERGE - merge nativeDecodeFileDescriptor fixes into KLP-MR2 BUG:13191516" into klp-dev 2014-03-07 18:13:29 +00:00
Leon Scroggins III
278250dafb DO NOT MERGE - merge nativeDecodeFileDescriptor fixes into KLP-MR2
BUG:13191516

Original CLs below:

In nativeDecodeFileDescriptor, use fdopen.

Instead of attempting to mmap the entire file, create an
SkFILEStream from a FILE.

BUG:11669944
BUG:11028218
Cherry-pick from: If67da91484acc79f9f3dde6d05201409c0c75e41

-------------------------------------------------------------------------

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
Cherry-pick from: I38b8cf5d210dbbc0107e6562e3884867de57fc4b
2014-03-07 11:28:44 -05:00
Leon Scroggins III
e648c19bf3 resolved conflicts for merge of 8d3281f5 to klp-dev-plus-aosp
Change-Id: If2855ff4f7a1e7645c69af378955868f44187376
2014-03-06 20:10:19 -05:00
Takahiro Aizawa
092759f6b4 EGL14.eglCreateWindowSurface should set producerControlledByApp
Interface of Surface class changed.
To reflect the change for EGL14, add producerControlledByApp flag.
Similar change can be seen in 0fa257fe53bf520bdde93996a1901ce6bc3e1788

Bug 13226025
(cherry-pick from AOSP Ic8911d3131e033747cfdabe59ac2fea1e90bb4a0)

Change-Id: I853484c38f065d71b365bb48b2a794ca4787e70a
2014-03-06 14:18:44 -08:00
Leon Scroggins III
5e49b497ae Update framework to use M33 Skia. DO NOT MERGE
(These CLs are already in master.)

Bug: 13246311

This cherry-picks 7 CLs:

-----------------------------------------------------------------------

Remove calls to deprecated SkBitmap::setIsOpaque()

setIsOpaque() has been removed from ToT Skia.

Update setters for mIsPremultiplied and hasAlpha to take the
other into consideration.

cherry-pick from: I1b36b0b0ce7126031eb7b769b563c17dcd4b306a

-----------------------------------------------------------------------

Merge AssetStream with AssetStreamAdaptor.

Add enums to the constructor for AssetStreamAdaptor to choose the
different behaviors used by the (former) two different classes.

The old clients of AssetStream now get the following features of
AssetStreamAdaptor
- Debugging statements on error.
- The stream is an SkStreamRewindable.
- getLength() returns the correct value, and the old way of getting
  the length (read(NULL, 0)) is no longer implemented, since it is
  no longer used.
- isAtEnd() returns the correct value. ToT Skia makes it pure virtual,
  so some implementation is necessary.

cherry-pick from: I2a5395914e4f53830aaefee396556459083a1c56

-----------------------------------------------------------------------

Deprecate Android-specific SkPaint functions.

The following functions were problematic:
 const SkGlyph& getUnicharMetrics(SkUnichar, const SkMatrix*);
 const SkGlyph& getGlyphMetrics(uint16_t, const SkMatrix*);
 const void* findImage(const SkGlyph&, const SkMatrix*);

Replacing them with calls through SkGlyphCache solved a nasty crash
bug, so they have all been deprecated.

Bug: 11968757
cherry-pick from: Id746315d41aec5b211b78b172a883c2061130f08

-----------------------------------------------------------------------

pass SkGlyphCache into updateGlyphCache()

Doing so prevents us from double-locking the glyph cache, thereby
effectively locking ourselves out of reusing work that we'd just done.

Bug: 11968757
cherry-pick from: I5c552f2d0bbe30af2ce9054ba684e7da756a0d89

-----------------------------------------------------------------------

Updates to the Skia API needed to merge the WebView m33 version of Skia.

cherry-pick from: I0f63b53f2aae58871413b132742fc84138f069a3

Bugfix for screenshots (recent apps) due to incorrect rowBytes computation

bug: 12915192
cherry-pick from: I4d5fe2a2f75baf66099e0970fb646686a1992714

-----------------------------------------------------------------------

Fix bug in AndroidPixelRef where we did not store the correct imageInfo for a recycled bitmap.

cherry-pick from: I882483b78886e2f19fa4e43a86e69f5a82b3b7e5

-----------------------------------------------------------------------

Change-Id: Ie2b731a9f0795802418cfecddb4b684c92c64d33
2014-03-06 12:14:47 -05:00
Brian Carlstrom
3beff1e023 Add dex2oat-flags plumbing to AndroidRuntime
Change-Id: Idaa7e5351e146d76e1972cbe4d93af69f0b999a6
2014-03-04 14:08:46 -08:00
Narayan Kamath
eee2c72f96 Merge "Various format string fixes for 64bit" 2014-02-28 13:41:58 +00:00
Ashok Bhat
64d38d9f48 AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY
Note that files changed in this patch have been automatically
generated by running frameworks/native/opengl/tools/glgen/gen
script

This will allow eglGetDisplay(int) to work on both 32-bit and
64-bit systems when EGL_DEFAULT_DISPLAY is passed as a parameter.

Change-Id: Idf27d6e00d623d331bb2d4d7f85fa450e0db26c9
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-26 19:07:54 +00:00
Narayan Kamath
2ba70fd49b Merge "Use reinterpret_cast when an integer is cast to a pointer" 2014-02-25 13:05:48 +00:00
Kévin PETIT
95ece35c2f Various format string fixes for 64bit
Change-Id: I74532a4e0400033f5ee3e3f6827ac42f77d16f53
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-02-24 17:39:46 +00:00
Ashok Bhat
84bbeb9e0c Use long for pointers in opengl/EGL classes
Note that files changed in this patch have been automatically
generated by running frameworks/native/opengl/tools/glgen/gen script

This patch updates EGL classes in frameworks/base to support
64-bit platforms. Key changes in the EGL classes include

[x] EGLObjectHandle class - EGLObjectHandle class has two public
    methods (constructor and getHandle) that assume handles are
    32-bit. They have not been changed. Instead, two new hidden
    methods (EGLObjectHandle(long) and getNativeHandle) have been
    added.

[x] EG14 class - Two public methods eglGetDisplay and
    eglCreatePbufferFromClientBuffer assume that handles are 32-bit.
    They have been changed to throw unsupported operation exception
    on non 32-bit machines. Two new methods eglGetDisplay(long)
    and eglCreatePbufferFromClientBuffer(...long buffer..) have
    been added to support 64-bit handles.

Change-Id: I9e0f064e5b33700eb0baa2e1841a21f931f7a765
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-24 15:50:22 +00:00
Ashok Bhat
01c26ea89d Use reinterpret_cast when an integer is cast to a pointer
Note that files changed in this patch have been generated
by running frameworks/native/opengl/tools/glgen/gen script.

Change-Id: Iff3ac2e804af41b9a6ec073fd65019c6806fe821
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-24 14:33:52 +00:00
Greg Hackmann
bbfc08b3ab Merge changes I6d4fdada,Ia34899a4
* changes:
  open("/dev/rtc0") failure in AlarmManagerService.setTime() should be non-fatal
  Move time setting code from SystemClock to AlarmManagerService
2014-02-21 21:01:00 +00:00
Greg Hackmann
38bf514668 Move time setting code from SystemClock to AlarmManagerService
On devices using /dev/rtc instead of /dev/alarm, updating the
time-of-day clock and RTC are separate syscalls.  Hence the clock and
RTC could be left in inconsistent states if two threads called
SystemClock.setCurrentTimeMillis() simultaneously.

By moving this code into AlarmManagerService, we can put a global lock
around AlarmManagerService.setTime() and prevent the race condition.

Note that access to SystemClock.setCurrentTimeMillis() is now gated by
android.permission.SET_TIME, where before it was gated by filesystem
permissions (i.e., could the process write to /dev/alarm or /dev/rtc).

Change-Id: Ia34899a4cde983656305fd2ef466dfe908ed23c8
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-02-21 09:53:19 -08:00
Ashok Bhat
42f06b0e22 Remove unused JNITest class
JNITest class is no longer actively used. This patch
removes the class (java and jni) files.

JNI interfaces and calls are extensively tested in
the art unit tests (art/tests) and in cts (see
CtsJniTestCases).

Change-Id: I62f7c72deb5d206fa3f545ae39a9cb9011110d0a
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-21 14:34:35 +00:00
Narayan Kamath
05cebdc2ab Merge "Fix several bad function definitions." 2014-02-20 12:55:27 +00:00
Narayan Kamath
047b938f71 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

(cherry picked from 017546e65280a3389b6167f5fc3b5d1c3001154a)

Change-Id: Iede02be90e6a3c9a2db1fe04dcd0db99abe37097
2014-02-20 12:52:16 +00:00
Ashok Bhat
4de3f481bc AArch64: Make AssetAtlasService 64-bit compatible
Changes in this patch include

[x] Long(64-bit) is used to store native pointers in
    AssetAtlasService and related classes as they can be 64-bit.

[x] Some minor changes have been done to conform with
    standard JNI practice (e.g. use of jint instead of int
    in JNI function prototypes)

Change-Id: Ib4c77c134e3ad5b21732e20cde9a54a0b16bdab1
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-20 12:10:24 +00:00
Narayan Kamath
7c710936c5 Merge "Remove java.io.tmpdir assignment in AndroidRuntime." 2014-02-19 14:24:48 +00:00
Narayan Kamath
3d03e5b90d Remove java.io.tmpdir assignment in AndroidRuntime.
This value is overridden by the framework anyway
(see ActivityThread.handleBindApplication). Besides,
it doesn't seem like a great idea to let tools clutter
/sdcard/ with temp files.

Change-Id: I26c710cbea7397f89e6103e54a73044a87da95b1
2014-02-14 17:42:24 +00:00
Narayan Kamath
fa8f95e9b9 Merge "AArch64: Use long for pointers in SurfaceSession class" 2014-02-14 13:10:44 +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
Dianne Hackborn
67754d93c4 Merge "Runtime resource overlay, iteration 2" 2014-02-11 21:29:58 +00:00