Commit Graph

12190 Commits

Author SHA1 Message Date
Hai Shalom
b5a72aa56d Merge "Support for Terms & Conditions notification" am: 67bb51ec40 am: fed30f42e8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1557451

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I233420be11a45376bb6771389e440fcd92c94fb5
2021-02-10 16:32:46 +00:00
Hai Shalom
fed30f42e8 Merge "Support for Terms & Conditions notification" am: 67bb51ec40
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1557451

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibabb4e549706c5ab263aab9df78c9e5a0bff95de
2021-02-10 15:40:25 +00:00
Hai Shalom
67bb51ec40 Merge "Support for Terms & Conditions notification" 2021-02-10 15:36:58 +00:00
Lorenzo Colitti
22b1c63d51 Merge changes from topics "vpnmove-getconnectionowneruid", "vpnmove-systemdefaultcallback", "vpnmove-vpntransportinfo" am: 5e21b83410 am: 5eac15c044
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1572981

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If16c695f15a12615811545836b4117225097d6a4
2021-02-10 07:20:26 +00:00
Lorenzo Colitti
5eac15c044 Merge changes from topics "vpnmove-getconnectionowneruid", "vpnmove-systemdefaultcallback", "vpnmove-vpntransportinfo" am: 5e21b83410
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1572981

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I83b4210780cf87006be5f55439ade06cd7893530
2021-02-10 06:55:56 +00:00
Lorenzo Colitti
5e21b83410 Merge changes from topics "vpnmove-getconnectionowneruid", "vpnmove-systemdefaultcallback", "vpnmove-vpntransportinfo"
* changes:
  Stop using mVpns in getConnectionOwnerUid.
  Add a VpnTransportInfo object.
  Add a registerSystemDefaultNetworkCallback method.
2021-02-10 06:38:41 +00:00
Lorenzo Colitti
bd015f4861 Stop using mVpns in getConnectionOwnerUid.
Use data that is already available in ConnectivityService
instead.

The behaviour of the new implementation is slightly different
from Q and R code when the permission check fails.

- The old code would throw a SecurityException if an app that
  was not an active VPN called the method, and would return
  INVALID_UID if the connection belonged to a UID that was not
  subject to the VPN.
- The new code returns INVALID_UID in both cases.

This does not seem like a compatibility problem. The only case in
which the code throws SecurityException is if the app is not a
current VPN app, but the app already knows whether it is or not.
The docs don't mention that the method SecurityException, either.

Bug: 173331190
Test: atest FrameworksNetTests
Test: atest HostsideVpnTests
Change-Id: If3d031e74df33b5c97e12ebf02272faac6769d50
2021-02-10 02:52:16 +09:00
Lorenzo Colitti
523b5e8405 Add a VpnTransportInfo object.
This currently stores the VPN type and a session name, but can be
extended in the future.

Bug: 173331190
Test: added coverage in VpnTest
Test: added coverage in ConnectivityServiceTest
Test: added coverage in NetworkAgentTest
Change-Id: I450858a9fa332c8d896dbdb4c14337d5ec23677f
2021-02-10 02:52:16 +09:00
Lorenzo Colitti
80b48bc589 Add a registerSystemDefaultNetworkCallback method.
This method allows internal components to track the system
default network. This differs from registerDefaultNetworkCallback
because that method sends callbacks for the default network for
the UID that called it. This may not be the system default
network, for example, when a VPN is up and applies to the UID.

Bug: 173331190
Test: new unit tests in ConnectivityServiceTest
Test: new unit tests in ConnectivityManagerTest
Test: new CTS tests in ConnectivityServiceTest
Test: new CTS tests in HostsideVpnTests in other CL in this topic
Change-Id: Id02748a2183f71b71ff2a53a580466b9dcecaa93
2021-02-09 20:58:28 +09:00
Junyu Lai
ecac1d2479 Merge changes from topic "removeNI" am: c60c7b4df8 am: c62d1e3b0c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1536707

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iec45cb7f553f08e4e3ec91827964a8eec8f96a91
2021-02-09 05:00:28 +00:00
Junyu Lai
c62d1e3b0c Merge changes from topic "removeNI" am: c60c7b4df8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1536707

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia7c6e3bf8f10b98fc2c4d83d41e65c64737753f0
2021-02-09 04:26:28 +00:00
Junyu Lai
c60c7b4df8 Merge changes from topic "removeNI"
* changes:
  [FUI07] Stop making NetworkState with NetworkInfo from external callers
  [FUI06] Stop using NetworkInfo in NetworkState from external callers
