Commit Graph

10973 Commits

Author SHA1 Message Date
Chiachang Wang
e7ef9769d1 Merge "Replace the way to add legacy routing" am: e94bf1bc3c am: 1b1c460be6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1490244

Change-Id: I363c642663877d7ac521f8e9d5729040deca7f9a
2020-11-11 05:57:28 +00:00
Chiachang Wang
1b1c460be6 Merge "Replace the way to add legacy routing" am: e94bf1bc3c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1490244

Change-Id: I6a278e3ae1ac4f5eaba92d28edf4a53d5381832e
2020-11-11 05:23:20 +00:00
Chiachang Wang
e94bf1bc3c Merge "Replace the way to add legacy routing" 2020-11-11 05:06:58 +00:00
James Mattis
25dfe8eb37 Merge "Updating network preference comments" am: 5aff64e718 am: c22a6a5cd0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1490233

Change-Id: I6e73148769cc20edc1fa26ebd211472d46877ed0
2020-11-10 19:13:56 +00:00
James Mattis
c22a6a5cd0 Merge "Updating network preference comments" am: 5aff64e718
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1490233

Change-Id: I99561b2d7673c5f5f45ac793c453b4f10bd663e1
2020-11-10 18:35:28 +00:00
James Mattis
5aff64e718 Merge "Updating network preference comments" 2020-11-10 17:30:36 +00:00
Chiachang Wang
fd3fa0a549 Replace the way to add legacy routing
ConnectivityService is going to become a mainline module which
is not able to access hidden API. Thus, replace the usage from
NMS to INetd.

Bug: 170598012
Test: atest FrameworksNetTests ConnectivityManagerLegacyTest
Change-Id: Ice1bd1effab26555917bc1766354aeaebd41ad66
2020-11-10 14:53:55 +08:00
Lucas Lin
b2b8dc920d Merge changes I67e5fa23,I223b207c am: 3ae04504d6 am: 3d4fd4e946
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1483969

Change-Id: Idc58f24797aa1e3d24058a024b1ea31199f46353
2020-11-10 06:09:03 +00:00
Lucas Lin
3d4fd4e946 Merge changes I67e5fa23,I223b207c am: 3ae04504d6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1483969

Change-Id: I74209eccb2fd5473d65968f765f3eb54ee99954e
2020-11-10 05:47:18 +00:00
Lucas Lin
3ae04504d6 Merge changes I67e5fa23,I223b207c
* changes:
  Use hasIpv[4|6]DefaultRoute instead of hasIPv[4|6]DefaultRoute
  Use local defined constants for notification channels
2020-11-10 05:28:33 +00:00
James Mattis
dce028e5b5 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
a6e533d62a Merge "Add maxTargetSdk restriction to unused APIs." am: d04f969c9d am: 96d3ff7659
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1468245

Change-Id: I60222cb1879651cf283e385519b5c4d156ab68a1
2020-11-09 15:24:20 +00:00
Mathew Inwood
96d3ff7659 Merge "Add maxTargetSdk restriction to unused APIs." am: d04f969c9d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1468245

Change-Id: I35f65987f7f9287cf03418e9feb27c81f4fd1878
2020-11-09 15:09:11 +00:00
Mathew Inwood
d04f969c9d Merge "Add maxTargetSdk restriction to unused APIs." 2020-11-09 14:41:20 +00:00
James Mattis
decb412854 Merge "Adding API stubs for application network routing" am: 20a9e59e25 am: d8cf074a43
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1478963

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

Change-Id: I293192102c800a9dd8f09c32f890728e802cc965
2020-11-06 17:32:56 +00:00
James Mattis
dcea9fb2d4 Adding API stubs for application network routing
Bug: 171795464
Test: atest FrameworksNetTests
Change-Id: Ib055aa37a7bf0c48c335307afc2258aa869c4267
2020-11-06 00:08:13 -08:00
James Mattis
bd74d7c875 Merge "Adding multilayered requests to NetworkRequestInfo" am: f2c37de2ba am: a5bd693f29
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1486199

Change-Id: I3d013dc1a3caf9c41fbc835f2eb92df4e40bed33
2020-11-06 05:47:26 +00:00
James Mattis
a5bd693f29 Merge "Adding multilayered requests to NetworkRequestInfo" am: f2c37de2ba
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1486199

