envoyproxy / envoyproxy/envoy-mobile
Cronvoy: Support for Network Quality Estimator (NQE)
- Dominant language
- Java
- Stars
- 566
- Forks
- 85
- PR merge metrics
- No merged PRs in 30d
Description
NQE is currently supported by Cronet, and two Android Apps do use it:
- Android Google Maps for Mobile (AGMM), _quite understandable_
- Android Google Search App (AGSA)
All Android services needed to implement the "NQE feature" are in Java, part of the Android system libraries. Hence, Cronet maintains a set of Java classes wrapping invocations to these libraries, exposing the needed JNI hooks to the C++ layer.
- [```AndroidCellularSignalStrength.getSignalStrengthLevel```](https://source.chromium.org/chromium/chromium/src/+/main:net/android/java/src/org/chromium/net/AndroidCellularSignalStrength.java)
- [```AndroidNetworkLibrary.getWifiSignalLevel```](https://source.chromium.org/chromium/chromium/src/+/main:net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java;l=282)
- [```AndroidNetworkLibrary.reportBadDefaultNetwork```](https://source.chromium.org/chromium/chromium/src/+/main:net/android/java/src/org/chromium/net/AndroidNetworkLibrary.java;l=446) M+
- [```NetworkActivationRequest.createMobileNetworkRequest```](https://source.chromium.org/chromium/chromium/src/+/main:net/android/java/src/org/chromium/net/NetworkActivationRequest.java): attempts to rather use the Cellular Network when WIFI is unresponsive.
Contributor guide
Assessment
This issue has not been assessed yet.