19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.net; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19c7a98341b053bd8090accca151e8f3522f2dd126Wink Savilleimport android.content.Context; 20c7a98341b053bd8090accca151e8f3522f2dd126Wink Savilleimport android.os.Handler; 21665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwaltimport android.os.Messenger; 22665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt 23665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwaltimport static com.android.internal.util.Protocol.BASE_NETWORK_STATE_TRACKER; 24c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 26c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Interface provides the {@link com.android.server.ConnectivityService} 27c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * with three services. Events to the ConnectivityService when 28c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * changes occur, an API for controlling the network and storage 29c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * for network specific information. 30c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * 31c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * The Connectivity will call startMonitoring before any other 32c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * method is called. 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 36d649c12815bcf944b2c97371f3f60716a42a1557Irfan Sheriffpublic interface NetworkStateTracker { 3742acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 39c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * ------------------------------------------------------------- 40c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Event Interface back to ConnectivityService. 41c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * 42c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * The events that are to be sent back to the Handler passed 43c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * to startMonitoring when the particular event occurs. 44c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * ------------------------------------------------------------- 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47d649c12815bcf944b2c97371f3f60716a42a1557Irfan Sheriff /** 48c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * The network state has changed and the NetworkInfo object 49c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * contains the new state. 50c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * 51c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * msg.what = EVENT_STATE_CHANGED 52c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * msg.obj = NetworkInfo object 53d649c12815bcf944b2c97371f3f60716a42a1557Irfan Sheriff */ 54665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt public static final int EVENT_STATE_CHANGED = BASE_NETWORK_STATE_TRACKER; 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 57c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * msg.what = EVENT_CONFIGURATION_CHANGED 58c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * msg.obj = NetworkInfo object 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 60665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt public static final int EVENT_CONFIGURATION_CHANGED = BASE_NETWORK_STATE_TRACKER + 1; 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 63c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * msg.what = EVENT_RESTORE_DEFAULT_NETWORK 64c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * msg.obj = FeatureUser object 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 66665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt public static final int EVENT_RESTORE_DEFAULT_NETWORK = BASE_NETWORK_STATE_TRACKER + 2; 6742acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 69d14e17627266ff8cf804d1f8241a0a4bde7a0ab4Robert Greenwalt * msg.what = EVENT_NETWORK_SUBTYPE_CHANGED 70d14e17627266ff8cf804d1f8241a0a4bde7a0ab4Robert Greenwalt * msg.obj = NetworkInfo object 71d14e17627266ff8cf804d1f8241a0a4bde7a0ab4Robert Greenwalt */ 72665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt public static final int EVENT_NETWORK_SUBTYPE_CHANGED = BASE_NETWORK_STATE_TRACKER + 3; 73665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt 74665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt /** 75665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt * msg.what = EVENT_NETWORK_CONNECTED 76665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt * msg.obj = LinkProperties object 77665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt */ 78665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt public static final int EVENT_NETWORK_CONNECTED = BASE_NETWORK_STATE_TRACKER + 4; 79665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt 80665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt /** 81665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt * msg.what = EVENT_NETWORK_CONNECTION_DISCONNECTED 82665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt * msg.obj = LinkProperties object, same iface name 83665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt */ 84665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt public static final int EVENT_NETWORK_DISCONNECTED = BASE_NETWORK_STATE_TRACKER + 5; 85665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt 86d14e17627266ff8cf804d1f8241a0a4bde7a0ab4Robert Greenwalt 87d14e17627266ff8cf804d1f8241a0a4bde7a0ab4Robert Greenwalt /** 88c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * ------------------------------------------------------------- 89c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Control Interface 90c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * ------------------------------------------------------------- 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 93c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Begin monitoring data connectivity. 94c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * 95c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * This is the first method called when this interface is used. 96c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * 97c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * @param context is the current Android context 98c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * @param target is the Hander to which to return the events. 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 100c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville public void startMonitoring(Context context, Handler target); 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 103c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Fetch NetworkInfo for the network 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 105c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville public NetworkInfo getNetworkInfo(); 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 108f61101f6266be243c481d163b95e65d67b8d1669Wink Saville * Return the LinkProperties for the connection. 109f61101f6266be243c481d163b95e65d67b8d1669Wink Saville * 110f61101f6266be243c481d163b95e65d67b8d1669Wink Saville * @return a copy of the LinkProperties, is never null. 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11237e65ebb7eb932e1a144b1cab262e11ca5fd109bRobert Greenwalt public LinkProperties getLinkProperties(); 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 115f61101f6266be243c481d163b95e65d67b8d1669Wink Saville * A capability is an Integer/String pair, the capabilities 116f61101f6266be243c481d163b95e65d67b8d1669Wink Saville * are defined in the class LinkSocket#Key. 117f61101f6266be243c481d163b95e65d67b8d1669Wink Saville * 118f61101f6266be243c481d163b95e65d67b8d1669Wink Saville * @return a copy of this connections capabilities, may be empty but never null. 119f61101f6266be243c481d163b95e65d67b8d1669Wink Saville */ 120f61101f6266be243c481d163b95e65d67b8d1669Wink Saville public LinkCapabilities getLinkCapabilities(); 121f61101f6266be243c481d163b95e65d67b8d1669Wink Saville 122f61101f6266be243c481d163b95e65d67b8d1669Wink Saville /** 123c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Return the system properties name associated with the tcp buffer sizes 124c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * for this network. 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 126c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville public String getTcpBufferSizesPropName(); 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disable connectivity to a network 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return {@code true} if a teardown occurred, {@code false} if the 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * teardown did not occur. 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 133d649c12815bcf944b2c97371f3f60716a42a1557Irfan Sheriff public boolean teardown(); 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Reenable connectivity to a network after a {@link #teardown()}. 13702648a4b8422733ed401f07edf8e426318bb2f8dRobert Greenwalt * @return {@code true} if we're connected or expect to be connected 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 139d649c12815bcf944b2c97371f3f60716a42a1557Irfan Sheriff public boolean reconnect(); 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 142da6da0907b28d4704aabbdb1bbeb4300954670d1Irfan Sheriff * Ready to switch on to the network after captive portal check 143da6da0907b28d4704aabbdb1bbeb4300954670d1Irfan Sheriff */ 144da6da0907b28d4704aabbdb1bbeb4300954670d1Irfan Sheriff public void captivePortalCheckComplete(); 145da6da0907b28d4704aabbdb1bbeb4300954670d1Irfan Sheriff 146da6da0907b28d4704aabbdb1bbeb4300954670d1Irfan Sheriff /** 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Turn the wireless radio off for a network. 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param turnOn {@code true} to turn the radio on, {@code false} 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 150d649c12815bcf944b2c97371f3f60716a42a1557Irfan Sheriff public boolean setRadio(boolean turnOn); 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns an indication of whether this network is available for 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * connections. A value of {@code false} means that some quasi-permanent 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * condition prevents connectivity to this network. 15612e24ae7600f8297abcde0d7c29d6cfb64f59dfbRobert Greenwalt * 15712e24ae7600f8297abcde0d7c29d6cfb64f59dfbRobert Greenwalt * NOTE that this is broken on multi-connection devices. Should be fixed in J release 15812e24ae7600f8297abcde0d7c29d6cfb64f59dfbRobert Greenwalt * TODO - fix on multi-pdp devices 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 160d649c12815bcf944b2c97371f3f60716a42a1557Irfan Sheriff public boolean isAvailable(); 161d649c12815bcf944b2c97371f3f60716a42a1557Irfan Sheriff 162d649c12815bcf944b2c97371f3f60716a42a1557Irfan Sheriff /** 1638e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey * User control of data connection through this network, typically persisted 1648e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey * internally. 165e798268f16ec6d0542616ea45ca0bb18ae2645eeWink Saville */ 1668e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey public void setUserDataEnable(boolean enabled); 1678e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey 1688e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey /** 1698e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey * Policy control of data connection through this network, typically not 1708e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey * persisted internally. Usually used when {@link NetworkPolicy#limitBytes} 1718e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey * is passed. 1728e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey */ 1738e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey public void setPolicyDataEnable(boolean enabled); 174e798268f16ec6d0542616ea45ca0bb18ae2645eeWink Saville 175e798268f16ec6d0542616ea45ca0bb18ae2645eeWink Saville /** 176c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * ------------------------------------------------------------- 177c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Storage API used by ConnectivityService for saving 178c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Network specific information. 179c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * ------------------------------------------------------------- 180c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville */ 181c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville 182c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville /** 183c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Check if private DNS route is set for the network 184c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville */ 185c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville public boolean isPrivateDnsRouteSet(); 186c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville 187c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville /** 188c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Set a flag indicating private DNS route is set 189c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville */ 190c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville public void privateDnsRouteSet(boolean enabled); 191c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville 192c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville /** 193c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Check if default route is set 194c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville */ 195c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville public boolean isDefaultRouteSet(); 196c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville 197c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville /** 198c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Set a flag indicating default route is set for the network 199c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville */ 200c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville public void defaultRouteSet(boolean enabled); 201c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville 202c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville /** 203c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Check if tear down was requested 204c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville */ 205c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville public boolean isTeardownRequested(); 206c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville 207c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville /** 208c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville * Indicate tear down requested from connectivity 209c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville */ 210c7a98341b053bd8090accca151e8f3522f2dd126Wink Saville public void setTeardownRequested(boolean isRequested); 211d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 212d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt /** 213d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * An external dependency has been met/unmet 214d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 215d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt public void setDependencyMet(boolean met); 21669edd64d9bf839428ce0a7723cd0f1deda98dc0dLorenzo Colitti 21769edd64d9bf839428ce0a7723cd0f1deda98dc0dLorenzo Colitti /** 21869edd64d9bf839428ce0a7723cd0f1deda98dc0dLorenzo Colitti * Informs the state tracker that another interface is stacked on top of it. 21969edd64d9bf839428ce0a7723cd0f1deda98dc0dLorenzo Colitti **/ 22069edd64d9bf839428ce0a7723cd0f1deda98dc0dLorenzo Colitti public void addStackedLink(LinkProperties link); 22169edd64d9bf839428ce0a7723cd0f1deda98dc0dLorenzo Colitti 22269edd64d9bf839428ce0a7723cd0f1deda98dc0dLorenzo Colitti /** 22369edd64d9bf839428ce0a7723cd0f1deda98dc0dLorenzo Colitti * Informs the state tracker that a stacked interface has been removed. 22469edd64d9bf839428ce0a7723cd0f1deda98dc0dLorenzo Colitti **/ 22569edd64d9bf839428ce0a7723cd0f1deda98dc0dLorenzo Colitti public void removeStackedLink(LinkProperties link); 226665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt 227665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt /* 228665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt * Called once to setup async channel between this and 229665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt * the underlying network specific code. 230665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt */ 231665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt public void supplyMessenger(Messenger messenger); 2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 233