Commit Graph

59671 Commits

Author SHA1 Message Date
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
Jakub Pawlowski
6fe3900791 Merge "Fix connecting to profiles when bonding from local device (1/3)"
am: 44c013d739

Change-Id: I4cc9e7c960e51ec49fcaf3f16968afac7b6cc471
2016-10-06 21:00:51 +00:00
Jakub Pawlowski
0278ab957a Fix connecting to profiles when bonding from local device (1/3)
When bond is created from Bluetooth Settings, profiles gets properly
auto connected when services are discovered. If pairing is done from any
other app, i.e. NFC app, the bond is not being recognized as initiated
from local device, and profiles are not connected.

This patch makes sure that if bonding is initiated, no matter from which
app, it will cause proper profiles to connect.

Bug: 30211618
Change-Id: I71131f33eb5b9db2f5b4a8737b191d541bf1fd3d
2016-10-04 17:29:37 +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
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
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
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
Dianne Hackborn
a327e3b3a7 DO NOT MERGE Fix issue #29871385: Need JobScheduler.scheduleAsPackage to be system API
(cherry picked from commit a0e55c43c2)

Change-Id: I415d7ddfc703111998688da71ec6c8f1e5d6d6fc
2016-09-28 13:18:15 -07: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
Andreas Huber
2849ee8b75 Merge "Adds static methods HwBlob.WrapArray(<scalar-type>[] scalarArray)"
am: 90acbd86ac

Change-Id: Ia3013237296ccca46e3f4e0bc702b4ae90a7ea3a
2016-09-28 17:30:23 +00:00
Tianjie Xu
036d08638e 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
2016-09-27 13:34:58 -07:00
Andreas Huber
906a679aa8 Adds static methods HwBlob.WrapArray(<scalar-type>[] scalarArray)
that convert a one-dimensional array of scalars into the corresponding
one-dimensional array of the associated "wrapped" type, i.e. byte[] -> Byte[].

Change-Id: I712b2bb5330bd660816d0ff536a55913904203b6
Bug: 31682327
Test: hidl_test_java
2016-09-27 11:20:44 -07:00
Treehugger Robot
fe9357f6e7 Merge changes from topic 'aosp-generics-api'
* changes:
  DO NOT MERGE Track generics in API definition.
  DO NOT MERGE Fix issue #29871385: Need JobScheduler.scheduleAsPackage to be system API
2016-09-26 14:04:57 +00:00
Gopal Krishna Shukla
810c31fdca Merge "Provide synchronization to setview to avoid NPE"
am: b05b93a674

Change-Id: I92bec8af349cae5232e65d88938635a93f06fc6a
2016-09-23 13:07:52 +00:00
Gopal Krishna Shukla
f7abcda5f2 Provide synchronization to setview to avoid NPE
If setView() will be called from two different threads
then mView property of a View object may have inconsistent
value. For instance, setView() may set mView to null causing
NullPointerException. Synchronize root.setView() as well to
avoid this.

Change-Id: I5f9cf47ece5d4aca575bd8644ecfcee0ed43d843
2016-09-22 04:48:24 +00:00
Chris Tate
6e1400f43f Merge "Fix WallpaperManager APIs"
am: 73e89cd290

Change-Id: I6dd139e8ccb71e6c64141733f9de031b20694179
2016-09-21 20:34:49 +00:00
Chris Tate
73e89cd290 Merge "Fix WallpaperManager APIs" 2016-09-21 20:26:01 +00:00
Christopher Wiley
b666aa899d Merge "Allow WiFi components to manage interface up state"
am: dfa6e6f186

Change-Id: If2bdb1b6671465daffa8c0161f52c8693146a816
2016-09-20 21:41:03 +00:00
Treehugger Robot
dfa6e6f186 Merge "Allow WiFi components to manage interface up state" 2016-09-20 21:27:54 +00:00
Andreas Huber
618e39a3be Merge "Removed legacy code used to read/write java arrays from HwBinder parcels."
am: eda7bc5c84

Change-Id: If256977b368ec830f1c01f86c3845d9313c38767
2016-09-20 20:48:53 +00:00
Christopher Wiley
ce5d913387 Allow WiFi components to manage interface up state
Setting the WiFi network interface up or down is racy because it
is not synchronized with the WiFi components managing the interface.

This causes a problem for hostapd when the interface is marked down
before hostapd starts because it causes the driver to enter the
de-initialization process.  hostapd does not know how to react to this
change of events.

Bug: 31205821
Test: bug no longer reproduces on upcoming devices, unit tests pass

