From ce23d8467eac945ea850983cd0b717cdcbd4cb05 Mon Sep 17 00:00:00 2001 From: Motomu Utsumi Date: Tue, 28 Nov 2023 16:18:00 +0900 Subject: [PATCH] Add FlaggedAPI annotation to NSD offload APIs These APIs were released via SDK extension but they need to have FlaggedAPI annotation to avoid being released by quarterly release. Note that this CL does not contain udc-extended-api change. Once com.android.net.flags.register_nsd_offload_engine_api is marked as released API, APIs with this annotations should be visible in udc-mainline-prod API .txt files. Bug: 301713539 Test: TH Change-Id: I32b58ec64c1f599f48bc89b189ed24ac1717a1d7 --- framework-t/api/system-current.txt | 8 ++++---- framework-t/src/android/net/nsd/NsdManager.java | 11 +++++++++++ framework-t/src/android/net/nsd/OffloadEngine.java | 2 ++ .../src/android/net/nsd/OffloadServiceInfo.java | 2 ++ 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/framework-t/api/system-current.txt b/framework-t/api/system-current.txt index 05cf9e8463..3513573839 100644 --- a/framework-t/api/system-current.txt +++ b/framework-t/api/system-current.txt @@ -378,11 +378,11 @@ 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); + method @FlaggedApi("com.android.net.flags.register_nsd_offload_engine_api") @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 @FlaggedApi("com.android.net.flags.register_nsd_offload_engine_api") @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 { + @FlaggedApi("com.android.net.flags.register_nsd_offload_engine_api") 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 @@ -391,7 +391,7 @@ package android.net.nsd { field public static final int OFFLOAD_TYPE_REPLY = 1; // 0x1 } - public final class OffloadServiceInfo implements android.os.Parcelable { + @FlaggedApi("com.android.net.flags.register_nsd_offload_engine_api") public final class OffloadServiceInfo implements android.os.Parcelable { ctor public OffloadServiceInfo(@NonNull android.net.nsd.OffloadServiceInfo.Key, @NonNull java.util.List, @NonNull String, @Nullable byte[], @IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int, long); method public int describeContents(); method @NonNull public String getHostname(); diff --git a/framework-t/src/android/net/nsd/NsdManager.java b/framework-t/src/android/net/nsd/NsdManager.java index ef0e34bfe7..f59bb52cf0 100644 --- a/framework-t/src/android/net/nsd/NsdManager.java +++ b/framework-t/src/android/net/nsd/NsdManager.java @@ -22,6 +22,7 @@ import static android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK; import static android.net.connectivity.ConnectivityCompatChanges.ENABLE_PLATFORM_MDNS_BACKEND; import static android.net.connectivity.ConnectivityCompatChanges.RUN_NATIVE_NSD_ONLY_IF_LEGACY_APPS_T_AND_LATER; +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; @@ -143,6 +144,14 @@ public final class NsdManager { private static final String TAG = NsdManager.class.getSimpleName(); private static final boolean DBG = false; + // TODO : remove this class when udc-mainline-prod is abandoned and android.net.flags.Flags is + // available here + /** @hide */ + public static class Flags { + static final String REGISTER_NSD_OFFLOAD_ENGINE_API = + "com.android.net.flags.register_nsd_offload_engine_api"; + } + /** * Broadcast intent action to indicate whether network service discovery is * enabled or disabled. An extra {@link #EXTRA_NSD_STATE} provides the state @@ -365,6 +374,7 @@ public final class NsdManager { * * @hide */ + @FlaggedApi(NsdManager.Flags.REGISTER_NSD_OFFLOAD_ENGINE_API) @SystemApi @RequiresPermission(anyOf = {NETWORK_SETTINGS, PERMISSION_MAINLINE_NETWORK_STACK, NETWORK_STACK}) @@ -402,6 +412,7 @@ public final class NsdManager { * * @hide */ + @FlaggedApi(NsdManager.Flags.REGISTER_NSD_OFFLOAD_ENGINE_API) @SystemApi @RequiresPermission(anyOf = {NETWORK_SETTINGS, PERMISSION_MAINLINE_NETWORK_STACK, NETWORK_STACK}) diff --git a/framework-t/src/android/net/nsd/OffloadEngine.java b/framework-t/src/android/net/nsd/OffloadEngine.java index b566b13e92..901598585e 100644 --- a/framework-t/src/android/net/nsd/OffloadEngine.java +++ b/framework-t/src/android/net/nsd/OffloadEngine.java @@ -16,6 +16,7 @@ package android.net.nsd; +import android.annotation.FlaggedApi; import android.annotation.LongDef; import android.annotation.NonNull; import android.annotation.SystemApi; @@ -33,6 +34,7 @@ import java.lang.annotation.RetentionPolicy; * * @hide */ +@FlaggedApi("com.android.net.flags.register_nsd_offload_engine_api") @SystemApi public interface OffloadEngine { /** diff --git a/framework-t/src/android/net/nsd/OffloadServiceInfo.java b/framework-t/src/android/net/nsd/OffloadServiceInfo.java index d5dbf19e76..98dc83a7db 100644 --- a/framework-t/src/android/net/nsd/OffloadServiceInfo.java +++ b/framework-t/src/android/net/nsd/OffloadServiceInfo.java @@ -16,6 +16,7 @@ package android.net.nsd; +import android.annotation.FlaggedApi; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; @@ -39,6 +40,7 @@ import java.util.Objects; * * @hide */ +@FlaggedApi("com.android.net.flags.register_nsd_offload_engine_api") @SystemApi @RequiresApi(Build.VERSION_CODES.TIRAMISU) public final class OffloadServiceInfo implements Parcelable {