Commit Graph

5622 Commits

Author SHA1 Message Date
Mathew Inwood
bb05958365 Merge "Add maxTargetSdk restriction to unused APIs." 2020-10-29 15:23:24 +00:00
Chalard Jean
6ef294dcc3 Merge "Fix a bug where modern network agents start in UNKNOWN" am: fc2b39948c am: 63b234d158 am: 59e88e779e am: 2889c52cb7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1460964

Change-Id: I4de127e0ce7f4fc0591ee59e65a60592e96efbfc
2020-10-29 14:32:37 +00:00
Chalard Jean
6e61ad716c 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
Mathew Inwood
8e742f928e 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.

This is a resubmit of ag/12929664 with some APIs excluded that caused
test failures; see bugs 171886397, 171888296, 171864568.

APIs excluded:
Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
Landroid/os/Process;->myPpid()I
Landroid/os/SharedMemory;->getFd()I
Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I

Bug: 170729553
Test: Treehugger
Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
2020-10-29 11:51:12 +00:00
Treehugger Robot
67b2e68a7c Merge changes from topic "bug_167962976_visibility" am: 39c6068cbc am: 5942721506 am: 29bed11140 am: a678e6b183
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1478840

Change-Id: I476629002e075d01c83f77be8343157dbd66ce9b
2020-10-29 08:48:24 +00:00
Baligh Uddin
ff8ff126c7 Add visibility rules for packages/modules/Connectivity/Tethering
BUG: 167962976
Test: TH
Change-Id: Id28881b35cf24fc9517fa11af6d8e539ab244fa6
2020-10-29 02:11:55 +00:00
Hongwei Wang
286c33a5c5 Merge "Revert "Add maxTargetSdk restriction to unused APIs."" 2020-10-28 23:58:21 +00:00
Hongwei Wang
050275cd83 Revert "Add maxTargetSdk restriction to unused APIs."
This reverts commit 72f07d6a8a.

Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?testMethod=testAppZygotePreload&testClass=android.app.cts.ServiceTest&atpConfigName=suite%2Ftest-mapping-presubmit-retry_cloud-tf&testModule=CtsAppTestCases&fkbb=6936597&lkbb=6936969&lkgb=6936551&testResults=true&branch=git_master&target=cf_x86_phone-userdebug>, bug b/171886397

Bug: 171886397
Change-Id: Ibe0f0430a3451477c1ee8ef56a596e91ea1e7672
2020-10-28 20:16:22 +00:00
Mathew Inwood
ee5d369323 Merge "Add maxTargetSdk restriction to unused APIs." 2020-10-28 09:39:20 +00:00
James Mattis
bc2592b80a Merge "Add OEM_PRIVATE NetworkCapability" am: 7415f6f9b5 am: 32fbc09bd0 am: 689181f342 am: 59502e6ef9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1472326

Change-Id: I33da7fd0b61eb0d5a6b45b4ba2140b39c377e15a
2020-10-28 00:38:12 +00:00
James Mattis
13135f3003 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
Mathew Inwood
72f07d6a8a 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
Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
2020-10-27 15:46:07 +00:00
Benedict Wong
7ed6a239d1 Merge "Add VCN file owners for android.net.vcn" am: b397a4f3ff am: 3086c9bf3b am: 51edaf6a08 am: 234ca5d409
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1459343

Change-Id: Ib01069d563a887f59ba6d8592b7096e115868287
2020-10-23 20:13:29 +00:00
Benedict Wong
b397a4f3ff Merge "Add VCN file owners for android.net.vcn" 2020-10-23 17:44:05 +00:00
Benedict Wong
30a7ae8af7 Add VCN file owners for android.net.vcn
This change adds owners for the VCN files in the android.net.vcn package

Bug: 163431877
Test: No code changes; FrameworksNetTests passing
Change-Id: I7406083b958a9fd5f1b02c2e2046a9c686622f60
2020-10-22 23:08:49 +00:00
Yan Yan
7c1ee608eb Merge "Require devices with first sdk 0 or later to support mandatory algorithms" am: a09d15adb3 am: bf50daf5dd am: 0c78f23757 am: 583415a5b1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1468662

