Commit Graph

716 Commits

Author SHA1 Message Date
Jeff DeCew
8548f343e2 Remove Notification.DevFlags
Fixes: 176239013
Test: manual
Change-Id: I1aeed1c79e4a829d8829eb08224f9b21fafc50fe
2021-03-23 13:28:55 +00:00
Remi NGUYEN VAN
6211f92cc6 Use connectivity resources in service-connectivity
Migrate resource usage to the connectivity resource package.
For framework resources that have known overlays, keep a fallback until
the overlays can be migrated.

Bug: 182125649
Test: atest FrameworksNetTests
Change-Id: I778d94a5aac0c4e20e78b1ba3a002495c17a38a0
2021-03-21 01:39:51 +09:00
TreeHugger Robot
2af4244cf4 Merge "Use module resources in NetworkNotificationManager." into sc-dev 2021-03-19 16:54:49 +00:00
Lorenzo Colitti
a405de0796 Use module resources in NetworkNotificationManager.
Also make getTransportName non-static so it can access the module
resources.

Also fix a duplicate comment in a resource file.

Bug: 183097033
Test: atest FrameworksNetTests
Test: connected to Wi-Fi with no Internet, observed notification
Change-Id: Ic0d24d36af0b87153d527083f8964ddc6cd78482
2021-03-20 00:21:21 +09:00
Chalard Jean
7c614b2e10 Merge "[NS03] Mix in other CS-managed properties" am: e07e3856da am: 33bed02738 am: 69c741ec42
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1556101

Change-Id: I20c4d8392dba72b142cd9cdf15bed94d52848b81
2021-03-19 11:32:34 +00:00
Chalard Jean
395bde4d5f [NS03] Mix in other CS-managed properties
These properties are necessary to figure out the maximum
score of a network.

Test: FrameworksNetTests
Change-Id: I48dce20ad4a80597039393dca607e8da829b2a61
2021-03-19 13:50:56 +09:00
Chiachang Wang
265f23d65d Replace the usage of UidRange
UidRange is used in a shared way between ConnectivityService
and VPN through the use of NetworkCapabilities. UidRange will
be part of the ConnectivityService mainline but Vpn.java will
stay in the framework. We need a way to replace the APIs using
UidRange, or to make UidRange system API. The only really
relevant surface here is NetworkCapabilities#{setUids, getUids}.
The need for UidRange could be replaced by an integer Range, so
replace the usage of UidRange by a integer Range in
NetworkCapabilities#{setUids, getUids} and update the relevant
callers.

Bug: 172183305
Test: atest FrameworksNetTests CtsNetTestCasesLatestSdk
Change-Id: I4e5aec6ef1ea02e038fcd7ed117a3b67b69c5cb9
2021-03-19 08:33:07 +08:00
Anthony Stange
299be95eee Merge changes from topic "revert-1626206-replaceUidRange-MSYTKFNGUE" am: 0442fab063 am: 07e22a0fd6 am: ed172af621
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1645768

Change-Id: Ia5cedb12112b04885c3f9270b9171c6494b8d2af
2021-03-18 18:29:41 +00:00
Chiachang Wang
e5e47313f3 Merge changes from topic "replaceUidRange" am: 1b6c0b7a30 am: 6319e35a0a am: 4195f030e7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1626206

Change-Id: Ibc5e47f175a0e5433492f81068da9f42496e660b
2021-03-18 18:26:42 +00:00
Anthony Stange
0442fab063 Merge changes from topic "revert-1626206-replaceUidRange-MSYTKFNGUE"
* changes:
  Revert "Replace the usage of UidRange"
  Revert "Expose uids related APIs in NetworkRequest and NetworkCa..."
2021-03-18 16:40:53 +00:00
Anthony Stange
5b7aad6995 Revert "Replace the usage of UidRange"
Revert "Add shims for NetworkRequest"

Revert submission 1626206-replaceUidRange

Reason for revert: Breaking build - b/183106405
Reverted Changes:
I0b79c73e8:Add shims for NetworkRequest
I4bc0daf5a:Replace the usage of UidRange
I4e5aec6ef:Replace the usage of UidRange
I107c329d4:Expose uids related APIs in NetworkRequest and Net...

