Commit Graph

11338 Commits

Author SHA1 Message Date
Chalard Jean
20b2858a92 Merge "Fix a bug where modern network agents start in UNKNOWN" am: 0512d7cd48 am: 8d783edbe8 am: b3dcc65424
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460964

Change-Id: I9a6b1bbb4e0bfa9e902add0476aaa44d40d5198e
2020-10-29 13:52:57 +00:00
Chalard Jean
b3dcc65424 Merge "Fix a bug where modern network agents start in UNKNOWN" am: 0512d7cd48 am: 8d783edbe8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460964

Change-Id: I1acdfe14a14bfca15967efe2d97b653691e259f8
2020-10-29 13:30:39 +00:00
Chalard Jean
8d783edbe8 Merge "Fix a bug where modern network agents start in UNKNOWN" am: 0512d7cd48
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460964

Change-Id: I69c5b8712791491552879c6d5aba5352ea03adfc
2020-10-29 13:10:05 +00:00
Chalard Jean
0512d7cd48 Merge "Fix a bug where modern network agents start in UNKNOWN" 2020-10-29 12:31:03 +00:00
Chalard Jean
a7f72cbe55 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
Treehugger Robot
1f8a2bda71 Merge "Replace hidden NMS permission control API" am: 67a478d08d am: 89f3f29524 am: a5c301c629
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1473957

Change-Id: Ie55d43f42235fbfc570f8088a9459dba99008799
2020-10-29 08:06:04 +00:00
Treehugger Robot
a5c301c629 Merge "Replace hidden NMS permission control API" am: 67a478d08d am: 89f3f29524
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1473957

Change-Id: I45135311ec026b75d1110614f609b851b72f543b
2020-10-29 07:47:31 +00:00
Treehugger Robot
89f3f29524 Merge "Replace hidden NMS permission control API" am: 67a478d08d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1473957

Change-Id: I44840dc0c5ab4421976f606afcced0573e3dfe60
2020-10-29 07:34:41 +00:00
Treehugger Robot
67a478d08d Merge "Replace hidden NMS permission control API" 2020-10-29 07:03:37 +00:00
Xiao Ma
c95be48120 Merge changes from topic "revert-1353490-revert-1323251-ipv6_prov_loss_quirk_parcelable-DVBHZDYMHA-MDHWFKJABZ" am: 780d3d2115 am: ee3d2e049d am: f7808179b4
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460265

Change-Id: I38ca7a3d1a07d511d99beb9fbe3eb48b265d40e9
2020-10-29 06:50:05 +00:00
Xiao Ma
9180884b13 Revert "Revert "Test IPv6ProvisioningLossParcelable in the NetworkAttributes""" am: ef20ba23a4 am: 8323b72ef0 am: c1d48c0444
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460264

Change-Id: If0b8d031b80b9cd8315327211ede0be1a58df44f
2020-10-29 06:49:56 +00:00
Xiao Ma
f7808179b4 Merge changes from topic "revert-1353490-revert-1323251-ipv6_prov_loss_quirk_parcelable-DVBHZDYMHA-MDHWFKJABZ" am: 780d3d2115 am: ee3d2e049d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460265

Change-Id: Ibfd085b283caf6a531cbdf752e009317eb105287
2020-10-29 06:35:46 +00:00
Xiao Ma
c1d48c0444 Revert "Revert "Test IPv6ProvisioningLossParcelable in the NetworkAttributes""" am: ef20ba23a4 am: 8323b72ef0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460264

Change-Id: Ie6b10f73ac6508b83e240e74a215edbe58901be3
2020-10-29 06:35:44 +00:00
Xiao Ma
ee3d2e049d Merge changes from topic "revert-1353490-revert-1323251-ipv6_prov_loss_quirk_parcelable-DVBHZDYMHA-MDHWFKJABZ" am: 780d3d2115
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460265

Change-Id: I49ce3e1c7794dc6db0e410cba481eb98144bc4e5
2020-10-29 06:17:22 +00:00
Chiachang Wang
fa1fc27d9b Merge changes I6a51d803,I162fae5c am: b75c584971 am: 18013cefe3 am: 2d6e0ab8e7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1473228

Change-Id: I49cb16e2ae99687be9a4b72773901fa59b506138
2020-10-29 06:14:34 +00:00
Chiachang Wang
054053a6ca Merge "Replace hidden NMS interface to network API" am: 689399aa75 am: 667b09128d am: cf129dae9f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1473224

