Commit Graph

35423 Commits

Author SHA1 Message Date
Elliott Hughes
5568e0e45f Merge "Move frameworks/base off private libcore.ICU API." 2014-05-31 02:22:24 +00:00
Elliott Hughes
570f44b4ab Move frameworks/base off private libcore.ICU API.
Change-Id: I55355b7ea68174063f31d6bb08a71bcb9dc76d62
2014-05-30 19:20:20 -07:00
Narayan Kamath
bd4d320344 Merge "Support an ABI flag for instrumentation." 2014-05-30 10:35:29 +00:00
Brian Carlstrom
5bc93866b0 Move to dalvik.vm.lib.2 to force default to libart
Bug: 14298175

(cherry-picked from commit 2ef5abb8d534f016582d6023054cbe69d8114b6b)

Change-Id: Icd91982c09076e87092906106cbff4a81589e8de
2014-05-28 14:53:40 -07:00
Brigid Smith
461ac24b8c Updated Trace.h to recognize ATRACE_TAG_BIONIC.
Bug: 15116468
Change-Id: I6aef941c6b6bd59347855f7265e701a3aaa08edc
2014-05-28 14:21:06 -07:00
Christopher Tate
a0166b58de Merge "Activity chooser "Always" button is not working" 2014-05-23 02:17:33 +00:00
Sebastien Hertz
fc1ffe89db Merge "Report runtime information to DDMS" 2014-05-22 14:47:14 +00:00
Xiong Li
e88b042d1d Activity chooser "Always" button is not working
When ResolverActivity is created with a custom list of matching
applications (rList) as in NFC case, and the alwaysUseOption is
set to true, the prferredActivity is not saved even if the user
presses the "always" button.

When a list is provided the variable mBaseResolveList will be
!= null. This will set mOrigResolveList = null.

When an activity is choosen and one of the buttons are pressed
onIntentSelected is called. The first thing this method does
is to check mAdapter.mOrigResolveList != null, however in this
case mOrigResolveList is always null, and the value is not
saved as PreferredActivity.

This problem was introduced in
6d8dfbd814.

Change-Id: I9eac41b7861b5e68ad3978af0dc0285f2a34eb88
2014-05-22 11:58:41 +02:00
Sebastien Hertz
e901dbdee2 Report runtime information to DDMS
Reports runtime's ABI and internal flags to be displayed by DDMS.

Bug: 14888999
Bug: 14888124
Change-Id: I8a2d3f22f84a093be2fbc74464af6aa7b2a2bebb
2014-05-22 10:28:12 +02:00
Jeff Sharkey
bc06158a78 Merge "Check for null in LocalSocketImpl.SocketInputStream.available()" 2014-05-21 16:03:08 +00:00
Jeff Brown
63bf04d88b Merge "Fix NullException in QwertyKeyListener.KeyDown" 2014-05-20 20:37:44 +00:00
Donghan Ryu
289c273ec4 wallpaper: limit wallpaper width to sys.max_texture_size
Image wallpapers are created ~1.5x screen size.  On some devices this
may exceed the maximum supported texture size, which will either fail
allocation or fail to composite.

Bug 991597

Change-Id: I9948b09f6e00a724212e73d36901f2bbea42e2f4
2014-05-20 12:00:31 +09:00
John Reck
0661ddee11 Merge "Enable display list updates with zero delta time" 2014-05-16 15:51:39 +00:00
Narayan Kamath
79e0206ef3 Merge "Init the static member when first used for CursorWindow." 2014-05-16 12:24:33 +00:00
Narayan Kamath
8dcfefd652 Support an ABI flag for instrumentation.
Allows us to choose what ABI a process uses when
launching it with "adb shell am instrument", for eg.

adb shell am instrument --abi arm64-v8a component/runner

Note that we only perform very basic validation of the
ABI. In general, there is no guarantee that the app will
launch with the instruction set we choose, for eg. if it
has native libraries that are for a different ABI.

bug: 14453227

