1091 Commits

Author SHA1 Message Date
Dmitriy Ivanov
96e0cfa721 Link sigchain to main executable
Also export necessary symbols to preempt calls from
 libart.so

Bug: 15345057
Bug: 15426766
Change-Id: If0b7f59a59824e30aa0c33dad76c7a44932180de
2014-10-09 15:03:07 -07:00
Marco Nelissen
fa4362982c Merge "Broadcast an intent to mediascanner after executing screencap" 2014-09-22 14:34:03 +00:00
Alex Light
79bf4007f5 Change /dalvik-cache to be owned by root.
Bug: 16875245

Change-Id: I29a70215a2207bc4e0db02ab751d32a68edf4b66
2014-08-28 11:34:50 -07:00
Umair Khan
cfed2326c7 Broadcast an intent to mediascanner after executing screencap
PS2: Fix for spaces in file names

After doing screencap /sdcard/test.png in shell the screenshot is captured
but the gallery is not updated.
So we should broadcast the intent android.intent.action.MEDIA_SCANNER_SCAN_FILE
for the image to show up in gallery.

Change-Id: I8e384865082c717842d70d376d5828d74a2ad780
Signed-off-by: Umair Khan <omerjerk@gmail.com>
2014-06-12 17:44:12 +05:30
Narayan Kamath
6431d11cd4 Add an --abi argument to "pm install"
This allows callers to force an install to a particular
ABI. This is intended only for testing (and CTS) and is
not meant for usage by the installer package.

Change-Id: Icb1528c0cd35b1aa9323386cb35ff4aaba374fcb
2014-06-03 11:11:47 +01:00
Narayan Kamath
b9b31f4b8e am bd4d3203: Merge "Support an ABI flag for instrumentation."
* commit 'bd4d320344833ce67dad3a4e10a61d0502a81d0e':
  Support an ABI flag for instrumentation.
2014-05-30 10:41:24 +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
eabc93db10 am c4c08803: Merge "app_process: change app_process a symlink of primary version"
* commit 'c4c08803a8cc090aa27720e97df342231e8433af':
  app_process: change app_process a symlink of primary version
2014-05-15 09:41:40 +00:00
Yongqin Liu
559484ed6a app_process: change app_process a symlink of primary version
Change app_process to be a symlink to the primary version
and have app_process32/app_process64 be the 32-bit/64-bit
versions respectively.

This will make it possible to use the primary zygote for
am/pm commands and other scripts that use app_process and
don't need a specific zygote.

Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
Change-Id: Ibef545994eb95ddc82101c95df613ad1d06345e6
2014-05-14 18:48:42 +01:00
Narayan Kamath
c8a045d451 am 41f40581: Merge "Fix x86 build in app_process."
* commit '41f40581ee0284660d30be8ef28f6bf721c4ce10':
  Fix x86 build in app_process.
2014-05-01 10:39:55 +00:00
Narayan Kamath
ff34f6faaa am 27b03e62: Merge "Create arch specific cache dirs during zygote startup."
* commit '27b03e6272479ed82762a4a5d6e4be4f26c1ed58':
  Create arch specific cache dirs during zygote startup.
2014-05-01 10:39:52 +00:00
Narayan Kamath
d6183204e4 Fix x86 build in app_process.
Look for __i386__ and not __x86__.

(cherry picked from commit 47d526217b3fd0d17ba751c66d25cfaf1c6ed7cd)

Change-Id: I848ba351c378e59ab6744ca1983ae4463ae75ba4
2014-05-01 11:27:49 +01:00
Narayan Kamath
973cdeed8e Create arch specific cache dirs during zygote startup.
The runtime expects them to exist before it's launched.
The boot image / art files are created during the first
zygote launch.

(cherry picked from commit da738713e4e2120a324e8ab6fd11aa0e54a3c66e)

Change-Id: I7472aa25c16a1cf95791af2bdf80ed0d73123872
2014-05-01 11:26:49 +01:00
Narayan Kamath
dbbf431b28 am d0f7f418: Merge "Freeing frame map"
* commit 'd0f7f41828493b0679e908f7bb3ed3b8e838c463':
  Freeing frame map