Change-Id: I96938e2aef89b400593d42ce1b0a6ccc2d2e5754
2016-09-19 14:12:38 -07:00
Andreas Huber
74c3b8edfe Removed legacy code used to read/write java arrays from HwBinder parcels.
More generalized functionality is now available through HwBlob.

Change-Id: Id6c713fb01af7593ea3ff8405f3a9e5325877412
Bug: 31438033
Test: run updated "hidl_test" and "hidl_test_java"
2016-09-19 14:09:14 -07:00
Etan Cohen
e77c8c6486 Merge changes from topic 'undo_do_not_merge' into stage-aosp-master
* changes:
  Give WakeupMessage the ability to transport an object as well.
  [NAN] Add transport type for NAN.
2016-09-16 18:41:36 +00:00
Tianjie Xu
79d27bdeac Merge "Collect status on uncrypt time cost"
am: bc19e00d35

Change-Id: I867821b7575ee2e45bb86c46222e6cf34971689d
2016-09-16 18:30:38 +00:00
Tianjie Xu
bc19e00d35 Merge "Collect status on uncrypt time cost" 2016-09-16 18:19:23 +00:00
Etan Cohen
305ea28a43 [NAN] Add transport type for NAN.
Add TRANSPORT_WIFI_NAN - specifies a peer-to-peer Wi-Fi NAN data
connectivity request.

While NAN uses Wi-Fi L1 PHY and part of the MAC - it is a different
protocol and constitutes a different transport.

(cherry-pick of commit 7b84987a6a)
(cherry-pick of commit bd9fdbe022)

Bug: 26564277
Change-Id: I975ebc72d8f97a592d18038b3d6465b7a40efa75
2016-09-16 10:21:51 -07:00
Gopal Krishna Shukla
d3e1e473df Merge "Remove synchronization from getCurrentInputMethodSubtype()"
am: 85539bed77

Change-Id: I0f564ebcb74d4c17a4d18ab2fe8660c977731590
2016-09-16 05:31:29 +00:00
Gopal Krishna Shukla
fa1886feea Remove synchronization from getCurrentInputMethodSubtype()
getCurrentInputMethodSubtype() acquires InputManagerService.mMethodMap
within its body. There seems to be no reason for holding
InputMethodManager.mH to call getCurrentInputMethodSubtype(). Holding mH
can cause potential deadlock b/w two threads acquiring mH and mMethodMap
in different orders.

Bug: 31247871
Bug: 31273203
Bug: b.android.com/218423
Change-Id: I20cf2c20f49b1b02c0f7a18257b49d4bcc081b5d
2016-09-16 03:41:46 +00:00
liulvping
506bf0741a Merge "fix NullPointerException in RegisteredServicesCache"
am: 4b1a8f46d6

Change-Id: I1ba9512647d515aedbaf09eb2d7ac524477e5296
2016-09-13 21:04:55 +00:00
Treehugger Robot
4b1a8f46d6 Merge "fix NullPointerException in RegisteredServicesCache" 2016-09-13 20:57:11 +00:00
Dianne Hackborn
a0e55c43c2 DO NOT MERGE Fix issue #29871385: Need JobScheduler.scheduleAsPackage to be system API
Change-Id: I0034b1681158b9a010d01fb0fcbe7990d9038c1f
2016-09-12 17:16:44 +01:00
Tianjie Xu
3477efce30 Collect status on uncrypt time cost
Read and report time cost of uncrypt (in seconds) from last_install.

Bug: 31383361

Change-Id: I283970c33b2a0324f2f51cde328e3e527eff7c58
2016-09-09 11:35:15 -07:00
Robert Sesek
96b49848e7 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)

Merged-In: Ie673ee816cae34ac20ffb8c774ec3e6461c3fd0a
Change-Id: I104e6133a90dc93a9854836b5e92d3cd542163a3
2016-09-09 12:42:52 -04:00
liulvping
bf76ee74c7 fix NullPointerException in RegisteredServicesCache
https://code.google.com/p/android/issues/detail?id=221932

Change-Id: I67c0b799d10f4b9c8fa0779069d23cc49916b395
Signed-off-by: liulvping <liulvping@xiaomi.com>
2016-09-08 01:20:34 +00:00
Etan Cohen
bd9fdbe022 [NAN] Add transport type for NAN. [DO NOT MERGE]
Add TRANSPORT_WIFI_NAN - specifies a peer-to-peer Wi-Fi NAN data
connectivity request.

While NAN uses Wi-Fi L1 PHY and part of the MAC - it is a different
protocol and constitutes a different transport.

(cherry-pick of commit 7b84987a6a)