Change-Id: Ifb7e89b53675080dc87941091ee5ac360f218d7f
2014-05-16 10:30:00 +01:00
Narayan Kamath
402120a223 Merge "Wait for secondary zygote before bringing up the system_server." 2014-05-15 13:34:09 +00:00
Narayan Kamath
706b1d7ea0 Merge "Remove "required" prefix from ABI fields." 2014-05-15 12:39:36 +00:00
Narayan Kamath
6e35a2ad05 Remove "required" prefix from ABI fields.
As per a comment on an earlier code review.

(cherry-picked from commit a9d64733421d6765eab5c2730fa912f068e26047)

Change-Id: I064cffc13c323b721f3a16c83e0e95ee348ef9f6
2014-05-15 10:57:05 +01:00
Tina Zhang
cf85d6ee0f Enable display list updates with zero delta time
It's better not to cancel display lists updates. In the emulator, if we use
low precision clock source like refined-jiffies, the display list which
should be updated with a new frame, won't be updated due to the delta time
is 0 . And this makes all the hardware accelerated GUI out of order.

Change-Id: I41dba8965c96b6ad1b6d326ad1d6fa4a0a49173f
Signed-off-by: Tina Zhang <tina.zhang@intel.com>
2014-05-15 08:41:24 +08:00
Torne (Richard Coles)
da8c037c8b Avoid supported ABI list containing "unknown".
If one of the ABI list system properties is undefined/empty (as
ro.product.cpu.abilist64 is on a 32-bit only device), getString returns
"unknown", which ends up creating a 1-element array with "unknown" as a
member. Fix this to instead just get the empty string and split that
into a 0-element array.

Change-Id: I0d0a54eb06bb04427bcf0487e2a16d4180b81116
2014-05-14 16:17:26 +01:00
Narayan Kamath
64cd907af9 Wait for secondary zygote before bringing up the system_server.
The zygote that's responsible for starting up the system server
now checks if there's another zygote on the system, and waits
for it to start up. Also, a few minor clean ups :

- Address a long standing TODO about zygote retries.
- Have functions throw IOException where appropriate and
  wrap them in ZygoteStartFailedEx with a filled in cause.

bug: 14869939

Change-Id: I9e514659b79b3d2c98a4c5f93c0c376843f6c881
2014-05-13 15:24:26 +01:00
yingying
1ec4f36060 Init the static member when first used for CursorWindow.
As the CursorWindow will be preloaded by zygote, and there is one static
member need use the system resource to initialize. But actually the zygote
do not preload the resource now. (In fact, the zygote will preload classes
first, then preload the resource.) We need ensure the zygote to create the
system resource first.

So change to init this static member as -1, and it will be evaluated when
first used.

Change-Id: Ibccb84e3c410c73788ac682fe76b720306e81dc4
2014-05-07 23:00:28 +08:00
Brian Carlstrom
ff1ec4d9e7 Use package usage information to decide what dex files to optimize in PackageManagerService
Change-Id: Iac137311e2e9d5139b5aa8651c6f3d296802612a
2014-05-06 15:06:25 -07:00
Narayan Kamath
0349e8c478 Package manager changes for dual zygote stack.
- Pass down the app's instruction set to dexopt so that
  it can compile the dex file for the right architecture.

- Also pass down the app's instruction set to rmdex, movedex
  and getSize so that they can construct the cache file
  location properly.

- Temporarily compile "system" jars such as am,wm etc. for
  both architectures. A follow up change will ensure that
  they're compiled only for one architecture (the same
  arch. as the system server).

- Java "shared" libraries are now compiled for the right
  architecture when an app requires them.

- Improve the app native library ABI detection to account
  for system apps installed in /system/lib{64}/<packagename>
  and also handle sdcard and forward locked apps correctly.

(cherry-picked from commit b4d35dc8e9702f9d0d82d35a105f0eea35672b52)
2014-05-01 13:54:48 +00:00
Christopher Tate
c84471c2e0 Handle /oem and /vendor as well
Bug 13170859

(cherry-picked from commit 740888f62e)

Change-Id: I7b5e206697fcbec146cac6cd83fca5c583a8cbd7
2014-05-01 13:51:33 +00:00
Narayan Kamath
d6d1dbac3f Implement FileUtils#contains.
Partial cherry-pick of changes 4ca728c0 and 21de56a9, which
can't be cherry-picked due to their large surface area.