Change-Id: I6290429db1c8e787f8138b55b98fd92a74ac6402
2021-03-18 16:30:59 +00:00
Paul Hu
24ad4ae21c resolve merge conflicts of c85aeee86e to sc-dev
Bug: 182538166
Test: atest FrameworksNetTests
Change-Id: Idd5d75e0e9a7ad4f840b88da55d28fbaa2275dd0
2021-03-18 14:50:05 +00:00
Chiachang Wang
1b6c0b7a30 Merge changes from topic "replaceUidRange"
* changes:
  Expose uids related APIs in NetworkRequest and NetworkCapabilities
  Replace the usage of UidRange
2021-03-18 13:36:39 +00:00
Paul Hu
f3d84f44de Merge "Add more connectivity module settings" 2021-03-18 12:22:55 +00:00
paulhu
7dbaa16b2c Add more connectivity module settings
Add more connectivity module settings and update all references
to ConnectivitySettingsManager.

Bug: 182538166
Test: atest FrameworksNetTests
Change-Id: Ie96fbd0996ed3acb37099b6270bf3d4c2e558e9a
2021-03-18 11:58:29 +08:00
Chalard Jean
320315ac8c Merge "[NS01] Add NetworkScore" am: 1a645067e5 am: 8cde8bbe9a am: 2d07595731
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1556099

Change-Id: I953a773f8914152578a98d71b43d0a2e30a51aba
2021-03-17 16:04:22 +00:00
Chiachang Wang
e983de910b Replace the usage of UidRange
UidRange is used in a shared way between ConnectivityService
and VPN through the use of NetworkCapabilities. UidRange will
be part of the ConnectivityService mainline but Vpn.java will
stay in the framework. We need a way to replace the APIs using
UidRange, or to make UidRange system API. The only really
relevant surface here is NetworkCapabilities#{setUids, getUids}.
The need for UidRange could be replaced by an integer Range, so
replace the usage of UidRange by a integer Range in
NetworkCapabilities#{setUids, getUids} and update the relevant
callers.

Bug: 172183305
Test: atest FrameworksNetTests CtsNetTestCasesLatestSdk
Change-Id: I4e5aec6ef1ea02e038fcd7ed117a3b67b69c5cb9
2021-03-17 23:02:22 +08:00
lucaslin
7384af3e6b Change the parameter type from ContentResolver to Context
Context is more useful than ContentResolver, it can provide more
information if we want to change the behavior in the future.

Bug: 172183305
Test: atest FrameworksNetTests
Change-Id: I5702c7d74b862a76558b94f1abe2c6df9eb7f097
Merged-In: I5702c7d74b862a76558b94f1abe2c6df9eb7f097
2021-03-16 09:26:57 +00:00
lucaslin
2b9d0b200a Change the parameter type from ContentResolver to Context
Context is more useful than ContentResolver, it can provide more
information if we want to change the behavior in the future.

Bug: 172183305
Test: atest FrameworksNetTests
Change-Id: I5702c7d74b862a76558b94f1abe2c6df9eb7f097
2021-03-16 17:25:28 +08:00
Chalard Jean
5c4bb91134 [NS01] Add NetworkScore
As attested by numerous TODOs in the code, a new way of
representing network quality and policy is needed instead
of an int.

An int representing the quality of the network requires
all parties using it to know how all other parties are
using it, and implementation details about the decision
algorithm. For all intents and purposes, the selection
is left to individual network factories who try to
achieve a desired result while piecing together all
possible states of the system.

As the number of such cases and desires increases, this
becomes both intractable and unmaintainable. Indeed, at
this time in the codebase nobody can really predict exactly
how a given change in score will affect selection across
the board, and it is essentially impossible to figure out
the behavior of network selection by inspecting the code
because the moving parts are scattered throughout the
entire codebase.

Having an object encapsulating policy and quality values
will let us centralize the selection and make it again
possible to maintain without knowledge of all behaviors
of all network factories. It will also provide better
guarantees of respecting policy, and allow bugfixes that
were not possible before because they'd touch too many
parts of the code.