Change-Id: Ica06a3a4c3695052f554056caab603a857b4e9b2
2020-10-20 23:51:20 +00:00
Yan Yan
a09d15adb3 Merge "Require devices with first sdk 0 or later to support mandatory algorithms" 2020-10-20 22:33:37 +00:00
Yan Yan
19b6965864 Require devices with first sdk 0 or later to support mandatory algorithms
It is safe because these mandatory algorithms are already required
before new algorithms are added

It is also a quick fix to unblock b/171279612, whose root cause is
the device first sdk is wrong

Bug: 171279612
Test: atest CtsNetTestCases:IpSecManagerTest
Change-Id: I5b9d85b2bc8f13f54467c97160d138a4628265f7
2020-10-20 15:12:30 -07:00
Anton Hansson
d2d4637685 Merge "Remove @TestApi from @SystemApi symbols" 2020-10-20 13:45:13 +00:00
Anton Hansson
586a3cf229 Remove @TestApi from @SystemApi symbols
I ran these commands:
    cd frameworks/base
    grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \
        's/\@SystemApi[\s\n]+(\@\w+[\s\n]+)?\@TestApi/\@SystemApi\1/gs'
    grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \
        's/\@TestApi[\s\n]+(\@\w+[\s\n]+)?\@SystemApi/\1\@SystemApi/gs'

Bug: 171179806
Test: m checkapi
Change-Id: I772790b783b0a8730b8bf680c9e569a886b8d789
2020-10-20 09:04:03 +01:00
Aaron Huang
bfceacea50 Merge "Create service-connectivity.jar" 2020-10-20 06:09:41 +00:00
Anton Hansson
dd7d52f963 Remove @TestApi from @SystemApi symbols
I ran these commands:
    cd frameworks/base
    grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \
        's/\@SystemApi[\s\n]+(\@\w+[\s\n]+)?\@TestApi/\@SystemApi\1/gs'
    grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \
        's/\@TestApi[\s\n]+(\@\w+[\s\n]+)?\@SystemApi/\1\@SystemApi/gs'

Bug: 171179806
Test: m checkapi
Change-Id: I772790b783b0a8730b8bf680c9e569a886b8d789
Merged-In: I772790b783b0a8730b8bf680c9e569a886b8d789
2020-10-19 16:41:01 +01:00
Chalard Jean
58b2025873 Merge "Remove unused methods from LinkProperties." am: ec3a0131b9 am: cc7d3d97f3 am: b4f637d300 am: c7c6d5ab55
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1448415

Change-Id: I7e97ed89636e22553c6b2a3a759d2bdcbed9ba24
2020-10-19 10:50:44 +00:00
Chalard Jean
ec3a0131b9 Merge "Remove unused methods from LinkProperties." 2020-10-19 09:37:26 +00:00
Yan Yan
5e45322620 Merge changes from topic "new-ipsec-api" am: a80fb3bbe6 am: cb5aed6518 am: 4cddef19b1 am: df0053fc49
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1398433

Change-Id: I18748127d0c97d9473c96678d556b03ad6048808
2020-10-17 00:09:20 +00:00
Yan Yan
a80fb3bbe6 Merge changes from topic "new-ipsec-api"
* changes:
  Expose new algorithms as public API
  Add new mandatory IPsec algorithms
2020-10-16 22:30:37 +00:00
Yan Yan
b766701fa4 Expose new algorithms as public API
Bug: 161716062
Test: FrameworksNetTests:IpSecAlgorithmTest
Change-Id: I5041c61ad5a4aa58b259e24de80a2c63d6b19dae
2020-10-16 17:53:37 +00:00
Aaron Huang
944025aef2 Create service-connectivity.jar
Create a new target service-connectivity to split
ConnectivityService from services.core.

Add ConnectivityServiceInitializer for initializing
ConnectivityService and add systemReady() in
ConnectivityManager so that SystemServer can call systemReady()
through ConnectivityManager which won't change current behavior.

Bug: 158268939
Test: make target-java, make host-java
      atest FrameworksNetIntegrationTests
      atest FrameworksNetTests
      make, device can boot,
      atest CtsStrictJavaPackagesTestCases
      wifi and mobile data work.