Bug: 26564277
Change-Id: I975ebc72d8f97a592d18038b3d6465b7a40efa75
2016-09-06 15:54:10 -07:00
Calin Juravle
08313b0d95 [RFC] Special case system apps for profile optimizations
If the OTA updates a system app which was previously preopted to a non-
preopted state the app might end up being verified at runtime. That's
because by default the apps are verify-profile but for preopted apps
there's no profile.

Do a hacky check to ensure that if we have no profiles (a reasonable
indication that before the OTA the app was preopted) system apps get
compiled with a non-profile filter (by default interpret-only).

Bug: 30032273
Test: Andreas "has verified that Calin's change to A/B works as expected
and promotes things like SystemUI to speed. From my side, that's
ready to be merged"

Change-Id: I7a052a8ea76cab7f649dc993237ea05534d6c4b9
(cherry picked from commit 0bd7762079)
2016-09-06 10:41:04 -07:00
Andreas Gampe
d15300cf38 Frameworks/base: Add new flow to OtaDexoptService
Add functionality to capture/intercept installd communication, and
use this to return the full communication for dexopt. These parameters
can be used to drive otapreopt_chroot directly.

Keep the old direct invocation alive until devices have transitioned
to a service that exposes this API.

In preparation for renaming of A/B OTA artifacts to include target
slot names.

Bug: 25612095
Bug: 28069686
Change-Id: I14728ee1266f3882cada8f08dd21891ed5f7a0cb
(cherry picked from commit cc241a580c)
2016-09-06 10:39:56 -07:00
Andreas Gampe
ff8ab4c9fa Otadexopt: Expose progress percentage
To be able to report progress of an A/B OTA dexopt, expose a
progress function that the script can query.

Bug: 25612095
Bug: 29223204
Change-Id: Ie8162946d18f6fa78649a40ad5d3949d31a181cd
(cherry picked from commit bf06232f4d)
2016-09-06 10:39:20 -07:00
Andreas Huber
9266f9928d Adds framework support for hidl-gen Java backend. (to support structs) (DO NOT MERGE)
Bug: 30575790
Change-Id: Ida30d8fe7a1b210e98f1a0ea5d429a0112f9ef3f
Signed-off-by: Iliyan Malchev <malchev@google.com>
2016-09-02 06:28:14 -07:00
Andreas Huber
86635bb45e Add Bool* APIs to HwParcel (DO NOT MERGE)
Bug: 31045584
Change-Id: I202c4aa7caf92a4cd7e3a45ef6784638e41facc8
Signed-off-by: Iliyan Malchev <malchev@google.com>
2016-09-02 06:28:14 -07:00
Andreas Huber
90349b3e11 Support one-way methods in java support for hardware binder (DO NOT MERGE)
Bug: 30922538
Change-Id: I5ff93126a29f6bff42dee3f9868fa794ca7c077f
Signed-off-by: Iliyan Malchev <malchev@google.com>
2016-09-02 06:28:14 -07:00
Andreas Huber
dab5fc65b9 Initial commit of Java support for hardware binder (DO NOT MERGE)
Change-Id: If1098ab921a11bae8eca2a70a3c3070e4daa0ea2
2016-09-02 06:28:14 -07:00
Jakub Pawlowski
5f87c4539a Merge "Separate advertiser from GATT client (1/4)" 2016-08-31 18:05:27 +00:00
Neil Fuller
7a9c0cd854 Merge "Fix receive timeout on LocalSocket" 2016-08-31 16:28:17 +00:00
Edward Savage-Jones
2dce6281e6 Fix WallpaperManager APIs
When support for lockscreen wallpapers was added in API level 24 the
behaviour for earlier API versions changed. Calls to the old 'set' APIs
no longer affect the overall device wallpaper, and can result in an end
user not being able to change their lockscreen wallpaper.

This upload restores the original API behaviour.

Bug: 31204228
Change-Id: Ia16d2e2e379c54d798eef8f5c653099c2c581d78
2016-08-31 13:43:25 +02:00
Jakub Pawlowski
a480f7fe28 Separate advertiser from GATT client (1/4)
Bug: 30622771
Change-Id: I08c0498f8a1ea04423d3e864e9a60c7c78f1dbad
2016-08-31 03:36:53 -07:00
Neil Fuller
a8280a5d34 Fix receive timeout on LocalSocket
The receive timeout stopped being set incorrect due to commit
c80af6d8. There is an associated CTS regression test in cts/.