2014-04-30 15:12:58 +00:00
Mykola Kondratenko
0c1eeb3c8a Freeing frame map
FileMap memory is never released until application exit

Release it now as the texture is already loaded and the memory
used for the packed resource can be released.

Change-Id: Id08a1e466337b3a0179684eb6a444e18147ee343
2014-04-30 10:58:20 +00:00
Bill Yi
293513a59d Merge commit '0b62467b142b61ee1e449ba958ba37dfd961ef56' into HEAD 2014-04-29 16:07:29 -07:00
Nick Kralevich
195c73c9b2 Set NO_NEW_PRIVS on zygote init
When app_process/zygote starts, make sure PR_SET_NO_NEW_PRIVS is set.
This prevents zygote spawned apps from acquiring new privileges
on exec.

In particular, this allows the CTS test
android.os.cts.SecurityFeaturesTest#testNoNewPrivs() to pass if ART is set
as the default runtime.

Change-Id: I81139cda999c7b1430242561aad28f566e9b6da0
2014-04-29 15:10:58 -07:00
Elliott Hughes
6bd762289b Fix a typo in an assertion.
Change-Id: I3e97bb3cb8070c0ec0c6b97769f1da3e7b4ef8f5
2014-04-23 16:54:33 -07:00
Narayan Kamath
90c75cf02e Don't compare String8s to NULL.
Use String8::isEmpty instead. Note that this code path is hit
only if the zygote calls ::exit, and that never happens unless
the VM invocation fails.

Change-Id: I0e7d3a86a79b12b2174ca3bf0dbe1904e33c041a
2014-04-12 12:25:50 +01:00
Narayan Kamath
d35d3e5d39 Dual zygote cleanup.
- Use different process names for the 32 / 64 bit zygote.
- Pass command line arguments correctly. The first unmatched
  argument must be passed through to the java main class.

Change-Id: I952ebbdbba941f118d992354b9bd0ada2dade417
2014-04-10 12:15:39 +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
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
Colin Cross
f130f0aaea app_process: use LOCAL_MULTILIB := both
Use LOCAL_MULTILIB := both to build app_process64 instead of
duplicating the build rule.

Also causes PRODUCT_PACKAGES := app_process to install both
versions on 64-bit platforms, as the module names for both
app_process and app_process64 are now app_process.

Change-Id: Ia3c3265d15475771b0cae8bace53b8fbf351c186
2014-03-27 10:20:29 -07:00
Colin Cross
4a1bc7dfc1 am e4360c8e: am 4308a523: Merge "bootanimation: build 32-bit if 64-bit gl libraries are not available"
* commit 'e4360c8e14d1ea362fb1d13b7a5c9bf003f3be00':
  bootanimation: build 32-bit if 64-bit gl libraries are not available
2014-03-20 17:47:10 +00:00
Colin Cross
af9205626f am 0dccb02b: am 19fc55e1: Merge "build app_process64 on 64-bit targets"
* commit '0dccb02b9fd714af1db91e4ba3ca0b0da4e563c1':
  build app_process64 on 64-bit targets
2014-03-20 01:22:59 +00:00
Colin Cross
31d16e5bf9 bootanimation: build 32-bit if 64-bit gl libraries are not available
Set LOCAL_32_BIT_ONLY if TARGET_32_BIT_SURFACEFLINGER is set.

Change-Id: I76396cc9fe3fe45d1e98a44bf911d6e70922555a
2014-03-19 18:10:31 -07:00
Colin Cross
2764fce3a1 build app_process64 on 64-bit targets
On 64-bit platforms builds two copies of app_process, the 32-bit
app_process and 64-bit app_process64.

Change-Id: I59d739b5df398ad0bd040c954c57640ff7ab3e72
2014-03-19 17:49:47 -07:00
Dianne Hackborn
8392e7e287 am 01de2432: am 24d8fa73: Merge "frameworks/base: move idmap from frameworks/native"
* commit '01de243263d347f2ac13a239d67d41817e34df33':
  frameworks/base: move idmap from frameworks/native
2014-03-07 19:33:55 +00:00
Colin Cross
13221c9cff frameworks/base: move idmap from frameworks/native
idmap depends on libandroidfw, so it should go in frameworks/base.