Change-Id: I99401772ba9c1c34adca20040da3c7c72d86ddd9
Merged-In: Ie732bfaf381404af0bb599ca2f421a96e7aa4257
2020-10-16 22:46:14 +08:00
Aaron Huang
ed9b08a7ca Merge "Create service-connectivity.jar" 2020-10-16 07:03:33 +00:00
Chalard Jean
b047fa093b Remove unused methods from LinkProperties.
LinkProperties.compare{Dnses,ValidatedPrivateDnses,AllRoutes,
AllInterfaceNames} actually have no users.

Test: LinkPropertiesTest
Change-Id: Ic54ab3c5520fbbc2be1309aeaf1e5a7857dbd194
2020-10-16 15:32:19 +09:00
Yan Yan
27267b655c Add new mandatory IPsec algorithms
This CL adds new mandatory IPsec algorithms and allows
OEM to enable them on old devices using resource overlay

Bug: 161716062
Test: FrameworksNetTests:IpSecAlgorithmTest
Change-Id: Ib827b05ea27dbe61b14ad236e858f825293ed994
2020-10-15 17:35:17 -07:00
Aaron Huang
e6f27dd738 Create service-connectivity.jar
Create a new target service-connectivity to split
ConnectivityService from services.core.

Add ConnectivityServiceInitializer for initializing
ConnectivityService and add systemReady() in
ConnectivityManager so that SystemServer can call systemReady()
through ConnectivityManager which won't change current behavior.

Bug: 158268939
Test: make target-java, make host-java
      atest FrameworksNetIntegrationTests
      atest FrameworksNetTests
      make, device can boot,
      atest CtsStrictJavaPackagesTestCases
      wifi and mobile data work.
Change-Id: Ie732bfaf381404af0bb599ca2f421a96e7aa4257
2020-10-16 02:29:04 +08:00
Roman Kalukiewicz
24403f7ef2 Add @Nullable annotation to the parameter of Object.equals() methods.
Those annotations could be inferred by some tools (like Kotlin), but the
https://checkerframework.org/ doesn't check inherited annotations
complaining about all equals() invocations that get nullable argument.

The change was generated by running

find . -name \*.java | xargs sed -i 's/public boolean equals(Object /public boolean equals(@Nullable Object /'

in the frameworks/base directory and by automatically adding and
formatting required imports if needed. No manual edits.

Bug: 170883422
Test: Annotation change only. Should have not impact.
Exempt-From-Owner-Approval: Mechanical change not specific to any component.
Change-Id: I5eedb571c9d78862115dfdc5dae1cf2a35343580
2020-10-15 10:48:01 -07:00
Treehugger Robot
2659c2c62c Merge "Add imports to networking test mapping" am: f184d40178 am: f88f3c9f08 am: 7ae5e642bd am: 6c07f1ecb2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1461982

Change-Id: Ib665e3d7e2ad6058c36c5d93fdc67131d2f670b5
2020-10-15 12:39:49 +00:00
Remi NGUYEN VAN
4ea8a1fbae Add imports to networking test mapping
Ensure that appropriate networking tests are triggered when submitting
changes in the frameworks/base directories.

Change-Id: Ibf8b567fa7721299120b0a6c6836dd770d92a9fc
Test: treehugger runs TEST_MAPPING tests
2020-10-15 09:16:40 +00:00
Treehugger Robot
a5bad55754 Merge "Fix a typo in a comment" am: 0e10d126a3 am: bcc6e4f4e6 am: 9b1db6b4db am: 988771ed1d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1459885

Change-Id: I084659f9f874fd7654645043c31e6f5e2b7a04de
2020-10-14 12:28:40 +00:00
Chalard Jean
06b3ade011 Fix a typo in a comment
Test: is not necessary for fixing typos in comments
Change-Id: Idf48d2649e728cafda5c1ca32d21102094cf23f5
2020-10-14 04:56:20 +00:00
Remi NGUYEN VAN
65a88ce8c3 Merge "Move IpUtils to frameworks/libs/net" am: e842db3548 am: 62e99304d6 am: e55c9f1335 am: 364672242c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1440234