Test: Ran CTS test android.net.cts.LocalSocketTest
Bug: 31205169
Change-Id: I99808478946f8eae502c49d2cb83465648b9c904
2016-08-31 11:32:17 +01:00
Mitchell Wills
b0b6afc248 Merge changes from topic 'wifi-aosp-master' into stage-aosp-master
* changes:
  NetworkSelectionStatus: Fix copy constructor
  Deprecate QNS network disable reason BAD_LINK
  [NAN] API changes/fixes addressing apilint issues
  [NAN] Add method to ConfigRequest to determine if non-default
  [NAN] Simplify publish/subscribe configuration - merge match filters
  [NAN] Udpate NAN API documentation, clean-up visibility
  [NAN] Do not expose WifiManager.isNanSupported as new API
  [NAN] Update finalize to check and warn user if resources not freed
  [NAN] Fix bad merge use rethrowFromSystemServer
  Add Log.wtf when transitionTo is used improperly
  Ensure BSSIDs are correctly aged out in settings view
  [NAN] Provide calling package name to service
  Add WiFi toggle prompts - framework
  Reenable the unit tests for StateMachine
  Remove WiFi related methods from NetworkManagementService
  Don't pull in external/junit through mockito
  WifiConfiguration: Expose NetworkSelectionStatus strings
  Add Bluetooth toggle prompts - framework
  [NAN] Add LV utilities (TLV with T size of 0).
  [NAN] Fix TlvElement member names - reflect public access.
  TetherUtil: Use ConnectivityManager for tethering
  [NAN] TLV utilities iterator - throw correct exception
  [NAN] Modify arguments from "array, length" to "array"
  [NAN] NAN System Api: RTT
  Properly disable WiFi tethering
  [NAN] Provide inteface MAC address to app.
  [NAN] Add (T)LV validation testing
  Add IPv6 tethering coordinator
  Stop listening for WiFi interface status changes
  [NAN] Add validity checks for service name
  [NAN] Fix assumption about Strings containing single-byte characters.
  [NAN] NAN data-path API: network specifier
  DO NOT MERGE StateMachine: remove final from SendMessage
  wifi: allow config of default+verbose ring buffers
  Don't save the anonymous identity for EAP-SIM/AKA/AKA-Prime
  Add a WifiScanner API to listener for ongoing scans
  Fix invitation request from persistent GC
  SettingsBackupAgent: Remove redundant size parameter
  WifiConfiguration: Make NetworkSelectionStatus public
  Use WifiManager for wifi backup/restore
  Fix race conditions between Tethering and TetherInterfaceStateMachine
  WifiManager: Add new API to restore old backup data
  Tethering: Own WiFi tethering state and lifetime
  IpConfigStore: Changes for parsing old wifi backup
  WifiManager: Add new API's for backup/restore
  XmlUtils: Add missing readThisByteArrayXml method
  Use an ArrayMap instead of HashMap to track tether interfaces
  Consolidate cleanup logic in TetherInterfaceSM.TetheredState
  Annotate TetherInterfaceStateMachineTest for APCT
  Rely on Tethering mutex for TetherInterfaceSM
  Rename TetherInterfaceSM to TetherInterfaceStateMachine
  [NAN] Add retry count for transmitting L2 NAN messages
  Remove dead code from TetherInterfaceSM
  Remove transient StartingState from TetherInterfaceSM
  Expand test coverage of TetherInterfaceSM
  Add demonstration unittest for TetherInterfaceSM
  Extract TetherInterfaceSM to its own class.
  Make Tethering.TetherInterfaceSM more self contained
  WifiManager: add WIFI_MODE_NO_LOCKS_HELD
  Create frameworks-base-testutils lib
  Clean up class members in Tethering.TetherInterfaceSM
  Move android.net.util.IpUtilsTest into a util/ directory
  Fix trivial warnings in Tethering.java
  Fix some trivial warnings in WifiP2pDevice.java
  [NAN] Add support for NAN RTT.
  [NAN] Remove OnNanDown notification from API
  Remove unused method from NetworkManagementService
  WifiConfiguration: Add new selection disable reasons
  [NAN] Add type and nullability annotations. Update hide annotation.
  [NAN] Add master switch to enable/disable usage of NAN APIs.
  [NAN] Re-factor connect/config flow
  [NAN] Refactor session lifecycle to clarify API & eliminate race conditions
  [NAN] Removed NAN event registration - dispatch all callbacks.
  [NAN] Consolidate publish/subscribe callback sets into single set
  [NAN] Replace session callback configuration control
  [NAN] Expose match style configuration as public API.
  [NAN] API cleanup - rename FLAGS.
  [NAN] Renamed listeners to callback per API guidelines
  [NAN]: API update - consolidate Puslish|Subscribe Data+Subscribe -> Config
  NAN: Support multiple instantiation per UID - introduce a client ID.
2016-08-29 20:03:22 +00:00