Commit Graph

5654 Commits

Author SHA1 Message Date
Junyu Lai
0e0b760e62 Merge "Expose getTx/RxBytes in TrafficStats" am: 6ef6648cd9 am: aca01cd0c1 am: e0f68a4855
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1440245

Change-Id: I755eb6294da6cba787f60d057997a4d239aaa095
2020-11-25 06:32:25 +00:00
junyulai
e2dfbb3b65 Expose getTx/RxBytes in TrafficStats
Test: atest FrameworksNetTests TrafficStatsTest
      atest android.net.cts android.net.wifi.cts
Bug: 164965653
Change-Id: I17b9d0bc2404c5727d4c4530ad941439b7b71a54
2020-11-24 12:11:08 +08:00
Benedict Wong
8af43b0db5 Merge "Expose MIN_MTU_V6 as a public, @hide constant" am: 4833cf6910 am: 919265831e am: 0b417d78e9 am: 1e01b17a63
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1505072

Change-Id: Iaa9e9dc9c60369f6b96e21d1619cbf2c88b22013
2020-11-20 02:50:21 +00:00
Benedict Wong
185890ec61 Merge changes I72976905,I7a637d39 am: da498a524d am: f6aaaaddda am: 0c8fa5e245 am: e6c50457ab
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1495025

Change-Id: I48e7e7d786ebe442a78892bb49891699b286a828
2020-11-20 02:05:18 +00:00
Benedict Wong
4833cf6910 Merge "Expose MIN_MTU_V6 as a public, @hide constant" 2020-11-20 01:30:18 +00:00
Benedict Wong
da498a524d Merge changes I72976905,I7a637d39
* changes:
  Add VcnTunnel, UnderlyingNetworkTracker skeletons
  Add bug number to stopship comment for VCN Network scores
2020-11-19 22:01:24 +00:00
Sarah Chin
2684b2895b Merge "Clarify documentation on TEMP_NOT_METERED API" am: 9e7ff9a167 am: b6771dff52 am: 2e506764fc am: 8698f3f4d0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1504954

Change-Id: Ibfc36bfcf1550cd27ff5449d5dbd7ee34c9937c7
2020-11-19 19:30:04 +00:00
Sarah Chin
9e7ff9a167 Merge "Clarify documentation on TEMP_NOT_METERED API" 2020-11-19 17:50:35 +00:00
Lorenzo Colitti
55486fb834 Merge changes I3711b362,I49421183,Icc0701cb,I2f5ccc1d am: cbd6dbc553 am: f58d0c7de6 am: 3fc6919483 am: 8bef265085
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1501951

Change-Id: I5c7847bac88b574737ab80e5a20e9e22afb5b2e4
2020-11-19 12:30:34 +00:00
Sarah Chin
296eec4947 Clarify documentation on TEMP_NOT_METERED API
Test: build
Bug: 165337240
Change-Id: Ifc0843b529e7a205b0e1caf98420adfc377c28e7
2020-11-19 01:15:48 -08:00
Benedict Wong
ac1921adce Expose MIN_MTU_V6 as a public, @hide constant
MIN_MTU_V6 is increasingly used, and the LinkProperties version is used
as a source of truth for the constant.

Bug: 163602123
Test: atest FrameworksNetTests
Change-Id: I67134cd4fb7e2cf59c36947b62f681ac9b94ea4a
2020-11-19 00:21:53 -08:00
Benedict Wong
4f040fb77d Add VcnTunnel, UnderlyingNetworkTracker skeletons
This change adds skeletons for each of the various major components used
in the VCN.

Additionally, this change adds the VcnGatewayConnectionConfig, used to
configure each logical connection to the VCN gateway. Each
VcnGatewayConnectionConfig specifies a Network that can be brought up on
demand for a given telephony service (INTERNET, MMS, DUN, etc)

Bug: 163602123
Bug: 163432852
Test: Skeletons only, no major testable pieces
Change-Id: I7297690573c1b6ebd0ab9c1d434dd45c1e7d841d
2020-11-19 00:07:35 -08:00
Lorenzo Colitti
945b512d4d Minor fixes to NetworkCapabilities#toString.
1. The current code only prints the array of administrator UIDs
   if it's empty. This is clearly an oversight. Print it only if
   it's non-empty.
