Commit Graph

78709 Commits

Author SHA1 Message Date
Tobias Thierer
70b000e6e2 Merge "Network: Use HttpURLConnectionFactory rather than OkHttp APIs"
am: be87c9ca58

Change-Id: I79db2f0dc0870f71ec21397545e2e6abb5c7142b
2017-08-22 15:00:24 +00:00
Tobias Thierer
be87c9ca58 Merge "Network: Use HttpURLConnectionFactory rather than OkHttp APIs" 2017-08-22 14:07:16 +00:00
Lorenzo Colitti
9335d2d0b1 Merge changes I325b13d5,I89719fe7
am: 23868e9c09

Change-Id: Iaced543ab17ea87c8f701975764d957bc1b17fc7
2017-08-19 03:15:08 +00:00
Treehugger Robot
23868e9c09 Merge changes I325b13d5,I89719fe7
* changes:
  Add tether offload traffic to interface stats as well.
  Tell the system when tethering offload hits a limit.
2017-08-19 03:05:14 +00:00
Lorenzo Colitti
f1912ca49a Add tether offload traffic to interface stats as well.
Currently, we only count add tethering traffic to per-UID
stats, but not to total data usage (i.e., dev and XT stats). This
is correct for software tethering, because all software forwarded
packets are already included in interface counters, but it is
incorrect for hardware offload, because such packets do not
increment interface counters.

To fix this:
1. Add an argument to ITetheringStatsProvider#getTetherStats to
   indicate whether per-UID stats are requested. For clarity,
   define integer constants STATS_PER_IFACE and STATS_PER_UID
   to represent these operations.
2. Make NetdTetheringStatsProvider return stats only if per-UID
   stats are requested. (Otherwise tethering traffic would be
   double-counted).
3. Make OffloadController's stats provider return the same
   stats regardless of whether per-UID stats were requested or
   not.
4. Make NetworkStatsService add non-per-UID tethering stats to
   the dev and XT snapshots. The per-UID snapshots were already
   correctly adding in per-UID stats.

(cherry picked from commit 5356a35c3b)

Bug: 29337859
Bug: 32163131
Test: runtest frameworks-net
Test: runtest frameworks-telephony
Change-Id: I325b13d50e88841dfb0db4c35e7e27f163ee72fe
Merged-In: I4e8e923d68dce1a4a68608dbd6c75a91165aa4ee
2017-08-19 10:12:05 +09:00
Lorenzo Colitti
9f0baa94ca Tell the system when tethering offload hits a limit.
Add a new tetherLimitReached method to INetworkManagementService,
and call it when the HAL notifies OffloadController because the
limit has been reached.

Bug: 29337859
Bug: 32163131
Test: builds
Test: OffloadControllerTest passes

(cherry picked from commit d66cf56ba6)

Change-Id: I89719fe7ec8bfd3c85d6cdca9c0d449aea86ef9d
Merged-In: I026e6aa9e7b371f316c0d97c3cf5e78abc1f5263
2017-08-19 00:15:31 +09:00
Jakub Pawlowski
5d0f5f46ef Merge "Bluetooth: Don't throw exception when stopAdvertisingSet fails"
am: b7cbb2fe49

Change-Id: I5ccf67621134fe1ba9204e2a8f3502ffacef0315
2017-08-17 23:06:14 +00:00
Treehugger Robot
b7cbb2fe49 Merge "Bluetooth: Don't throw exception when stopAdvertisingSet fails" 2017-08-17 22:51:23 +00:00
Jakub Pawlowski
e9fe99571b Merge "Bluetooth: Fix startAdvertisingSet error handling"
am: ed12213b59

Change-Id: I093e849e910428c521e73072121dfdfdceb28e0d
2017-08-17 22:47:38 +00:00
Jakub Pawlowski
f73863dc29 Bluetooth: Don't throw exception when stopAdvertisingSet fails
When advertising is stopped while Bluetooth is disabled, we should not
throw any exceptions, just log the failure.
This was the default behaviour before the AdvertisingSet was introduced.

Bug: 63819108
Test: manual
Change-Id: I518e071b77b127973aee6f24fa6ced4f28bc9531
2017-08-17 07:39:02 -07:00
Jakub Pawlowski
f7bd6b26c7 Bluetooth: Fix startAdvertisingSet error handling
Calls to old advertising API (startAdvertising), should never throw
exceptions. Instead, it used to post failure callback. This behaviour
was accidentally modified when implementing new API. Right now, instead
of posting error callback, we throw IllegalArgumentException if we fail
to obtain BluetoothGatt object, or the call to startAdvertisingSet
fails.

This patch brings back the old behaviour to the API. It also makes new
API post callback instead of throwing exception in this error case.

