Expose constructors as SystemApi for Ike3gppData types.

This CL exposes constructors for concrete Ike3gppData classes -
specifically Ike3gppBackoffTimer and Ike3gppN1ModeInformation. These
APIs are needed to CTS test these classes and were previously marked
@hide.

Bug: 176836414
Test: atest FrameworksIkeTests CtsIkeTestCases
Change-Id: I5e17d509b024c20eb7ecb3b66dc4851597f08401
diff --git a/api/system-current.txt b/api/system-current.txt
index 095de74..701651e 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -41,6 +41,7 @@
 package android.net.ipsec.ike.ike3gpp {
 
   public final class Ike3gppBackoffTimer extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
+    ctor public Ike3gppBackoffTimer(byte, int);
     method public int getBackoffCause();
     method public byte getBackoffTimer();
     method public int getDataType();
@@ -65,6 +66,7 @@
   }
 
   public final class Ike3gppN1ModeInformation extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
+    ctor public Ike3gppN1ModeInformation(@NonNull byte[]);
     method public int getDataType();
     method @NonNull public byte[] getSnssai();
   }
diff --git a/src/java/android/net/ipsec/ike/ike3gpp/Ike3gppBackoffTimer.java b/src/java/android/net/ipsec/ike/ike3gpp/Ike3gppBackoffTimer.java
index 30a20d5..44fc108 100644
--- a/src/java/android/net/ipsec/ike/ike3gpp/Ike3gppBackoffTimer.java
+++ b/src/java/android/net/ipsec/ike/ike3gpp/Ike3gppBackoffTimer.java
@@ -76,8 +76,17 @@
     private final byte mBackoffTimer;
     private final int mBackoffCause;
 
-    /** @hide */
-    public Ike3gppBackoffTimer(@SuppressLint("NoByteOrShort") byte backoffTimer, int backoffCause) {
+    /**
+     * Constructs an Ike3gppBackoffTimer with the specified parameters.
+     *
+     * @param backoffTimer the backoff timer indicated by the peer
+     * @param backoffCause the cause for this backoff timer, indicated by the peer
+     * @hide
+     */
+    // NoByteOrShort: using byte to be consistent with the Backoff Timer specification
+    @SystemApi
+    public Ike3gppBackoffTimer(
+            @SuppressLint("NoByteOrShort") byte backoffTimer, @ErrorType int backoffCause) {
         mBackoffTimer = backoffTimer;
         mBackoffCause = backoffCause;
     }
diff --git a/src/java/android/net/ipsec/ike/ike3gpp/Ike3gppN1ModeInformation.java b/src/java/android/net/ipsec/ike/ike3gpp/Ike3gppN1ModeInformation.java
index bfa9e44..bee6615 100644
--- a/src/java/android/net/ipsec/ike/ike3gpp/Ike3gppN1ModeInformation.java
+++ b/src/java/android/net/ipsec/ike/ike3gpp/Ike3gppN1ModeInformation.java
@@ -32,7 +32,13 @@
 public final class Ike3gppN1ModeInformation extends Ike3gppData {
     private final byte[] mSnssai;
 
-    /** @hide */
+    /**
+     * Constructs an Ike3gppN1ModeInformation with the specified parameters.
+     *
+     * @param snssai the SNSSAI value indicated by the peer
+     * @hide
+     */
+    @SystemApi
     public Ike3gppN1ModeInformation(@NonNull byte[] snssai) {
         Objects.requireNonNull(snssai, "snssai must not be null");
         mSnssai = snssai.clone();