117964 Commits

Author SHA1 Message Date
Brian Carlstrom
98ba7bd5d1 Only pass -Xprofile-* options to ART
Bug: 13391896
Change-Id: I5d6a3b900c9b20f02e1d4ccb73f712e9260c7dfd
2014-03-10 10:22:10 -07:00
Narayan Kamath
6e2fb587d7 Merge "LP64: Make 9 patches architecture agnostic." 2014-03-10 10:43:58 +00: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
Dave Allison
3fc3b9fd1b Merge "ART profiler usage." 2014-03-07 22:25: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
5de03b18ea Merge "Don't assume that size_t is 32-bit" 2014-03-07 16:04:50 +00:00
Narayan Kamath
28ccb4f7d9 Merge "Don't use size_t for variables that store uint32_t value" 2014-03-07 16:04:28 +00:00
Narayan Kamath
d265bcc4b5 Merge "Inform libcore of time format pref. changes." 2014-03-07 13:50:04 +00:00
Narayan Kamath
27ad525c7e Inform libcore of time format pref. changes.
- Introduce a boolean extra for intent TIME_CHANGED that
  specifies if the user wants a 24 hour format or not.
- Have the ActivityManagerService inform running processes
  of changes to this preference.
- Add plumbing in ActivityThread to inform j.t.DateFormat

Change-Id: I05fafb903ae54e39c03a048b7a219dc5a93fd472
2014-03-07 13:48:04 +00:00
Martijn Coenen
29e55bef77 Merge "NFC: getNdefMessage() should throw exception if no tag in field." 2014-03-06 14:33:11 +00:00
Ashok Bhat
e92416dfeb Don't assume that size_t is 32-bit
Crypto data was being copied to java jint array in chunks of
size_t. This will not work on LP64 as size_t will be 64-bit.
This patch changes copy to use int32_t chunks instead of size_t.

Change-Id: I75d910a1182ad2f58f432cd172127f048b4c393b
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-03-06 12:36:47 +00:00
Ashok Bhat
58fad0bf14 Don't use size_t for variables that store uint32_t value
The local variables width, height, displayWidth and
displayHeight are set to the corresponding members
of VideoFrame class. As the members of VideoFrame are
uint32_t, the local variables have been changed to
uint32_t.

As these local variables are passed to a java method,
the change of size_t to uint32_t ensures that the size
of the actual parameter (i.e uint32_t) is now same as
the size of the formal parameter (i.e. jint) for all
platforms.

Change-Id: Icd14de0142bfd4e6ba52a3e6aff3d80b323a0de4
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-03-06 11:33:20 +00:00
Jason Sams
2383f2200a Merge "Validate objects are from the correct context." 2014-03-06 00:50:24 +00:00
Jason Sams
678cc7fe9f Validate objects are from the correct context.
Change-Id: I7d87b0e253b8d2e36d1aed790cfe3a7dd23e158f
2014-03-05 16:09:02 -08:00
David 'Digit' Turner
be7b8f4f4c Merge "aidl: Support building with updated host sysroot." 2014-03-05 23:10:45 +00:00
David 'Digit' Turner
ea6d2197ba aidl: Support building with updated host sysroot.
This patch fixes tools/aidl/Type.cpp to compile with
a more recent SDK host toolchain sysroot (that has not
been submitted yet).

The main issue is that the code uses ssize_t which is
defined in <sys/types.h>, but didn't include the header
directly.

Apparently, this no longer compiles when using the Ubuntu
10.04 libc6-dev headers (the current SDK toolchain is
based on Ubuntu 8.04), so perform an explicit include
to fix this.

NOTE: This doesn't break the Windows SDK build.

Change-Id: Idcacf8f8d1c606b39bf8aa75ab409aa0c2a3cd5a
2014-03-05 23:57:46 +01:00
Brian Carlstrom
5c126c3d17 Merge "Add dex2oat-flags plumbing to AndroidRuntime" 2014-03-05 19:23:48 +00:00
Brian Carlstrom
3beff1e023 Add dex2oat-flags plumbing to AndroidRuntime
Change-Id: Idaa7e5351e146d76e1972cbe4d93af69f0b999a6
2014-03-04 14:08:46 -08:00
Dave Platt
22f66b76f5 Merge "Harden NsdManager against null-dereference crashes" 2014-03-04 21:55:56 +00:00
Dave Platt
3fc376b733 Harden NsdManager against null-dereference crashes
Due to race conditions or programming errors, the NsdManager
can attempt to process an asynchronous status message (and issue
a callback to the listener) after the listener has already been
removed from the NsdManager state.  This causes dereferencing of
null objects, and a crash.

Split out the three async-queue message cases:  these are ones
in which message.arg2 does not hold an NsdManager array index
and the code should not interpret this field as if it were.

Add an explicit check for "null listener" (the array index in the
message has already been released), log a warning, and exit early.

Safeguard accesses to the "NSD service type" string from a (possibly
null) NsdServiceInfo object... return a constant "?" string rather
than crashing.

Bug: 9016259

Change-Id: I40aabdfc65d86fdd0eaac7a1e7e56e6ff69796cf
2014-03-04 13:25:02 -08:00
Craig Mautner
a0b4d0ce47 Merge "Avoid duplication of AppWindowToken in created Task" 2014-03-04 15:19:17 +00:00
Yevgen Pronenko
c36a5b9c36 Avoid duplication of AppWindowToken in created Task
When WindowManagerService creates a new Task, it passes atoken to the
Task constructor. In this case atoken is added to mAppTokens list by
the Task constructor and then it is added manually again by calling
newTask.mAppTokens.add(atoken). As a result, the same atoken is present
in mAppTokens list twice.