Change-Id: I3c1db3baa355f53d6b523d60f4377e63eff00c30
2014-02-11 18:11:36 -08:00
Nick Kralevich
09fdc15955 am 3ddee4de: Merge "[bootanimation] Drop user loadable bootanimation.zip abiltiy."
* commit '3ddee4dec9b7ae2265c356f5809eae73e1ef8796':
  [bootanimation] Drop user loadable bootanimation.zip abiltiy.
2013-12-16 10:36:39 -08:00
Robert Craig
cee6a096b1 [bootanimation] Drop user loadable bootanimation.zip abiltiy.
A prior change removed the ability of
the shell to push to /data/local. Because
of this, the bootanimation code no longer
supports users loading custom bootanimation.zip
files. This patch drops the access attempt
from the code.

Change-Id: Ie30dd73699c8296be00dc6fbf14691e08baa6410
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2013-12-16 09:42:51 -05:00
Nick Kralevich
1e137549fe am efa5c88f: Merge "Don\'t try to set service.bootanim.exit"
* commit 'efa5c88f37165d02e3e11882026c7660c879ff61':
  Don't try to set service.bootanim.exit
2013-12-11 13:53:29 -08:00
Nick Kralevich
e58d09a552 Don't try to set service.bootanim.exit
init has never allowed the bootanimation code to
set service.bootanim.exit, and has always generated the
dmesg error message

  <3>[   17.644615] init: sys_prop: permission denied uid:1003  name:service.bootanim.exit

Since setting this property has no effect and never worked, delete
the code which tries to do it.

Change-Id: Idacc5467d85479a8cf974702af8895011be585ea
2013-12-11 13:10:55 -08:00
Narayan Kamath
336bf2fb49 am d21752df: Merge "Reimplement ZipFileRO in terms of libziparchive."
* commit 'd21752dff45c7d8856e63026cfddc303a302df14':
  Reimplement ZipFileRO in terms of libziparchive.
2013-12-11 03:45:58 -08:00
Narayan Kamath
d21752dff4 Merge "Reimplement ZipFileRO in terms of libziparchive." 2013-12-11 11:41:10 +00:00
Narayan Kamath
afd31e0829 Reimplement ZipFileRO in terms of libziparchive.
This lets us share zip archive processing code with both
the runtime (Art, dalvik) and critical java code
(StrictJarFile).

This change also moves several utility methods to ZipUtils
and dedups code across several zip inflation methods.

One of the side effects of this change is that several
processing loops are now O(n) instead of O(n^2).

bug: 10193060

Change-Id: I3c7188496837a47246c4f342e45485a70fef3169
2013-12-09 16:23:16 +00:00
The Android Open Source Project
dbccd44a63 Merge commit 'b873a17ce7be0a9771c24999adca6964431728f6' into HEAD
Change-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd
2013-11-22 11:18:57 -08:00
Christopher Tate
c8ea38fe18 am e3705342: am b0183f0a: Harden against transiently unavailable backup transports
* commit 'e3705342671d08b5cd94a0d69ef8099a2c3211f8':
  Harden against transiently unavailable backup transports
2013-11-19 11:48:50 -08:00
Christopher Tate
b0183f0ae3 Harden against transiently unavailable backup transports
The init & clear operations are particularly important to ensure
delivery when at all possible, so we retry those periodically
if the transport is unavailable when we first attempt them.

Now with 100% less build break.

Bug 11716868

Change-Id: I2af4e93788068cfac97c0a48d3568c561eefa23d
2013-11-19 11:24:46 -08:00
Sascha Prueter
a9249322d5 am c7f7d1bf: am f7044fec: Merge "Trying to unbreak build..." into klp-dev
* commit 'c7f7d1bf18dded61bcbf4015a4cfc9cf1ee45bd4':
  Trying to unbreak build...
2013-11-18 23:31:11 -08:00
Sascha Prueter
d5965cb506 Trying to unbreak build...
Revert "Harden against transiently unavailable backup transports"

This reverts commit 8f98252afea3fd0e68693635ec21b6004a52fa69.