Change-Id: Ife46e150d360cd5241dea93863141749233c1805
2014-05-01 14:01:44 +01:00
Michael Wright
54c3529b4d Merge "WallpaperManager: add NULL pointer check for getCropAndSetWallpaperIntent" 2014-04-30 19:02:56 +00:00
Allen Shen
1c0f21ea84 WallpaperManager: add NULL pointer check for getCropAndSetWallpaperIntent
Originally the api 'getCropAndSetWallpaperIntent' does not check
whether the parsed parameter is a NULL pointer, as leads to the
whole app crash if it call this api with a null parameter accidentally.
A null pointer check logic is added into its original parameter check
logic, so that this API will throw an IllegalArgumentException if it
is parsed with a null pointer

Change-Id: Ib7de40e571419d09e1a744edc969eb7162766b75
2014-04-30 17:09:19 +08:00
Bo Liu
02931d9af6 DO NOT MERGE Add invokeFunctor stub
Change-Id: Ib7637d68c4f63065b909075a8f5d8cd1dd0674bd
2014-04-29 11:38:37 -07:00
Elliott Hughes
a9569ff70f Fix two zygote imports.
Change-Id: I5eea2d9f48479c33e1594aaa259274e5e787a1df
2014-04-28 20:53:52 -07:00
Elliott Hughes
860c5911a2 Move the Zygote off libcore.os and onto android.system.
Change-Id: Iaa20e50b05fad355bdf15bcfdc58efc9941c400c
2014-04-28 19:19:13 -07:00
Elliott Hughes
bbd87eb919 Merge "Track libcore.os' move to android.system." 2014-04-28 18:14:00 +00:00
Elliott Hughes
34385d352d Track libcore.os' move to android.system.
(This is partial, but should cover everything in AOSP master except
for the zygote.)

Change-Id: I1042c99245765746a744c44e714095cb2c6cb75d
2014-04-28 11:11:32 -07:00
Mathieu Chartier
83f7d0d67f Use Runtime.gc instead of System.gc for DDMS.
System.gc doesn't always do a GC unless to attempt to run the
finalizers after you call System.gc.

Bug: 14325353
Change-Id: Iebed7fad5576d610cea13a86e7d3d46652c67478
2014-04-28 11:07:22 -07:00
Mark Salyzyn
747802f8aa EventLog: event log translation errors
- Deal with L using v3 event log format, or K using v1 or v2 event log format

Change-Id: Id4fb205f51b7e506135888d565acf1604497b91f
2014-04-25 13:45:03 -07:00
Selim Gurun
8c2d70f5e8 Merge "Add a stub for forgotten callback to fix master-gpl." 2014-04-25 01:08:48 +00:00
Selim Gurun
4e48f40b03 Add a stub for forgotten callback to fix master-gpl.
Change-Id: I375dba89403d09dc39f696de04e0811633ecc803
2014-04-24 18:04:04 -07:00
Selim Gurun
adad989b6a Merge "Add a stub to fix master-gpl" 2014-04-25 00:39:10 +00:00
Selim Gurun
85b89bf7a3 Add a stub to fix master-gpl
Change-Id: I4cadd3a6e33843ccac4ef2eacbe508e40628367c
2014-04-24 17:31:07 -07:00
Nick Kralevich
8480384986 Merge "Zygote: enable CAP_BLOCK_SUSPEND capability for system server" 2014-04-24 18:18:02 +00:00
Daniel Leung
49cbafad9b Zygote: enable CAP_BLOCK_SUSPEND capability for system server
Starting from kernel 3.6, it requires processes to have the capability
CAP_BLOCK_SUSPEND to set/unset wake locks. Adds CAP_BLOCK_SUSPEND
to the list of capabilities for system server, so that PowerManager
can set wake locks.