Test: FrameworksNetTests FrameworksWifiTests NetworkStackTests
Change-Id: I3185a6412b9b659798faf0c6882699e9c63cc115
2021-03-15 09:49:47 +00:00
Paul Hu
7d25ff839f Merge "Stop using PackageManagerInternal in PermissionMonitor" am: 4f0e7df6e3 am: 3bd9d6993b am: c065b05794
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1620879

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icc75ae78a6a09fac22cd2ae9ddc04138c4ba02d3
2021-03-12 07:11:35 +00:00
Paul Hu
4f0e7df6e3 Merge "Stop using PackageManagerInternal in PermissionMonitor" 2021-03-12 05:23:05 +00:00
Remi NGUYEN VAN
c5479a0886 Add Ethernet, TestNetworkSpecifier API
Rename StringNetworkSpecifier to EthernetNetworkSpecifier (its only
production user), and make it module-lib API.
The original StringNetworkSpecifier file is actually kept to satisfy
some invalid dependencies; it will be removed separately.

This allows specifying an Ethernet interface with a non-deprecated API:
until this change the only way to do so would be to use
NetworkRequest#setSpecifier(String), which is deprecated.

Similarly, add the TestNetworkSpecifier API for TestNetworkManager, to
replace previous usage of StringNetworkSpecifier. TestNetworkManager is
module API, so TestNetworkSpecifier should be module API too. This
allows tests to request the test interface specifically, without using
the deprecated NetworkRequest#setSpecifier(String).

Bug: 179329291
Test: m
Merged-In: Iee569f5c8bbdc4bc979610e1191308281f3d4620

Change-Id: Iee569f5c8bbdc4bc979610e1191308281f3d4620
2021-03-11 23:02:02 +08:00
Lorenzo Colitti
f8d3be378f Merge "Don't start clatd if disabled by vendor property." am: a517079da0 am: c147019ab2 am: 67b99e7bee
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1625702

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6989361f1dae72cb94d6e6cf6144ae61cb80c328
2021-03-11 13:02:29 +00:00
paulhu
2479cf7b72 Stop using PackageManagerInternal in PermissionMonitor
- Replace the PackageManagerInternal#getPackageList() with
receiving PACKAGE_{ADDED|REMOVED} intent.
- Also remove the onPackageChanged method because the traffaic
permissions(INTERNET, UPDATE_DEVICE_STATS) are not changed after
package changed(Disable or enable package).

Bug: 176788468
Test: atest FrameworksNetTests
Change-Id: I5505d1c77db66a7e65fc336ea0e99846e78c6b36
2021-03-11 07:16:11 +00:00
Lorenzo Colitti
305b301f2b Don't start clatd if disabled by vendor property.
Fix: 182333299
Test: new unit tests
Change-Id: Ic15dc4fff6a13aa916e3d2dc6203829e96ddeda4
2021-03-11 00:59:14 +09:00
Remi NGUYEN VAN
6d98157012 Add Ethernet, TestNetworkSpecifier API
Rename StringNetworkSpecifier to EthernetNetworkSpecifier (its only
production user), and make it module-lib API.
The original StringNetworkSpecifier file is actually kept to satisfy
some invalid dependencies; it will be removed separately.

This allows specifying an Ethernet interface with a non-deprecated API:
until this change the only way to do so would be to use
NetworkRequest#setSpecifier(String), which is deprecated.

Similarly, add the TestNetworkSpecifier API for TestNetworkManager, to
replace previous usage of StringNetworkSpecifier. TestNetworkManager is
module API, so TestNetworkSpecifier should be module API too. This
allows tests to request the test interface specifically, without using
the deprecated NetworkRequest#setSpecifier(String).

Bug: 179329291
Test: m
Change-Id: Iee569f5c8bbdc4bc979610e1191308281f3d4620
2021-03-09 07:46:48 +00:00
Janis Danisevskis
8cd7953577 Keystore 2.0: Make VPN Keystore 2.0 ready.
* Use public stable API to load certificates from keystore.
* Also use grants to allow racoon to use keystore keys without
  special exceptions in keystore.
