Commit graph android_packages_modules_Co.../framework
Message SHA1
Merge changes from topic "PSL_TelephonyCallback"
* changes:
  [Telephony] Use TelephonyCallback instead of PhoneStateListener part1
  [PhoneStateListener] Redesign PhoneStateListener: Use TelephonyCallback

Zoey Chen   authored and   Gerrit Code Review   commited 2021-03-09 10:36:03 +00:00
b77aaa1e63
Merge "Replace withCleanCallingIdentity with [clear|restore]CallingIdentity"
Chalard Jean   authored and   Gerrit Code Review   commited 2021-03-09 07:41:13 +00:00
d3844d856d
Merge "Use ArraySet#add() instead of ArraySet#append()"
Lucas Lin   authored and   Gerrit Code Review   commited 2021-03-09 04:52:42 +00:00
cb2213216c
[Telephony] Use TelephonyCallback instead of PhoneStateListener part1
Since the redesign of PhoneStateListener, use TelephonyCallback to get the callback of EVENT_*

Bug: 167684594
Test: make
Change-Id: Ia3b777b12142b104b5798804f50b34748f9bf28c
Merged-In: Ia3b777b12142b104b5798804f50b34748f9bf28c

Zoey Chen   commited 2021-03-08 20:25:00 +08:00
1b4ea1877b
Merge "Move OemNetworkPreferences to Connectivity"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-03-08 08:41:04 +00:00
557708171c
Replace Inet[4|6]Address#ANY
Connectivity is becoming a mainline module in S but mainline
modules are not allowed to use non-formal APIs. Thus, replace
non-formal API Inet[4|6]Address#ANY to
NetworkStackConstants#IPV[4|6]_ADDR_ANY.

Bug: 181756157
Test: FrameworksNetTests
Change-Id: Id4d2fc551c1384f549a586e87ab68356ba05b995

paulhu   authored and   Paul Hu   commited 2021-03-08 07:18:31 +00:00
b534331f2a
Move OemNetworkPreferences to Connectivity
The data class supports a ConnectivityManager API, so it should be
together with the ConnectivityManager API surface.

Bug: 181512874
Test: m
Change-Id: I5642486ea0febcb08cadcbd4cd3f0c6056deae0e

Remi NGUYEN VAN   commited 2021-03-08 09:26:41 +09:00
6954022e11
[CS10]Remove the hidden API usage of BitUtils
The connection service will become the main line module.
It is difficult to include BitUtils in the module. and so
Move the hidden API needed in BitUtils to NetworkCapabilitiesUtils.

Bug: 170598012
Test: atest ConnectivityServiceTest
      atest NetworkCapabilitiesTest
      atest DnsUtilsTest
Change-Id: Ibc81827e25a54fc3ff94f78d810fe4f5073e3a98

lifr   authored and   Frank Li   commited 2021-03-06 16:21:16 +00:00
ade6c2a5e9
Merge "Move NetworkState to Connectivity"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-03-05 10:27:57 +00:00
9e516fd9b6
Move NetworkState to Connectivity
NetworkState is becoming an internal implementation class, with
NetworkStateSnapshot replacing it as a proper API. Considering this it
belongs inside Connectivity.

Bug: 174123988
Test: m
Change-Id: I201f1a07c50d9da31e33f5c207875da8863ef57c

Remi NGUYEN VAN   commited 2021-03-05 08:56:55 +09:00
56a15b30f3
[FUI22] Support getAllNetworkStateSnapshot
Currently, ConnectivityService has getAllNetworkState but it is
not ideal to expose as system API since the plan is to get rid
of NetworkState. Thus, create a new one that returns
NetworkStateSnapshot to fulfill the needs.

Note the original getAllNetworkState cannot be deleted now since
it has @UnsupportedAppUsage annotation.

Test: atest FrameworksNetTests
Bug: 174123988
Change-Id: Icddd434552b0e9ecbc8299e7242ec88cf3145aca

junyulai   commited 2021-03-04 18:41:09 +08:00
ebd15164e9
Replace withCleanCallingIdentity with [clear|restore]CallingIdentity
To prevent using @hide method - withCleanCallingIdentity() from
mainline module, use clearCallingIdentity() &
restoreCallingIdentity() instead.

Bug: 172183305
Test: FrameworksNetTests, CtsNetTestCasesLatestSdk
Change-Id: I8221bb8717ba6809c5087ea2808cd4ccef948cfd

lucaslin   commited 2021-03-04 09:38:21 +08:00
c6170bb2f3
Merge "[CS05]Remove the hidden API usage of MetricsLogger"
Frank Li   authored and   Gerrit Code Review   commited 2021-03-04 01:34:53 +00:00
130dfbe8ba
Use ArraySet#add() instead of ArraySet#append()
ArraySet#append() is a hidden API which is not accessible for
mainline module, use public one - ArraySet#add() instead.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I0742e2ec7aff008141b1de6d10eeca2910df71b1