2. Only print requestor UID and package name if they are set.
   This makes output shorter in the common case that they are
   unset.
3. Reorder the output at the end: group all UIDs together, and
   place SSID and private DNS broken bit after that.
4. Make the private DNS broken indication a single word instead
   of a sentence. This saves space and makes it easier to write
   regexps.

New format:
... SignalStrength: -72 OwnerUid: 1000 AdminUids: [1000] SSID: ...
... Uid: 1000 RequestorUid: 1000 RequestorPkg: android ...

Test: manual
Change-Id: I2f5ccc1d9e4af6ddacc4d193185a17723822972b
2020-11-18 17:10:11 +09:00
Benedict Wong
d5e3147ca1 Merge "Add stubs for VCN configuration management" am: 03492715e8 am: 43dbf5cb2c am: a0740b9727 am: 292f2b8dbf
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1477377

Change-Id: Id2d4d4fdc716cb6a9e72ec5ad072d72063fdad59
2020-11-17 06:10:47 +00:00
Benedict Wong
4b140e2bd6 Add stubs for VCN configuration management
This change adds stubs for both the API and the internal binder
interfaces.

Bug: 163431877
Test: Compiles, boots
Change-Id: I11183d9fe3ad53944882b163eee5110e85898393
2020-11-16 13:29:34 -08:00
Aurimas Liutikas
46a165215b Remove legacy style metalava suppression
@SuppressLint("Doclava125") is a legacy way of suppressing
RequiresPermission check. Updating to the new style of suppression
so metalava no longer has to support the legacy mode.

sed -i "s/@SuppressLint(\"Doclava125/@SuppressLint(\"RequiresPermission/" \
core/java/android/app/admin/DevicePolicyManager.java \
core/java/android/hardware/hdmi/HdmiControlManager.java \
core/java/android/hardware/location/ContextHubManager.java \
core/java/android/hardware/usb/UsbDeviceConnection.java \
core/java/android/net/TrafficStats.java \
core/java/android/os/RecoverySystem.java \
core/java/android/os/storage/StorageManager.java \
core/java/android/service/persistentdata/PersistentDataBlockManager.java \
location/java/android/location/LocationManager.java \
media/java/android/media/AudioManager.java \
telecomm/java/android/telecom/TelecomManager.java \
telephony/java/android/telephony/CarrierConfigManager.java \
telephony/java/android/telephony/TelephonyManager.java \
wifi/java/android/net/wifi/RttManager.java \
wifi/java/android/net/wifi/WifiScanner.java

Test: make
Exempt-From-Owner-Approval: No-op change
Merged-In: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
Change-Id: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
2020-11-12 18:30:12 -08:00
Aurimas Liutikas
1394a019e7 Remove legacy style metalava suppression
@SuppressLint("Doclava125") is a legacy way of suppressing
RequiresPermission check. Updating to the new style of suppression
so metalava no longer has to support the legacy mode.

sed -i "s/@SuppressLint(\"Doclava125/@SuppressLint(\"RequiresPermission/" \
core/java/android/app/admin/DevicePolicyManager.java \
core/java/android/hardware/hdmi/HdmiControlManager.java \
core/java/android/hardware/location/ContextHubManager.java \
core/java/android/hardware/usb/UsbDeviceConnection.java \
core/java/android/net/TrafficStats.java \
core/java/android/os/RecoverySystem.java \
core/java/android/os/storage/StorageManager.java \
core/java/android/service/persistentdata/PersistentDataBlockManager.java \
location/java/android/location/LocationManager.java \
media/java/android/media/AudioManager.java \
telecomm/java/android/telecom/TelecomManager.java \
telephony/java/android/telephony/CarrierConfigManager.java \
telephony/java/android/telephony/TelephonyManager.java \
wifi/java/android/net/wifi/RttManager.java \
wifi/java/android/net/wifi/WifiScanner.java