Bug: 63819108
Test: manual
Change-Id: I897b99839f899ca3f3dc609918d665c8c327b777
2017-08-17 07:36:37 -07:00
Luis Hector Chavez
ed05287c55 Merge "Improve container capability bounding in containers"
am: 586fd52b34

Change-Id: I7c67b571164e67b3e4a8ae9c9a2701e338693a4b
2017-08-16 21:32:13 +00:00
Treehugger Robot
586fd52b34 Merge "Improve container capability bounding in containers" 2017-08-16 21:16:50 +00:00
Luis Hector Chavez
72042c99a6 Improve container capability bounding in containers
This change stops relying on the ro.boot.container property for dropping
a subset of capabilities and instead relies on the effective capability
mask of the Zygote process, prior to forking.

When Android is running in a pid/mount/net/user namespace, even if a
particular capability is present, some operations that require that
capability check whether it is allowed in the init namespace (instead of
in the current namespace), so they would fail even with the capability
granted within the namespace. So, explicitly dropping the capabilities
from the beginning allows for clearer signalling of which operations can
be expected to work instead of failing silently for mysterious reasons.

Bug: 63579953
Test: aosp_bullhead-eng still boots
Test: Running Zygote without CAP_SYS_MODULE makes it such that
      system_server does not request it.

Change-Id: I1d18d13341bcc04e701fd14092e7e94961728620
2017-08-16 08:21:58 -07:00
Hugo Benichi
ea2defe62b Merge "Add convenience methods to IpPrefix and LinkAddress"
am: 2ad60c88f1

Change-Id: I6d3f3c50eaec44e3a0787e849ab28e89f6f4a72d
2017-08-16 14:49:27 +00:00
Treehugger Robot
2ad60c88f1 Merge "Add convenience methods to IpPrefix and LinkAddress" 2017-08-16 14:38:29 +00:00
Hugo Benichi
1dfb6b6755 Add convenience methods to IpPrefix and LinkAddress
Also moving relevant test files into tests/net as part of runtest
framworks-net.

Also removes testHashCode in LinkAddress() because this test relies on
the assumption that hashCode() is stable across releases or jdk
versions, which is absolutely not true.

This creates maintenance work for little benefit since hashCode is
already tested as part of the equality test.

For instance this test is now broken because hashing for InetAddress
changed.

Bug: 62988545
Bug: 62918393
Test: runtest frameworks-net, added coverage in tests
Change-Id: I695bc3f0e801bf13bc4fc0706565758f12b775b4
2017-08-16 21:42:21 +09:00
Hugo Benichi
1da7985327 Merge "More OWNERS file for core networking team"
am: 2827f21740

Change-Id: Icae3bc4dbb2cd094c728d98aea02d4009aaa0e0b
2017-08-16 11:57:50 +00:00
Hugo Benichi
2f9fd9df23 Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities"
am: b35719a057

Change-Id: I0ab76de59e87c46a6961229399ff7200bce49838
2017-08-16 11:50:55 +00:00
Treehugger Robot
2827f21740 Merge "More OWNERS file for core networking team" 2017-08-16 11:37:11 +00:00
Treehugger Robot
b35719a057 Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities" 2017-08-16 11:34:24 +00:00
Hugo Benichi
b8f1e4e6e4 More OWNERS file for core networking team
Test: build
Change-Id: I7cef188e29f487025aee04ab0c1a003bb32a7048
2017-08-16 18:40:07 +09:00
Hugo Benichi
bae105a5cc Allow NetworkAgent "immutable updates" to NetworkCapabilities
This patch loosens the validation checks when a NetworkAgent updates it
NetworkCapabilities: instead of checking that capabilities labeled as
"immutable" stay identical across updates, it is now accepted to change
immutable capabilities in a way that the new NetworkCapabilities
satisfies the old NetworkCapabilities.

This allows a NetworkAgent to update itself in order to match more
requests, but will still catch NetworkAgents that sends degradation
updates causing potentially requests to not match anymore.

Bug: 64125969
Test: runtest frameworks-net
Change-Id: I2a1b3f9c0be6415e40edc989d0c1b03b5631f7b1
2017-08-16 18:30:30 +09:00
Lorenzo Colitti
51c3d6a8bf Merge changes I82d3bee0,I9c9413d7
am: deb4eb5d05

Change-Id: Iaa6aecf3ec3a91dc04f4533c0ea5b649bdfeb83d
2017-08-15 02:07:36 +00:00
Lorenzo Colitti
deb4eb5d05 Merge changes I82d3bee0,I9c9413d7
* changes:
  Pass data usage limits to tethering offload code.
  Don't time out when fetching tether offload stats.
