IConnectivityManager.aidl revision 1b0ca9dace3fb3b84f8a87e539c0179e6093b423
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (c) 2008, The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 46fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang * Licensed under the Apache License, Version 2.0 (the "License"); 56fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang * you may not use this file except in compliance with the License. 66fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 86fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 106fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang * Unless required by applicable law or agreed to in writing, software 116fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang * distributed under the License is distributed on an "AS IS" BASIS, 126fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang * 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 19d192dad69e9e5a820c5c11d8cd34460c9cc2ed11Robert Greenwaltimport android.net.LinkProperties; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.net.NetworkInfo; 21f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkeyimport android.net.NetworkQuotaInfo; 22d2a458750e5a3d490af09cecb5c28370baf0a913Jeff Sharkeyimport android.net.NetworkState; 23434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwaltimport android.net.ProxyProperties; 2442acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwaltimport android.os.IBinder; 25665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwaltimport android.os.Messenger; 26ff3bdca31f4cf2bd607519b276dd175763aa1784Chia-chi Yehimport android.os.ParcelFileDescriptor; 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 282e46764a707bd14cad22bc179669eeecb2d7c647Chia-chi Yehimport com.android.internal.net.LegacyVpnInfo; 2904ba25c418bc4538e9dc0f047cfb9608d358f679Chia-chi Yehimport com.android.internal.net.VpnConfig; 3082f8521d386f3109147c477d04e5e90e5c715fa0Jeff Sharkeyimport com.android.internal.net.VpnProfile; 3104ba25c418bc4538e9dc0f047cfb9608d358f679Chia-chi Yeh 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Interface that answers queries about, and allows changing, the 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * state of network connectivity. 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** {@hide} */ 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface IConnectivityManager 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setNetworkPreference(int pref); 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getNetworkPreference(); 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project NetworkInfo getActiveNetworkInfo(); 44c006f1aec15454782c35e028ad64d79a5c161cc1Jeff Sharkey NetworkInfo getActiveNetworkInfoForUid(int uid); 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project NetworkInfo getNetworkInfo(int networkType); 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project NetworkInfo[] getAllNetworkInfo(); 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 489b2886e24301e5d4e7052ec4a6eaff273d3f516cRobert Greenwalt boolean isNetworkSupported(int networkType); 499b2886e24301e5d4e7052ec4a6eaff273d3f516cRobert Greenwalt 50d192dad69e9e5a820c5c11d8cd34460c9cc2ed11Robert Greenwalt LinkProperties getActiveLinkProperties(); 51d192dad69e9e5a820c5c11d8cd34460c9cc2ed11Robert Greenwalt LinkProperties getLinkProperties(int networkType); 52d192dad69e9e5a820c5c11d8cd34460c9cc2ed11Robert Greenwalt 53d2a458750e5a3d490af09cecb5c28370baf0a913Jeff Sharkey NetworkState[] getAllNetworkState(); 54d2a458750e5a3d490af09cecb5c28370baf0a913Jeff Sharkey 55f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey NetworkQuotaInfo getActiveNetworkQuotaInfo(); 569f7cbf0e50bcb7e9163b23524814003ba8784732Jeff Sharkey boolean isActiveNetworkMetered(); 57f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean setRadios(boolean onOff); 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean setRadio(int networkType, boolean turnOn); 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6242acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt int startUsingNetworkFeature(int networkType, in String feature, 6342acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt in IBinder binder); 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int stopUsingNetworkFeature(int networkType, in String feature); 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean requestRouteToHost(int networkType, int hostAddress); 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69585ac0fc8dde3fe35ec4c71c8f215f2c84139b8bRobert Greenwalt boolean requestRouteToHostAddress(int networkType, in byte[] hostAddress); 70585ac0fc8dde3fe35ec4c71c8f215f2c84139b8bRobert Greenwalt 71c03fa5014912684367174ff3cce664deb29f5e0eRobert Greenwalt boolean getMobileDataEnabled(); 72c03fa5014912684367174ff3cce664deb29f5e0eRobert Greenwalt void setMobileDataEnabled(boolean enabled); 73c03fa5014912684367174ff3cce664deb29f5e0eRobert Greenwalt 748e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey /** Policy control over specific {@link NetworkStateTracker}. */ 758e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey void setPolicyDataEnable(int networkType, boolean enabled); 768e28b7d78232f6cf08739ca0d129cc7f9e650801Jeff Sharkey 775a73506cdd466f2b96686ced3ff0f7ca224d1143Robert Greenwalt int tether(String iface); 78d0e18ffb82b59d38aeaf0e552f48e734202719abRobert Greenwalt 795a73506cdd466f2b96686ced3ff0f7ca224d1143Robert Greenwalt int untether(String iface); 805a73506cdd466f2b96686ced3ff0f7ca224d1143Robert Greenwalt 815a73506cdd466f2b96686ced3ff0f7ca224d1143Robert Greenwalt int getLastTetherError(String iface); 82d0e18ffb82b59d38aeaf0e552f48e734202719abRobert Greenwalt 832a091d7aa0c174986387e5d56bf97a87fe075bdbRobert Greenwalt boolean isTetheringSupported(); 842a091d7aa0c174986387e5d56bf97a87fe075bdbRobert Greenwalt 85d0e18ffb82b59d38aeaf0e552f48e734202719abRobert Greenwalt String[] getTetherableIfaces(); 86d0e18ffb82b59d38aeaf0e552f48e734202719abRobert Greenwalt 87d0e18ffb82b59d38aeaf0e552f48e734202719abRobert Greenwalt String[] getTetheredIfaces(); 882a091d7aa0c174986387e5d56bf97a87fe075bdbRobert Greenwalt 89cdd02c5d76d3dd4e21b5bb922d7fcfb86efec85fJeff Sharkey /** 90cdd02c5d76d3dd4e21b5bb922d7fcfb86efec85fJeff Sharkey * Return list of interface pairs that are actively tethered. Even indexes are 91cdd02c5d76d3dd4e21b5bb922d7fcfb86efec85fJeff Sharkey * remote interface, and odd indexes are corresponding local interfaces. 92cdd02c5d76d3dd4e21b5bb922d7fcfb86efec85fJeff Sharkey */ 93cdd02c5d76d3dd4e21b5bb922d7fcfb86efec85fJeff Sharkey String[] getTetheredIfacePairs(); 94cdd02c5d76d3dd4e21b5bb922d7fcfb86efec85fJeff Sharkey 955a73506cdd466f2b96686ced3ff0f7ca224d1143Robert Greenwalt String[] getTetheringErroredIfaces(); 965a73506cdd466f2b96686ced3ff0f7ca224d1143Robert Greenwalt 972a091d7aa0c174986387e5d56bf97a87fe075bdbRobert Greenwalt String[] getTetherableUsbRegexs(); 982a091d7aa0c174986387e5d56bf97a87fe075bdbRobert Greenwalt 992a091d7aa0c174986387e5d56bf97a87fe075bdbRobert Greenwalt String[] getTetherableWifiRegexs(); 10014f2ef4c9da27a3d58d65dc9f684c5f764ee279aRobert Greenwalt 1016fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang String[] getTetherableBluetoothRegexs(); 1026fdd0c6274c81b337ad35b70480f881daf7354c3Danica Chang 1036c2260b3af3a9243aa7f04cf03106f31817cb4c1Mike Lockwood int setUsbTethering(boolean enable); 1046c2260b3af3a9243aa7f04cf03106f31817cb4c1Mike Lockwood 10514f2ef4c9da27a3d58d65dc9f684c5f764ee279aRobert Greenwalt void requestNetworkTransitionWakelock(in String forWhom); 106ca4306c976d393c3cd04270bc2de0af2f4f30fa5Robert Greenwalt 107d7085fcf6567452a9d6fc69b0c6b1bf556f4c1b9Robert Greenwalt void reportInetCondition(int networkType, int percentage); 108434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt 109434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt ProxyProperties getGlobalProxy(); 110434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt 111434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt void setGlobalProxy(in ProxyProperties p); 112434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt 113434203a277cd2f237a71508a3d5a7d1602126cd5Robert Greenwalt ProxyProperties getProxy(); 114d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 115d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt void setDataDependency(int networkType, boolean met); 116ff3bdca31f4cf2bd607519b276dd175763aa1784Chia-chi Yeh 1175779c9c2d9f1f7a28279fe907aebbb43981286fdChia-chi Yeh boolean protectVpn(in ParcelFileDescriptor socket); 118ff3bdca31f4cf2bd607519b276dd175763aa1784Chia-chi Yeh 119100155a310fbb5028fc48e359bdfb7c4d3531843Chia-chi Yeh boolean prepareVpn(String oldPackage, String newPackage); 120ff3bdca31f4cf2bd607519b276dd175763aa1784Chia-chi Yeh 12104ba25c418bc4538e9dc0f047cfb9608d358f679Chia-chi Yeh ParcelFileDescriptor establishVpn(in VpnConfig config); 12277fd485c2ff780d1e6ef0ba1e3e811370ecbc528Chia-chi Yeh 12382f8521d386f3109147c477d04e5e90e5c715fa0Jeff Sharkey void startLegacyVpn(in VpnProfile profile); 1242e46764a707bd14cad22bc179669eeecb2d7c647Chia-chi Yeh 1252e46764a707bd14cad22bc179669eeecb2d7c647Chia-chi Yeh LegacyVpnInfo getLegacyVpnInfo(); 12669ddab4575ff684c533c995e07ca15fe18543fc0Jeff Sharkey 12769ddab4575ff684c533c995e07ca15fe18543fc0Jeff Sharkey boolean updateLockdownVpn(); 128da6da0907b28d4704aabbdb1bbeb4300954670d1Irfan Sheriff 129da6da0907b28d4704aabbdb1bbeb4300954670d1Irfan Sheriff void captivePortalCheckComplete(in NetworkInfo info); 130665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt 131665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt void supplyMessenger(int networkType, in Messenger messenger); 1321b0ca9dace3fb3b84f8a87e539c0179e6093b423Robert Greenwalt 1331b0ca9dace3fb3b84f8a87e539c0179e6093b423Robert Greenwalt int findConnectionTypeForIface(in String iface); 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 135