* Use LegacyProfileStore instead of Keystore for storing VPN profiles.

Bug: 175068876
Bug: 171305607
Test: atest android.net.cts.Ikev2VpnTest
      atest android.net.cts.IpSecManagerTest
      atest com.android.server.connectivity.VpnTest
      atest com.android.server.ConnectivityServiceTest
Merged-In: I27975113896ea137260a9f94a34fb1c3ca173fe3
Change-Id: I27975113896ea137260a9f94a34fb1c3ca173fe3
2021-03-03 22:14:41 -08:00
Janis Danisevskis
f778d605b5 Merge "Keystore 2.0: Make VPN Keystore 2.0 ready." into sc-dev 2021-03-03 22:28:41 +00:00
Janis Danisevskis
4ba2f0c690 Keystore 2.0: Make VPN Keystore 2.0 ready.
* Use public stable API to load certificates from keystore.
* Also use grants to allow racoon to use keystore keys without
  special exceptions in keystore.
* Use LegacyProfileStore instead of Keystore for storing VPN profiles.

Bug: 175068876
Bug: 171305607
Test: atest android.net.cts.Ikev2VpnTest
      atest android.net.cts.IpSecManagerTest
      atest com.android.server.connectivity.VpnTest
      atest com.android.server.ConnectivityServiceTest
Change-Id: I27975113896ea137260a9f94a34fb1c3ca173fe3
2021-03-02 22:56:44 -08:00
Paul Hu
3cf5e45e7e Merge "Use IDnsResolverUnsolicitedEventListener" am: a476ef4d57 am: 77a35d12ac am: bf42908403
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1542744

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifb6141adf3eeb096ac610e01a458d47492e68ea0
2021-03-03 02:22:31 +00:00
Paul Hu
a476ef4d57 Merge "Use IDnsResolverUnsolicitedEventListener" 2021-03-03 01:08:27 +00:00
Lucas Lin
9cf690d187 Merge changes I35ed84fc,Ie6cfd77b,I4e4f929f,I751526e8 am: 51510ea705 am: 0fef75ee53 am: e5d40c1933
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1607733

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I54ef9fd59388908f38721671dd26f536fab719bb
2021-03-02 19:54:22 +00:00
paulhu
35ed7c5a90 Use IDnsResolverUnsolicitedEventListener
Only part of events will report from DnsResolver through
INetdEventListener. So use IDnsResolverUnsolicitedEventListener
to get exactly supporting events from DnsResolver and it uses
Parcelable object to deliver data which can be more updateable
and extendable in the future.

Bug: 173485754
Test: atest FrameworksNetTests
      atest CtsNetTestCases
Change-Id: I8d2e700ae8861ed8ceccd287f3ca5bc2f1ed6dee
2021-03-02 11:37:47 +08:00
lucaslin
1f110f6760 Remove unused INetworkManagementService
Bug: 174837473
Test: atest FrameworksNetTests
Change-Id: I4e4f929f518ae07bf5b4bd1e16d2a85f62ab9d9c
2021-02-25 15:08:18 +08:00
lucaslin
b5b65cf458 Remove BaseNetworkObserver from Nat464Xlat
Let ConnectivityService talk to Nat464Xlat through NetworkAgnetInfo
directly:
- Nat464Xlat will be created once there is a new network bringing up,
but Netd doesn't expose the method for unregistering unsolicited event.
- ConnectivityService has already registered netd unsolicited event
listener, so Nat464Xlat doesn't need to register unsolicited event
listenser by itself, it can get the unsolicited event from
ConnectivityService directly.