lucaslin   commited 2021-03-04 09:29:30 +08:00
4bc26fabd1
[CS05]Remove the hidden API usage of MetricsLogger
Legacy metrics are unused and deprecated, so they are being removed.
Therefore, delete the usage of the hidden MetricsLogger API.

Bug: 157966864
Test: atest CtsNetTestCases
      atest CaptivePortalTest
      atest ConnectivityServiceTest
Change-Id: I51241f5d50ec580015882c84dd917b015c700c7c

lifr   authored and   Frank Li   commited 2021-03-03 10:17:52 +00:00
a9f5551cf5
APIs for 5G slicing
Create TrafficDescriptor class
Create new APN ENTERPRISE
Update setupDataCall and DataCallResponse to take TrafficDescriptor and
matchAllRuleAllowed
Move ApnTypes from Annotation to ApnSetting

Bug: 179312227
Test: atest FrameworksTelephonyTests
Change-Id: I7433976bfe25bcb2af85ffb9338959cbcc9f42f3
Merged-In: I7433976bfe25bcb2af85ffb9338959cbcc9f42f3

Sarah Chin   authored and   Chalard Jean   commited 2021-03-03 14:16:21 +09:00
223bc35f3b
Merge "Implement Settings#checkAndNoteChangeNetworkStateOperation on CS"
Paul Hu   authored and   Gerrit Code Review   commited 2021-03-03 01:07:20 +00:00
f0755886c5
Merge "Move OemNetworkPreferences aidl to connectivity"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-03-02 09:29:07 +00:00
3c943ca0f6
Merge "Move UidRange to connectivity"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-03-02 09:27:50 +00:00
1c5e8b1def
Merge "Move Proxy, PacProxySelector out of Connectivity"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-03-02 07:49:00 +00:00
ae0eb0a9a6
Merge "Move SocketUtils out of the connectivity module"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-03-02 06:44:01 +00:00
d856834f40
Move UidRange to connectivity
UidRange is a data class that is an implementation detail of
Connectivity. Move it to the connectivity boundary.

Remaining usages of UidRange outside of Connectivity (in VPN) should be
migrated to other classes, like Range<Integer> or UidRangeParcel.

Bug: 181512874
Test: m
Change-Id: I6f2e3685ad1c07171dd90480d1e546329de8732d

Remi NGUYEN VAN   commited 2021-03-02 15:35:36 +09:00
b2eabd4e7b
Move OemNetworkPreferences aidl to connectivity
Move the IOnSetOemNetworkPreferenceListener aidl definition to
framework-connectivity.
The interface is an internal implementation detail of
framework-connectivity, so it should be built inside the jar.

Bug: 181512874
Test: m
Change-Id: I898049b50fc620ee629587a9303f058e0a6d0272

Remi NGUYEN VAN   commited 2021-03-02 13:56:38 +09:00
e419ef900a
Move Proxy, PacProxySelector out of Connectivity
PacProxySelector is tied to IProxyService, which does not have a formal
API.
Proxy is the interface with ConnectivityService, and all its methods are
public or module API.

Bug: 171540887
Test: m
Change-Id: I8ceba961a81661c3e11d8179955b594d3cab6ff7

Remi NGUYEN VAN   commited 2021-03-01 18:35:26 +09:00
cd45ee68cf
Move QoS API classes to Connectivity
The classes were added in S and are used to back ConnectivityManager
APIs. Add them to the connectivity boundary as they belong together with
ConnectivityManager.

Bug: 181512874
Test: m
Change-Id: I03b5978949b200a72813d1ebc4812d851fe3df37

Remi NGUYEN VAN   commited 2021-03-01 18:09:30 +09:00
cb61701582
Move SocketUtils out of the connectivity module
SocketUtils contains system APIs for modules to interact for sockets,
wrapping internal APIs. It should be part of the platform to keep access
to the internal APIs.

This involves splitting NetworkUtils.protectVpn to NetworkUtilsInternal,
since SocketUtils and VpnService are the only users of that method.

The @UnsupportedAppUsage NetworkUtils.protectVpn has low usage
count, and is already available through VpnService.protect.

Bug: 181512874
Test: boots, VPN working
Change-Id: I7028d334975f7536c06afac7a22200c33db707ac

Remi NGUYEN VAN   commited 2021-03-01 16:50:08 +09:00
fc6869064c
Merge "Split out the connectivity API surface"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-03-01 01:07:19 +00:00
d799e71134
Split out the connectivity API surface
Split out connectivity APIs to connectivity module directories. This
prepares future move of the connectivity code into a mainline module,
but still keeps it implemented by framework-minus-apex for now: the API
stubs are moved to framework-connectivity.stubs, but the implementation
on device remains in the same place.

