Expose EapConfig, IkeSessionParams & IkeSession to public

As required by API Council in b/148596690, IKE API should be
public because IKE library runs in the client process and it
is not feasible to restrict the code with permissions. In
addition, VCN also requires part of IKE API to be public for
configuring IKE and Child Sessions.

This CL:
- Keep EapSessionConfig#getEapMsChapV2onfig (missing "C") as
  @SystemApi and create another public API with the typo fixed
- Keep #getNetwork and #setNetwork as @SystemApi and add another
  setter and getter for caller provided Network
- Add @NonNull to IkeSessionParams#getRetransmissionTimeoutsMillis
- Make all other System APIs in EapSessionConfig, IkeSessionParams and
  IkeSession public APIs without any change
- Add @SuppressLint to work around API lint warnings
- Fix typos in documentation

Bug: 151984042
Test: FrameworksIkeTests, CtsIkeTestCases
Change-Id: I03bec2b6d37a602ddd89963c967f402e9e4f8e1b
5 files changed
tree: ac2681308c0689b1e499c5f3f7c8133f98e3378d
  1. Android.bp
  3. PREUPLOAD.cfg
  4. README.md
  6. apex/
  7. api/
  8. jarjar-rules-shared.txt
  9. src/
  10. tests/

IKEv2 Library for Android


This IKEv2 library is an in-process client library implementing the IKEv2 protocol as well as extensions necessary for the support of IWLAN. It is designed to work in a non-privileged fashion on top of the Android IPsec API surface.