Bug: 174837473
Test: atest FrameworksNetTests
Change-Id: I751526e8ffa7d25591696ecd8d93b1585c4c20c7
2021-02-25 15:08:05 +08:00
Chiachang Wang
89d6183cdf Merge "Remove UidRange.createForUser() with userId integers" am: 9c92c37f56 am: 5809c1f054 am: 58becf95ef
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1596511

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1a3c072f7b82e51b5fb71f8c591680cfc1d0041b
2021-02-24 02:14:37 +00:00
Lucas Lin
5c05ff4fce Merge changes I852e3a53,I86755647,I0ed8b0c6 am: 654b0fff63 am: d319fef084 am: 07d4708ab7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553736

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I032e3d8f16b164f067dba02bde950b93f4e54b83
2021-02-23 22:56:46 +00:00
Paul Hu
83b9264bad Merge "Stop using SysetmConfig#getSystemPermissions on PermissionMonitor" am: 19af44e2ce am: bdc150f744 am: f4d45a9d21
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1545848

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7902f041b29dbf4cf2a05bf4885f0e4fa2af0528
2021-02-23 22:55:02 +00:00
Chiachang Wang
9c92c37f56 Merge "Remove UidRange.createForUser() with userId integers" 2021-02-23 07:17:07 +00:00
Chiachang Wang
66ded137bf Remove UidRange.createForUser() with userId integers
UidRange will be a part of connectivity mainline module.
Mainline modules should use strongly-typed UserHandle arguments.
The method also refer to the hidden UserHandle.PER_USER_RANGE
which is not available after UidRange is moved into module.
Thus, replace the usage and remove the createForUser method that
takes userId parameter.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I3f33ea92c4a24342af9ec4b0367c50bb64ce6450
2021-02-22 18:51:14 +08:00
Lucas Lin
654b0fff63 Merge changes I852e3a53,I86755647,I0ed8b0c6
* changes:
  Remove unused INetworkManagementService from IpSecService
  Use NetdUtils instead of NetworkManagementService in Vpn
  Use NetdUtils instead of NetworkManagementService in IpSecService
2021-02-22 06:49:39 +00:00
paulhu
0ab41fc1f3 Stop using SysetmConfig#getSystemPermissions on PermissionMonitor
Repalace the API with SysetmConfigManager#getSystemPermissionUids
and update the design/test accordingly.

Bug: 177188455
Test: atest FrameworksNetTests
Test: atest FrameworksNetIntegrationTests
Test: atest CtsNetTestCases
Change-Id: I8b553b934252b93c60b815715680427a41620054
2021-02-20 16:20:19 +08:00
Lorenzo Colitti
065fd6c9cf Merge "Fix all Log.wtfs in FrameworksNetTests." am: 6c77e14663 am: d5333b7255 am: 45553222e1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1591458

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I715658a8f15dada6fd0f248d897d2bc294bacf1a
2021-02-19 09:39:11 +00:00
Lorenzo Colitti
fd490bff45 Fix all Log.wtfs in FrameworksNetTests.
These cause the tests to crash on eng builds, so disrupt
development.

Test: atest FrameworksNetTests passes on eng build
Change-Id: Ifa5131fdb8f57af812cf688970be6588d2879c29
2021-02-18 21:13:04 +09:00
Lorenzo Colitti
baf53532ce Fix merge conflict.
ag/13210542 was submitted directly into internal and is causing
a merge conflict in NetworkNotificationManagerTest.

Fix the conflict by adding the unused imports.

Test: m
Bug: 175409684
Change-Id: I6eec459a5e5b9900ddeb9e17d90f07432eee1394
2021-02-17 20:22:35 +09:00
Lorenzo Colitti
c5d780797e Merge "Use UserHandles instead of userId integers." am: 2531219560 am: a2831e1346 am: 7eac1eedbc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1589632

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8b6bdedc099cb421b52dd35b4ccfdfaf0d9c9633
2021-02-17 02:53:29 +00:00
Lorenzo Colitti
438ac4a7f2 Use UserHandles instead of userId integers.
userId integers are not public API and code should use UserHandle
instead.

Bug: 170598012
Test: passes existing tests
Change-Id: Ic27b93ccfe6bbc97e7419293ce165fee6cd51e6d
2021-02-16 08:06:23 +00:00
Hai Shalom
4fe9621362 Merge "Support for Terms & Conditions notification" am: c1e52b8003 am: 9a7b2907a9 am: 4e0c1992db
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1557451

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0a47d12f41b9247910078ec8d6cd6e1f1589956e
2021-02-10 16:55:42 +00:00
Hai Shalom
c1e52b8003 Merge "Support for Terms & Conditions notification" 2021-02-10 15:36:58 +00:00