From 8500016ea4d41ac021d1f6eda9cdb1de15df1cd9 Mon Sep 17 00:00:00 2001 From: Etan Cohen Date: Sun, 5 Feb 2017 10:42:27 -0800 Subject: [PATCH] [CM] Remove maximum timeout value for request network The request network with timeout was originally created with a check of max timeout against a constant of 100 minutes. However, the API was not public and did not implement a timeout. Any users were internal and never got any onUnavailable() callback (since timeout never triggered). There is no reason to have a max timeout so the constant is remove. Bug: 31399536 Test: unit tests and CTS of ConnectivityManager Change-Id: Icbedfb4299d75b6a7e3e43720111531f1faafd06 --- core/java/android/net/ConnectivityManager.java | 16 +++------------- .../com/android/server/ConnectivityService.java | 2 +- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 82e3093728..5d4f5e02a7 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -2968,8 +2968,8 @@ public class ConnectivityManager { * * This function behaves identically to the non-timedout version, but if a suitable * network is not found within the given time (in milliseconds) the - * {@link NetworkCallback#unavailable} callback is called. The request must - * still be released normally by calling {@link unregisterNetworkCallback(NetworkCallback)}. + * {@link NetworkCallback#onUnavailable()} callback is called. The request must + * still be released normally by calling {@link #unregisterNetworkCallback(NetworkCallback)}. * *

This method requires the caller to hold either the * {@link android.Manifest.permission#CHANGE_NETWORK_STATE} permission @@ -2981,10 +2981,7 @@ public class ConnectivityManager { * the callbacks must not be shared - they uniquely specify * this request. * @param timeoutMs The time in milliseconds to attempt looking for a suitable network - * before {@link NetworkCallback#unavailable} is called. - * - * TODO: Make timeouts work and then unhide this method. - * + * before {@link NetworkCallback#onUnavailable()} is called. * @hide */ public void requestNetwork(NetworkRequest request, NetworkCallback networkCallback, @@ -2993,13 +2990,6 @@ public class ConnectivityManager { inferLegacyTypeForNetworkCapabilities(request.networkCapabilities)); } - /** - * The maximum number of milliseconds the framework will look for a suitable network - * during a timeout-equiped call to {@link requestNetwork}. - * {@hide} - */ - public final static int MAX_NETWORK_REQUEST_TIMEOUT_MS = 100 * 60 * 1000; - /** * The lookup key for a {@link Network} object included with the intent after * successfully finding a network for the applications request. Retrieve it with diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index dfca02ecc9..6266a394e0 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -4163,7 +4163,7 @@ public class ConnectivityService extends IConnectivityManager.Stub } ensureRequestableCapabilities(networkCapabilities); - if (timeoutMs < 0 || timeoutMs > ConnectivityManager.MAX_NETWORK_REQUEST_TIMEOUT_MS) { + if (timeoutMs < 0) { throw new IllegalArgumentException("Bad timeout specified"); }