2021-02-09 03:37:59 +00:00
Junyu Lai
e9fe15bfe1 Merge "[VCN07] Bypass VCN for non-internet app accessible cellular services" am: f1d8c34877 am: f3e868f4d0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1549817

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4ad38ac5450b06da70f9fd329d79014e352e1656
2021-02-08 22:23:16 +00:00
Junyu Lai
f3e868f4d0 Merge "[VCN07] Bypass VCN for non-internet app accessible cellular services" am: f1d8c34877
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1549817

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I304db5e46d8e76d7248b9dd1f42b43200635b2be
2021-02-08 22:09:54 +00:00
Junyu Lai
f1d8c34877 Merge "[VCN07] Bypass VCN for non-internet app accessible cellular services" 2021-02-08 21:40:09 +00:00
Hai Shalom
7fcd18ae0b Support for Terms & Conditions notification
- Added API to add T&C URL in the CaptivePortalData class, and to
indicate if the source is from Passpoint.
- Added source indication for the Venue URL API.
- Allow the connectivity service to send a new T&C acceptance
notification.
- Updated the merge method to prefer the Capport data over the
network agent data, if the source is not authenticated (not from
Passpoint).
- Propagate the Venue Friendly name to the captive portal activity
to be used instead of SSID, when available.

Bug: 162785447
Test: End-to-end test
Test: atest ConnectivityServiceTest
Test: atest CtsNetTestCasesLatestSdk:CaptivePortalDataTest
Test: atest NetworkNotificationManagerTest
Change-Id: I4e77c3b6c01941b03c46ad32da70c77e0fecac64
2021-02-08 12:05:20 -08:00
Roshan Pius
bd0120da19 Merge "ConnectivityService: Plumb attribution tag for location permission checks" am: 482b2dda4f am: cef5161a27
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1534625

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I656644b786bccbe03cdb93a37a0f47e12e5c330d
2021-02-08 19:45:03 +00:00
Roshan Pius
cef5161a27 Merge "ConnectivityService: Plumb attribution tag for location permission checks" am: 482b2dda4f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1534625

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5150c4827d8d2a8154afdf4f7076846fe6e38630
2021-02-08 19:26:46 +00:00
Roshan Pius
c97d806148 ConnectivityService: Plumb attribution tag for location permission checks
Not currently setting the atttribution tag for location
permission checks. Plumb the attribution tag for all location permision
checks (so that location access is correctly attributed to individual
components within an app)

Bug: 162602799
Test: atest android.net
Test: atest com.android.server
Change-Id: Iee95f05204f51a4f8cb1f36acfb60e8cdeb156f4
2021-02-08 08:13:48 -08:00
junyulai
aabc564902 [FUI07] Stop making NetworkState with NetworkInfo from external callers
Follow-up from previous patch. This change stop accessing the
constructor that needs NetworkInfo to create NetworkState, which
is no longer accessible after ConnectivityService become
mainline module. Instead, pass a legacy network type which is
dedicated for the need of the type.

Test: atest FrameworksNetTests NetworkPolicyManagerServiceTest
Bug: 174123988
Change-Id: I24157bc33e5a5819eccd6a3111d2049f531c1d43
2021-02-08 21:58:02 +08:00
junyulai
dddf2b6a02 [FUI06] Stop using NetworkInfo in NetworkState from external callers
This is achieved by:
  1. Use legacy network type inside NetworkState to replace the
     needs of referencing NetworkInfo.getType().
  2. Let getAllNetworkState only return networks with isConnected()
     equals true. This allows callers such as NPMS or NSS does not
     have to reference to NetworkInfo.isConnected().