This allows moving the connectivity code in/out of APEX with minimal
changes.

BYPASS_INCLUSIVE_LANGUAGE_REASON=Moving files, can't modify released API

Bug: 171540887
Test: device boots, connectivity working

Merged-In: I21c42f032efa6c10e36c749df3183ce9679303a7
(cherry-pick from internal branch with API files conflicts)

Change-Id: I21c42f032efa6c10e36c749df3183ce9679303a7

Remi NGUYEN VAN   commited 2021-02-26 19:23:25 +09:00
be1791058f
Merge "Fix copyright license of VpnTransportInfo"
Junyu Lai   authored and   Gerrit Code Review   commited 2021-02-26 03:38:59 +00:00
ff35256ebd
Merge "Add public alternative for protectFromVpn"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-02-26 01:50:32 +00:00
cc595f8d17
Merge "Use alternative PhoneStateListener formal API"
Paul Hu   authored and   Gerrit Code Review   commited 2021-02-25 12:14:53 +00:00
5f72702134
Merge "[VCN07] Bypass VCN for non-internet app accessible cellular services"
Junyu Lai   authored and   Gerrit Code Review   commited 2021-02-25 10:16:03 +00:00
c8c6433b56
Fix copyright license of VpnTransportInfo
Test: TH
Bug: None
Change-Id: Id1fe2c62a0fd60b9833d8b00d2fa2ddc2f031004

junyulai   commited 2021-02-25 10:31:56 +08:00
c8d3b9308f
Add public alternative for protectFromVpn
The method is called directly by VpnService#protect.

Bug: 171540887
Test: m
Change-Id: I7cbb1ef1301dcf8d27b2cc39c0431a0156fe3442

Remi NGUYEN VAN   commited 2021-02-24 14:49:35 +09:00
da62581840
Implement Settings#checkAndNoteChangeNetworkStateOperation on CS
Connectivity is becoming a mainline module in S and
ConnectivityManager#enforceChangePermission is using
Settings#checkAndNoteChangeNetworkStateOperation for performing a
strict and comprehensive check of whether a calling package is
allowed to change the state of network. However, Mainline modules
are not allowed to use non-formal APIs, fortunately CS is the
only caller of this ConnectivityManager#enforceChangePermission.
Thus, implement the Settings API on ConnectivityService and remove
the ConnectivityManager#enforceChangePermission and
Settings#checkAndNoteChangeNetworkStateOperation.

Bug: 178565313
Test: atest FrameworksNetTests
Change-Id: I6f03398c1735b89470ad5bdbe3a036929daeb53c
Merged-In: I6f03398c1735b89470ad5bdbe3a036929daeb53c

paulhu   authored and   Paul Hu   commited 2021-02-23 08:35:38 +00:00
a6ee212462
Merge "Move shared methods to net shared lib"
Chiachang Wang   authored and   Gerrit Code Review   commited 2021-02-23 00:58:59 +00:00
abe07f8916
Merge "Clean up T&C implementation"
Treehugger Robot   authored and   Gerrit Code Review   commited 2021-02-22 19:58:43 +00:00
7a9f087992
Use alternative PhoneStateListener formal API
MultinetworkPolicyTracker is part of Connectivity mainline module
which cannot call @hide API to register PhoneStateListener. Thus,
replace it to formal API.

Bug: 171183530
Test: atest FrameworksNetTests
Change-Id: Ib02790623e82726aaada33f559226020d1e0019b

paulhu   commited 2021-02-22 14:31:58 +08:00
d42261fea3
Merge "Revert "Revert "Delete VPN methods in ConnectivityManager."""
Treehugger Robot   authored and   Gerrit Code Review   commited 2021-02-22 06:12:48 +00:00
e2a5851dd8
Revert "Revert "Delete VPN methods in ConnectivityManager.""
1. Stop using ConnectivityManager for VPNs in VpnDialogs.
2. Delete updateLockdownVpn, since all callers have been migrated
   to calling VpnManager directly.
3. Delete the call to VpnManager in factoryReset, since the only
   caller (ResetNetworkConfirm) has been updated to call into
   VpnManager directly.
4. Delete getVpnManager, since it is now unused.

This reverts commit a3c05095ab.

Reason for revert: should be safe to submit now that aosp/1596096 is merged

Bug: 173331190
Test: treehugger
Change-Id: Ife3607c024006ce4fe46c981e9742170becb6331