Change-Id: I57d85884e4bf6039cf645ed58e2c7b0c8fd404a2
2020-11-06 05:19:47 +00:00
James Mattis
7835f74bac Adding multilayered requests to NetworkRequestInfo
Updating NetworkRequestInfo for "multilayered requests" functionality so that
requests can support a network hierarchy. I.e., requests network
with capability A first and if not available, request network with
capability B. This CL is the first step in adding that support by
updating the request object from a single request to a collection.

Bug: 171991028
Test: atest FrameworksNetTests
atest NetworkStackTests
atest FrameworksNetIntegrationTests
atest NetworkStackIntegrationTests
atest CtsNetTestCasesLatestSdk

Change-Id: I64a124802986e4cf4aa7de158c6690fdf9851cb2
2020-11-05 13:55:50 -08:00
Paul Hu
fe50f2ab24 Merge "Replace Context @hide APIs" am: f021a81854 am: 8fabfb25c3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1458063

Change-Id: Iea56458847be39665e7660f048eec88147be27c3
2020-11-05 09:14:59 +00:00
Paul Hu
35e3902531 Merge "Replace AppOpsManager @hide APIs" am: 12e9b2ecb5 am: 0631c7bc98
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1469126

Change-Id: I9548c666d528e025b71f5d3b12b0c5ff2265eb23
2020-11-05 09:14:46 +00:00
Paul Hu
8fabfb25c3 Merge "Replace Context @hide APIs" am: f021a81854
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1458063

Change-Id: I914ee12abdcba7c53fb868425592d6458a797e23
2020-11-05 08:53:01 +00:00
Paul Hu
0631c7bc98 Merge "Replace AppOpsManager @hide APIs" am: 12e9b2ecb5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1469126

Change-Id: I6222db7e8f966d7df17de9c46b5e26e715ecccf2
2020-11-05 08:45:52 +00:00
Paul Hu
f021a81854 Merge "Replace Context @hide APIs" 2020-11-05 08:05:09 +00:00
Paul Hu
12e9b2ecb5 Merge "Replace AppOpsManager @hide APIs" 2020-11-05 08:03:55 +00:00
James Mattis
57675a19e0 Merge "Adding @IgnoreUpTo for testOemPrivate" am: df86206d82 am: b15efe2545
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1487452

Change-Id: Ic5b96ccbba713327c70a62ba584129ab20f35db6
2020-11-05 05:49:10 +00:00
James Mattis
b15efe2545 Merge "Adding @IgnoreUpTo for testOemPrivate" am: df86206d82
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1487452

Change-Id: I92bd7437dede4ae4a4bb27dfbf68a5ae74553811
2020-11-05 05:24:33 +00:00
James Mattis
082528f4b6 Adding @IgnoreUpTo for testOemPrivate
Adding @IgnoreUpTo for NetworkCapabilitiesTest.testOemPrivate so that
this test can run on previous releases.

Bug: 172400600
Bug: 171505922
Test: atest CtsNetTestCasesLatestSdk:NetworkCapabilitiesTest
Change-Id: Ibc728c986ad6faeed78c631ca2675956b95c6ac1
2020-11-04 16:52:11 -08:00
Eran Messeri
262771be94 DO NOT MERGE: Introduce DPMS shim for active DO/PO check am: 5c91bdecce am: 84ca530ba7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1486196

Change-Id: I467120ce7e419a75749efac109609bb30cc35eff
2020-11-04 12:46:45 +00:00
Eran Messeri
84ca530ba7 DO NOT MERGE: Introduce DPMS shim for active DO/PO check am: 5c91bdecce
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1486196

Change-Id: I79e090d92c5bf17993f8e4f710581675eb72f2a9
2020-11-04 12:24:40 +00:00
Eran Messeri
5c91bdecce DO NOT MERGE: Introduce DPMS shim for active DO/PO check
Introduce a shim into DevicePolicyManagerInternal &
DevicePolicyManagerService so that NetworkStatsAccessTest would not
diverge from internal development branches.

The DevicePolicyManagerService refactoring on the internal branch
removed isActiveAdminWithPolicy in favour of isActiveDeviceOwner and
isActiveProfileOwner.

