From cff22949d255ff284a8c856a158defa4595c528f Mon Sep 17 00:00:00 2001 From: Aaron Huang Date: Thu, 27 May 2021 16:31:26 +0800 Subject: [PATCH] Remove framework-connectivity-annotations library This library can be removed because the annotations are no longer used out of module. @RestrictBackgroundStatus and @MultipathPreference are defined in connectivity mainline module. Annotate these in non-updatable platform is not going to be manageable long term. For example, if the module gets updated and the annotation gets more values then it's a problem in non-updatable platform. So, it should not have IntDef cross module boundaries. Ignore-AOSP-First: AOSP doesn't include this change yet Bug: 183972925 Test: build Change-Id: I63f1fde73c4ffdaff9fda914e33cbb5a110ba64e --- framework/Android.bp | 16 ------ .../android/net/ConnectivityAnnotations.java | 51 ------------------- .../src/android/net/ConnectivityManager.java | 22 +++++++- .../net/ConnectivitySettingsManager.java | 2 +- service/Android.bp | 1 - .../android/server/ConnectivityService.java | 2 +- 6 files changed, 22 insertions(+), 72 deletions(-) delete mode 100644 framework/src/android/net/ConnectivityAnnotations.java diff --git a/framework/Android.bp b/framework/Android.bp index ee71e154dc..a447a9c117 100644 --- a/framework/Android.bp +++ b/framework/Android.bp @@ -55,22 +55,6 @@ filegroup { ], } -java_library { - name: "framework-connectivity-annotations", - sdk_version: "module_current", - srcs: [ - "src/android/net/ConnectivityAnnotations.java", - ], - libs: [ - "framework-annotations-lib", - "framework-connectivity", - ], - visibility: [ - "//frameworks/base:__subpackages__", - "//packages/modules/Connectivity:__subpackages__", - ], -} - java_sdk_library { name: "framework-connectivity", sdk_version: "module_current", diff --git a/framework/src/android/net/ConnectivityAnnotations.java b/framework/src/android/net/ConnectivityAnnotations.java deleted file mode 100644 index eb1faa0aa2..0000000000 --- a/framework/src/android/net/ConnectivityAnnotations.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.net; - -import android.annotation.IntDef; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -/** - * Type annotations for constants used in the connectivity API surface. - * - * The annotations are maintained in a separate class so that it can be built as - * a separate library that other modules can build against, as Typedef should not - * be exposed as SystemApi. - * - * @hide - */ -public final class ConnectivityAnnotations { - private ConnectivityAnnotations() {} - - @Retention(RetentionPolicy.SOURCE) - @IntDef(flag = true, value = { - ConnectivityManager.MULTIPATH_PREFERENCE_HANDOVER, - ConnectivityManager.MULTIPATH_PREFERENCE_RELIABILITY, - ConnectivityManager.MULTIPATH_PREFERENCE_PERFORMANCE, - }) - public @interface MultipathPreference {} - - @Retention(RetentionPolicy.SOURCE) - @IntDef(flag = false, value = { - ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED, - ConnectivityManager.RESTRICT_BACKGROUND_STATUS_WHITELISTED, - ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED, - }) - public @interface RestrictBackgroundStatus {} -} diff --git a/framework/src/android/net/ConnectivityManager.java b/framework/src/android/net/ConnectivityManager.java index 3af90db6cd..a3fc6216d5 100644 --- a/framework/src/android/net/ConnectivityManager.java +++ b/framework/src/android/net/ConnectivityManager.java @@ -40,8 +40,6 @@ import android.compat.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.content.Context; import android.content.Intent; -import android.net.ConnectivityAnnotations.MultipathPreference; -import android.net.ConnectivityAnnotations.RestrictBackgroundStatus; import android.net.ConnectivityDiagnosticsManager.DataStallReport.DetectionMethod; import android.net.IpSecManager.UdpEncapsulationSocket; import android.net.SocketKeepalive.Callback; @@ -4809,6 +4807,16 @@ public class ConnectivityManager { MULTIPATH_PREFERENCE_RELIABILITY | MULTIPATH_PREFERENCE_PERFORMANCE; + /** @hide */ + @Retention(RetentionPolicy.SOURCE) + @IntDef(flag = true, value = { + MULTIPATH_PREFERENCE_HANDOVER, + MULTIPATH_PREFERENCE_RELIABILITY, + MULTIPATH_PREFERENCE_PERFORMANCE, + }) + public @interface MultipathPreference { + } + /** * Provides a hint to the calling application on whether it is desirable to use the * multinetwork APIs (e.g., {@link Network#openConnection}, {@link Network#bindSocket}, etc.) @@ -5030,6 +5038,16 @@ public class ConnectivityManager { public static final String ACTION_RESTRICT_BACKGROUND_CHANGED = "android.net.conn.RESTRICT_BACKGROUND_CHANGED"; + /** @hide */ + @Retention(RetentionPolicy.SOURCE) + @IntDef(flag = false, value = { + RESTRICT_BACKGROUND_STATUS_DISABLED, + RESTRICT_BACKGROUND_STATUS_WHITELISTED, + RESTRICT_BACKGROUND_STATUS_ENABLED, + }) + public @interface RestrictBackgroundStatus { + } + /** * Determines if the calling application is subject to metered network restrictions while * running on background. diff --git a/framework/src/android/net/ConnectivitySettingsManager.java b/framework/src/android/net/ConnectivitySettingsManager.java index ae1a8a0f71..5f7f539d0a 100644 --- a/framework/src/android/net/ConnectivitySettingsManager.java +++ b/framework/src/android/net/ConnectivitySettingsManager.java @@ -27,7 +27,7 @@ import android.annotation.Nullable; import android.annotation.SystemApi; import android.content.ContentResolver; import android.content.Context; -import android.net.ConnectivityAnnotations.MultipathPreference; +import android.net.ConnectivityManager.MultipathPreference; import android.os.Process; import android.os.UserHandle; import android.provider.Settings; diff --git a/service/Android.bp b/service/Android.bp index 28bcdcba89..c4fac9059b 100644 --- a/service/Android.bp +++ b/service/Android.bp @@ -61,7 +61,6 @@ java_library { "stable.core.platform.api.stubs", "android_system_server_stubs_current", "framework-annotations-lib", - "framework-connectivity-annotations", "framework-connectivity.impl", "framework-tethering.stubs.module_lib", "framework-wifi.stubs.module_lib", diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index 5c47f27ef5..403b92922b 100644 --- a/service/src/com/android/server/ConnectivityService.java +++ b/service/src/com/android/server/ConnectivityService.java @@ -105,12 +105,12 @@ import android.database.ContentObserver; import android.net.CaptivePortal; import android.net.CaptivePortalData; import android.net.ConnectionInfo; -import android.net.ConnectivityAnnotations.RestrictBackgroundStatus; import android.net.ConnectivityDiagnosticsManager.ConnectivityReport; import android.net.ConnectivityDiagnosticsManager.DataStallReport; import android.net.ConnectivityManager; import android.net.ConnectivityManager.BlockedReason; import android.net.ConnectivityManager.NetworkCallback; +import android.net.ConnectivityManager.RestrictBackgroundStatus; import android.net.ConnectivityResources; import android.net.ConnectivitySettingsManager; import android.net.DataStallReportParcelable;