summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2014-04-11 15:53:27 -0700
committerRobert Greenwalt <rgreenwalt@google.com>2014-05-13 21:21:49 -0700
commite049c23980409be6576da3d30538a6cdc43854dd (patch)
treee4b53acc4aaf643704d8b6186f5bf72bc5a200a2 /core
parent0191c33539daf580a20db87d2d8a1aee648275d9 (diff)
downloadframeworks_base-e049c23980409be6576da3d30538a6cdc43854dd.zip
frameworks_base-e049c23980409be6576da3d30538a6cdc43854dd.tar.gz
frameworks_base-e049c23980409be6576da3d30538a6cdc43854dd.tar.bz2
Add NetworkFactory support.
This is a protocol allowing transports to dynamically register with CS for Handler to Handler communications. bug:13885501 Change-Id: Ic7275e3724a15efc7e5f80981560c4cb3106007b
Diffstat (limited to 'core')
-rw-r--r--core/java/android/net/ConnectivityManager.java7
-rw-r--r--core/java/android/net/ConnectivityServiceProtocol.java48
-rw-r--r--core/java/android/net/IConnectivityManager.aidl2
-rw-r--r--core/java/com/android/internal/util/Protocol.java1
4 files changed, 58 insertions, 0 deletions
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index 3e00250..2406cba 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -1587,4 +1587,11 @@ public class ConnectivityManager {
} catch (RemoteException e) {
}
}
+
+ /** {@hide} */
+ public void registerNetworkFactory(Messenger messenger) {
+ try {
+ mService.registerNetworkFactory(messenger);
+ } catch (RemoteException e) { }
+ }
}
diff --git a/core/java/android/net/ConnectivityServiceProtocol.java b/core/java/android/net/ConnectivityServiceProtocol.java
new file mode 100644
index 0000000..34ba645
--- /dev/null
+++ b/core/java/android/net/ConnectivityServiceProtocol.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2014 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 static com.android.internal.util.Protocol.BASE_CONNECTIVITY_SERVICE;
+
+/**
+ * Describes the Internal protocols used to communicate with ConnectivityService.
+ * @hide
+ */
+public class ConnectivityServiceProtocol {
+ private ConnectivityServiceProtocol() {}
+
+ private static final int BASE = BASE_CONNECTIVITY_SERVICE;
+
+ public static class NetworkFactoryProtocol {
+ private NetworkFactoryProtocol() {}
+ /**
+ * Pass a network request to the transport
+ * msg.obj = NetworkRequest
+ */
+ public static final int CMD_REQUEST_NETWORK = BASE;
+
+ /**
+ * Cancel a network request
+ * msg.obj = NetworkRequest
+ */
+ public static final int CMD_CANCEL_REQUEST = BASE + 1;
+ }
+
+ public static class NetworkAgentProtocol {
+ private NetworkAgentProtocol() {}
+ }
+}
diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl
index d53a856..b69797e 100644
--- a/core/java/android/net/IConnectivityManager.aidl
+++ b/core/java/android/net/IConnectivityManager.aidl
@@ -150,4 +150,6 @@ interface IConnectivityManager
void setProvisioningNotificationVisible(boolean visible, int networkType, in String extraInfo, in String url);
void setAirplaneMode(boolean enable);
+
+ void registerNetworkFactory(in Messenger messenger);
}
diff --git a/core/java/com/android/internal/util/Protocol.java b/core/java/com/android/internal/util/Protocol.java
index bc92c4a..0937ec3 100644
--- a/core/java/com/android/internal/util/Protocol.java
+++ b/core/java/com/android/internal/util/Protocol.java
@@ -55,5 +55,6 @@ public class Protocol {
public static final int BASE_DNS_PINGER = 0x00050000;
public static final int BASE_NSD_MANAGER = 0x00060000;
public static final int BASE_NETWORK_STATE_TRACKER = 0x00070000;
+ public static final int BASE_CONNECTIVITY_SERVICE = 0x00080000;
//TODO: define all used protocols
}