When another window token is added to the list, it may be placed in
beetwen duplicated tokens and corresponding window will be hidden from
the screen by corresponding duplicated windows.
From user perspective it means that some windows will not be displayed
on the screen.

The issue is fixed by avoid adding atoken to mAppTokens list manually
when it was added already in Task constructor.

Change-Id: I10628e68186160fffdde07beb7d84ab3cecb7051
2014-03-04 15:07:34 +01:00
Victoria Lease
9404752d50 Merge "Add casual/cursive/sans-serif-smallcaps font families." 2014-03-03 23:38:54 +00:00
Tim Murray
8377a4fd03 Merge "Fix null check for BaseObj.equals." 2014-03-03 19:09:08 +00:00
Victoria Lease
2b96157f92 Add casual/cursive/sans-serif-smallcaps font families.
Bug: 12384866
Change-Id: I7482d228279a63ea92cb605de314b2f7d0ad483f
2014-03-03 08:50:46 -08:00
Ying Wang
dd72b6e76c Merge "Fix indirect misuse of $(my-dir)." 2014-03-01 17:25:10 +00:00
Ying Wang
f794d63425 Fix indirect misuse of $(my-dir).
Change-Id: I20a98a8e1378da3a53e6a6d599c8fc0100f7f87a
2014-02-28 18:04:37 -08:00
Tim Murray
78214c9531 Fix null check for BaseObj.equals.
Change-Id: I4f060697db175cbf0b5617c1220db853bbe53f1f
2014-02-28 16:57:47 -08:00
Nick Kralevich
4a79484648 Merge "Fix descriptor leak after accepting connections" 2014-02-28 21:02:21 +00:00
Dave Platt
d75932b521 Fix descriptor leak after accepting connections
After accepting a connection on a listening socket and
storing the resulting FileDescriptor into a newly created
LocalSocketImpl, the new impl's "descriptor was created
locally and should be closed normally" flag should be set.

(cherrypicked from 3e7305c6bf6062b5cb1e2ddcec6c6d30b4a8bc0d)

Bug: 11805817
Change-Id: I0a1a7c62ec3fbcf647a44a22110ddc778d14e5f4
2014-02-28 12:04:51 -08:00
Narayan Kamath
eee2c72f96 Merge "Various format string fixes for 64bit" 2014-02-28 13:41:58 +00:00
Narayan Kamath
14420e29ab Merge "AArch64: Use long[] for RS id array" 2014-02-28 13:22:26 +00:00
Xavier Ducrohet
0c72b76963 Merge "Update layoutlib method for SystemClock" 2014-02-27 23:28:14 +00:00
Christopher Tate
16678ac66f Merge "Fixed upgrading from forward-lock application to system application" 2014-02-27 22:01:29 +00:00
Narayan Kamath
e4dae5f2c2 Merge "AArch64: Make eglGetDisplay(int) work for EGL_DEFAULT_DISPLAY" 2014-02-27 13:18:07 +00:00
Narayan Kamath
2000fe5833 Merge "Make getAssetInt throw unconditionally." 2014-02-27 13:13:08 +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
Chris Craik
2729857df6 Merge "Fix AOSP build - DO NOT MERGE" 2014-02-26 18:48:27 +00:00
Chris Craik
c3bac8a096 Merge "Fix graphics corruption caused by HWUI caches" 2014-02-26 18:48:00 +00:00
Chris Craik
2c42b79c6c Fix AOSP build - DO NOT MERGE
Change-Id: I42b420c2ce89ce364a2809b28b827964e6923fa1
2014-02-26 10:44:50 -08:00
Sangkyu Lee
36fad8f6fc Fix graphics corruption caused by HWUI caches
Some caches(PatchCache, TextureCache, PathCache) for HWUI
uses deferred removal for their cache entries even though
actual resource objects are immediately freed by
ResourceCache.
For this reason, the uniqueness of a resource address in
the caches is not guaranteed in specific cases.
(Because malloc() can return the same address when malloc()
and free() called very frequently.)

So it can be possible the cache have two cache entries for
two different resources but the same memory address.
(Of course one of the resources is already freed.)
It also can be possible mGarbage vector in PatchCache has
duplicated addresses and this can lead to duplicated free
blocks in the free block list and graphics corruption.
(Deferred removal was implmeneted based on an assumption of
unique resource addresses.)

So this patch makes sure resource objects are freed after
the resources are removed from the caches to guarantee
the uniqueness of a resource address and prevent graphics
corruption.

Change-Id: I040f033a4fc783d2c4bc04b113589657c36fb15b
Signed-off-by: Sangkyu Lee <sk82.lee@lge.com>
2014-02-26 10:43:26 -08:00
Narayan Kamath
2d19d202bd Make getAssetInt throw unconditionally.
All callers have been moved over to getNativeAsset, and
this method has been hidden from the public API internally.

Change-Id: I5f29b5ddb4449adadf426e49a4085c7320289a15
2014-02-25 15:48:07 +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
Narayan Kamath
6ab07fac49 Merge "Use long for pointers in opengl/EGL classes" 2014-02-25 13:05:44 +00:00
Deepanshu Gupta
5ac6a9e9b7 Update layoutlib method for SystemClock
Update layoutlib to reflect changes from
http://android-review.googlesource.com/83061/

Change-Id: If7326f3af2a97271ad1465382944e1f078b965d8
2014-02-24 14:22:29 -08: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
c9244720da open("/dev/rtc0") failure in AlarmManagerService.setTime() should be non-fatal
Setting the time-of-day clock is still useful on systems where the RTC
device is not yet brought up or otherwise unavailable.  This matches the
in-kernel behavior of the Android alarm driver.

Change-Id: I6d4fdadab12e241ada7419425efd55bd13873c55
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-02-21 09:53:25 -08:00