Commit Graph

3185 Commits

Author SHA1 Message Date
Lorenzo Colitti
7f0087be48 Merge changes Id8776d14,Ifa291c62,I5ea9d200 am: c48f4cb7f1 am: b36b423230
am: cfbf873dd1

Change-Id: I12108d96e29bfe71406106c2af950a6d6a9f8351
2018-01-19 16:46:11 +00:00
Lorenzo Colitti
cfbf873dd1 Merge changes Id8776d14,Ifa291c62,I5ea9d200 am: c48f4cb7f1
am: b36b423230

Change-Id: I1ac9d349850d607c5fbf4a47760bc09de1c18043
2018-01-19 16:37:44 +00:00
Treehugger Robot
c48f4cb7f1 Merge changes Id8776d14,Ifa291c62,I5ea9d200
* changes:
  Track and persist in stats whether traffic is on the default network.
  Add the default network to NetworkStats and NetworkStatsCollection.
  Pass all default networks to NetworkStatsService
2018-01-19 14:48:52 +00:00
Lorenzo Colitti
d3e4a1e250 Track and persist in stats whether traffic is on the default network.
This change adds the defaultNetwork to the ident based on current
system networking state, and persists that value to flash.

Bug: 35142602
Test: runtest frameworks-net
Test: downloaded files using default/non-default networks while watching dumpsys netstats
Change-Id: Id8776d149b2977548a9eb455ad4926af55e25aba
2018-01-19 19:49:16 +09:00
Lorenzo Colitti
ada23ed56a Add the default network to NetworkStats and NetworkStatsCollection.
This allows us to maintain NetworkStats entries that track
whether the traffic was on the default network.

At the moment, the stats collection code always passes in
DEFAULT_NETWORK_NO. However, this value is a no-op, since it is
not persisted to disk. Only the ident, the uid/set/tag, and the
packet/byte/operation counters are persisted.

A future change will add defaultNetwork to the ident and start
persisting it.

Bug: 35142602
Test: runtest frameworks-net
Change-Id: Ifa291c62c0fa389b88e5561086a29dcd7cee2253
2018-01-19 19:49:16 +09:00
Lorenzo Colitti
c78da2937c Pass all default networks to NetworkStatsService
This will allow NetworkStatsService to treat traffic on these
networks differently from traffic where the app selects a network
that is not the default.

Bug: 35142602
Test: runtest frameworks-net
Change-Id: I5ea9d200d9fb153490c6108bb9390bf152f297da
2018-01-19 16:40:10 +09:00
Jeff Sharkey
9252b34065 Use data plans for better job scheduling.
Now that we have data plan information from the carrier, we can start
using it to influence when we schedule jobs.  As a first pass
algorithm:

-- If the network is congested, and a job is less than 50% through
its runnable window, then we'll defer it for awhile.
-- If the network has a surplus of data, we'll consider using some
of it to improve the user experience by running prefetching jobs.

Provider APIs for carrier apps to override their connections to be
temporarily marked as either "unmetered" or "congested", along with
automatic timeouts if desired.

Flag for developers to indicate which jobs will have a material
positive impact on end users.  (We don't want to promote jobs that
are simply doing logs upload; for example.)  Glue code to quickly
return targetSdk of a specific package.

More tweaking to the exact algorithms will come in future CLs.

Test: bit FrameworksServicesTests:com.android.server.job.
Bug: 64133169
Change-Id: Iabb9f90a7a65958ad648b091edec378fc3bf785a
2018-01-19 15:50:12 +09:00
Jeff Sharkey
6f180ea9c6 Merge "Add ability to override subscriber capabilities." am: d6cd4b241a am: 5e097d452b
am: 992cfa2667

Change-Id: I46a6c87751494afca6fdd13736d7a4877e3cc833
2018-01-19 05:25:20 +00:00
Jeff Sharkey
992cfa2667 Merge "Add ability to override subscriber capabilities." am: d6cd4b241a
am: 5e097d452b

Change-Id: Ib22d57c7cde75560cfd5bdd71b75d29b1056f783
2018-01-19 01:11:41 +00:00
Jeff Sharkey
75d3189444 Add ability to override subscriber capabilities.
In a future set of CLs, NPMS will offer to override a handful of
capabilities on a per-subId basis.  Define a no-op version of the
interface to make it easier to add new methods in the future.

