From d0a933476c75a5c9a329f9d9292b101f69e0b4dc Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Mon, 21 Jan 2019 21:07:10 +0900 Subject: [PATCH] Add NetworkMonitor constants to SystemApi NetworkMonitor lives in the NetworkStack which must only use system APIs. This includes constants used by NetworkMonitor and captive portal login. Bug: 112869080 Test: m (Cherry-pick of aosp I4879568d3fbf9435767c8d4d0ab5198d421a2f4f) Change-Id: I8b5f0bb61c3ef0d2f33af7dd67b72ac6c5a1d1b5 --- api/system-current.txt | 23 ++++++++++++++ api/test-current.txt | 26 ++++++++++++++++ core/java/android/net/CaptivePortal.java | 8 +++++ .../java/android/net/ConnectivityManager.java | 5 ++++ core/java/android/provider/Settings.java | 30 +++++++++++++++++++ 5 files changed, 92 insertions(+) diff --git a/api/system-current.txt b/api/system-current.txt index ce0ef384ffdd8..c9c7701303945 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -3767,6 +3767,12 @@ package android.metrics { package android.net { + public class CaptivePortal implements android.os.Parcelable { + field public static final int APP_RETURN_DISMISSED = 0; // 0x0 + field public static final int APP_RETURN_UNWANTED = 1; // 0x1 + field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2 + } + public class ConnectivityManager { method @RequiresPermission(android.Manifest.permission.LOCAL_MAC_ADDRESS) public String getCaptivePortalServerUrl(); method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported(); @@ -3774,6 +3780,8 @@ package android.net { method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback); method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler); method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int); + field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC"; + field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT"; field public static final int TETHERING_BLUETOOTH = 2; // 0x2 field public static final int TETHERING_USB = 1; // 0x1 field public static final int TETHERING_WIFI = 0; // 0x0 @@ -5249,8 +5257,23 @@ package android.provider { method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String); field public static final String APP_STANDBY_ENABLED = "app_standby_enabled"; field public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages"; + field public static final String CAPTIVE_PORTAL_FALLBACK_PROBE_SPECS = "captive_portal_fallback_probe_specs"; + field public static final String CAPTIVE_PORTAL_FALLBACK_URL = "captive_portal_fallback_url"; + field public static final String CAPTIVE_PORTAL_HTTPS_URL = "captive_portal_https_url"; + field public static final String CAPTIVE_PORTAL_HTTP_URL = "captive_portal_http_url"; + field public static final String CAPTIVE_PORTAL_MODE = "captive_portal_mode"; + field public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; // 0x2 + field public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0; // 0x0 + field public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1; // 0x1 + field public static final String CAPTIVE_PORTAL_OTHER_FALLBACK_URLS = "captive_portal_other_fallback_urls"; + field public static final String CAPTIVE_PORTAL_USER_AGENT = "captive_portal_user_agent"; + field public static final String CAPTIVE_PORTAL_USE_HTTPS = "captive_portal_use_https"; field public static final String CARRIER_APP_NAMES = "carrier_app_names"; field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist"; + field public static final String DATA_STALL_CONSECUTIVE_DNS_TIMEOUT_THRESHOLD = "data_stall_consecutive_dns_timeout_threshold"; + field public static final String DATA_STALL_EVALUATION_TYPE = "data_stall_evaluation_type"; + field public static final String DATA_STALL_MIN_EVALUATE_INTERVAL = "data_stall_min_evaluate_interval"; + field public static final String DATA_STALL_VALID_DNS_TIME_THRESHOLD = "data_stall_valid_dns_time_threshold"; field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus"; field public static final String DEVICE_DEMO_MODE = "device_demo_mode"; field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data"; diff --git a/api/test-current.txt b/api/test-current.txt index fb25d136a6e70..dd8a36a0fbcca 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -780,6 +780,17 @@ package android.media.audiofx { package android.net { + public class CaptivePortal implements android.os.Parcelable { + field public static final int APP_RETURN_DISMISSED = 0; // 0x0 + field public static final int APP_RETURN_UNWANTED = 1; // 0x1 + field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2 + } + + public class ConnectivityManager { + field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC"; + field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT"; + } + public final class IpSecManager { field public static final int INVALID_SECURITY_PARAMETER_INDEX = 0; // 0x0 } @@ -1277,6 +1288,21 @@ package android.provider { field public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages"; field public static final String AUTOFILL_SMART_SUGGESTION_EMULATION_FLAGS = "autofill_smart_suggestion_emulation_flags"; field public static final String AUTOMATIC_POWER_SAVER_MODE = "automatic_power_saver_mode"; + field public static final String CAPTIVE_PORTAL_FALLBACK_PROBE_SPECS = "captive_portal_fallback_probe_specs"; + field public static final String CAPTIVE_PORTAL_FALLBACK_URL = "captive_portal_fallback_url"; + field public static final String CAPTIVE_PORTAL_HTTPS_URL = "captive_portal_https_url"; + field public static final String CAPTIVE_PORTAL_HTTP_URL = "captive_portal_http_url"; + field public static final String CAPTIVE_PORTAL_MODE = "captive_portal_mode"; + field public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; // 0x2 + field public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0; // 0x0 + field public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1; // 0x1 + field public static final String CAPTIVE_PORTAL_OTHER_FALLBACK_URLS = "captive_portal_other_fallback_urls"; + field public static final String CAPTIVE_PORTAL_USER_AGENT = "captive_portal_user_agent"; + field public static final String CAPTIVE_PORTAL_USE_HTTPS = "captive_portal_use_https"; + field public static final String DATA_STALL_CONSECUTIVE_DNS_TIMEOUT_THRESHOLD = "data_stall_consecutive_dns_timeout_threshold"; + field public static final String DATA_STALL_EVALUATION_TYPE = "data_stall_evaluation_type"; + field public static final String DATA_STALL_MIN_EVALUATE_INTERVAL = "data_stall_min_evaluate_interval"; + field public static final String DATA_STALL_VALID_DNS_TIME_THRESHOLD = "data_stall_valid_dns_time_threshold"; field public static final String DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD = "dynamic_power_savings_disable_threshold"; field public static final String DYNAMIC_POWER_SAVINGS_ENABLED = "dynamic_power_savings_enabled"; field public static final String HIDDEN_API_BLACKLIST_EXEMPTIONS = "hidden_api_blacklist_exemptions"; diff --git a/core/java/android/net/CaptivePortal.java b/core/java/android/net/CaptivePortal.java index ee05f2832a9a6..4047068f1c7ba 100644 --- a/core/java/android/net/CaptivePortal.java +++ b/core/java/android/net/CaptivePortal.java @@ -15,6 +15,8 @@ */ package android.net; +import android.annotation.SystemApi; +import android.annotation.TestApi; import android.os.IBinder; import android.os.Parcel; import android.os.Parcelable; @@ -28,10 +30,16 @@ import android.os.RemoteException; */ public class CaptivePortal implements Parcelable { /** @hide */ + @SystemApi + @TestApi public static final int APP_RETURN_DISMISSED = 0; /** @hide */ + @SystemApi + @TestApi public static final int APP_RETURN_UNWANTED = 1; /** @hide */ + @SystemApi + @TestApi public static final int APP_RETURN_WANTED_AS_IS = 2; private final IBinder mBinder; diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index abc00feeb212c..cee3a409fc231 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -23,6 +23,7 @@ import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.TestApi; import android.annotation.UnsupportedAppUsage; import android.app.PendingIntent; import android.content.Context; @@ -255,6 +256,8 @@ public class ConnectivityManager { * portal login activity. * {@hide} */ + @SystemApi + @TestApi public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC"; @@ -262,6 +265,8 @@ public class ConnectivityManager { * Key for passing a user agent string to the captive portal login activity. * {@hide} */ + @SystemApi + @TestApi public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT"; diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index d5de13c401947..8910591095c6b 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -10816,6 +10816,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0; /** @@ -10824,6 +10826,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1; /** @@ -10832,6 +10836,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; /** @@ -10841,6 +10847,8 @@ public final class Settings { * The default for this setting is CAPTIVE_PORTAL_MODE_PROMPT. * @hide */ + @SystemApi + @TestApi public static final String CAPTIVE_PORTAL_MODE = "captive_portal_mode"; /** @@ -10869,6 +10877,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final String CAPTIVE_PORTAL_HTTPS_URL = "captive_portal_https_url"; /** @@ -10877,6 +10887,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final String CAPTIVE_PORTAL_HTTP_URL = "captive_portal_http_url"; /** @@ -10885,6 +10897,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final String CAPTIVE_PORTAL_FALLBACK_URL = "captive_portal_fallback_url"; /** @@ -10893,6 +10907,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final String CAPTIVE_PORTAL_OTHER_FALLBACK_URLS = "captive_portal_other_fallback_urls"; @@ -10902,6 +10918,8 @@ public final class Settings { * by "@@,@@". * @hide */ + @SystemApi + @TestApi public static final String CAPTIVE_PORTAL_FALLBACK_PROBE_SPECS = "captive_portal_fallback_probe_specs"; @@ -10912,6 +10930,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final String CAPTIVE_PORTAL_USE_HTTPS = "captive_portal_use_https"; /** @@ -10920,6 +10940,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final String CAPTIVE_PORTAL_USER_AGENT = "captive_portal_user_agent"; /** @@ -10929,6 +10951,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final String DATA_STALL_CONSECUTIVE_DNS_TIMEOUT_THRESHOLD = "data_stall_consecutive_dns_timeout_threshold"; @@ -10937,6 +10961,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final String DATA_STALL_MIN_EVALUATE_INTERVAL = "data_stall_min_evaluate_interval"; @@ -10946,6 +10972,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final String DATA_STALL_VALID_DNS_TIME_THRESHOLD = "data_stall_valid_dns_time_threshold"; @@ -10955,6 +10983,8 @@ public final class Settings { * * @hide */ + @SystemApi + @TestApi public static final String DATA_STALL_EVALUATION_TYPE = "data_stall_evaluation_type"; /**