Commit Graph

3431 Commits

Author SHA1 Message Date
Tamas Berghammer
0ca16fa584 Enable logwrapper functionality on user builds
When an app is debuggable, check whether a script called "wrap.sh" exists
in the app's native library directory. If so, start the app using the
invoke-with functionality over the script. Weaken the invoke-with check
on the zygote side to allow the functionality for debuggable apps.

The goal of the functionality is to make malloc debug, strace and other
similar tools available for NDK based application developers.

Bug: 33668201
Test: manual - debug malloc can be enabled using the new feature
Change-Id: Ia4bec0854cf4dc08446f1671494200f54ef366ee
2016-12-16 09:03:06 -08:00
Tamas Berghammer
b8f7c351b9 Zygote: Add invoke-with to zygote protocol
Add "--invoke-with" to the zygote connection protocol. It was
already understood as an argument by the zygote.

Bug: 33668201
Test: m
Change-Id: I59095f2ac542aadff78a7ff1dded86cf5f192707
2016-12-16 09:03:01 -08:00
Josh Gao
552d86b520 Add trace category for adb.
Bug: http://b/31289465
Test: systrace
Change-Id: I765c55c264329227556ff25655e3f00c5c3e8b54
2016-12-12 12:32:57 -08:00
Jeff Sharkey
447a3ac16b Catch all exceptions from installd, log codes.
Now that installd is throwing both SecurityException and
IllegalArgumentException, it's time that we turned all these
into InstallerException.

Also extend ServiceSpecificException to include the contained
errorCode value when printing.

Test: builds, boots, apps install/uninstall fine
Bug: 13758960, 30944031
Change-Id: Ic9c1e99ae87f4442402ef528bf352c7978572c85
2016-12-12 10:16:32 -07:00
Lenka Trochtova
13a0519394 Introduce a new user restriction for disallowing Bluetooth.
Only the device owner will be able to set the restriction
and the restriction will prevent usage of Bluetooth on the
entire device - i.e. in all the users.

Test: cts-tradefed run cts -m CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.UserRestrictionsTest
Test: cts-tradefed run cts -m CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.DeviceOwnerTest#testBluetoothRestriction

Bug: 32895300

Merged-In: I2875cf178cb16eca1965d0ba965d1cd3d8db2ad5

Change-Id: I2875cf178cb16eca1965d0ba965d1cd3d8db2ad5
2016-12-05 11:53:34 +01:00
Martijn Coenen
8c05ff96fb Merge "Add SystemProperties.reportSyspropChanged()."
am: 45c0c6939f

Change-Id: I83890872ba76161cf2f9a35b23861ab21b452a0f
2016-11-22 09:49:15 +00:00
Treehugger Robot
45c0c6939f Merge "Add SystemProperties.reportSyspropChanged()." 2016-11-22 09:43:23 +00:00
Jeff Sharkey
313456c975 Merge "Stub Binder API."
am: 4db1632b3a

Change-Id: I00e7f39d525a1d6af9a07b192294060113a2f7c2
2016-11-21 20:21:25 +00:00
Jeff Sharkey
4db1632b3a Merge "Stub Binder API." 2016-11-21 20:10:29 +00:00
Jeff Sharkey
1324531355 Stub Binder API.
Provide a stub API for AOSP code to call.

Test: builds
Bug: 32715088
Change-Id: Iab74d269e795a722e82fd3fa304200d57d152f57
2016-11-21 18:11:25 +00:00
Martijn Coenen
0754b27b56 Add SystemProperties.reportSyspropChanged().
To support notifying libutils of system property
changes.

Bug: 31262344
Test: builds
Change-Id: Iea77532eaa84d00f7d640edd1e3a1da66afdadc5
2016-11-21 17:57:13 +00:00
Hidenari Koshimae
9997fcc72c Merge "CountDownTimer: not skip onTick()"
am: 224d9e48fa

Change-Id: I7ade5d057e73f53867747c00fcfc5882a57a2f4c
2016-11-16 08:10:54 +00:00
Treehugger Robot
224d9e48fa Merge "CountDownTimer: not skip onTick()" 2016-11-16 07:55:27 +00:00
Steven Moreland
3dcee9882d Merge "Update for namespaced services in hwservicemanager."
am: 605df82c9e