Change-Id: I27072c126ee7eedc2de3d1cdccd0fd503f1577a1
2020-10-09 01:58:35 +00:00
Remi NGUYEN VAN
e842db3548 Merge "Move IpUtils to frameworks/libs/net" 2020-10-09 00:13:40 +00:00
Jeff Sharkey
f76ffeaff1 Merge changes from topic "oct6"
* changes:
  Upgrade AndroidFrameworkBinderIdentity to fatal.
  Tighten up Binder.clearCallingIdentity() usage.
  Tighten up Binder.clearCallingIdentity() usage.
  Tighten up Binder.clearCallingIdentity() usage.
2020-10-08 18:50:22 +00:00
Jeff Sharkey
b93712f623 Tighten up Binder.clearCallingIdentity() usage.
This is a third CL in a chain that adjusts existing malformed code
to follow AndroidFrameworkBinderIdentity best-practices.

Specifically, if a thread clears an identity they need to restore it
to avoid obscure security vulnerabilities.  In addition, the relevant
"try" block must start immediately after the identity is cleared to
ensure that its restored if/when any exceptions are thrown.

Bug: 155703208
Test: make
Exempt-From-Owner-Approval: trivial refactoring
Change-Id: I74cb958b68d55a647547aae21baff6ddc364859b
2020-10-07 21:24:05 -06:00
Nate Jiang
577bf74a91 Merge "Update javaDoc to make it consistent" am: 36d1da8f62 am: bb446b0c37 am: 994c0ba560 am: 2e96957b78
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1424828

Change-Id: I461592a530a52f5e2bf8ea314bdf5e3ee9bb1fb3
2020-10-08 00:04:17 +00:00
Nate Jiang
36d1da8f62 Merge "Update javaDoc to make it consistent" 2020-10-07 22:16:58 +00:00
Remi NGUYEN VAN
6387974158 Move IpUtils to frameworks/libs/net
The utility classes are useful for mainline modules and their tests, for
example IpClientIntegrationTest.

Bug: 168868607
Test: m && atest NetworkStaticLibTests
Change-Id: If2b1613aa18a7990391e2d31cc2951ca93f1cf3c
2020-10-05 14:38:19 +09:00
Hridya Valsaraju
f0b2272d76 Revert "Move module utils to the module package."
Revert "Move util classes to their destination package"

Revert "Move PacketReader and FdEventReader"

Revert "Move static utils to a module package"

Revert "Move static utils to a module package"

Revert submission 12698912-move_packetreader

Reason for revert: Broke presubmit on git_master, b/169861635
Reverted Changes:
If5d1e4a58:Move module utils to the module package.
I44ffaad3d:Move PacketReader and FdEventReader
I93e9cfd96:Move util classes to their destination package
Ia84d64130:Move static utils to a module package
Iaac2810c7:Move static utils to a module package

Change-Id: Ibbe59075cd7bc4c38e0707ea6ae3b3703b40986f
2020-10-01 20:12:46 +00:00
Chalard Jean
b16c712fdc Move module utils to the module package.
Test: builds
Change-Id: If5d1e4a58fb2d6d9544e6d01995dabe445cf1f25
(cherry picked from commit 046bf639eb7728504be35e30e3dd49af3d029728)
2020-09-26 14:12:10 +09:00
Jeff Sharkey
4b5b0174d0 Merge changes from topic "sep11" am: c0b288133a am: 69e6f07347 am: 741c0a78cc am: da7478b570 am: 487d394296
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1426195

Change-Id: Id01f468b43fd5b2aada78608010625b392c1b647
2020-09-15 21:01:48 +00:00
Jeff Sharkey
a8cec413b6 Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Test: none
Bug: 168334533
Exempt-From-Owner-Approval: docs updates
Change-Id: I245b8d9cac722da76ea67983738a3cbb9deb68df
2020-09-14 10:00:07 -06:00
Jeff Sharkey
705f6bec2d Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Test: none
Bug: 168334533
Exempt-From-Owner-Approval: docs updates
Change-Id: I53003332717baf57dc088b2f6b969cdb1863f65e
2020-09-14 09:59:01 -06:00
Nate Jiang
9f0b2c4c0d Update javaDoc to make it consistent
Bug: 167950457
Test: built
Change-Id: Iadd0a234bde4abea790bff2bd8d4aa5cae2b6872
2020-09-10 09:58:23 -07:00