Change-Id: I3aabb80f1a5932d530bce6b82d4b30c6cd1cdd5a
2013-11-19 06:51:21 +00:00
Christopher Tate
fa331b1dfb am 1e964ed8: am d6bbc544: Merge "Harden against transiently unavailable backup transports" into klp-dev
* commit '1e964ed808798a56664853e2aeffdc47c676ac5a':
  Harden against transiently unavailable backup transports
2013-11-18 18:48:29 -08:00
Christopher Tate
8f98252afe Harden against transiently unavailable backup transports
The init & clear operations are particularly important to ensure
delivery when at all possible, so we retry those periodically
if the transport is unavailable when we first attempt them.

Bug 11716868

Change-Id: I4860fe3d4e99618b2cd194c83162bd7cbd5a83a9
2013-11-18 16:12:38 -08:00
Jeff Sharkey
be20c89731 am 601fbc7a: am 24fe066e: Merge "Fix am argument ordering documentation." into klp-dev
* commit '601fbc7a82f325971905b6083e1c54776aa87a6d':
  Fix am argument ordering documentation.
2013-11-14 11:08:19 -08:00
Jeff Sharkey
7625c84045 Fix am argument ordering documentation.
Bug: 11690520
Change-Id: I84b10a6eb6e6404212ab9737e7cee1f1ad4d5309
2013-11-14 10:57:55 -08:00
Elliott Hughes
ed84dea928 am 8f592378: am 69920427: Merge "Fix a variety of small publicly-reported bugs."
* commit '8f592378a1ea7f31d57253dc202f42707ef4da36':
  Fix a variety of small publicly-reported bugs.
2013-10-29 13:35:04 -07:00
Elliott Hughes
c367d48c55 Fix a variety of small publicly-reported bugs.
Possible NULL dereference in cmds/bootanimation/BootAnimation.cpp.
https://code.google.com/p/android/issues/detail?id=61556

Missing fclose in core/jni/android_os_Debug.cpp.
https://code.google.com/p/android/issues/detail?id=61546

Bad loop guards in core/jni/android_util_Process.cpp.
https://code.google.com/p/android/issues/detail?id=61557

Assignment to wrong variable in libs/androidfw/AssetManager.cpp.
https://code.google.com/p/android/issues/detail?id=61560

Missing delete[]s in libs/androidfw/ObbFile.cpp.
https://code.google.com/p/android/issues/detail?id=61549

Leaks on error in tools/aapt/Images.cpp.
https://code.google.com/p/android/issues/detail?id=61552

Two missing fclose calls in tools/aapt/Resource.cpp.
https://code.google.com/p/android/issues/detail?id=61553

Missing fclose in tools/aidl/aidl.cpp.
https://code.google.com/p/android/issues/detail?id=61554

Change-Id: I5820f3824e72d07a9acb776cf0af3e7443f5694a
2013-10-29 13:12:55 -07:00
Jean-Michel Trivi
9633629b79 am 65d57713: am bacb5422: Merge "Also rely on enabled notification listeners for RemoteController registration" into klp-dev
* commit '65d577139c8093f2a601069bbe05d2e622e0d340':
  Also rely on enabled notification listeners for RemoteController registration
2013-10-07 10:10:08 -07:00
Jean-Michel Trivi
f108cdd9ee Also rely on enabled notification listeners for RemoteController registration
Registration of a RemoteController may succeed only if:
 - the caller has the MEDIA_CONTENT_CONTROL permission,
 - or if the RemoteController.OnClientUpdateListener it
   registers if one of the enabled notification listeners.

For using the "enabled notification listener" functionality,
 the CL involved:
 - making OnClientUpdateListener an interface so a 3rd-party
   application may have its implementation extend
   NotificationListenerService, which is required for a
   listener to be enabled by the user.
 - add the concept of "enabled" status in an
   IRemoteControlDisplay, so a RemoteController (which
   encapsulates the IRemoteControlDisplay implementation)
   may be registered, but later temporarily disabled by
   the user, as a result of a user action in the security
   settings, or a user switch.
 - making MediaFocusControl, the component tied to
   AudioService, monitor changes in enabled notification
   listeners, and act upon enable/disable changes.

Bug 8209392

Change-Id: Ia8dfa2156c65668b2b0d4ae92048005912652d84
2013-10-04 17:50:44 -07:00