Commit Graph

84269 Commits

Author SHA1 Message Date
Hans Boehm
8f39deb490 Merge "Improve AsyncTask API documentation"
am: 1cbb20b2df

Change-Id: Iabd8dd663c718f9467a9bf19a7feb4be76f01901
2019-02-03 20:27:02 -08:00
Hans Boehm
13060ffbd8 Improve AsyncTask API documentation
Bug: 34278255
Test: TreeHugger
Change-Id: I0347072112254f98d257a72ef1fc7c21b086df39
2019-01-31 17:36:36 -08:00
Howard Chen
683251a1e2 Merge "Add the DynamicAndroid Service"
am: 0b2057db02

Change-Id: I468b528359f3f4cafe735f2bc9df08b755e66190
2019-01-31 06:52:18 -08:00
Howard Chen
0b2057db02 Merge "Add the DynamicAndroid Service" 2019-01-31 14:35:49 +00:00
Remi NGUYEN VAN
d1a7c18ec6 Merge "Add NetworkStackPermissionStub definitions"
am: 0fe59007ce

Change-Id: I0cd613b09160f7a8f223bd2ec5ab29a85c219f66
2019-01-31 06:29:22 -08:00
Remi NGUYEN VAN
0fe59007ce Merge "Add NetworkStackPermissionStub definitions" 2019-01-31 14:13:22 +00:00
Remi NGUYEN VAN
d8c75a0438 Add NetworkStackPermissionStub definitions
The NetworkStackPermissionStub package is used to enforce that
permissions used by the NetworkStack are only used in packages
sharing signature with NetworkStackPermissionStub.

Permissions defined in this package are intended to be used only by the
NetworkStack: both NetworkStack and the stub APK will be signed with
a dedicated certificate to ensure that, with permissions being signature
permissions.

This APK *must* be installed, even if the NetworkStack app is not
installed, because otherwise, any application will be able to define
this permission and the system will give that application full access
to the network stack.

Test: flashed, booted
Bug: 112869080
Change-Id: Ia13a9e6a703cb7b4403697a7f7bfff0f6f3b813e
2019-01-31 21:16:13 +09:00
Remi NGUYEN VAN
1a0ac241e8 Merge "Fix bluetooth tethering on multi-user"
am: 4bb4c1a792

Change-Id: I24be143b38bdda59b4cc3037e495f0cb268a2b9f
2019-01-31 04:09:29 -08:00
Remi NGUYEN VAN
4bb4c1a792 Merge "Fix bluetooth tethering on multi-user" 2019-01-31 11:53:53 +00:00
Remi NGUYEN VAN
291e3726cd Merge changes from topic "bindprocess-resolv"
am: 643e60b0fe

Change-Id: I3aacc6c2ae5242e28eec6e9e8e2a9a4b3e4f715d
2019-01-31 00:11:25 -08:00
Remi NGUYEN VAN
643e60b0fe Merge changes from topic "bindprocess-resolv"
* changes:
  Allow use of bindProcessToNetwork only to change private DNS bypass.
  Allow bypassing private DNS via bindProcessToNetwork.
2019-01-31 07:52:04 +00:00
Mark Chien
524fbd619e Merge "Add get last entitlement value callback API"
am: 4163ff7928

Change-Id: I1961297c3fa31f5575ae3a11a3fc90d695cb7de5
2019-01-30 23:35:15 -08:00
Mark Chien
4163ff7928 Merge "Add get last entitlement value callback API" 2019-01-31 07:23:31 +00:00
Howard Chen
f17f42b0df Add the DynamicAndroid Service
Define the DynamicAndroid with AIDL.
  Add a java implementation.
  Start a service instance in the system server.
  Add a permission test.

Bug: 122015653
Test: Build & Test on a pixel phone with following command \
  ./frameworks/base/services/tests/runtests.py -e class com.android.server.DynamicAndroidTest