Change-Id: I38d861ca107665f1f865f19eebd1be368a8c77a4
2016-11-08 21:20:57 +00:00
Steven Moreland
f3c53496c0 Update for namespaced services in hwservicemanager.
Test: end to end, hidl_test_java
Bug: 31861268
Change-Id: I3e91cf8a87f9345d4ae0650e521414407c7fc780
2016-11-08 08:53:16 -08:00
Leonard Mosescu
1ab879be90 Adding "attach-agent" to ActivityManagerShellCommand
This new command is used to attach runtime agents to a running application:

attach-agent <PROCESS> <FILE>
   Attach an agent to the specified <PROCESS>,
   which may be either a process name or a PID.

Test: m test-art-host, manual testing:
    . invalid syntax, missing arguments
    . invalid syntax, extra arguments
    . invalid numeric PID
    . invalid process name
    . valid process, not debuggable
    . valid process, missing agent
    . valid process, valid agent

Bug: 31682382

Change-Id: Ife88dbf23991dde7945d9208e54cd014bb7ecdc6

Merged-In: Ife88dbf23991dde7945d9208e54cd014bb7ecdc6
2016-10-27 17:03:57 +00:00
Andreas Huber
8bd63a39f3 Merge "Adds support for specifying the version of a service to register/lookup."
am: c3d8550cf3

Change-Id: I6b12021c6100f33de7f4b4702bdb4bf1a48c0259
2016-10-26 15:49:52 +00:00
Andreas Huber
35eb7994f8 Adds support for specifying the version of a service to register/lookup.
Bug: 32405011
Test: hidl_test_java
Change-Id: I91a31cafa68d570c67f9a1aa7efb9d3dcb35e591
2016-10-25 13:35:44 -07:00
Hidenari Koshimae
0c3149191f CountDownTimer: not skip onTick()
CoundDownTimer internally performs counting down with a handler and
fires onTick() callback at countdown intervals. At this internal
counting down, firing onTick() is skipped if the account of time until
finished is less than countdown interval. Due to this skip of onTick(),
user will miss last onTick() callback.

This change ensures CountDownTimer to fires every onTick() callback
until the time is up.

Bug: 32392931
Change-Id: I951f5cd46743873d7f8c353f8cf8c700999d8ae0
2016-10-25 08:19:36 +00:00
Robert Sesek
f80fab010a Merge "Create the WebViewZygote and implement WebViewZygoteInit."
am: 8be2850546

Change-Id: I608ea53be52cb91f0e8cf73998de4578b39e099a
2016-10-22 03:12:18 +00:00
Treehugger Robot
8be2850546 Merge "Create the WebViewZygote and implement WebViewZygoteInit." 2016-10-22 03:03:10 +00:00
Andreas Huber
abfd527d09 Merge "HIDL Vectors are now exposed to Java as ArrayList<T>, the supporting APIs on"
am: 2202b164d8

Change-Id: I43bec2c6d3e6e4201f7a50981f428ef00f384684
2016-10-19 19:39:03 +00:00
Andreas Huber
ef1a565bd4 HIDL Vectors are now exposed to Java as ArrayList<T>, the supporting APIs on
HwParcel now reflect this change.

Bug: 32237331
Test: hidl_test_java
Change-Id: Ia1ce5a4e3acedd8ebcff15107aea53ce28fde589
2016-10-18 09:36:02 -07:00
Robert Sesek
aa3c463a5b resolve merge conflicts of 0b58f19 to nyc-mr1-dev-plus-aosp
Change-Id: I374d842cab49b58b570d5ad7ef3dffb7b148d236
2016-10-13 16:49:47 -04:00
Dianne Hackborn
50468217c4 Fix issue #32125907: Intent.replaceUnsafeExtras() corrupts original bundle am: 851ec49de7
am: 9774ea3646

Change-Id: I7e27381f7fa4ca8770ca06cdc6c0bdd18a549ae2
2016-10-13 20:38:04 +00:00
Dianne Hackborn
851ec49de7 Fix issue #32125907: Intent.replaceUnsafeExtras() corrupts original bundle
We now recursively generate new Bundle objects if we need to
do any stripping.

Change-Id: I4ca7896a0771c25264591ae7c79df85816d630d4
2016-10-12 18:17:58 -07:00
Jeff Sharkey
6f5f03b8c1 Set MIME type when building BROWSE intents. am: 42a4aaab44
am: ac184d3c46