Change-Id: I4cd75254a26106103352c98d3fefe4a275c83bed
2020-10-29 06:14:03 +00:00
Xiao Ma
8323b72ef0 Revert "Revert "Test IPv6ProvisioningLossParcelable in the NetworkAttributes""" am: ef20ba23a4
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460264

Change-Id: Ie13b2bb8037d85ab4782e06cfc31e108397fc78b
2020-10-29 06:09:44 +00:00
Chiachang Wang
2d6e0ab8e7 Merge changes I6a51d803,I162fae5c am: b75c584971 am: 18013cefe3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1473228

Change-Id: I61cdda413fe21a46ac075a0abba2b9affa015149
2020-10-29 05:52:33 +00:00
Chiachang Wang
cf129dae9f Merge "Replace hidden NMS interface to network API" am: 689399aa75 am: 667b09128d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1473224

Change-Id: Ifc403211281b58bf25c9e7c652a863368b80deae
2020-10-29 05:52:12 +00:00
Xiao Ma
780d3d2115 Merge changes from topic "revert-1353490-revert-1323251-ipv6_prov_loss_quirk_parcelable-DVBHZDYMHA-MDHWFKJABZ"
* changes:
  Add jarjar rule for IPv6ProvisioningLossQuirk.
  Revert "Revert "Test IPv6ProvisioningLossParcelable in the NetworkAttributes"""
2020-10-29 05:39:16 +00:00
Chiachang Wang
b75c584971 Merge changes I6a51d803,I162fae5c
* changes:
  Replace hidden NMS API for setting MTU
  Replace hidden NMS default network configuration API
2020-10-29 05:03:43 +00:00
Chiachang Wang
689399aa75 Merge "Replace hidden NMS interface to network API" 2020-10-29 05:02:21 +00:00
Chiachang Wang
9695da3ba0 Replace hidden NMS permission control API
Replace the hidden setNetworkPermission NMS APIs with accessing
INetd directly for the incoming ConnectivityService mainline.

Bug: 170598012
Test: atest FrameworksNetTests CtsNetTestCasesLatestSdk
Change-Id: I37ed1003355677b98cbb741f774ba0fa4d193572
2020-10-28 14:38:18 +08:00
Chiachang Wang
fd47831a5c Replace hidden NMS API for setting MTU
Replace the hidden NMS setMtu API with calling INetd directly
for incoming ConnectivityService mainline.

Bug: 170598012
Test: atest FrameworksNetTests
Test: manually connect and disconnect network
Change-Id: I6a51d8033b3354824d4cfb953c2bbe3055d00102
2020-10-28 14:38:18 +08:00
Chiachang Wang
a93ddb250b Replace hidden NMS interface to network API
Replace the hidden NMS addInterfaceToNetwork and
removeInterfaceFromNetwork with calling INetd directly for
incoming ConnectivityService mainline.

Bug: 170598012
Test: atest FrameworksNetTests
Test: manually connect and disconnect network
Change-Id: I0f1f866be2f8084b992b340aeabfb5d62420686b
2020-10-28 14:38:18 +08:00
Chiachang Wang
c1fe7a0a37 Replace hidden NMS default network configuration API
Replace the hidden setDefaultNetId and clearDefaultNetId NMS
APIs with accessing INetd directly for the incoming
ConnectivityService mainline.

Bug: 170598012
Test: atest FrameworksNetTests
Test: manually connect and disconnect wifi
Change-Id: I162fae5ca444207a037e5ac4bf8fa0a77a648ca1
2020-10-28 14:38:18 +08:00
James Mattis
0829a6ac61 Merge "Add OEM_PRIVATE NetworkCapability" am: 7415f6f9b5 am: 32fbc09bd0 am: 73877e08a8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1472326

Change-Id: Id8605eb5f8f4d8b977ff04359a12061c68527971
2020-10-28 00:10:47 +00:00
James Mattis
73877e08a8 Merge "Add OEM_PRIVATE NetworkCapability" am: 7415f6f9b5 am: 32fbc09bd0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1472326

Change-Id: I3eeeb071bf77c9f71ba54a680b7d43936200b12e
2020-10-27 23:57:19 +00:00
James Mattis
b3b4899980 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
Xiao Ma
1cd2532d26 Add jarjar rule for IPv6ProvisioningLossQuirk.
A new stable parcelable IPv6ProvisioningLossQuirk added in network
stack module, which is used to record the network quirk info which
causes IPv6 provisioning loss, e.g. the router lifetime in RA is 0
and the default route will be removed from LinkProperties.

Previously this change breaks CtsStrictJavaPackagesTestCases due to
a jarjar rule is missed. Also rename the package name based on the
revert change.

Also include slight stable AIDL package and variable rename.