2017-08-15 01:57:28 +00:00
Lorenzo Colitti
50b60fc34d Pass data usage limits to tethering offload code.
Bug: 29337859
Bug: 32163131
Test: builds
Test: OffloadControllerTest passes
Change-Id: I82d3bee030bafa8fe85855885b5fc3893e699181
2017-08-15 00:09:23 +09:00
Jakub Pawlowski
3ee6eed62f Merge "Bluetooth: AdvertiseData parceling simplification"
am: c7da241b3e

Change-Id: Iaf58ace037810d11fcb29c2696c79664d601e87c
2017-08-09 19:15:08 +00:00
Tyler Gunn
8adf430f30 Merge "Enforce call log length limit on a per PhoneAccount basis."
am: 647b520a00

Change-Id: I8962fc326d0e2888656c2764e94131c6eebd1471
2017-08-09 19:03:32 +00:00
Jakub Pawlowski
c7da241b3e Merge "Bluetooth: AdvertiseData parceling simplification" 2017-08-09 18:56:57 +00:00
Treehugger Robot
647b520a00 Merge "Enforce call log length limit on a per PhoneAccount basis." 2017-08-09 18:44:08 +00:00
Jakub Pawlowski
e8c3b91dc3 Bluetooth: AdvertiseData parceling simplification
Use writeTypedArray instead of writeList - this will not serialize
string with type name, which is unnecessary
Use createByteArray instead of readByteArra - it takes care of null and
empty array handling

Test: sl4a FilteringTest, BleAdvertiseApiTest
Change-Id: I6a22674a0bf9933e39691de7f2b2b52a060ae368
2017-08-09 17:26:14 +00:00
Tyler Gunn
c971bf1760 Enforce call log length limit on a per PhoneAccount basis.
Performing the auto delete based on the PhoneAccount of the new entry.
This ensures no one CS can cause the removal of entries by another.