Test: bit FrameworksNetTests:android.net.,com.android.server.net.
Test: bit FrameworksTelephonyTests:com.android.internal.telephony.dataconnection.DataConnectionTest
Bug: 64133169
Change-Id: I03dfd98463861f0338c4174e8d8a88c300ea5b55
2018-01-18 14:46:13 -07:00
Jeff Sharkey
8ec0201e8f Merge "Add "not congested" network capability." am: ffaddf73de am: abb158f712
am: 1ed2bee762

Change-Id: I836fedeab34f34a43e0257e395fca1f735bc6d61
2018-01-18 04:20:44 +00:00
Jeff Sharkey
1ed2bee762 Merge "Add "not congested" network capability." am: ffaddf73de
am: abb158f712

Change-Id: I2c7276bd657f5805c0b6492a216435270023a3c6
2018-01-18 04:10:00 +00:00
Lorenzo Colitti
36ec567b4a Merge "Add public API methods for private DNS." am: aacb56a7c0 am: f193c6d37d
am: 7b212d3562

Change-Id: Icd04bc83624ea4d13ac7737e6f9a7b0c5f0f7314
2018-01-18 03:36:37 +00:00
Jeff Sharkey
ffaddf73de Merge "Add "not congested" network capability." 2018-01-18 03:28:34 +00:00
Lorenzo Colitti
7b212d3562 Merge "Add public API methods for private DNS." am: aacb56a7c0
am: f193c6d37d

Change-Id: I8d5a5b72c128231cca1dfb00bc00e887b5fbfc53
2018-01-18 03:27:51 +00:00
Lorenzo Colitti
aacb56a7c0 Merge "Add public API methods for private DNS." 2018-01-18 01:17:17 +00:00
nharold
001439d72a Merge "IpSec - API Tweak for removeTransportModeTransform" am: 6725ff729b am: d58b237445
am: 723d0f061a

Change-Id: I479c24d9ac5d4b022ec6310395fdb4274cfd5598
2018-01-17 20:50:14 +00:00
dalyk
d920134258 Add public API methods for private DNS.
Test: Small modifications to LinkProperties test.
Bug: 71828272
Change-Id: Id2f5acb5469132ec4a917837739f42085c71498e
2018-01-17 15:46:21 -05:00
nharold
723d0f061a Merge "IpSec - API Tweak for removeTransportModeTransform" am: 6725ff729b
am: d58b237445

Change-Id: Id9e9ab09669a53f53f03e5a6e0e4757434c3f3f3
2018-01-17 20:39:29 +00:00
nharold
6725ff729b Merge "IpSec - API Tweak for removeTransportModeTransform" 2018-01-17 19:07:10 +00:00
nharold
d7330ca110 Merge "Prevent Closure of Underlying Socket FDs" am: 3cff120fcb am: 31f05d66ca
am: cb1e587253

Change-Id: I3ab796cc17d5ee2e4a2c8838bac2ada4831c755f
2018-01-17 10:14:43 +00:00
Nathan Harold
55d72e1c44 Make Transforms Unidirectional am: a25233123b am: f4fc2714c2
am: 02f8dcad8a

Change-Id: I608be255a307891ec3fe2d97cda817d75240c95c
2018-01-17 10:03:31 +00:00
nharold
cb1e587253 Merge "Prevent Closure of Underlying Socket FDs" am: 3cff120fcb
am: 31f05d66ca

Change-Id: I1ecac95dc1c4be573d5411a335f94c6a6511d4bd
2018-01-17 10:02:51 +00:00
Nathan Harold
02f8dcad8a Make Transforms Unidirectional am: a25233123b
am: f4fc2714c2

Change-Id: Ie3ca37e14d977fd255a7791ae3332ddda29ab37e
2018-01-17 09:50:37 +00:00
Nathan Harold
f4fc2714c2 Make Transforms Unidirectional
am: a25233123b

Change-Id: I7e80c75b3b227fdd16479120d8b7203cc5f28d1c
2018-01-17 09:37:57 +00:00
Jeff Sharkey
9b2a10f55d Add "not congested" network capability.
Can be used by a network to indicate when it's congested, meaning that
apps should defer network traffic that could be done at a later time.

Test: bit FrameworksNetTests:android.net.,com.android.server.net.,com.android.server.connectivity.VpnTest,com.android.server.ConnectivityServiceTest
Bug: 64133169
Change-Id: I8a60b6f02dd0f42268b59690556c16335d34e220
2018-01-17 02:27:04 -07:00
Nathan Harold
f73d252c8f IpSec - API Tweak for removeTransportModeTransform
Because IpSecTransforms are now unidirectional,
and because the only mechanism for removing Transforms
removes it from both directions, the API can no longer
use the Transform parameter to meaningfully validate
that the caller had applied a transform. Since that
functionality was as-yet unimplemented and is now
infeasible, the transform parameter is removed.

