IWifiManager.aidl revision 01894d8f6b661362cab36e6a997053fd078101a2
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (c) 2008, The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
4227bec49157bc496f7c9e8e8f63c12728a448922Irfan Sheriff * Licensed under the Apache License, Version 2.0 (the "License");
5227bec49157bc496f7c9e8e8f63c12728a448922Irfan Sheriff * you may not use this file except in compliance with the License.
6227bec49157bc496f7c9e8e8f63c12728a448922Irfan Sheriff * You may obtain a copy of the License at
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
8227bec49157bc496f7c9e8e8f63c12728a448922Irfan Sheriff *     http://www.apache.org/licenses/LICENSE-2.0
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
10227bec49157bc496f7c9e8e8f63c12728a448922Irfan Sheriff * Unless required by applicable law or agreed to in writing, software
11227bec49157bc496f7c9e8e8f63c12728a448922Irfan Sheriff * distributed under the License is distributed on an "AS IS" BASIS,
12227bec49157bc496f7c9e8e8f63c12728a448922Irfan Sheriff * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13227bec49157bc496f7c9e8e8f63c12728a448922Irfan Sheriff * 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.wifi;
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1901894d8f6b661362cab36e6a997053fd078101a2Peter Qiuimport android.net.wifi.hotspot2.PasspointConfiguration;
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.net.wifi.WifiConfiguration;
210451d59ba2d768e7653752028910f00a6c96e64eRobert Greenwaltimport android.net.wifi.WifiInfo;
22738803fee62a98f244250996380820c4923e7f7bYuhao Zhengimport android.net.wifi.ScanSettings;
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.net.wifi.ScanResult;
24a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpandeimport android.net.wifi.PasspointManagementObjectDefinition;
254eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalleimport android.net.wifi.WifiConnectionStatistics;
26b928a3802bfcd3aeed592906ddb3e14c653b213cvandwalleimport android.net.wifi.WifiActivityEnergyInfo;
277094d22022c8e0c6ad71920b101434dded8a276eSanket Padaweimport android.net.Network;
284eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.net.DhcpInfo;
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
31227bec49157bc496f7c9e8e8f63c12728a448922Irfan Sheriffimport android.os.Messenger;
32010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinskiimport android.os.ResultReceiver;
337e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackbornimport android.os.WorkSource;
347e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Interface that allows controlling and querying Wi-Fi connectivity.
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide}
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface IWifiManager
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{
4273f5d16ad5c61320deac161fe23e00a8a4aed772Vinit Deshpande    int getSupportedFeatures();
43c7cc37b3cd2a73882e75c74ff9ca2499011ce193Vinit Deshpande
4473f5d16ad5c61320deac161fe23e00a8a4aed772Vinit Deshpande    WifiActivityEnergyInfo reportActivityInfo();
45b928a3802bfcd3aeed592906ddb3e14c653b213cvandwalle
46010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski    /**
47010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski     * Requests the controller activity info asynchronously.
48010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski     * The implementor is expected to reply with the
49010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski     * {@link android.net.wifi.WifiActivityEnergyInfo} object placed into the Bundle with the key
50010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski     * {@link android.os.BatteryStats#RESULT_RECEIVER_CONTROLLER_KEY}. The result code is ignored.
51010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski     */
52010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski    oneway void requestActivityInfo(in ResultReceiver result);
53010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    List<WifiConfiguration> getConfiguredNetworks();
555321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff
56758bdf4a915c313f1c3bef0b95b494c91f363f03Wenchao Tong    List<WifiConfiguration> getPrivilegedConfiguredNetworks();
57758bdf4a915c313f1c3bef0b95b494c91f363f03Wenchao Tong
58b4d90fca0ec461c24cd38e4b7d1990447ad047a1Vinit Deshpande    WifiConfiguration getMatchingWifiConfig(in ScanResult scanResult);
59b4d90fca0ec461c24cd38e4b7d1990447ad047a1Vinit Deshpande
609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int addOrUpdateNetwork(in WifiConfiguration config);
619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpande    int addPasspointManagementObject(String mo);
63a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpande
64a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpande    int modifyPasspointManagementObject(String fqdn,
65a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpande                                        in List<PasspointManagementObjectDefinition> mos);
66a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpande
6701894d8f6b661362cab36e6a997053fd078101a2Peter Qiu    boolean addPasspointConfiguration(in PasspointConfiguration config);
6801894d8f6b661362cab36e6a997053fd078101a2Peter Qiu
6901894d8f6b661362cab36e6a997053fd078101a2Peter Qiu    boolean removePasspointConfiguration(in String fqdn);
7001894d8f6b661362cab36e6a997053fd078101a2Peter Qiu
7101894d8f6b661362cab36e6a997053fd078101a2Peter Qiu    List<PasspointConfiguration> getPasspointConfigurations();
7201894d8f6b661362cab36e6a997053fd078101a2Peter Qiu
73a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpande    void queryPasspointIcon(long bssid, String fileName);
74a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpande
75a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpande    int matchProviderWithCurrentNetwork(String fqdn);
76a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpande
77a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpande    void deauthenticateNetwork(long holdoff, boolean ess);
78a772f0cf34f0db67997cb31fa44315c0933563daVinit Deshpande
799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean removeNetwork(int netId);
809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean enableNetwork(int netId, boolean disableOthers);
829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean disableNetwork(int netId);
849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean pingSupplicant();
869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
87738803fee62a98f244250996380820c4923e7f7bYuhao Zheng    void startScan(in ScanSettings requested, in WorkSource ws);
889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
895e45ee6752528791deb66b83d76250685de15d47Dianne Hackborn    List<ScanResult> getScanResults(String callingPackage);
909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
91e498475b187277309c81b38240c7e71ec049e369Irfan Sheriff    void disconnect();
929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
93e498475b187277309c81b38240c7e71ec049e369Irfan Sheriff    void reconnect();
945321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff
95e498475b187277309c81b38240c7e71ec049e369Irfan Sheriff    void reassociate();
969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    WifiInfo getConnectionInfo();
989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
998efb84e3e0b66696c45adb1faa0fe1e6f75f22c3Mitchell Wills    boolean setWifiEnabled(boolean enable);
1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int getWifiEnabledState();
1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
103ed4f28b492da3ff140bbaabbbda798a08c40ea5bIrfan Sheriff    void setCountryCode(String country, boolean persist);
1045321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff
105b938c0e2036d28df24ec626fc8ed7e277248b9a6xinhe    String getCountryCode();
106b938c0e2036d28df24ec626fc8ed7e277248b9a6xinhe
10736f7413dabfab50699135019ba55151e9227f59dIrfan Sheriff    boolean isDualBandSupported();
10836f7413dabfab50699135019ba55151e9227f59dIrfan Sheriff
1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean saveConfiguration();
1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    DhcpInfo getDhcpInfo();
1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1137ea33eac4b57aabf9326d60f52e3ed85217ac846Irfan Sheriff    boolean isScanAlwaysAvailable();
11411aefad94de6569c4c7394e7bc5fdeb0ae60d5bbIrfan Sheriff
1157e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn    boolean acquireWifiLock(IBinder lock, int lockType, String tag, in WorkSource ws);
1167e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn
1177e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn    void updateWifiLockWorkSource(IBinder lock, in WorkSource ws);
1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean releaseWifiLock(IBinder lock);
1205347bd4cda2b6afc18f8acab48e52131f35ed13cRobert Greenwalt
121e2d155a51e68694e17fa6e27d05c928215a5dbcfRobert Greenwalt    void initializeMulticastFiltering();
122e2d155a51e68694e17fa6e27d05c928215a5dbcfRobert Greenwalt
12358ff0217a617d5b03d18f0ef532f254f8ba6de2bRobert Greenwalt    boolean isMulticastEnabled();
1245347bd4cda2b6afc18f8acab48e52131f35ed13cRobert Greenwalt
125fc1b15cfbfc5f69235ec1f367abd7a909381cd05Robert Greenwalt    void acquireMulticastLock(IBinder binder, String tag);
1265347bd4cda2b6afc18f8acab48e52131f35ed13cRobert Greenwalt
127fc1b15cfbfc5f69235ec1f367abd7a909381cd05Robert Greenwalt    void releaseMulticastLock();
1285321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff
129ffcea7ae7316ab748a49f5e8f6c6798356f35719Irfan Sheriff    void setWifiApEnabled(in WifiConfiguration wifiConfig, boolean enable);
1305321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff
1315321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff    int getWifiApEnabledState();
1329ab518ad793385f8405edf19363fe825fb64f5f8Irfan Sheriff
1339ab518ad793385f8405edf19363fe825fb64f5f8Irfan Sheriff    WifiConfiguration getWifiApConfiguration();
13417b232b5b59ab91ab543b87e849583678a000f9bIrfan Sheriff
135e9b056f8860296a08f93f4b7d2a0971c746c227bJan Nordqvist    WifiConfiguration buildWifiConfig(String uriString, String mimeType, in byte[] data);
136e9b056f8860296a08f93f4b7d2a0971c746c227bJan Nordqvist
13717b232b5b59ab91ab543b87e849583678a000f9bIrfan Sheriff    void setWifiApConfiguration(in WifiConfiguration wifiConfig);
1380d25534fed91f636def5776ddc4605005bd7471cIrfan Sheriff
13907573b32494acbabd21979d8b9584c1ed3f7a6adIrfan Sheriff    Messenger getWifiServiceMessenger();
14007573b32494acbabd21979d8b9584c1ed3f7a6adIrfan Sheriff
14164f0d5ba158e9135bcd48d64a1c0db282a4628baVinit Deshapnde    void enableTdls(String remoteIPAddress, boolean enable);
14264f0d5ba158e9135bcd48d64a1c0db282a4628baVinit Deshapnde
14364f0d5ba158e9135bcd48d64a1c0db282a4628baVinit Deshapnde    void enableTdlsWithMacAddress(String remoteMacAddress, boolean enable);
1440451d59ba2d768e7653752028910f00a6c96e64eRobert Greenwalt
145b2e6bfd0f0fc675b253ce081d97ca192422a7495Andres Morales    String getWpsNfcConfigurationToken(int netId);
1465fb7bf5fdb93831684b00eb637ec15b5cf0d1e2dvandwalle
1475fb7bf5fdb93831684b00eb637ec15b5cf0d1e2dvandwalle    void enableVerboseLogging(int verbose);
1485fb7bf5fdb93831684b00eb637ec15b5cf0d1e2dvandwalle
1495fb7bf5fdb93831684b00eb637ec15b5cf0d1e2dvandwalle    int getVerboseLoggingLevel();
150d524c78d9358e2fa1e67124468cffa5284870c62vandwalle
151d524c78d9358e2fa1e67124468cffa5284870c62vandwalle    void enableAggressiveHandover(int enabled);
152358673e275ed065fadb04c1722ac458e6c617a89Pierre Vandwalle    int getAggressiveHandover();
153d524c78d9358e2fa1e67124468cffa5284870c62vandwalle
154358673e275ed065fadb04c1722ac458e6c617a89Pierre Vandwalle    void setAllowScansWithTraffic(int enabled);
155d524c78d9358e2fa1e67124468cffa5284870c62vandwalle    int getAllowScansWithTraffic();
156d524c78d9358e2fa1e67124468cffa5284870c62vandwalle
15744a4668b4599a1284f4c2011b1ab4bf90b9b4ab6Samuel Tan    boolean setEnableAutoJoinWhenAssociated(boolean enabled);
158e8de06d2feb6680df15c1473fb72efb214ced744xinhe    boolean getEnableAutoJoinWhenAssociated();
159e8de06d2feb6680df15c1473fb72efb214ced744xinhe
16074638cdb31a10fa6d013744d201bb12465dff3eaRandy Pan    void enableWifiConnectivityManager(boolean enabled);
16174638cdb31a10fa6d013744d201bb12465dff3eaRandy Pan
1624eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    WifiConnectionStatistics getConnectionStatistics();
16393e4192c06a28f37bc1c16b280fbd22c735b5c92vandwalle
16493e4192c06a28f37bc1c16b280fbd22c735b5c92vandwalle    void disableEphemeralNetwork(String SSID);
165f1fb39763d87dabe254b6ed64ac8f20145035bc0Stuart Scott
166f1fb39763d87dabe254b6ed64ac8f20145035bc0Stuart Scott    void factoryReset();
1677094d22022c8e0c6ad71920b101434dded8a276eSanket Padawe
1687094d22022c8e0c6ad71920b101434dded8a276eSanket Padawe    Network getCurrentNetwork();
169ffe0abf103ead1ca63ff9ae4807e0b973b1d39dcRoshan Pius
170ffe0abf103ead1ca63ff9ae4807e0b973b1d39dcRoshan Pius    byte[] retrieveBackupData();
171ffe0abf103ead1ca63ff9ae4807e0b973b1d39dcRoshan Pius
172ffe0abf103ead1ca63ff9ae4807e0b973b1d39dcRoshan Pius    void restoreBackupData(in byte[] data);
173f9f88b8b20f4fe4e0c7b2c22c1f0d4d0a36f2217Roshan Pius
174f9f88b8b20f4fe4e0c7b2c22c1f0d4d0a36f2217Roshan Pius    void restoreSupplicantBackupData(in byte[] supplicantData, in byte[] ipConfigData);
1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
177