In some networks, network validation may only get success
result for http probe but fail result for https probe.
For this kind of network, it may still work at some websites
or apps, but user didn't know about that. In order to fix this
issue, we will check if network has partial connectivity and
notify user to make a choice if they want to use this partial
connectivity or not.
Bug: 113450764
Test: 1. Build pass.
2. Fake partial connectivity case for testing.
3. atest FrameworksNetTests
4. atest NetworkStackTests
Change-Id: I69ed00ac4850904ff708c9fef22e148879a10e92
Also removed emeritus accounts ek@ and silberst@ from various places.
A cleanup using 'include' would probably be in order...
Test: N/A
Change-Id: I575e60dd5e600e42d9571ce8e8d7661d30e99bfe
Instead of having a library in the classpath where the NetworkStack is
created by reflection on devices using the network stack in-process,
just bind to a version of the network stack service that runs in the
system process.
If the in-process version is installed it will be used, otherwise the
module is used with its own process.
Bug: 127908503
Test: blueline boots and has functional WiFi
Test: atest FrameworksNetTests NetworkStackTests
Test: svelte build boots and has functional WiFi
Change-Id: I7722b173e5686e0dbb9cfddcfb34344b0f4135d9
The tests have been green in postsubmit for a while and run very
quickly.
Test: atest NetworkStackTests
Change-Id: I9dbbf9046dc0878c355a5ae791e31166038df796
frameworks-base-testutils is close to unused in the tests, and has the
side-effect of adding some unrelated tests to be run in
NetworkStackTests like TestLooperTest. TestLooperTest is also failing in
some cases.
Bug: 127908503
Test: atest NetworkStackTests
Change-Id: Iebc174ed1362e8c341d765129a7fc51f8ed1999d
Short term fix to send the metrics via legacy API. This allows
data stall metrics available in internal branch.
Bug: 120452078
Test: atest NetworkStackTests and test against statsd
Change-Id: I4dd08086f4aee12bbb9478551d8039e9bb6a381e
Build a empty DataStallDetectionStats object instead of use
any() to do the verification to prevent NPE while trying to
write the metrics.
Bug: 120452078
Test: atest NetworkStackTests
Change-Id: Ib9f3e56195a539a5ca4826b4aad0e38945a9a3a7
- connect, sendTo, bind were added as public API, so do not need to be
maintained as SystemApi in SocketUtils. These APIs were added in Q
timeframe.
- Add @Nullable/@NonNull annotations.
Bug: 126699304
Bug: 126477266
Test: booted, WiFi works
Change-Id: I3f086ac8952cfd6a4d8f861d2e1c7aa1ca8be999
The modules are not actually compatible with 28, but this is necessary
as tooling does not support "Q" as a version in the APK.
This will need to be changed to the new version number as soon as it is
available.
Test: m
Change-Id: I1d88f80c293b4667244d219a6989dd11be90f12a
Up to now the version in output APKs was 28 (platform version by
default). This should make it easier to track and bump up the version.
Test: booted, WiFi works
Test: aapt dump badging shows version 10
Change-Id: I199eb55fd82e16ae748c8b011ce93cf48b505395
Bug: 121185319
Bug: 120452078
Test: - Build and test against data stall code
- atest NetworkStackTests
Change-Id: I2ee16085e7861d38bcd203c98ffd682f86fdc867
The NetworkStack module is comprised of 2 updatable APKs
(NetworkStack.apk and CaptivePortalLogin.apk), and a stub APK to define
the signature permissions for the APKs (NetworkStackPermissionStub.apk).
Test: flashed, WiFi works, captive portal login works
Bug: 124033493
Change-Id: I772d1d63363a3eb6f817c21906498bd2385ab02b
Classes that are used in framework.jar cannot be linked in NetworkStack,
as the framework takes precedence in the classpath. This prevents the
networkstack from using these classes due to the hidden API usage
detection.
Do the following:
- jarjar any shared source file between framework and NetworkStack, so
the version in the NetworkStack uses a different package.
- Move any shared class not used in the NetworkStack to services.net
The CL uses jarjar on the app copy and not the framework classes, as
the framework cannot be updated without an OTA, and non-network stack
specific classes should not be renamed because of the network stack.
Test: atest FrameworksNetTests NetworkStackTests
Test: flashed svelte build, WiFi works
Bug: 124033493
Change-Id: I85d888b756adc28c36638913632bfdfdbf0e0486
ICaptivePortal is used in the framework and cannot be used as a
dependency in NetworkMonitor, as the framework class takes precedence
when linking.
Also fix NetworkMonitorTest that was not verifying the right
startCaptivePortalApp call.
Test: atest FrameworksNetTests NetworkStackTests
Bug: 124033493
Change-Id: I8e7bb79e50650ae182a2e4277fb49abf5fb6d910
Merged-In: Ib6a89e54312628662b130fbeec18d11e139f09fa
Apf program for TCP keep alive ACK also compares protocol field in IPv4
header and the total length of TCP keep alive ACK packet. Besides,
should set the ACK flag in the the TCP header of keep alive ACK packet.
Bug: 123992564
Test: atest NetworkStackTests
Change-Id: I997cd6807a33f7e1af25566226d803dcc2e257dd
If included in framework.jar, the interfaces conflict with any app that
needs to depend on them, including the NetworkStack.
Bug: 124033493
Test: atest FrameworksNetTests NetworkStackTests
Change-Id: I2db9f87b7154130726d4700b241d55b041635d98
Merged-In: I0ecae20d514bf888f3a80331f19369ceb1c52aa3
Unexpected packets are observed after captive portal check. Due to the packets, modem can't fall-back to idle state (modem remained as active state).
It makes unnecessary power consumtion.
To prevent it, "close" option is added in sendHttpProbe()
Test: check socket close.
Change-Id: I5b6987071ad915081846504adbb209eb371fd1c3
ServiceState now contains a CellIdentity that can be obtained
specifically from the data subscription, and for PS on cell
only.
This should be used for connectivity level network monitoring
info.
Bug: 123893112
Test: 1. atest NetworkMonitorTest
2. Verify if cell id is correct
Change-Id: Ieb00de84a0d518e3197e3884f946b872e998304a