Test: make
Exempt-From-Owner-Approval: No-op change
Change-Id: I6d5df95cfca2950ea86872d2f0afc1ba828841dc
2020-11-12 18:27:15 -08:00
Junyu Lai
983c0eff05 Merge changes I6a48d4db,I6741c41c,Ifec6bde5,Icd0717c5 am: 02bd168520 am: de83629fc1 am: 9672f71a14 am: f3fe586b5d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1490617

Change-Id: I2c5895c223a5843cfe11a1736a243b6847ad1b9a
2020-11-12 10:19:29 +00:00
Junyu Lai
02bd168520 Merge changes I6a48d4db,I6741c41c,Ifec6bde5,Icd0717c5
* changes:
  Remove unused variables
  Return offloaded traffic when querying from TrafficStats API
  Add hardware tethering traffic in testTethering test
  Remove unused getTetherStats
2020-11-12 08:45:15 +00:00
junyulai
e5d0585e2c Return offloaded traffic when querying from TrafficStats API
TrafficStats API are being used for querying realtime network
statistics for years. However, on certain devices, some network
traffic are produced by hardware components and not be
able to seen by kernel counters.

Thus, include statistics for those missing network traffic is
necessary. Note that the included statistics might be stale
since polling newest stats from hardware might impact system
health and not suitable for TrafficStats API use cases.

Test: atest FrameworksNetTests TetheringTests
Bug: 16229221

Change-Id: I6741c41cb5145ca8748f9b083b9c15e7e2735681
2020-11-12 14:22:31 +08:00
James Mattis
8cc7994e05 Merge "Updating network preference comments" am: fa3f7a3366 am: 1def8c4eb2 am: 75f5d528f6 am: a9a9fbc5cd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1490233

Change-Id: Ic1b025dd4598c211a3b9c5065e034b4cc001dc99
2020-11-10 19:57:53 +00:00
James Mattis
2d4b26e43a Updating network preference comments
Updating comments for network preferences to better clarify that
preferences which include more than one network type will then rely on
scoring to determine which of those networks are chosen.

Bug: 171795464
Test: atest FrameworksNetTests
Change-Id: I9eb5683f2cd69281bbee9fb70028d45f07720914
2020-11-09 21:06:09 -08:00
Mathew Inwood
f8abe13db4 Merge "Add maxTargetSdk restriction to unused APIs." 2020-11-09 14:41:20 +00:00
James Mattis
4a627ae8c4 Merge "Adding API stubs for application network routing" am: 20a9e59e25 am: e92d8a7865 am: ab220aa956 am: 15c0e3c9d5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1478963

Change-Id: Icb5f6e6124d23093ff7051d27d2fd4b9e3a1f72c
2020-11-06 19:40:05 +00:00
James Mattis
15c0e3c9d5 Merge "Adding API stubs for application network routing" am: 20a9e59e25 am: e92d8a7865 am: ab220aa956
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1478963

Change-Id: I22f8b7b15a0bc7643474f5119dd34cdddf5a8376
2020-11-06 19:19:46 +00:00
James Mattis
d38f48a83f Adding API stubs for application network routing
Bug: 171795464
Test: atest FrameworksNetTests
Change-Id: Ib055aa37a7bf0c48c335307afc2258aa869c4267
2020-11-06 00:08:13 -08:00
Mathew Inwood
5d123b6775 Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

Bug: 170729553
Test: Treehugger
Merged-In: I626caf7c1fe46c5ab1f39c2895b42a34319f771a
Change-Id: I54e5ecd11e76ca1de3c5893e3a98b0108e735413
2020-11-04 09:45:53 +00:00
Mathew Inwood
5f0edaaaf5 Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

Bug: 170729553
Test: Treehugger
Merged-In: I8285daa8530260251ecad6f3f38f98e263629ca7
Change-Id: I626caf7c1fe46c5ab1f39c2895b42a34319f771a
2020-11-02 10:30:09 +00:00
Chalard Jean
ddda71cdbf Move module utils to the module package.
Test: FrameworksWifiTest FrameworksNetTest
Change-Id: I067eeecd458c34b7f2fbfa439072682661ac750c
2020-11-02 10:01:30 +09:00
Benedict Wong
76062fa471 Merge "Add shell VcnManagementService" am: fa2c588ab5 am: 1ee8f22e8a am: e0eb89cf66 am: 3eda5ec4f9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1456942