Change-Id: I3fb6cc86357c6e19efe58a6e4d31d1f79758b332
2016-10-10 23:34:28 +00:00
Robert Sesek
0b58f198df resolve merge conflicts of 8f8d187 to nyc-dev-plus-aosp
Change-Id: I75c7110ee4f0c9717e7276b609caa2402ef5c2be
2016-10-10 18:34:42 -04:00
Jeff Sharkey
42a4aaab44 Set MIME type when building BROWSE intents.
If we created a BROWSE PendingIntent early during boot (while the
device was still locked), we would resolve the MIME type as "null"
meaning the intent would fail to launch.

Since we always know what the MIME type will be, set it explicitly.

Test: boot device while USB device attached
Bug: 30742481
Change-Id: I23c523cbe2660ca63a3b7df1f41300ab803b314c
2016-10-10 21:28:40 +00:00
Robert Sesek
8f8d187a78 Split the zygote logic out of android.os.Process into a new ZygoteProcess class.
There is no functional change. This is to support adding new types of zygotes
that all operate using the same protocol.

Bug: 21643067
(cherry picked from commit 94e824bc1b)
(cherry picked from commit 96b49848e7)

Change-Id: I2e12057e4c2e7567f909d699b487e70b1664cca8
2016-10-07 14:25:36 -07:00
Robert Sesek
ded2098436 Create the WebViewZygote and implement WebViewZygoteInit.
This adds a new init-spawned daemon, webview_zygote, that starts a JVM and
acts as a zygote process for WebView isolated_app services.

Test: m
Test: angler boots
Test: Turn on Settings>Developer>Multiprocess Webview. webview_zygote32 or
      webview_zygote64 start (requires dependent CLs).

Bug: 21643067
Change-Id: Ida98bd04b4d77736b672b03af651c4eb97ce88c1
2016-10-07 12:38:04 -04:00
Tao Bao
473b048cf7 Merge "Handle the race condition when calling uncrypt services." into nyc-mr1-dev 2016-09-30 23:07:38 +00:00
Tao Bao
2a327506cf Merge "Handle the race condition when calling uncrypt services." am: 42d25b5992 am: 86df8ecdf3
am: ade17dea88

Change-Id: I617b48ed7e57a0903bdc577b18b45f9added0e65
2016-09-30 20:52:08 +00:00
Tao Bao
ade17dea88 Merge "Handle the race condition when calling uncrypt services." am: 42d25b5992
am: 86df8ecdf3

Change-Id: I1dc6ea14b4de99bf65f9efff4f22c0bd99e2f86f
2016-09-30 20:46:05 +00:00
Tao Bao
86df8ecdf3 Merge "Handle the race condition when calling uncrypt services."
am: 42d25b5992

Change-Id: Ia5d37580f8bf1489fcc5ccf9c74cf64b94858dc6
2016-09-30 20:40:03 +00:00
Tao Bao
42d25b5992 Merge "Handle the race condition when calling uncrypt services." 2016-09-30 20:30:43 +00:00
Przemyslaw Szczepaniak
0053ff7e01 Merge "Add new StrictMode thread policy - DETECT_UNBUFFERED_IO" am: c60c70dcf9 am: 8297d74de5
am: 61eb1615a6

Change-Id: I00de82b6e9d12b7f6bd602515c21f6922d8d1983
2016-09-30 09:01:52 +00:00
Przemyslaw Szczepaniak
61eb1615a6 Merge "Add new StrictMode thread policy - DETECT_UNBUFFERED_IO" am: c60c70dcf9
am: 8297d74de5

Change-Id: Ic0778b573e1d9f0b1a9af6257ce91f9251beec30
2016-09-30 08:55:55 +00:00
Przemyslaw Szczepaniak
8297d74de5 Merge "Add new StrictMode thread policy - DETECT_UNBUFFERED_IO"
am: c60c70dcf9

Change-Id: I33ffda7e4e0ef230a4de28560262339cea102ec4
2016-09-30 08:50:41 +00:00
Tao Bao
1eabf53437 Handle the race condition when calling uncrypt services.
We call uncrypt services to setup / clear bootloader control block (BCB)
for scheduling tasks under recovery (applying OTAs, performing FDR).
However, we cannot start multiple requests simultaneously. Because they
all use the same socket (/dev/socket/uncrypt) for communication and init
deletes the socket on service exits.