Lorenzo Colitti   commited 2021-02-22 05:07:22 +00:00
9c0f2f10fe
[VCN07] Bypass VCN for non-internet app accessible cellular services
Deduce the NET_CAPABILITY_NOT_VCN_MANAGED capability from other
capabilities and user intention, which includes:
   1. For the requests that don't have anything besides
      VCN_SUPPORTED_CAPABILITIES, add the NOT_VCN_MANAGED to
      allow the callers automatically utilize VCN networks
      if available.
   2. For the requests that explicitly add or remove
      NOT_VCN_MANAGED,  do not alter them to allow user fire
      request that suits their need.

Test: atest NetworkRequestTest#testBypassingVcnForNonInternetRequest
Bug: 175662146
Change-Id: I2876264cee14b624c89ba3b380027a8b521ad8ea
  (cherry-picked from aosp/1549817)

junyulai   commited 2021-02-22 10:19:16 +08:00
719814c97a
Merge changes I0a75c440,Ief9e8925,Ie03e8276,If0ac9a64,I716bd771
* changes:
  [IT06]Move INetworkActivityListener into connectivity module
  [IT05] Remove the unused network activity logic out from NMS
  [IT4.7] Add network activity info into dumpsys for debugging
  [IT4.6] Unbundle NMS out from ConnectivityManager
  [IT4.5] Update radio power from CS directly

Chiachang Wang   authored and   Gerrit Code Review   commited 2021-02-20 02:02:46 +00:00
2f435607da
Revert "Delete VPN methods in ConnectivityManager."
This reverts commit 561229590e.

Bug: 180710918
Reason for revert: Broken build 

Change-Id: I6e6318b4c01ccab27ca3e9f16bb2194aa1d9ffd2

Nataniel Borges   commited 2021-02-19 15:25:33 +00:00
a3c05095ab
Delete VPN methods in ConnectivityManager.
1. Stop using ConnectivityManager for VPNs in VpnDialogs.
2. Delete updateLockdownVpn, since all callers have been migrated
   to calling VpnManager directly.
3. Delete the call to VpnManager in factoryReset, since the only
   caller (ResetNetworkConfirm) has been updated to call into
   VpnManager directly.
4. Delete getVpnManager, since it is now unused.

Test: m
Bug: 173331190
Change-Id: I5d071281c0e36f6523fea10671a9abf994c66d66

Lorenzo Colitti   commited 2021-02-19 17:34:30 +09:00
561229590e
Merge "Use formal API for ActivityThread to set proxy"
Treehugger Robot   authored and   Gerrit Code Review   commited 2021-02-19 05:42:06 +00:00
61f3c6da64
Use formal API for ActivityThread to set proxy
Add setHttpProxyConfiguration to the public API, and use
ConnectivityManager APIs from ActivityThread (instead of hidden APIs) to
get/set the proxy for an app process.

The default proxy is now initialized with getDefaultProxy instead of
getProxyForNetwork(null); this should not make a difference, as nothing
should have called bindProcessToNetwork at that point yet.

Bug: 174436414
Test: m; device boots
Merged-In: Ifb516194ecde1567cea4b6806946091cdcf2f015

Change-Id: I06b797eeae54609aecdc0afe1df4e6c602a17a69

Remi NGUYEN VAN   commited 2021-02-19 13:53:56 +09:00
b33335c136
Merge "Split parcelable .aidl files to aidl-export"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-02-19 02:21:25 +00:00
d2de4cff26
[IT06]Move INetworkActivityListener into connectivity module
INetworkActivityListener is hidden and the only usage is inside
the connectivity module. Thus, move this into module scope.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I0a75c440c1daa773217bbd362b212fda4d07ec64

Chiachang Wang   commited 2021-02-18 12:03:21 +08:00
6a7d31e579
[IT4.6] Unbundle NMS out from ConnectivityManager
ConnectivityService is no longer to update idle timer to NMS but
send to INetd directly after this change. Replace the API
implementation in ConnectivityManager to refer into
ConnectivityService instead of NetworkManagementService to remove
the dependency between CM and NMS for ConnectivityService mainline.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: If0ac9a6427dba5a732a15b5d7ca1351b71b07b7b

lucaslin   authored and   Chiachang Wang   commited 2021-02-18 11:48:06 +08:00
1193a5d5f1
Split parcelable .aidl files to aidl-export
The one-line "parcelable X" files need to be imported by targets that do
not build against SDK (the SDK has prebuilt definitions), so prepare a
dedicated directory for them.
This avoids having users of the classes include the whole src/
directory, which could contain definitions for classes that are not part
of the public API, so should not be imported.

Also move back to frameworks/base/core some .aidl definitions that
were separated from their associated class.

Bug: 171540887
Test: m
Merged-In: I7432fe4c87cd3cab04dcb6185c9a4f3f84376549
Change-Id: I7432fe4c87cd3cab04dcb6185c9a4f3f84376549

Remi NGUYEN VAN   commited 2021-02-18 01:17:04 +00:00
fcdd15eeec