Change-Id: Ib6d081351c2440945d094e7e97433f1e91e1fa8b
2020-10-29 23:20:36 +00:00
Benedict Wong
fa2c588ab5 Merge "Add shell VcnManagementService" 2020-10-29 21:32:14 +00:00
Mathew Inwood
bb05958365 Merge "Add maxTargetSdk restriction to unused APIs." 2020-10-29 15:23:24 +00:00
Chalard Jean
6ef294dcc3 Merge "Fix a bug where modern network agents start in UNKNOWN" am: fc2b39948c am: 63b234d158 am: 59e88e779e am: 2889c52cb7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460964

Change-Id: I4de127e0ce7f4fc0591ee59e65a60592e96efbfc
2020-10-29 14:32:37 +00:00
Chalard Jean
6e61ad716c Fix a bug where modern network agents start in UNKNOWN
Modern network agents are supposed to have the following
lifecycle :
• Construct the agent
• Declare itself to connectivity by calling #register()
• Possibly do some setup
• Declare connected by calling #markConnected()
• Declare disconnected by calling #unregister()

Internally ConnectivityService still manages the state
with deprecated NetworkInfo, which has a lot of possible
detailed states, most of which are now unused. Internally,
the steps above translate to the states below :
• When the agent calls #register() it starts in state
  CONNECTING
• When it calls #markConnected() it goes to CONNECTED
• When it calls #unregister() it goes to DISCONNECTED which
  triggers the flow that disconnects it immediately
• ConnectivityService also synthesizes the SUSPENDED state
  under some situations, but that's not relevant here.

The translation above is done by the NetworkAgent class,
which translates #register(), #markConnected() and
The only valid lifecyle for new agents is thus :

CONNECTING → CONNECTED → disconnect
                 ↕         ↑
             SUSPENDED ───┘

Note that in the above scheme, there is no space for the
UNKNOWN state, which is only used by legacy network agents.
However, the constructor for NetworkInfo still starts with
UNKNOWN. Ideally the constructor for NetworkInfo would set
the info to CONNECTING instead, but this would be a very
visible change in behavior affecting many apps (especially
their tests), so for backward compatibility we can't do
that.

New network agents however don't expose their NetworkInfo
to the client code, so they can just be made to start in
CONNECTING the way it was meant.

Note that this didn't really have a concrete impact beyond
printing some logs as by and large the ConnectivityService
code handles UNKNOWN and CONNECTING the same way, or more
exactly it handles transitions to CONNECTED from UNKNOWN
and CONNECTING in the same way. The exception to this is
VPNs, which are not using the new agent API yet, and the
upcoming conversion is why this fix is actually needed now.

Bug: 170904131
Test: FrameworksNetTests NetworkStackTests
Test: new test in aosp/1460705
Change-Id: Ib7d906a7b29a0b9f000b90bc78558a7402852fa3
2020-10-29 12:30:44 +00:00
Mathew Inwood
8e742f928e Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

This is a resubmit of ag/12929664 with some APIs excluded that caused
test failures; see bugs 171886397, 171888296, 171864568.

APIs excluded:
Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
Landroid/os/Process;->myPpid()I
Landroid/os/SharedMemory;->getFd()I
Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I

Bug: 170729553
Test: Treehugger
Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
2020-10-29 11:51:12 +00:00
Treehugger Robot
67b2e68a7c Merge changes from topic "bug_167962976_visibility" am: 39c6068cbc am: 5942721506 am: 29bed11140 am: a678e6b183
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1478840