This CL fixes the issue by a) adding synchronized blocks for the service
requests; b) checking the availability of the socket before initiating a
new one.

Note that adding synchronized blocks to RecoverySystem doesn't help,
because the calls could be made from different processes (e.g. priv-app,
system_server).

Bug: 31526152
Test: FDR works while a priv-app keeps calling clear BCB.

Change-Id: I95308989e849a9c98a9503ac509f2bc51ed3de19
(cherry picked from commit 794c8b0b3f)
2016-09-29 23:12:16 -07:00
Tao Bao
794c8b0b3f Handle the race condition when calling uncrypt services.
We call uncrypt services to setup / clear bootloader control block (BCB)
for scheduling tasks under recovery (applying OTAs, performing FDR).
However, we cannot start multiple requests simultaneously. Because they
all use the same socket (/dev/socket/uncrypt) for communication and init
deletes the socket on service exits.

This CL fixes the issue by a) adding synchronized blocks for the service
requests; b) checking the availability of the socket before initiating a
new one.

Note that adding synchronized blocks to RecoverySystem doesn't help,
because the calls could be made from different processes (e.g. priv-app,
system_server).

Bug: 31526152
Test: FDR works while a priv-app keeps calling clear BCB.

Change-Id: I95308989e849a9c98a9503ac509f2bc51ed3de19
2016-09-29 16:07:19 -07:00
Tianjie Xu
e422b0b29f Merge "Log the error when uncrypt timeouts" into nyc-mr1-dev 2016-09-29 18:03:30 +00:00
Shubham Ajmera
c95b2c85f3 Add new StrictMode thread policy - DETECT_UNBUFFERED_IO
This will enable the developers to check if they could replace an unbuffered
I/O operation with a corresponding buffered I/O operation.

The policy can be set as follow:
     StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
        .detectUnbufferedIO().build());

Test: vogar BlockGuardTest
Bug: 3018772
Change-Id: Ib804a8e9980ae40abfd216f8b87c250fd413bd5c
(cherry picked from commit 9b7184a8fd)w
2016-09-29 16:36:12 +01:00
Tony Mantler
37c51f614c AsyncTask terminating with exception calls onCancelled am: 5eb91a437c
am: 3e51bb267d

Change-Id: I5d8766c0157541720118dd3d264875df58562907
2016-09-28 23:38:58 +00:00
Tony Mantler
5eb91a437c AsyncTask terminating with exception calls onCancelled
Test: cts/tests/tests/os/src/android/os/cts/AsyncTaskTest.java
b/30304893

Change-Id: Icb50cda8026ddd70d457b5e62eb29c81313ee47d
2016-09-28 21:16:56 +00:00
Tianjie Xu
96ce9d16ed Merge "Log the error when uncrypt timeouts" am: c1973ecbd2 am: c68e6d6708
am: 3aeade44a9

Change-Id: I913474dbf87b30683267d8f6a458927b7d331c4c
2016-09-28 20:05:15 +00:00
Tianjie Xu
3aeade44a9 Merge "Log the error when uncrypt timeouts" am: c1973ecbd2
am: c68e6d6708

Change-Id: I23ee644fb2f73fc3cece4faf59eb63417cfe3ea6
2016-09-28 19:59:12 +00:00
Tianjie Xu
c68e6d6708 Merge "Log the error when uncrypt timeouts"
am: c1973ecbd2

Change-Id: I5bec3110f9a46cbc1f44bc07d86eea409667983e
2016-09-28 19:53:37 +00:00
Treehugger Robot
c1973ecbd2 Merge "Log the error when uncrypt timeouts" 2016-09-28 19:42:29 +00:00
Tianjie Xu
2a03586998 Log the error when uncrypt timeouts
Log the error code to uncrypt_status if uncrypt gets killed because
of timeout.

Test: We log the error code correctly in uncrypt_status when uncrypt timeouts.
Bug: 31603820
Change-Id: Ia623c333714295e68f4269257fbb4297a867e42b
(cherry picked from commit 036d08638e)
2016-09-28 11:19:03 -07:00