Merged-In: I2e54b6b71fac4a4c5a9c9c25ce6bdac74cddcfb7
Change-Id: I2e54b6b71fac4a4c5a9c9c25ce6bdac74cddcfb7
2019-01-31 15:10:21 +08:00
Remi NGUYEN VAN
3b906878f8 Fix bluetooth tethering on multi-user
Bluetooth runs as UID 1001002 when on a secondary user. With this change
the NetworkStack verifies that the calling UID matches the Bluetooth app
regardless of the user.

Test: flashed, BT reverse tethering still working as primary user
      (no option to turn on as secondary user on phones)
Bug: 123655057
Change-Id: I23f9c5fa40f3bb676ac65dd8c15106c9d78309a4
2019-01-31 16:03:21 +09:00
Remi NGUYEN VAN
dac257d27c Merge "Add UserHandle.getAppId to SystemApi"
am: b334bbefd4

Change-Id: I6be04cb335e642921d67a68970078c2cae4af4e7
2019-01-30 22:17:58 -08:00
Remi NGUYEN VAN
b334bbefd4 Merge "Add UserHandle.getAppId to SystemApi" 2019-01-31 06:04:11 +00:00
markchien
f273127880 Add get last entitlement value callback API
The callback would be used to notify entitlement value. If the
cache value indicates entitlement succeeded, it just fire
callback with cache value instead of run entitlement check.

Bug: 120887283
Test: atest FrameworksNetTests
Change-Id: I8afe928423bd75c54c61533a50a5c0814922ceb1
2019-01-31 12:31:55 +08:00
Lorenzo Colitti
e5ca11604e Allow use of bindProcessToNetwork only to change private DNS bypass.
Currently it is not possible to change private DNS bypass by
doing:

  setProcessDefaultNetwork(network.getPrivateDnsBypassingCopy());
  setProcessDefaultNetwork(network);

because the code will ignore the change. Fix this by ensuring
that we always call bindProcessToNetwork (which does not have
side effects) and then only performing the expensive operations
(flushing DNS cache, upating socket pools) if the netId changed.

Bug: 112869080
Test: None
Change-Id: I5e8999cb11d8b8c1e9eb583fa8b3932f212accff
2019-01-31 13:08:24 +09:00
Remi NGUYEN VAN
9e70a42252 Add UserHandle.getAppId to SystemApi
This is consistent with other methods in this class, and unbundled
system apps such as the network stack need this API to verify their
callers regardless of the userid. The method is already marked as
TestApi.

Test: m
Bug: 123655057
Change-Id: I0ecef4abcd850dc641cd70681a56cb038778c04c
2019-01-31 12:52:03 +09:00
Varun Anand
9563c15d09 Merge "Add an API that allows VPNs to declare themselves as metered."
am: 62a9b66a38

Change-Id: Iadf012754e2e39f4b99efc97d5666dd0bc1ff2d6
2019-01-30 19:09:30 -08:00
Varun Anand
62a9b66a38 Merge "Add an API that allows VPNs to declare themselves as metered." 2019-01-31 02:43:25 +00:00
Christian Wailes
2f0392e6f7 Merge "Added OWNERS entries for some Zygote related files."
am: 3ad8923842

Change-Id: I2d7923044351f0473ee353d516a4d89657d0f05b
2019-01-30 17:18:05 -08:00
Christian Wailes
3ad8923842 Merge "Added OWNERS entries for some Zygote related files." 2019-01-31 01:04:28 +00:00
Remi NGUYEN VAN
56bed1321e Merge "Add SystemApi for captive portal metrics"
am: 55849979a5

Change-Id: I1d1406a10c33034cf379ea7735cb106d3c536c8e
2019-01-30 14:35:30 -08:00
Pavel Grafov
79867a16fb Merge "Nuke old setAlwaysOnVpnPackageForUser method."
am: 35a8f1a38a