Test: atest FrameworksNetTests NetworkPolicyManagerServiceTest
Bug: 174123988
Change-Id: I1c4eb08d18ca973eb8f41d06258872eabc0006b8
2021-02-08 21:40:49 +08:00
Lorenzo Colitti
909af3ded7 Merge changes I4256ca5f,I91528e1a,I48bd594c am: 82c60d022d am: afa74de47d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1579985

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5304f83bc029582c2f903669270b713b1678431c
2021-02-08 11:32:13 +00:00
Chiachang Wang
ee026c93fb Merge "Move shared Proxy method and constants to shared lib" am: c42519e903 am: 067b92e2a7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1574816

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0a12cbd0101d6cc637f87e524713ba5056ac6e01
2021-02-08 11:31:48 +00:00
Lorenzo Colitti
afa74de47d Merge changes I4256ca5f,I91528e1a,I48bd594c am: 82c60d022d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1579985

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic761cd9e8e492bcbde117f2b7de7f995b93ea0e7
2021-02-08 11:21:08 +00:00
Chiachang Wang
067b92e2a7 Merge "Move shared Proxy method and constants to shared lib" am: c42519e903
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1574816

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4c6ff3c4c82d12334b52871863cc7d6d5c6872c9
2021-02-08 11:00:55 +00:00
Lorenzo Colitti
82c60d022d Merge changes I4256ca5f,I91528e1a,I48bd594c
* changes:
  Change ConnectivityServiceTest to prepare for VPN code move.
  Add to VpnManager the VPN APIs used by Settings and SystemUI.
  Remove temporary hack in VpnTest.
2021-02-08 10:41:32 +00:00
Chiachang Wang
c42519e903 Merge "Move shared Proxy method and constants to shared lib" 2021-02-08 10:27:05 +00:00
Chiachang Wang
0fcb9872b4 Move shared Proxy method and constants to shared lib
The static validate() method an PROXY_* constants in Proxy are
used by both module and Settings. After Proxy is moving into
connectivity module, Setting will not able to access them.
Thus, move them to ProxyUtils in net shared lib.

Bug: 172183305
Test: atest FrameworksNetTests
Test: atest CtsNetTestCases:ProxyInfoTest
Change-Id: I02c88aeaeb53d62b87a42a2d8ead9b140b054650
2021-02-08 10:25:07 +00:00
Treehugger Robot
d405f3a995 Merge "[VCN03] Linger the newly connected network for a short time" am: c5bd380f2b am: 733561ba51
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527820

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I30d7e79a273436e49331a0cab285c03be32f5390
2021-02-08 05:57:46 +00:00
Treehugger Robot
733561ba51 Merge "[VCN03] Linger the newly connected network for a short time" am: c5bd380f2b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527820

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icabf50b92925fe3bcb5b45e40cc1c696c73e7380
2021-02-08 05:19:15 +00:00
Chiachang Wang
7bfad333ee Merge "Create new system API in UserHandle to get uid" am: 2173785652 am: 59a29b670e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1573942

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id31355ce04a22c27bb83793b5664a3f6358fd83d
2021-02-08 05:14:09 +00:00
Treehugger Robot
c5bd380f2b Merge "[VCN03] Linger the newly connected network for a short time" 2021-02-08 04:57:35 +00:00
Chiachang Wang
59a29b670e Merge "Create new system API in UserHandle to get uid" am: 2173785652
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1573942

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia8303c08be1e76ff48e60965518de4d469dc0352
2021-02-08 04:30:03 +00:00
Chiachang Wang
2173785652 Merge "Create new system API in UserHandle to get uid" 2021-02-08 03:56:39 +00:00
Lorenzo Colitti
882630424c Merge "More cleanly separate requests and listens." am: b46257ecff am: 05bf3641ea
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1565202

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iee85ef5889b9bd4ca72115499ac94c8abeb4feb2
2021-02-07 19:08:37 +00:00
Lorenzo Colitti
05bf3641ea Merge "More cleanly separate requests and listens." am: b46257ecff
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1565202

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia7ed944bb1c2b81dd3f6ff74c195a3bc5f22ea51
2021-02-07 18:29:52 +00:00
Lorenzo Colitti
b46257ecff Merge "More cleanly separate requests and listens." 2021-02-07 18:04:50 +00:00
Lorenzo Colitti
852baaab79 Change ConnectivityServiceTest to prepare for VPN code move.
No-op changes to make it easier to review the VPN code move.
1. Set underlying networks via MockVpn, not ConnectivityService.
2. Add a processBroadcastForVpn utility method that we can modify
   without too much churn when the code is moved.

Bug: 173331190
Test: test-only change
Change-Id: I4256ca5f33034ef9d1de79857795a6ed1d644e61
2021-02-07 20:40:52 +09:00
Lorenzo Colitti
ff49d2b2fa Add to VpnManager the VPN APIs used by Settings and SystemUI.
Settings and SystemUI use these through raw AIDL calls.
Make them proper manager calls so we can move the implementation
without touching the callers again.

For now these still call into ConnectivityService via
IConnectivityManager. In an upcoming CL the implementation will
move to VpnManagerService.