Bug: 72079356
Test: cts - IpSecManagerTest; runtest frameworks-net
Change-Id: If19b0d34bdc6daf31a40d6d62bff326dcbca08c0
2018-01-17 01:11:46 -08:00
nharold
3cff120fcb Merge "Prevent Closure of Underlying Socket FDs" 2018-01-17 08:45:29 +00:00
nharold
809bcfc45e Merge changes from topic "ipsec-oneway-transform"
* changes:
  Update IpSecService UnitTests
  Make Transforms Unidirectional
2018-01-17 08:40:37 +00:00
Nathan Harold
b548d251b7 Prevent Closure of Underlying Socket FDs
The version of applyTransportModeTransform() and
removeTransportModeTransform() that accepted
Socket and DatagramSocket were closing the underlying
FDs upon return. It's unclear whether this is due to
a behavior change elsewhere in ParcelFileDescriptor,
but either way, converting to using getFileDescriptor$
and then calling dup() explicitly rather than relying
on ParcelFileDescriptor seems like a better idea anyway.

Bug: 72047396
Test: CTS - IpSecManagerTest.testCreateTransform()
Change-Id: Ia2f02564e1289f25bf113dbb861fcfd2240537a7
2018-01-16 21:30:20 -08:00
Sudheer Shanka
74aec8482a Update threshold state used for deciding if the app is in foreground.
This is needed because fg service and bound fg service states are
swapped.

Bug: 70808931
Bug: 71758358
Bug: 71864947
Test: atest com.android.server.am.ActivityManagerServiceTest
Test: cts-tradefed run singleCommand cts-dev -m CtsHostsideNetworkTests -t \
      com.android.cts.net.HostsideRestrictBackgroundNetworkTests

Change-Id: I961b6c048d6d40580ca77603d05197d7294eca9d
2018-01-17 00:29:25 +00:00
Nathan Harold
a25233123b Make Transforms Unidirectional
Convert the IpSecTransform from being a bi-directional
pair of SAs to a unidirectional single SA. This CL
also removes the concept of "direction from SAs meaning
that a IpSecTransform may now be applied to a socket
in either direction.

-Make transforms unidirectional
-Add Convert allocateSpi() to use destination rather
 than direction and remote address
-Remove directionality from builders for IpSecTransform
-Change applyTransportModeTransform() to take a
 direction in which to apply the transform object.
-Additional minor naming updates
-Restrict IpSecConfig to only print keys on eng builds
-Move DIRECTION constants to IpSecManager
-Add sourceAddress parameter to IpSecTransform to provide
 additional guarantees about the source address of data;
 (explicit failure rather than implicit failure).
-Move SPI to the build() method of IpSecTransform

Bug: 71717213
Test: runtest frameworks-net, CTS - IpSecManagerTest
Change-Id: I0824b37f443f4b8c62536d9801238c63ed8f2a1c
2018-01-16 11:08:31 -08:00
Hugo Benichi
060f3cc2b5 Merge "MacAddress: add @NonNull annotations" am: e65a016d76 am: a7c125e5b2
am: 697b7fe9e1

Change-Id: Ib525e2429609ce12c2be5bbeacffa217b65bebe3
2018-01-16 10:40:56 +00:00
Hugo Benichi
697b7fe9e1 Merge "MacAddress: add @NonNull annotations" am: e65a016d76
am: a7c125e5b2

Change-Id: Icaa08c082797c6dbc3382e0662e24e1c84114175
2018-01-16 10:30:20 +00:00
Hugo Benichi
e65a016d76 Merge "MacAddress: add @NonNull annotations" 2018-01-16 07:10:50 +00:00
Lorenzo Colitti
7e933876fa Merge "Change the netId to nethandle mapping." am: 9456c020d8 am: feaf412e19
am: 93e0bad422

Change-Id: I06e09bfaeb1040b97afa392faace339eb5bab4ad
2018-01-16 05:32:55 +00:00
Lorenzo Colitti
93e0bad422 Merge "Change the netId to nethandle mapping." am: 9456c020d8
am: feaf412e19