Change-Id: If3cb37b8fa19dd49b8595622b293886653d7a319
2019-01-30 14:27:01 -08:00
Remi NGUYEN VAN
55849979a5 Merge "Add SystemApi for captive portal metrics" 2019-01-30 22:24:12 +00:00
Treehugger Robot
35a8f1a38a Merge "Nuke old setAlwaysOnVpnPackageForUser method." 2019-01-30 22:10:40 +00:00
Varun Anand
1215f09b07 Add an API that allows VPNs to declare themselves as metered.
For VPN apps targeting Q and above, they will by default be treated as
metered unless they override this setting before establishing VPN.

Bug: 120145746
Test: atest FrameworksNetTests
Test: On device tests verifying meteredness setup correctly for apps
targeting Q and apps targeting P.
Change-Id: Ia6d1f7ef244bc04ae2e28faa59625302b5994875
2019-01-30 14:09:03 -08:00
Dan Sandler
99c3f55c89 Merge "Some of us are weird."
am: 559d6018b6

Change-Id: Icf919c902d9a7e5e8eda1ac2e7f551cf51891281
2019-01-30 13:15:53 -08:00
Dan Sandler
559d6018b6 Merge "Some of us are weird." 2019-01-30 20:58:46 +00:00
Pavel Grafov
194b1cebd1 Nuke old setAlwaysOnVpnPackageForUser method.
All callers have migrated to 4-argument one.

Test: builds
Bug: 77468593
Change-Id: I253515f6b0100b675505646339e5b82d373c9429
2019-01-30 19:56:36 +00:00
Eric Holk
0b329918fc Merge "[layout precompilation] Add testing hook for precompiled layouts"
am: 15b86c9037

Change-Id: I7c1e46dc5ebce025e1aafd6131596d352e0c1bc8
2019-01-30 10:11:53 -08:00
Treehugger Robot
15b86c9037 Merge "[layout precompilation] Add testing hook for precompiled layouts" 2019-01-30 17:55:18 +00:00
Eric Holk
3b95621e12 [layout precompilation] Add testing hook for precompiled layouts
We want to be able to control at a fine grained level whether precompiled
layouts are enabled so we can compare inflation results with and without. This
changes adds a @TestApi method that supports this.

Bug: 111895153
Merged-In: Ib6b62d79a9ca7aefefff8639752aa5838e491038
Change-Id: I2f28f6912499825e52c17cc163be9c0fe93855cb
2019-01-30 16:19:29 +00:00
Lorenzo Colitti
65ceeb4db2 Allow bypassing private DNS via bindProcessToNetwork.
Currently, bypassing private DNS requires calling the deprecated
setProcessDefaultNetworkForHostResolution. Allow apps to do this
via the non-deprecated binProcessForNetwork as well.

This has fewer backwards compatibility concerns than the
alternative approach of having setProcessDefaultNetwork call
setProcessDefaultNetworkForHostResolution. That approach would
have been problematic, for example, if an app did:

  cm.bindProcessToNetwork(network);
  ...
  cm.bindProcessToNetwork(null);

In this case, it would be difficult to know whether to clear the
resolver mapping as well: what if an app had also called
setProcessDefaultNetworkForHostResolution?

Similarly, it would be difficult to know what to do if an app did:

  cm.setProcessDefaultNetworkForHostResolution(network);
  cm.bindProcessToNetwork(null);

This approach does not have these concerns, and has no effect
on apps that don't call Network.getPrivateDnsBypassingCopy, which
regular apps don't have permission to use. It also provides a
path to deprecate setProcessDefaultNetworkForHostResolution.

Bug: 112869080
Test: atest android.net.cts.ConnectivityManagerTest android.net.cts.MultinetworkApiTest
Change-Id: I4158a37b6ed87a9a9b2677c526dcfee8af48e483
2019-01-31 00:55:47 +09:00
Remi NGUYEN VAN
de60221ec8 Add SystemApi for captive portal metrics
The metrics go through NetworkMonitor in the NetworkStack so that they
can be upgraded to new metrics in the future.

