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(); getActiveNetworkForUid(int uid, boolean ignoreBlocked)47 Network getActiveNetworkForUid(int uid, boolean ignoreBlocked); getActiveNetworkInfo()48 NetworkInfo getActiveNetworkInfo(); getActiveNetworkInfoForUid(int uid, boolean ignoreBlocked)49 NetworkInfo getActiveNetworkInfoForUid(int uid, boolean ignoreBlocked); getNetworkInfo(int networkType)50 NetworkInfo getNetworkInfo(int networkType); getNetworkInfoForUid(in Network network, int uid, boolean ignoreBlocked)51 NetworkInfo getNetworkInfoForUid(in Network network, int uid, boolean ignoreBlocked); getAllNetworkInfo()52 NetworkInfo[] getAllNetworkInfo(); getNetworkForType(int networkType)53 Network getNetworkForType(int networkType); getAllNetworks()54 Network[] getAllNetworks(); getDefaultNetworkCapabilitiesForUser(int userId)55 NetworkCapabilities[] getDefaultNetworkCapabilitiesForUser(int userId); 56 isNetworkSupported(int networkType)57 boolean isNetworkSupported(int networkType); 58 getActiveLinkProperties()59 LinkProperties getActiveLinkProperties(); getLinkPropertiesForType(int networkType)60 LinkProperties getLinkPropertiesForType(int networkType); getLinkProperties(in Network network)61 LinkProperties getLinkProperties(in Network network); 62 getNetworkCapabilities(in Network network)63 NetworkCapabilities getNetworkCapabilities(in Network network); 64 getAllNetworkState()65 NetworkState[] getAllNetworkState(); 66 getActiveNetworkQuotaInfo()67 NetworkQuotaInfo getActiveNetworkQuotaInfo(); isActiveNetworkMetered()68 boolean isActiveNetworkMetered(); 69 requestRouteToHostAddress(int networkType, in byte[] hostAddress)70 boolean requestRouteToHostAddress(int networkType, in byte[] hostAddress); 71 tether(String iface)72 int tether(String iface); 73 untether(String iface)74 int untether(String iface); 75 getLastTetherError(String iface)76 int getLastTetherError(String iface); 77 isTetheringSupported()78 boolean isTetheringSupported(); 79 startTethering(int type, in ResultReceiver receiver, boolean showProvisioningUi)80 void startTethering(int type, in ResultReceiver receiver, boolean showProvisioningUi); 81 stopTethering(int type)82 void stopTethering(int type); 83 getTetherableIfaces()84 String[] getTetherableIfaces(); 85 getTetheredIfaces()86 String[] getTetheredIfaces(); 87 getTetheringErroredIfaces()88 String[] getTetheringErroredIfaces(); 89 getTetheredDhcpRanges()90 String[] getTetheredDhcpRanges(); 91 getTetherableUsbRegexs()92 String[] getTetherableUsbRegexs(); 93 getTetherableWifiRegexs()94 String[] getTetherableWifiRegexs(); 95 getTetherableBluetoothRegexs()96 String[] getTetherableBluetoothRegexs(); 97 setUsbTethering(boolean enable)98 int setUsbTethering(boolean enable); 99 reportInetCondition(int networkType, int percentage)100 void reportInetCondition(int networkType, int percentage); 101 reportNetworkConnectivity(in Network network, boolean hasConnectivity)102 void reportNetworkConnectivity(in Network network, boolean hasConnectivity); 103 getGlobalProxy()104 ProxyInfo getGlobalProxy(); 105 setGlobalProxy(in ProxyInfo p)106 void setGlobalProxy(in ProxyInfo p); 107 getProxyForNetwork(in Network nework)108 ProxyInfo getProxyForNetwork(in Network nework); 109 prepareVpn(String oldPackage, String newPackage, int userId)110 boolean prepareVpn(String oldPackage, String newPackage, int userId); 111 setVpnPackageAuthorization(String packageName, int userId, boolean authorized)112 void setVpnPackageAuthorization(String packageName, int userId, boolean authorized); 113 establishVpn(in VpnConfig config)114 ParcelFileDescriptor establishVpn(in VpnConfig config); 115 getVpnConfig(int userId)116 VpnConfig getVpnConfig(int userId); 117 startLegacyVpn(in VpnProfile profile)118 void startLegacyVpn(in VpnProfile profile); 119 getLegacyVpnInfo(int userId)120 LegacyVpnInfo getLegacyVpnInfo(int userId); 121 getAllVpnInfo()122 VpnInfo[] getAllVpnInfo(); 123 updateLockdownVpn()124 boolean updateLockdownVpn(); setAlwaysOnVpnPackage(int userId, String packageName, boolean lockdown)125 boolean setAlwaysOnVpnPackage(int userId, String packageName, boolean lockdown); getAlwaysOnVpnPackage(int userId)126 String getAlwaysOnVpnPackage(int userId); 127 checkMobileProvisioning(int suggestedTimeOutMs)128 int checkMobileProvisioning(int suggestedTimeOutMs); 129 getMobileProvisioningUrl()130 String getMobileProvisioningUrl(); 131 setProvisioningNotificationVisible(boolean visible, int networkType, in String action)132 void setProvisioningNotificationVisible(boolean visible, int networkType, in String action); 133 setAirplaneMode(boolean enable)134 void setAirplaneMode(boolean enable); 135 registerNetworkFactory(in Messenger messenger, in String name)136 void registerNetworkFactory(in Messenger messenger, in String name); 137 requestBandwidthUpdate(in Network network)138 boolean requestBandwidthUpdate(in Network network); 139 unregisterNetworkFactory(in Messenger messenger)140 void unregisterNetworkFactory(in Messenger messenger); 141 registerNetworkAgent(in Messenger messenger, in NetworkInfo ni, in LinkProperties lp, in NetworkCapabilities nc, int score, in NetworkMisc misc)142 int registerNetworkAgent(in Messenger messenger, in NetworkInfo ni, in LinkProperties lp, 143 in NetworkCapabilities nc, int score, in NetworkMisc misc); 144 requestNetwork(in NetworkCapabilities networkCapabilities, in Messenger messenger, int timeoutSec, in IBinder binder, int legacy)145 NetworkRequest requestNetwork(in NetworkCapabilities networkCapabilities, 146 in Messenger messenger, int timeoutSec, in IBinder binder, int legacy); 147 pendingRequestForNetwork(in NetworkCapabilities networkCapabilities, in PendingIntent operation)148 NetworkRequest pendingRequestForNetwork(in NetworkCapabilities networkCapabilities, 149 in PendingIntent operation); 150 releasePendingNetworkRequest(in PendingIntent operation)151 void releasePendingNetworkRequest(in PendingIntent operation); 152 listenForNetwork(in NetworkCapabilities networkCapabilities, in Messenger messenger, in IBinder binder)153 NetworkRequest listenForNetwork(in NetworkCapabilities networkCapabilities, 154 in Messenger messenger, in IBinder binder); 155 pendingListenForNetwork(in NetworkCapabilities networkCapabilities, in PendingIntent operation)156 void pendingListenForNetwork(in NetworkCapabilities networkCapabilities, 157 in PendingIntent operation); 158 releaseNetworkRequest(in NetworkRequest networkRequest)159 void releaseNetworkRequest(in NetworkRequest networkRequest); 160 setAcceptUnvalidated(in Network network, boolean accept, boolean always)161 void setAcceptUnvalidated(in Network network, boolean accept, boolean always); 162 getRestoreDefaultNetworkDelay(int networkType)163 int getRestoreDefaultNetworkDelay(int networkType); 164 addVpnAddress(String address, int prefixLength)165 boolean addVpnAddress(String address, int prefixLength); removeVpnAddress(String address, int prefixLength)166 boolean removeVpnAddress(String address, int prefixLength); setUnderlyingNetworksForVpn(in Network[] networks)167 boolean setUnderlyingNetworksForVpn(in Network[] networks); 168 factoryReset()169 void factoryReset(); 170 startNattKeepalive(in Network network, int intervalSeconds, in Messenger messenger, in IBinder binder, String srcAddr, int srcPort, String dstAddr)171 void startNattKeepalive(in Network network, int intervalSeconds, in Messenger messenger, 172 in IBinder binder, String srcAddr, int srcPort, String dstAddr); 173 stopKeepalive(in Network network, int slot)174 void stopKeepalive(in Network network, int slot); 175 getCaptivePortalServerUrl()176 String getCaptivePortalServerUrl(); 177 } 178