Change-Id: Idd1b2f462c1c78bdb68b43a4aa77bf2358f7cb52
2018-01-16 05:16:34 +00:00
Hugo Benichi
48872c6342 MacAddress: add @NonNull annotations
This patch adds to the MacAddress class:
  - getAddressType() method which replaces addressType(), for naming
  consistency
  - @NonNull annotations on all input and output reference values for
  all public methods (@hide and public).

TYPE_UNKNOWN, which currently cannot be observed with a non @hide
method, is also removed from the public api.

Bug: 71866627
Test: $ runtest frameworks-net
Change-Id: I2af70408d46f431b7b32183e6b48ddae9a261a2c
2018-01-16 13:32:59 +09:00
Lorenzo Colitti
e4fc6322a4 Change the netId to nethandle mapping.
Being able to update this handle is necessary to ensure that
system-only OTAs do not break vendor code that relies on
nethandles.

Bug: 63052780
Test: walleye builds, boots, networking works
Test: MultinetworkApiTest CTS tests passes
Change-Id: I049a4ad2610ca68b8f56377b63be7e5e8ce76039
2018-01-16 02:08:09 +09:00
Malcolm Chen
904340088a Merge "Add isMobileDataEnabled in TelephonyManager." am: ed7eead23b
am: 6b943d5deb

Change-Id: I132cc6d3de77f20717a40884683fb0c81fbb7083
2018-01-10 00:06:27 +00:00
Treehugger Robot
ed7eead23b Merge "Add isMobileDataEnabled in TelephonyManager." 2018-01-09 23:46:55 +00:00
TreeHugger Robot
6b7bf94740 Merge "incidentd: dumping jobscheduler to proto" 2018-01-09 23:15:19 +00:00
Benedict Wong
e65973c571 Merge "Add validation to IpSecConfig algorithm setters" am: a954f20f46 am: c93df5ca1c
am: 764a0b739a

Change-Id: I7ff85771945c68025ce8d66ca85313bac087b3a5
2018-01-09 21:23:35 +00:00
Kweku Adams
85f2fbcb1f incidentd: dumping jobscheduler to proto
Bug: 65750819
Test: flash device and check incident.proto output
Also test: $ cts-tradefed run cts-dev --module CtsIncidentHostTestCases --test com.android.server.cts.JobSchedulerIncidentTest
Change-Id: I4abc01ca893edcbaf4d2254e4f807e06f5cb91f8
2018-01-09 12:05:39 -08:00
Benedict Wong
764a0b739a Merge "Add validation to IpSecConfig algorithm setters" am: a954f20f46
am: c93df5ca1c

Change-Id: I45289bc8e8b93f7eb912a76a10b951b1a615338a
2018-01-09 19:51:19 +00:00
Benedict Wong
a954f20f46 Merge "Add validation to IpSecConfig algorithm setters" 2018-01-09 18:18:28 +00:00
Malcolm Chen
ffbaa9de1c Add isMobileDataEnabled in TelephonyManager.
Added a new hidden API isMobileDataEnabled in TelephonyManager.
Rename related APIs to isUserMobileDataEnabled,
isUserMobileDataEnabled and setUserMobileDataEnabled to better
clarify their functionality.

Bug: 69814555
Test: build
Change-Id: I2f186f1e7550cafbe4ee3a5af293c39274cbfeaa
Merged-In: I2f186f1e7550cafbe4ee3a5af293c39274cbfeaa
2018-01-08 18:08:22 -08:00
nharold
2687681596 Merge changes from topic "ipsec-resource-id-cleanup" am: 2b36299c73 am: d7319df4d0
am: a07d0e463d

Change-Id: Ib96b30bcb1b47c23d0a18cf043dd042409c61322
2018-01-08 20:29:11 +00:00
nharold
a07d0e463d Merge changes from topic "ipsec-resource-id-cleanup" am: 2b36299c73
am: d7319df4d0

Change-Id: If6ab575e2f30fc70d73e6f8787c87f3c7a2ab09d
2018-01-08 20:16:08 +00:00
Jeff Sharkey
9f2dc0527e Add DataUnit to clarify SI-vs-IEC units.
Mirrors the design of TimeUnit and ChronoUnit which many developers
are already familiar with, making it easy to pick up and use.

Yes, this is an enum.

Bug: 70915728
Test: bit FrameworksCoreTests:android.util.DataUnitTest
Change-Id: Id0cfdac5c81ed89c3c9ece23c964acba4a4f8471
2018-01-07 19:06:01 -07:00