Change-Id: I3246e6f6e6cb8f0bedb1c0417ed07085ee1f3aaa
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2014-04-24 19:12:38 +01:00
Neil Fuller
43582df3db Changes to support asynchronous close interruption
This change contains fixes to base from libcore change
I37de3e7d1a005a73821221e6156d10b95c595d7a

Bug: 13927110

Change-Id: I2d96e50307611c269dcf47886cd4d976854da8fc
2014-04-23 16:40:35 +00:00
Mark Salyzyn
69eb6f57e3 Native Runtime: Add LOG_ID_CRASH
Change-Id: I4e3a82636901c5169cc6b714a4fec815cd757c58
2014-04-15 15:22:23 -07:00
Ian McKellar
54d50089ee Check for null in LocalSocketImpl.SocketInputStream.available()
Calling available() on a local socket after close() will cause a native
crash. Other methods that pass LocalSocketImpl.fd to native code copy
the fd and check for null.

Change-Id: I2d0b573f34ae47a23009760bbb1c02933ab0a20e
2014-04-11 15:41:00 -07:00
Narayan Kamath
2d84a406bf Workaround 64 bit devices that don't have zygotes yet.
This can be fixed by tweaking their BoardConfig as well,
but that leads to all sorts of other problems.

For now, fall back to the primary zygote if the secondary
is unavailable. This will fail if shared libraries for the
primary zygote ABI are unavailable, but that won't be the
case just yet.

bug: 13970103
Change-Id: Ifa107e43ca95023d57a0d9c641e4fddaccd9a888
2014-04-11 19:24:53 +01:00
Elliott Hughes
8cd319b846 Merge "Add additional languages to be accepted by the NumberPicker input filter" 2014-04-11 17:30:09 +00:00
Ramin Zaghi
ff0c470833 System services detect and register app CPU ABIs
This patch uses the NativeLibraryHelper class to
match native libraries in an .apk package with
those listed in 'ro.cpu.abilist' property.
The result is stored in packages.xml and the
ApplicationInfo class.

This information will be used by the ActivityManager
to decide which zygote to use to launch the given
app.

Change-Id: I3ec3d050996d8f4621f286ca331b9ad47ea26fa0
2014-04-09 17:20:13 +01:00
Ramin Zaghi
1378aba7ae Re-implement native library search and copies.
We now use a two step approach :

- First we look through the list of shared libraries in an
  APK, and choose an ABI based on the (priority)  list of ABIs
  a given device supports.
- Then we look through the list of shared libraries and copy
  all shared libraries that match the ABI we've selected.

This fixes a long-standing bug where we would sometimes copy
a mixture of different ABIs to the device, and also allows us
to clearly pick an ABI to run an app with.

The code in NativeLibraryHelper has been refactored so that all
file name validation & matching logic is done in a single place
(NativeLibrariesIterator). This allows us to avoid a lot of
redundant logic and straightens out a few corner cases (for eg.
where the abi determination & copying logic do not agree on
what files to skip).

bug: https://code.google.com/p/android/issues/detail?id=65053
bug: 13647418

Change-Id: I34d08353f24115b0f6b800a7eda3ac427fa25fef
Co-Authored-By: Zhenghua Wang <zhenghua.wang0923@gmail.com>
Co-Authored-By: Ramin Zaghi <ramin.zaghi@arm.com>
Co-Authored-By: Narayan Kamath <narayan@google.com>
2014-04-09 17:16:40 +01:00
Narayan Kamath
4444dcd0ad Allow connections to multiple zygotes.
Adds a new String argument "abi" to Process.start.
This method will now query the zygotes to
determine what ABIs the primary and the secondary
zygote support (the secondary is optional) and dispatch
a fork request over the right zygote connection.

Both zygotes are assumed to be active at all points.

Change-Id: I460319b4481ff1c1666e8172223691820658a35c
2014-04-09 15:07:10 +01:00
Narayan Kamath
c41638cb75 Make zygotes aware of their supported ABIs.
Query system properties for the list of ABIs and pass
it as a command line argument to ZygoteInit.

Also add a new Zygote command that returns this list of
ABIs to peers.

Change-Id: I68034c6f63fa626911122579a011a0a25a8cda94
2014-04-09 13:41:15 +01:00