45684 Commits

Author SHA1 Message Date
Robin Lee
e66b6890ee Assign AID_EVERYONE gid to newly-created processes
Change-Id: I0ec45e07d77a4e6a47b6ba0d761c8375f433f528
2014-04-29 12:53:39 +01: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
Mark Salyzyn
c717179e4f Merge "jni: android_util_Process 64 bit issues" 2014-04-24 22:10:22 +00:00
Mark Salyzyn
c6a410164e jni: android_util_Process 64 bit issues
- critical issue with using %lld to scanf into a jlong
- subsidiary issues with mix jint, jsize and jlong printing

Change-Id: I77c6b3d3a202fec741cacc540fc39ad6cba25f52
2014-04-24 13:09:15 -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
5a47a9f62d Merge "Native Runtime: Add LOG_ID_CRASH" 2014-04-18 14:55:32 +00:00
Mark Salyzyn
5b6da1aee8 jni: binder ptrdiff_t compile issues
Change-Id: Ibdd82479d3f9fb53cf1d6793c4f7353e8f1c3646
2014-04-17 17:25:36 -07:00
Mark Salyzyn
cfd91e7852 jni: binder 64-bit compile issues
Change-Id: I8a3083e7e9389bbb84c2dd061fef059e0595800d
2014-04-17 15:40:01 -07:00
Mark Salyzyn
853940331f frameworks: 64 bit compile issues
ToDo: core/jni/com_android_internal_net_NetworkStatsFactory.cpp (merge issues)

Change-Id: I5cf0bbb868e6c18e86c97c6491b6ee983a8ee1a2
2014-04-16 10:43:48 -07:00
Mark Salyzyn
69eb6f57e3 Native Runtime: Add LOG_ID_CRASH
Change-Id: I4e3a82636901c5169cc6b714a4fec815cd757c58
2014-04-15 15:22:23 -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
Narayan Kamath
09e13cc5f9 Merge "System services detect and register app CPU ABIs" 2014-04-10 09:20:22 +00:00
Narayan Kamath
80413c9fe1 Merge "Re-implement native library search and copies." 2014-04-10 09:19:38 +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
Mark Salyzyn
ecdf9b199a Merge "jni: liblog reading error API incorrect" 2014-04-09 16:07:48 +00: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
Narayan Kamath
22ec1eefa4 Clean up argc / argv processing for runtime args.
- Make copies of argc, argv before argv is potentially
  overwritten with the process name.
- Allow multiple command line arguments to be passed to
  ZygoteInit (this is required for some of the 64 bit
  zygote work).
- Add an explanatory comment about how these argments
  are processed.

Change-Id: I752be69c5c0f97ed17d1a3dded19f46ee00929b0
2014-04-09 13:39:41 +01:00
Mark Salyzyn
b519aeca47 jni: liblog reading error API incorrect
- return value contains -errno on error.

Bug: 13907124
Change-Id: I91f12db5749fac2ae8ed5b0f033d4eaf83e666f5
2014-04-08 16:17:51 -07:00
Narayan Kamath
f626ca2c96 Don't allow MemoryFiles of negative length.
Prevents us from converting a (signed) jint into an
(unsigned) size_t and having horrible things happen.

Change-Id: I0f04e2eb9852ae7fc49b435fd0974f56e86751a4
2014-04-08 16:14:10 +01:00
Christopher Tate
5eab368c4d Always call super.onCreate(). Always.
Bug 12991134

(cherrypick of commit 9d6376a1d88ab5b3a41ee4400e3aaa4c4ee69e2a)

Change-Id: Ife16ef93408253e3318a06dc0206ab4b88c7f367
2014-04-04 23:06:13 +00:00
Raph Levien
c420ce34ba Merge "Marquee text RTL improvements" 2014-04-03 15:50:29 +00:00
Narayan Kamath
a23fcd7be8 Remove ProcessState::mArgc,mArgV,mArgLen
These look like historical oddities, and weren't really being
used for anything useful.

Process:setArgV0 was being called by android.util.Process, but
that functionality can be moved directly into the implementation
of that class.

bug: 13647418

Change-Id: I216c8f8a4c065f0cf3a61f19f9e32decd26f93f6
2014-04-03 12:29:07 +00:00
Ben Murdoch
369a00574d Merge "Update ViewRootImpl for 64bit functor type." 2014-04-03 09:48:43 +00:00
Ben Murdoch
cf61c9b71f Update ViewRootImpl for 64bit functor type.
Change-Id: Ie9020f0276c58ebf0977e4aef725fbc26aaf67b2
2014-04-02 14:41:41 +01:00
Narayan Kamath
973b4663b0 Move zygote startup logic to the frameworks.
The Zygote class is now in com.android.internal.os. It is
responsible for the vast majority of work before and after
the call to fork(). It calls back into the Runtime via
the new dalvik.system.ZygoteHooks class to allow the Runtime
to perform pre fork cleanup and post fork initialization.