Test: m
Bug: 173331190
Change-Id: I91528e1ad9948fbaa1fc5e37c61c5eb95f54964e
2021-02-07 20:40:51 +09:00
Lorenzo Colitti
a6e7006967 Remove temporary hack in VpnTest.
This temporary hack was necessary due to b/175883995. Now that
that bug is fixed, remove the hack.

Bug: 171529940
Test: test-only change
Change-Id: I48bd594cf3a37575f4888c1be9a1cf535de2e4d2
2021-02-07 20:40:46 +09:00
Lorenzo Colitti
74d34ec687 More cleanly separate requests and listens.
Currently, NetworkRequest has several types of requests (LISTEN,
TRACK_DEFAULT, REQUEST, BACKGROUND_REQUEST), and we expect more
to be added.

There are really three categories of request:
1. Requests satisfied by only one network and will keep that
   network up, and thus need to be sent to NetworkProviders:
   REQUEST, BACKGROUND_REQUEST.
2. Requests satisfied by only one network but will not keep that
   network up: TRACK_DEFAULT
3. Requests satisfied by multiple networks and will not keep any
   networks up: LISTEN.

Unfortunately the separation is not very clear. Currently, for
any valid request, either isListen() will return true or
isRequest() will return true. This makes it impossible to tell
whether a particular request should be sent to NetworkProviders,
so the current code sends TRACK_DEFAULT requests to
NetworkProviders as well. This is incorrect - a TRACK_DEFAULT
should never keep a network up, for example.

This CL attempts to clarify things by making isRequest() return
false for TRACK_DEFAULT requests and thus never sending them to
NetworkProviders. After this CL:

- isRequest will return true only for requests that attempt to
  bring up or keep up a network.
- isListen will return true only for requests that match multiple
  networks but do not keep any of them up.
- Neither will return true for TRACK_DEFAULT.

Test: atest ConnectivityServiceTest
Change-Id: I7aad30ade8f7ab2a179e53483d9afd8675f64a12
2021-02-07 18:20:59 +09:00
Serik Beketayev
3eb2f4625d Merge "Revert "[Mainline] Migrate android.utils package items"" am: 8115741902 am: bb9c442c90
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1579467

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0f4812a5404b1b63fae605406aa0b22e1a991ab3
2021-02-07 04:14:35 +00:00
Serik Beketayev
bb9c442c90 Merge "Revert "[Mainline] Migrate android.utils package items"" am: 8115741902
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1579467

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I05e76b48f1e2ce22b04b5a05c0cb8a0fd71a103e
2021-02-07 03:55:21 +00:00
Serik Beketayev
8115741902 Merge "Revert "[Mainline] Migrate android.utils package items"" 2021-02-07 03:11:47 +00:00
Serik Beketayev
5b49047760 Revert "[Mainline] Migrate android.utils package items"
Revert submission 1553146-android_util

Reason for revert: Build Breakage aosp-master/db845c-userdebug @ 7128996
Reverted Changes:
Ia39f6e03f:[Mainline] Migrate android.utils package items
Iaf99140d6:[Mainline] Migrate android.utils package items

Change-Id: I5bdaec5d1a87436510c3e05fadaf0124d86b1bdf
2021-02-06 09:19:47 +00:00
Serik Beketayev
09b3f4e417 Merge "[Mainline] Migrate android.utils package items" am: 2cb320d17b am: 002b5a72a0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552837

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I107d60d02b888e3ac5faa03b1b9dc6a8492e6d14
2021-02-06 08:28:46 +00:00
Serik Beketayev
002b5a72a0 Merge "[Mainline] Migrate android.utils package items" am: 2cb320d17b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552837

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I20f8a0ad33c592c799103d86f64e7755f54fa85a
2021-02-06 07:26:16 +00:00
Serik Beketayev
2cb320d17b Merge "[Mainline] Migrate android.utils package items" 2021-02-06 07:00:12 +00:00
James Mattis
9febeffaf7 Merge changes Iabad7300,I85363e28 am: d86b977679 am: e2fc895c34
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1539241

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic22bfe536e8113ad721a32001911dc496221d871
2021-02-06 05:40:37 +00:00
Treehugger Robot
cecb88898f Merge "[Mainline] Core Platform APIs migration" am: e205128f1f am: a774bdaacd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1546370

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic9075b5338d14a939bedb13fcb57fe4ee527d990
2021-02-06 05:40:14 +00:00