Bug: 157534516
Test: atest CtsStrictJavaPackagesTestCases FrameworksNetTests
Change-Id: Ic2f6b75beefb574f7e2fb4c157667e7734eccd05
2020-10-27 08:04:29 +00:00
Xiao Ma
ef20ba23a4 Revert "Revert "Test IPv6ProvisioningLossParcelable in the NetworkAttributes"""
Test IPv6ProvisioningLossParcelable in the NetworkAttributes.

Bug: 157534516
Test: atest NetworkStackTests

This reverts commit_3740bfadadaaf268f92aaf35dd92e4ce432b39cb

Reason for revert:
Roll forward the previous change, as the CtsStrictJavaPackagesTestCases
breakage has been addressed by adding the jarjar rule in wifi module.

Change-Id: Ib4d70ce557cad98643c811b219f51e9b68179ee8
2020-10-27 07:49:05 +00:00
Paul Hu
d8bb35fdf5 Merge "Replace PendingIntent @hide APIs" am: 3b32517990 am: 97adf1f334 am: 1847f9be9a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1456121

Change-Id: I837c5cd9ebc46e350e3c7950323614df4cbc38f3
2020-10-26 08:26:40 +00:00
Paul Hu
1847f9be9a Merge "Replace PendingIntent @hide APIs" am: 3b32517990 am: 97adf1f334
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1456121

Change-Id: I18693b621bcae7a011719324bd8bede302d22efb
2020-10-26 07:59:15 +00:00
Paul Hu
3b32517990 Merge "Replace PendingIntent @hide APIs" 2020-10-26 07:32:56 +00:00
Treehugger Robot
9b136ebaa0 Merge "Add a mutability flag to the PendingIntent" am: 315a097740 am: 0cfb318d10 am: fd2447df82
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1456120

Change-Id: I7018d8afbd43690810d6b00683c6e7d26091e8ae
2020-10-23 11:11:41 +00:00
Treehugger Robot
fd2447df82 Merge "Add a mutability flag to the PendingIntent" am: 315a097740 am: 0cfb318d10
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1456120

Change-Id: Id09c2c39f6ba7ecd68d1b5c792b300ae33c30278
2020-10-23 10:27:28 +00:00
Treehugger Robot
315a097740 Merge "Add a mutability flag to the PendingIntent" 2020-10-23 09:49:27 +00:00
Lucas Lin
c93771dde5 Merge "Using Context#getSystemService instead of ServiceManager#checkService" am: d769b3863e am: bb6fc081c2 am: 884546597e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1463902

Change-Id: I5c37ff8092125e979b83cfb8207f45507ed6c604
2020-10-23 04:46:05 +00:00
Lucas Lin
884546597e Merge "Using Context#getSystemService instead of ServiceManager#checkService" am: d769b3863e am: bb6fc081c2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1463902

Change-Id: I453b183add07e6b3e3d24138d62ceb2c800710cc
2020-10-23 04:30:27 +00:00
lucaslin
f0d393d530 Using Context#getSystemService instead of ServiceManager#checkService
ConnectivityService is going to be a mainline module, it can only
use formal APIs or @SystemApi. So use public API -
Context#getSystemService() instead of hidden API -
ServiceManager#checkService().

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I9824caa7aec57e70f0ba405fcce39f9bc068732d
2020-10-23 03:07:07 +00:00
Treehugger Robot
f44fb38d88 Merge "Address comments on aosp/1448415" am: bc7602e296 am: bafa575166 am: 1f4d324fc7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1465505

Change-Id: I20be1778be2f00d8cbd310743f0a93b350fd8313
2020-10-21 08:14:05 +00:00
Chiachang Wang
84ea88acb2 Merge "Do not use hidden SystemProperties.set" am: 93961f7b21 am: d7146b6742 am: b2d82398a6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460971

Change-Id: Iac749359f15229a89782e16309352ef8f0624da1
2020-10-21 08:13:21 +00:00
Treehugger Robot
1f4d324fc7 Merge "Address comments on aosp/1448415" am: bc7602e296 am: bafa575166
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1465505

Change-Id: I86a2f48ee199c83c429d99d5025ece56f42251cd
2020-10-21 08:03:39 +00:00
Chiachang Wang
b2d82398a6 Merge "Do not use hidden SystemProperties.set" am: 93961f7b21 am: d7146b6742
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460971

Change-Id: I3ff0ce12f3b12e0eb78f330a75675fb79ecf561d
2020-10-21 07:55:31 +00:00
Treehugger Robot
bc7602e296 Merge "Address comments on aosp/1448415" 2020-10-21 07:05:49 +00:00
Chiachang Wang
93961f7b21 Merge "Do not use hidden SystemProperties.set" 2020-10-21 07:00:56 +00:00
Chalard Jean
c8b4e0124d Address comments on aosp/1448415
Adds the necessary jarjar rules to FrameworksTestNet and
removes the test for CompareResult which has moved to its
right place.

Test: FrameworksTestNet
Change-Id: I50e51e72268e432a65a831aa5eebd606584ac721
2020-10-21 13:54:02 +09:00
Anton Hansson
14ea2ab355 Merge "Remove @TestApi from @SystemApi symbols" am: 49ca9d3ca9 am: cbe282347e am: 9cd59a3529
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1466264

Change-Id: I859503688ea3254d5bd1b55e80cf1962286e948f
2020-10-20 20:31:58 +00:00
Chiachang Wang
67fcddf4f5 Merge "Remove unused MockableSystemProperties from DnsManager constructor" am: 3e23d7271b am: 250a9d3d20 am: 672ee3eef5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1466231

Change-Id: I88c08a92dafdcb4d40374068d6f9466f5b57c819
2020-10-20 20:31:23 +00:00
Aaron Huang
5e5c1a72bb Merge "Create service-connectivity.jar" am: 4a19a57729 am: b91257f553 am: acc01f1346
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1351252

Change-Id: I9a04f911043e34c3de1bcac3647773c5adfde294
2020-10-20 20:27:13 +00:00