The native code in Zygote.cpp is a direct and straightforward
port of the existing code in art. Most differences are
superficial, for example :
- We use C style logging (ALOGE) instead of stream based
  logging.
- We call env->FatalError() instead of using LOG(FATAL)

Change-Id: Ia101fb2af12d23894fe57e4134d2bc6d142e5059
2014-04-02 10:18:43 +01:00
Brian Carlstrom
ff9ca781d0 Improve detail message for X509TrustManagerExtensions argument validation
Bug: 13728564
Change-Id: I03d08babcdc0d11baff5e76a339b4285e92edee8
2014-03-31 11:22:34 -07:00
Jeff Hao
e3abd2ccbe Mark constructor as accessible in LayoutInflater.
Needed to bypass new access checks for fields, methods, and
constructors.

Change-Id: I8ff0b44a6cb4f4af1c72734bca366d8b89528030
2014-03-28 11:33:53 -07:00
Ashok Bhat
f5df700e6c AArch64: Make frameworks/base code more portable
Changes in this patch include

[x] Use %zu for size_t, %zd for ssize_t

[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: Id1aaa7894a7d0b85ac7ecd7b2bfd8cc40374261f
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-03-27 12:30:42 +00:00
Kenny Root
587a9455de CertificateChainValidator: initialize TrustManagerFactory
Need to call TrustManagerFactory#init before use. I suspect this class
isn't used anywhere since this hasn't caused a problem yet.

Change-Id: I17425d0bba4795d71960062361a755830abba7de
2014-03-26 08:40:45 -07:00
Michael Lekman
89bc413b8f Marquee text RTL improvements
Changed marquee text to scroll according to
the reading direction. Arabic text will
show the right edge and scroll towards
the left edge and vice versa for Latin.

Corrected marquee flicker when scroll animation
finished. The ghost scroll's x position was cast
to int and it made the text flicker when
marquee stops.

Ghost part didn't display for RTL languages.
Added multiplication with
getParagraphDirection to negate the ghost
offset.

Change-Id: I689039118df01a62f73ef0079c857fea1bfcc5a0
2014-03-25 18:03:34 +00:00
Kenny Root
77ceb5e8f1 Merge "Use X509ExtendedTrustManager and not Conscrypt" 2014-03-25 17:06:55 +00:00
Kenny Root
da776c872e Use X509ExtendedTrustManager and not Conscrypt
This allows the new X509ExtendedTrustManager to be used instead of
Conscrypt directly.

Bug: 13103812
Change-Id: I736f475342395f26657f2371828a6d3a0065a50a
2014-03-24 17:05:22 -07:00
Narayan Kamath
02eb6bfd66 Fix scaleNinePatch.
Use yDivs for yDivs, and not xDivs.

bug: 13394494

(cherry picked from commit 42a51ae8812bccde7ff370cc2688f7955e489ad4)

Change-Id: Ia0a7d701a170945216ab247a483e7f972b6fe17e
2014-03-24 12:35:01 +00:00
Alex Klyubin
a2507e8764 Adjust to the change in the private SSLParameterImpl API.
Conscrypt's SSLParameterImpl getDefaultTrustManager was renamed to
getDefaultX509TrustManager.

Bug: 13563574
Change-Id: I601c651d631f5a2e4a04d21941186553988e5286
2014-03-21 11:13:50 -07: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
7c0dfed535 Merge "Pass int32_t for JNI calls to java Input/Output streams." 2014-03-18 09:34:43 +00:00
Jeff Sharkey
d88d817498 Merge "Null pointer exception in FileRotator.java" 2014-03-17 16:32:05 +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
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
Mikael Gullstrand
bbf1861fdd Null pointer exception in FileRotator.java
Sometimes a null pointer exception is thrown when examining files
managed by the file rotator.

The logs from the test show that the Wifi state is changed a large
number of times. On every state change, a write operation is
initiated on the file system. This will eventually result in out
of memory and the call to mBasePath.list() in the maybeRotate(...)
method in FileRotator.java will return null so the iteration will
throw a NullPointerException.

Change-Id: I5d5980d9593bc9ec75281169ca27ee591809903f
2014-03-13 17:25:01 +01: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
0f3fd6c66e Merge "Remove stray logging statement." 2014-03-11 12:00:55 +00:00