Test: flashed, captive portal login works, metrics shown in events log
Bug: 112869080
Merged-In: I4bccfbd87bae5b2d65e45c7a5918aa45ab5d76e8
Change-Id: Ib5e2126788f8d56a00a56d7efcd33c5f9a37a6de
2019-01-30 22:54:27 +09:00
Adrian Roos
d1f5939c1a Merge "API: Fix missing @NonNull annotations"
am: b852f6636f

Change-Id: Id6451f9cd18debf51137a81159ead79064fbafca
2019-01-30 01:55:30 -08:00
Adrian Roos
b852f6636f Merge "API: Fix missing @NonNull annotations" 2019-01-30 09:31:58 +00:00
Remi NGUYEN VAN
4845df3ced Merge "Remove last NetworkStack usage of hidden APIs"
am: 16ec5d038c

Change-Id: I27c78d09938f672a4428a17436d5ed0541170d0d
2019-01-29 21:13:46 -08:00
Remi NGUYEN VAN
16ec5d038c Merge "Remove last NetworkStack usage of hidden APIs" 2019-01-30 04:55:21 +00:00
Pavel Grafov
aade923534 Merge "Whitelist packages from VPN lockdown: DPM API."
am: c9d834e3f5

Change-Id: I5723a0970a0e37995c9db6e42ae527b8692bc48a
2019-01-29 17:41:49 -08:00
Remi NGUYEN VAN
231b52bc03 Remove last NetworkStack usage of hidden APIs
Includes various small changes to stop using hidden APIs

Test: make NetworkStack
Test: flashed, booted, WiFi and tethering working
Bug: 112869080
Change-Id: Id2830795a444f484b377ed6437435a1cd833697a
2019-01-30 10:23:24 +09:00
Pavel Grafov
2b60849c5c Whitelist packages from VPN lockdown: DPM API.
Bug: 77468593
Test: atest MixedDeviceOwnerTest#testAlwaysOnVpn
Test: atest MixedDeviceOwnerTest#testAlwaysOnVpnAcrossReboot
Change-Id: I7508070f828fb7150df5d9e34846535d57c6a7c3
Merged-In: I7508070f828fb7150df5d9e34846535d57c6a7c3
2019-01-29 21:49:07 +00:00
Dan Sandler
8c6ff42abc Some of us are weird.
Test: dsandler can give OWNERS approval
Change-Id: I9b4f7903513e7171dfa51aa39a32b6bcfbfbb0eb
2019-01-29 14:44:39 -05:00
Chalard Jean
06318332ef Merge "Move FdEventsReader to the shared area."
am: 4a838a68d6

Change-Id: I27ecc795228c7bd91c8443a9ba3dad19d8010cf8
2019-01-29 04:11:44 -08:00
Treehugger Robot
4a838a68d6 Merge "Move FdEventsReader to the shared area." 2019-01-29 11:45:15 +00:00
Remi NGUYEN VAN
dfa16fe772 Merge "Add utils connect, setsockopt, bind, sendTo"
am: 1e002eede3

Change-Id: Ida2a99f35affe3cb9213f71ba622ace51c4d6f57
2019-01-29 03:21:22 -08:00
Remi NGUYEN VAN
ca1d65e707 Merge "Add NetworkUtils utilities to SystemApi"
am: 9cc31061fe

Change-Id: I82f20718d86b08cd0916ee33300ca0ee734305a6
2019-01-29 03:17:41 -08:00
Chalard Jean
0bf364d92e Move FdEventsReader to the shared area.
This is necessary both in the network stack app and the
framework.

Test: FrameworksNetTests
Change-Id: I48af0ab29405501f0581a6c0c9ce6e5d4a32c8b4
2019-01-29 18:35:11 +09:00