From 00cf7eda31b5fae339eaf26dd2b43f49871c0366 Mon Sep 17 00:00:00 2001 From: Yuyang Huang <yuyanghuang@google.com> Date: Mon, 15 May 2023 10:54:07 +0900 Subject: [PATCH] Enable service offload API API-Coverage-Bug: 282618639 Bug: 269240366 Test: atest CtsNetTestCases Change-Id: I7ac72b675ff3715891f31bc03c453e14b1264e40 --- framework-t/api/system-current.txt | 40 +++++++++++++++++++ .../src/android/net/nsd/IOffloadEngine.aidl | 1 + .../src/android/net/nsd/NsdManager.java | 5 ++- .../src/android/net/nsd/OffloadEngine.java | 9 ++++- .../android/net/nsd/OffloadServiceInfo.java | 3 +- 5 files changed, 54 insertions(+), 4 deletions(-) diff --git a/framework-t/api/system-current.txt b/framework-t/api/system-current.txt index 87b0a6414f..64762b4050 100644 --- a/framework-t/api/system-current.txt +++ b/framework-t/api/system-current.txt @@ -348,3 +348,43 @@ package android.net.netstats.provider { } +package android.net.nsd { + + public final class NsdManager { + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void registerOffloadEngine(@NonNull String, long, long, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.OffloadEngine); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void unregisterOffloadEngine(@NonNull android.net.nsd.OffloadEngine); + } + + public interface OffloadEngine { + method public void onOffloadServiceRemoved(@NonNull android.net.nsd.OffloadServiceInfo); + method public void onOffloadServiceUpdated(@NonNull android.net.nsd.OffloadServiceInfo); + field public static final int OFFLOAD_CAPABILITY_BYPASS_MULTICAST_LOCK = 1; // 0x1 + field public static final int OFFLOAD_TYPE_FILTER_QUERIES = 2; // 0x2 + field public static final int OFFLOAD_TYPE_FILTER_REPLIES = 4; // 0x4 + field public static final int OFFLOAD_TYPE_REPLY = 1; // 0x1 + } + + public final class OffloadServiceInfo implements android.os.Parcelable { + ctor public OffloadServiceInfo(@NonNull android.net.nsd.OffloadServiceInfo.Key, @NonNull java.util.List<java.lang.String>, @NonNull String, @Nullable byte[], @IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int, long); + method public int describeContents(); + method @NonNull public String getHostname(); + method @NonNull public android.net.nsd.OffloadServiceInfo.Key getKey(); + method @Nullable public byte[] getOffloadPayload(); + method public long getOffloadType(); + method public int getPriority(); + method @NonNull public java.util.List<java.lang.String> getSubtypes(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo> CREATOR; + } + + public static final class OffloadServiceInfo.Key implements android.os.Parcelable { + ctor public OffloadServiceInfo.Key(@NonNull String, @NonNull String); + method public int describeContents(); + method @NonNull public String getServiceName(); + method @NonNull public String getServiceType(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo.Key> CREATOR; + } + +} + diff --git a/framework-t/src/android/net/nsd/IOffloadEngine.aidl b/framework-t/src/android/net/nsd/IOffloadEngine.aidl index 379c2e0bc4..2af733dd58 100644 --- a/framework-t/src/android/net/nsd/IOffloadEngine.aidl +++ b/framework-t/src/android/net/nsd/IOffloadEngine.aidl @@ -20,6 +20,7 @@ import android.net.nsd.OffloadServiceInfo; /** * Callbacks from NsdService to inform providers of packet offload. + * * @hide */ oneway interface IOffloadEngine { diff --git a/framework-t/src/android/net/nsd/NsdManager.java b/framework-t/src/android/net/nsd/NsdManager.java index 934f185e50..ef0e34bfe7 100644 --- a/framework-t/src/android/net/nsd/NsdManager.java +++ b/framework-t/src/android/net/nsd/NsdManager.java @@ -28,6 +28,7 @@ import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; +import android.annotation.SystemApi; import android.annotation.SystemService; import android.app.compat.CompatChanges; import android.content.Context; @@ -364,7 +365,7 @@ public final class NsdManager { * * @hide */ - //@SystemApi + @SystemApi @RequiresPermission(anyOf = {NETWORK_SETTINGS, PERMISSION_MAINLINE_NETWORK_STACK, NETWORK_STACK}) public void registerOffloadEngine(@NonNull String ifaceName, @@ -401,7 +402,7 @@ public final class NsdManager { * * @hide */ - //@SystemApi + @SystemApi @RequiresPermission(anyOf = {NETWORK_SETTINGS, PERMISSION_MAINLINE_NETWORK_STACK, NETWORK_STACK}) public void unregisterOffloadEngine(@NonNull OffloadEngine engine) { diff --git a/framework-t/src/android/net/nsd/OffloadEngine.java b/framework-t/src/android/net/nsd/OffloadEngine.java index d9397252d6..b566b13e92 100644 --- a/framework-t/src/android/net/nsd/OffloadEngine.java +++ b/framework-t/src/android/net/nsd/OffloadEngine.java @@ -18,6 +18,7 @@ package android.net.nsd; import android.annotation.LongDef; import android.annotation.NonNull; +import android.annotation.SystemApi; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -32,7 +33,7 @@ import java.lang.annotation.RetentionPolicy; * * @hide */ -//@SystemApi +@SystemApi public interface OffloadEngine { /** * Indicates that the OffloadEngine can generate replies to mDns queries. @@ -55,6 +56,9 @@ public interface OffloadEngine { */ int OFFLOAD_CAPABILITY_BYPASS_MULTICAST_LOCK = 1; + /** + * @hide + */ @Retention(RetentionPolicy.SOURCE) @LongDef(flag = true, prefix = {"OFFLOAD_TYPE"}, value = { OFFLOAD_TYPE_REPLY, @@ -63,6 +67,9 @@ public interface OffloadEngine { }) @interface OffloadType {} + /** + * @hide + */ @Retention(RetentionPolicy.SOURCE) @LongDef(flag = true, prefix = {"OFFLOAD_CAPABILITY"}, value = { OFFLOAD_CAPABILITY_BYPASS_MULTICAST_LOCK diff --git a/framework-t/src/android/net/nsd/OffloadServiceInfo.java b/framework-t/src/android/net/nsd/OffloadServiceInfo.java index 4aec7207d3..7bd5a7d5a5 100644 --- a/framework-t/src/android/net/nsd/OffloadServiceInfo.java +++ b/framework-t/src/android/net/nsd/OffloadServiceInfo.java @@ -19,6 +19,7 @@ package android.net.nsd; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; @@ -36,7 +37,7 @@ import java.util.Objects; * * @hide */ -// @SystemApi +@SystemApi public final class OffloadServiceInfo implements Parcelable { @NonNull private final Key mKey; -- GitLab