These methods are being made available in AOSP for
NetworkStatsAccessTest.

Bug: 170459325
Test: atest NetworkStatsAccessTest
Change-Id: Ic7e0898989fb8222aaba2b35436765c04eb3250c
2020-11-04 10:07:06 +00:00
Mathew Inwood
5a09a71012 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
lucaslin
62bc2b0f24 Use hasIpv[4|6]DefaultRoute instead of hasIPv[4|6]DefaultRoute
ConnectivityService is going to be a mainline module, it can only
use formal APIs or @SystemApi. So use @SystemApi
hasIpv4DefaultRoute and hasIpv6DefaultRoute instead of
hasIPv4DefaultRoute and hasIPv6DefaultRoute.

Bug: 172183305
Test: atest FrameworksNetTests
Change-Id: I67e5fa234fbb6d0b9739ae3295eb0b0ea108f582
2020-11-04 01:29:53 +00:00
paulhu
fa229ae8a5 Replace Context @hide APIs
Connectivity service module is using some Context @hide APIs but
they are not able to call after CS becomes a mainline module.
Thus, replace them with similar System APIs.

Bug: 170593746
Test: atest FrameworksNetTests
Test: Manully check that receiving intent and starting activity
      can work normally.
Change-Id: I0f5b53ce0da4e3fc0f927896e9a9e444048401bd
2020-11-04 00:02:42 +08:00
paulhu
1c15b17d78 Replace AppOpsManager @hide APIs
Connectivity service module is using some AppOpsManager @hide
APIs but they are not able to call after CS become a
mainline module. Thus, replace them with similar System APIs.

Bug: 170593746
Test: atest FrameworksNetTests
Change-Id: I51f66b64fcc3ebdbc2fddff8371eb8d9ff134137
2020-11-03 22:27:16 +08:00
lucaslin
3bd1f6f004 Use local defined constants for notification channels
ConnectivityService mainline module cannot call the members
inside SystemNotificationChannels.java. So use the local defined
constants instead.

Bug: 172040168
Test: atest FrameworksNetTests
Test: Manual test NO_INTERNET, SIGN_IN, PARTIAL_CONNECTIVITY,
      VPN_ALWAYS_ON notifications.
Change-Id: I223b207c4346e8239dee78e50dd2b0532a3e55b0
2020-11-02 11:53:16 +08:00
Treehugger Robot
0776d454a2 Merge "NetworkNotificationManager gets NotificationManager locally" am: a13966feea am: d0034c56c1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1459882

Change-Id: I3663ea2b95ec7815e84fa0729c39591280a90847
2020-10-30 11:15:15 +00:00
Treehugger Robot
d0034c56c1 Merge "NetworkNotificationManager gets NotificationManager locally" am: a13966feea
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1459882

Change-Id: I1a3b685f04d7b4d7d5a028015e94742c83db2dc8
2020-10-30 10:37:17 +00:00
Paul Hu
91bf3e71e3 Merge "Replace NotificationManager @hide APIs" am: 39516dec37 am: 9fead7cb6e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1452435

Change-Id: I89085c9a06abd61d987659f7283f8dfdc7718c3a
2020-10-30 04:40:38 +00:00
Paul Hu
9fead7cb6e Merge "Replace NotificationManager @hide APIs" am: 39516dec37
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1452435

Change-Id: I58d1c42c112855e43df6d6af4cd6e10373cff2bb
2020-10-30 04:00:36 +00:00
paulhu
13cafd92b9 NetworkNotificationManager gets NotificationManager locally
It's confusing that NetworkNotificationManager uses
NotificationManager to put up notifcation which is passed from
ConnectivityService. And that NotificationManager should be
gotten from a context with UserHandle.ALL because the
notification should notify to all users. But the future developer
may not know this and pass incorrect NotificationManager
probably. Therefore, adjust the design that
NetworkNotificationManager will get NotificationManager locally.

Bug: 170593746
Test: atest FrameworksNetTests
Change-Id: Id65c998052b7b223171c5194ea46b49d7e84729d
2020-10-30 03:37:50 +00:00
Paul Hu
39516dec37 Merge "Replace NotificationManager @hide APIs" 2020-10-30 03:36:40 +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
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