Test: Manual
Bug: 38196259
Merged-In: I382cb62a1b2b7e482c49ece05f90fc982b797add
Change-Id: I382cb62a1b2b7e482c49ece05f90fc982b797add
2017-08-09 09:53:00 -07:00
Jakub Pawlowski
3b38eaa3c2 resolve merge conflicts of 15658662fd to stage-aosp-master
Test: this fixes merge conflict that I skipped
Change-Id: I2e993d1f021b1bb671b07440cdc611853d6c3f08
2017-08-09 13:03:35 +00:00
Jakub Pawlowski
6732625aa0 Bluetooth: move AIDL files related to bluetooth into system/bt (1/2)
This patch moves *.aidl files from
frameworks/base/core/java/android/bluetooth into system/bt/binder. This
is in preparation to convert the Bluetooth deamon into native
implementation piece by piece.
In order to do that, one must have C++ header files, and paths to them
with AIDL files, and */java/* folder didn't seem as proper place for
that. Additionally, keeping AIDL files out of framework/base will not
require creating dependency on this huge project, which should help
keeping the compilation fast.

Test: compilation test
Change-Id: I9a6db8832c9ec3215c648e325d67278832ef22cc
Merged-In: I9a6db8832c9ec3215c648e325d67278832ef22cc
(cherry picked from commit 06ae9c665b)
2017-08-08 12:38:37 -07:00
Calin Juravle
8a9e43f1bf Merge "Update DexLoadReporter to comply with the new reporting API"
am: 89d087886d

Change-Id: If94d3ecb40eef29acb0ab6709de23b37a722119b
2017-08-08 17:13:06 +00:00
Calin Juravle
89d087886d Merge "Update DexLoadReporter to comply with the new reporting API" 2017-08-08 17:03:21 +00:00
Tobias Thierer
69b8b29c7b Network: Use HttpURLConnectionFactory rather than OkHttp APIs
This is a refactoring with no behavior change.

The new class provides an abstraction layer to hide knowledge
about OkHttp-specific APIs. Logic from android.net.Network that
knew about OkHttp is moving into that abstraction layer.

This CL refactors android.net.Network to make use of this
abstraction layer instead of the tight coupling onto OkHttp
APIs. The class no longer imports any classes from okhttp
packages.

The values of mDns and mConnectionPool, which never change after
the initial call to maybeInitHttpClient(), are now set directly on
the AndroidHttpClient instance when it is constructed in that method.

Applications can overwrite getSocketFactory() and might depend on
that method being called (and the result used) every time a
connection is opened; therefore, for maximum app compatibility this
call was kept inside openConnection().

This CL is a prerequisite for introducing an additional frameworks
dependency on a richer API than HttpURLConnection.

Test: Build and install apk for FrameworksCoreTests, then run:
      adb shell am instrument -e class android.net.NetworkTest -w com.android.frameworks.coretests
Bug: 64021405

Change-Id: I2c73d260508ee20c6a40fd6e95e2d058d3ea2330
2017-08-08 13:08:36 +01:00
Colin Cross
94d5456d0e Merge "Use class retention for VisibleForTesting annotations"
am: 5724841581

Change-Id: Iaa9262ad627b49d58b46760d7aecd3a985c3a79a
2017-08-07 19:32:21 +00:00
Colin Cross
5be3cbad27 Use class retention for VisibleForTesting annotations
The VisibleForTesting annotations are used by proguard to prevent
stripping code that is needed at runtime for tests.  The annotations
were marked with source retention, which worked fine with Jack's
proguard implementation.  When we switched back to javac + proguard,
the VisibleForTesting annotations are gone by the time proguard
sees the classes, so the annotated classes and methods can still
be stripped.

Move the VisibleForTesting annotation to class retention, which
matches guava's equivalent annotation.

Bug: 64365384
Test: m -j MtpDocumentsProvider &&
      javap -cp out/target/common/obj/APPS/MtpDocumentsProvider_intermediates/classes-proguard.jar com.android.mtp.MtpRoot

Change-Id: I63a467c2f0a21383eb9e4c9563fd6de2d994a373
Merged-In: I63a467c2f0a21383eb9e4c9563fd6de2d994a373
(cherry picked from commit 8e846143dd)
2017-08-07 11:07:15 -07:00
Hugo Benichi
f6346af47e Merge "NetworkCapabilities: fix describeImmutableDifferences"
am: 7575ec2240

Change-Id: If38efacdeec8476880835657938e435f9b598525
2017-08-05 00:54:43 +00:00
Hugo Benichi
2ecb9408f4 NetworkCapabilities: fix describeImmutableDifferences
This patch fixes the mask used in describeImmutableDifferences which did
not correctly turn NET_CAPABILITY_NOT_METERED into bit flag.

Bug: 63326103
Test: added unit tests, runtest frameworks-net
Change-Id: Ib6b390b1daef5912859302692af7dcd6cfd3e39a
2017-08-04 15:17:40 +09:00
Calin Juravle
cd8fbd25d3 Update DexLoadReporter to comply with the new reporting API
This is a partial cherry pick of commit
3bec94d78b.

It is partial because it only adapts DexLoadReporter to use the new
reporter BaseDexClassLoader.Reporter API.

Bug: 38138251
Test: make
Merged-In: I2486522fb811f9fc58a44b92642f43a41e7d5bac

(cherry picked from commit 3bec94d78b)

Change-Id: I4c41dbeb8a9297caac8b0eb936cf74832569f33e
2017-08-03 15:28:36 -07:00
Chad Brubaker
e9d50c793a Merge "Add owners for the network security config"
am: 8773730cd9

Change-Id: I18b8aac4c1ac85bde3e6735e1afe6375f5c0e177
2017-08-02 17:20:16 +00:00
Treehugger Robot
8773730cd9 Merge "Add owners for the network security config" 2017-08-02 17:10:11 +00:00
Sundong Ahn
811027ede7 Merge "Add hwbinder library"
am: 49e2a9a612

Change-Id: I3c7528dcf98bf3b92843594172531fd30a5f29d4
2017-08-02 16:57:50 +00:00
Treehugger Robot
49e2a9a612 Merge "Add hwbinder library" 2017-08-02 16:46:42 +00:00
Chad Brubaker
1ec48fc770 Add owners for the network security config
Test: build/make/tools/checkowners.py -c -v OWNERS
Change-Id: I9bb8f5ceaae4a1af8c93f5416a6a5cea42915c62
2017-08-01 15:50:22 -07:00
Ruchi Kandoi
1decea7847 Merge "Set default value for T3T_PMM."
am: 7770adf755

Change-Id: I31da06276b222d597b3834b4b912f4e0930ee6bc
2017-08-01 20:40:33 +00:00
Love Khanna
0b5a37e876 Set default value for T3T_PMM.
If HCEF Application does not provide the T3T PMM value, set the
default value (FFFFFFFFFFFFFFFF) as per NCI specification.

Bug: 64112415
Test: CTS Verifier; HCE-F Reader/Emulator Test
Change-Id: I24f212d9bebd978342e4dd04d618572132e7eb4b
2017-08-01 17:26:21 +00:00
Sundong Ahn
28cc6e88fd Add hwbinder library
HAL impls will depend hwbinder.jar instead of framework.jar on
build-time, but on runtime framework.jar will be used.

This is to cut the circular dependency when using configstore from
Android framework. Also added JNI call to HwBinder.java to cut
configstore's dependency on systemproperty in framework.jar.

Note that hwbinder.jar is LOCAL_UNINSTALLABLE_MODULE and so it won't be
installed in an actual image.

Bug: 35771640
Test: build & run
Change-Id: I2420298cf9df5d6bbcead3e4451b703ce9bc3e29
2017-08-01 11:26:18 +09:00