1 /** 2 * Copyright (c) 2008, The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.net; 18 19 import android.app.PendingIntent; 20 import android.net.LinkProperties; 21 import android.net.Network; 22 import android.net.NetworkCapabilities; 23 import android.net.NetworkInfo; 24 import android.net.NetworkMisc; 25 import android.net.NetworkQuotaInfo; 26 import android.net.NetworkRequest; 27 import android.net.NetworkState; 28 import android.net.ProxyInfo; 29 import android.os.IBinder; 30 import android.os.Messenger; 31 import android.os.ParcelFileDescriptor; 32 import android.os.ResultReceiver; 33 34 import com.android.internal.net.LegacyVpnInfo; 35 import com.android.internal.net.VpnConfig; 36 import com.android.internal.net.VpnInfo; 37 import com.android.internal.net.VpnProfile; 38 39 /** 40 * Interface that answers queries about, and allows changing, the 41 * state of network connectivity. 42 */ 43 /** {@hide} */ 44 interface IConnectivityManager 45 { getActiveNetwork()46 Network getActiveNetwork(); getActiveNetworkInfo()47 NetworkInfo getActiveNetworkInfo(); getActiveNetworkInfoForUid(int uid)48 NetworkInfo getActiveNetworkInfoForUid(int uid); getNetworkInfo(int networkType)49 NetworkInfo getNetworkInfo(int networkType); getNetworkInfoForNetwork(in Network network)50 NetworkInfo getNetworkInfoForNetwork(in Network network); getAllNetworkInfo()51 NetworkInfo[] getAllNetworkInfo(); getNetworkForType(int networkType)52 Network getNetworkForType(int networkType); getAllNetworks()53 Network[] getAllNetworks(); getDefaultNetworkCapabilitiesForUser(int userId)54 NetworkCapabilities[] getDefaultNetworkCapabilitiesForUser(int userId); 55 isNetworkSupported(int networkType)56 boolean isNetworkSupported(int networkType); 57 getActiveLinkProperties()58 LinkProperties getActiveLinkProperties(); getLinkPropertiesForType(int networkType)59 LinkProperties getLinkPropertiesForType(int networkType); getLinkProperties(in Network network)60 LinkProperties getLinkProperties(in Network network); 61 getNetworkCapabilities(in Network network)62 NetworkCapabilities getNetworkCapabilities(in Network network); 63 getAllNetworkState()64 NetworkState[] getAllNetworkState(); 65 getActiveNetworkQuotaInfo()66 NetworkQuotaInfo getActiveNetworkQuotaInfo(); isActiveNetworkMetered()67 boolean isActiveNetworkMetered(); 68 requestRouteToHostAddress(int networkType, in byte[] hostAddress)69 boolean requestRouteToHostAddress(int networkType, in byte[] hostAddress); 70 tether(String iface)71 int tether(String iface); 72 untether(String iface)73 int untether(String iface); 74 getLastTetherError(String iface)75 int getLastTetherError(String iface); 76 isTetheringSupported()77 boolean isTetheringSupported(); 78 getTetherableIfaces()79 String[] getTetherableIfaces(); 80 getTetheredIfaces()81 String[] getTetheredIfaces(); 82 getTetheringErroredIfaces()83 String[] getTetheringErroredIfaces(); 84 getTetheredDhcpRanges()85 String[] getTetheredDhcpRanges(); 86 getTetherableUsbRegexs()87 String[] getTetherableUsbRegexs(); 88 getTetherableWifiRegexs()89 String[] getTetherableWifiRegexs(); 90 getTetherableBluetoothRegexs()91 String[] getTetherableBluetoothRegexs(); 92 setUsbTethering(boolean enable)93 int setUsbTethering(boolean enable); 94 reportInetCondition(int networkType, int percentage)95 void reportInetCondition(int networkType, int percentage); 96 reportNetworkConnectivity(in Network network, boolean hasConnectivity)97 void reportNetworkConnectivity(in Network network, boolean hasConnectivity); 98 getGlobalProxy()99 ProxyInfo getGlobalProxy(); 100 setGlobalProxy(in ProxyInfo p)101 void setGlobalProxy(in ProxyInfo p); 102 getProxyForNetwork(in Network nework)103 ProxyInfo getProxyForNetwork(in Network nework); 104 prepareVpn(String oldPackage, String newPackage, int userId)105 boolean prepareVpn(String oldPackage, String newPackage, int userId); 106 setVpnPackageAuthorization(String packageName, int userId, boolean authorized)107 void setVpnPackageAuthorization(String packageName, int userId, boolean authorized); 108 establishVpn(in VpnConfig config)109 ParcelFileDescriptor establishVpn(in VpnConfig config); 110 getVpnConfig(int userId)111 VpnConfig getVpnConfig(int userId); 112 startLegacyVpn(in VpnProfile profile)113 void startLegacyVpn(in VpnProfile profile); 114 getLegacyVpnInfo(int userId)115 LegacyVpnInfo getLegacyVpnInfo(int userId); 116 getAllVpnInfo()117 VpnInfo[] getAllVpnInfo(); 118 updateLockdownVpn()119 boolean updateLockdownVpn(); 120 checkMobileProvisioning(int suggestedTimeOutMs)121 int checkMobileProvisioning(int suggestedTimeOutMs); 122 getMobileProvisioningUrl()123 String getMobileProvisioningUrl(); 124 setProvisioningNotificationVisible(boolean visible, int networkType, in String action)125 void setProvisioningNotificationVisible(boolean visible, int networkType, in String action); 126 setAirplaneMode(boolean enable)127 void setAirplaneMode(boolean enable); 128 registerNetworkFactory(in Messenger messenger, in String name)129 void registerNetworkFactory(in Messenger messenger, in String name); 130 requestBandwidthUpdate(in Network network)131 boolean requestBandwidthUpdate(in Network network); 132 unregisterNetworkFactory(in Messenger messenger)133 void unregisterNetworkFactory(in Messenger messenger); 134 registerNetworkAgent(in Messenger messenger, in NetworkInfo ni, in LinkProperties lp, in NetworkCapabilities nc, int score, in NetworkMisc misc)135 int registerNetworkAgent(in Messenger messenger, in NetworkInfo ni, in LinkProperties lp, 136 in NetworkCapabilities nc, int score, in NetworkMisc misc); 137 requestNetwork(in NetworkCapabilities networkCapabilities, in Messenger messenger, int timeoutSec, in IBinder binder, int legacy)138 NetworkRequest requestNetwork(in NetworkCapabilities networkCapabilities, 139 in Messenger messenger, int timeoutSec, in IBinder binder, int legacy); 140 pendingRequestForNetwork(in NetworkCapabilities networkCapabilities, in PendingIntent operation)141 NetworkRequest pendingRequestForNetwork(in NetworkCapabilities networkCapabilities, 142 in PendingIntent operation); 143 releasePendingNetworkRequest(in PendingIntent operation)144 void releasePendingNetworkRequest(in PendingIntent operation); 145 listenForNetwork(in NetworkCapabilities networkCapabilities, in Messenger messenger, in IBinder binder)146 NetworkRequest listenForNetwork(in NetworkCapabilities networkCapabilities, 147 in Messenger messenger, in IBinder binder); 148 pendingListenForNetwork(in NetworkCapabilities networkCapabilities, in PendingIntent operation)149 void pendingListenForNetwork(in NetworkCapabilities networkCapabilities, 150 in PendingIntent operation); 151 releaseNetworkRequest(in NetworkRequest networkRequest)152 void releaseNetworkRequest(in NetworkRequest networkRequest); 153 setAcceptUnvalidated(in Network network, boolean accept, boolean always)154 void setAcceptUnvalidated(in Network network, boolean accept, boolean always); 155 getRestoreDefaultNetworkDelay(int networkType)156 int getRestoreDefaultNetworkDelay(int networkType); 157 addVpnAddress(String address, int prefixLength)158 boolean addVpnAddress(String address, int prefixLength); removeVpnAddress(String address, int prefixLength)159 boolean removeVpnAddress(String address, int prefixLength); setUnderlyingNetworksForVpn(in Network[] networks)160 boolean setUnderlyingNetworksForVpn(in Network[] networks); 161 factoryReset()162 void factoryReset(); 163 } 164