Change-Id: I476629002e075d01c83f77be8343157dbd66ce9b
2020-10-29 08:48:24 +00:00
Baligh Uddin
ff8ff126c7 Add visibility rules for packages/modules/Connectivity/Tethering
BUG: 167962976
Test: TH
Change-Id: Id28881b35cf24fc9517fa11af6d8e539ab244fa6
2020-10-29 02:11:55 +00:00
Hongwei Wang
286c33a5c5 Merge "Revert "Add maxTargetSdk restriction to unused APIs."" 2020-10-28 23:58:21 +00:00
Hongwei Wang
050275cd83 Revert "Add maxTargetSdk restriction to unused APIs."
This reverts commit 72f07d6a8a.

Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?testMethod=testAppZygotePreload&testClass=android.app.cts.ServiceTest&atpConfigName=suite%2Ftest-mapping-presubmit-retry_cloud-tf&testModule=CtsAppTestCases&fkbb=6936597&lkbb=6936969&lkgb=6936551&testResults=true&branch=git_master&target=cf_x86_phone-userdebug>, bug b/171886397

Bug: 171886397
Change-Id: Ibe0f0430a3451477c1ee8ef56a596e91ea1e7672
2020-10-28 20:16:22 +00:00
Mathew Inwood
ee5d369323 Merge "Add maxTargetSdk restriction to unused APIs." 2020-10-28 09:39:20 +00:00
Benedict Wong
e2dacc7411 Add shell VcnManagementService
This patch adds a shell of the VcnManagementService and VcnManager

Bug: 163431877
Test: Compiles, Boots
Change-Id: I1f3d8ab9c9bff7d419ea6d3edaae3b6b41b1d775
2020-10-27 20:09:06 -07:00
James Mattis
bc2592b80a Merge "Add OEM_PRIVATE NetworkCapability" am: 7415f6f9b5 am: 32fbc09bd0 am: 689181f342 am: 59502e6ef9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1472326

Change-Id: I33da7fd0b61eb0d5a6b45b4ba2140b39c377e15a
2020-10-28 00:38:12 +00:00
James Mattis
13135f3003 Add OEM_PRIVATE NetworkCapability
Adding network capability to be used with networks to be only used by
OEM apps.

Bug: 171505922
Test: atest CtsNetTestCasesLatestSdk:NetworkCapabilitiesTest
Change-Id: Ib55ebec0e178b6317d92f17e1aff060dacdfb2b1
2020-10-27 13:14:06 -07:00
Mathew Inwood
72f07d6a8a Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

Bug: 170729553
Test: Treehugger
Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
2020-10-27 15:46:07 +00:00
Benedict Wong
7ed6a239d1 Merge "Add VCN file owners for android.net.vcn" am: b397a4f3ff am: 3086c9bf3b am: 51edaf6a08 am: 234ca5d409
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1459343

Change-Id: Ib01069d563a887f59ba6d8592b7096e115868287
2020-10-23 20:13:29 +00:00
Benedict Wong
b397a4f3ff Merge "Add VCN file owners for android.net.vcn" 2020-10-23 17:44:05 +00:00
Benedict Wong
30a7ae8af7 Add VCN file owners for android.net.vcn
This change adds owners for the VCN files in the android.net.vcn package

Bug: 163431877
Test: No code changes; FrameworksNetTests passing
Change-Id: I7406083b958a9fd5f1b02c2e2046a9c686622f60
2020-10-22 23:08:49 +00:00
Yan Yan
7c1ee608eb Merge "Require devices with first sdk 0 or later to support mandatory algorithms" am: a09d15adb3 am: bf50daf5dd am: 0c78f23757 am: 583415a5b1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1468662

Change-Id: Ica06a3a4c3695052f554056caab603a857b4e9b2
2020-10-20 23:51:20 +00:00
Yan Yan
a09d15adb3 Merge "Require devices with first sdk 0 or later to support mandatory algorithms" 2020-10-20 22:33:37 +00:00
Yan Yan
19b6965864 Require devices with first sdk 0 or later to support mandatory algorithms
It is safe because these mandatory algorithms are already required
before new algorithms are added

It is also a quick fix to unblock b/171279612, whose root cause is
the device first sdk is wrong

Bug: 171279612
Test: atest CtsNetTestCases:IpSecManagerTest
Change-Id: I5b9d85b2bc8f13f54467c97160d138a4628265f7
2020-10-20 15:12:30 -07:00