IWifiManager.aidl revision 358673e275ed065fadb04c1722ac458e6c617a89
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
190451d59ba2d768e7653752028910f00a6c96e64eRobert Greenwaltimport android.net.wifi.BatchedScanResult;
200451d59ba2d768e7653752028910f00a6c96e64eRobert Greenwaltimport android.net.wifi.BatchedScanSettings;
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.net.wifi.WifiConfiguration;
220451d59ba2d768e7653752028910f00a6c96e64eRobert Greenwaltimport android.net.wifi.WifiInfo;
23738803fee62a98f244250996380820c4923e7f7bYuhao Zhengimport android.net.wifi.ScanSettings;
24738803fee62a98f244250996380820c4923e7f7bYuhao Zhengimport android.net.wifi.WifiChannel;
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.net.wifi.ScanResult;
264eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalleimport android.net.wifi.WifiConnectionStatistics;
27b928a3802bfcd3aeed592906ddb3e14c653b213cvandwalleimport android.net.wifi.WifiActivityEnergyInfo;
287094d22022c8e0c6ad71920b101434dded8a276eSanket Padaweimport android.net.Network;
294eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.net.DhcpInfo;
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
32c7cc37b3cd2a73882e75c74ff9ca2499011ce193Vinit Deshpande
33227bec49157bc496f7c9e8e8f63c12728a448922Irfan Sheriffimport android.os.Messenger;
347e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackbornimport android.os.WorkSource;
357e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Interface that allows controlling and querying Wi-Fi connectivity.
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide}
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface IWifiManager
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{
4373f5d16ad5c61320deac161fe23e00a8a4aed772Vinit Deshpande    int getSupportedFeatures();
44c7cc37b3cd2a73882e75c74ff9ca2499011ce193Vinit Deshpande
4573f5d16ad5c61320deac161fe23e00a8a4aed772Vinit Deshpande    WifiActivityEnergyInfo reportActivityInfo();
46b928a3802bfcd3aeed592906ddb3e14c653b213cvandwalle
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    List<WifiConfiguration> getConfiguredNetworks();
485321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff
49758bdf4a915c313f1c3bef0b95b494c91f363f03Wenchao Tong    List<WifiConfiguration> getPrivilegedConfiguredNetworks();
50758bdf4a915c313f1c3bef0b95b494c91f363f03Wenchao Tong
51b4d90fca0ec461c24cd38e4b7d1990447ad047a1Vinit Deshpande    WifiConfiguration getMatchingWifiConfig(in ScanResult scanResult);
52b4d90fca0ec461c24cd38e4b7d1990447ad047a1Vinit Deshpande
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int addOrUpdateNetwork(in WifiConfiguration config);
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean removeNetwork(int netId);
569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean enableNetwork(int netId, boolean disableOthers);
589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean disableNetwork(int netId);
609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean pingSupplicant();
629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
63738803fee62a98f244250996380820c4923e7f7bYuhao Zheng    List<WifiChannel> getChannelList();
64738803fee62a98f244250996380820c4923e7f7bYuhao Zheng
65738803fee62a98f244250996380820c4923e7f7bYuhao Zheng    void startScan(in ScanSettings requested, in WorkSource ws);
669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
67da123a6726e7c64b3f19f74ed0eb02bb4398a989vandwalle    void startLocationRestrictedScan(in WorkSource ws);
68da123a6726e7c64b3f19f74ed0eb02bb4398a989vandwalle
695e45ee6752528791deb66b83d76250685de15d47Dianne Hackborn    List<ScanResult> getScanResults(String callingPackage);
709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
71e498475b187277309c81b38240c7e71ec049e369Irfan Sheriff    void disconnect();
729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
73e498475b187277309c81b38240c7e71ec049e369Irfan Sheriff    void reconnect();
745321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff
75e498475b187277309c81b38240c7e71ec049e369Irfan Sheriff    void reassociate();
769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    WifiInfo getConnectionInfo();
789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean setWifiEnabled(boolean enable);
809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int getWifiEnabledState();
829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
83ed4f28b492da3ff140bbaabbbda798a08c40ea5bIrfan Sheriff    void setCountryCode(String country, boolean persist);
845321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff
85b938c0e2036d28df24ec626fc8ed7e277248b9a6xinhe    String getCountryCode();
86b938c0e2036d28df24ec626fc8ed7e277248b9a6xinhe
8736f7413dabfab50699135019ba55151e9227f59dIrfan Sheriff    void setFrequencyBand(int band, boolean persist);
8836f7413dabfab50699135019ba55151e9227f59dIrfan Sheriff
8936f7413dabfab50699135019ba55151e9227f59dIrfan Sheriff    int getFrequencyBand();
9036f7413dabfab50699135019ba55151e9227f59dIrfan Sheriff
9136f7413dabfab50699135019ba55151e9227f59dIrfan Sheriff    boolean isDualBandSupported();
9236f7413dabfab50699135019ba55151e9227f59dIrfan Sheriff
939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean saveConfiguration();
949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    DhcpInfo getDhcpInfo();
969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
977ea33eac4b57aabf9326d60f52e3ed85217ac846Irfan Sheriff    boolean isScanAlwaysAvailable();
9811aefad94de6569c4c7394e7bc5fdeb0ae60d5bbIrfan Sheriff
997e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn    boolean acquireWifiLock(IBinder lock, int lockType, String tag, in WorkSource ws);
1007e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn
1017e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn    void updateWifiLockWorkSource(IBinder lock, in WorkSource ws);
1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    boolean releaseWifiLock(IBinder lock);
1045347bd4cda2b6afc18f8acab48e52131f35ed13cRobert Greenwalt
105e2d155a51e68694e17fa6e27d05c928215a5dbcfRobert Greenwalt    void initializeMulticastFiltering();
106e2d155a51e68694e17fa6e27d05c928215a5dbcfRobert Greenwalt
10758ff0217a617d5b03d18f0ef532f254f8ba6de2bRobert Greenwalt    boolean isMulticastEnabled();
1085347bd4cda2b6afc18f8acab48e52131f35ed13cRobert Greenwalt
109fc1b15cfbfc5f69235ec1f367abd7a909381cd05Robert Greenwalt    void acquireMulticastLock(IBinder binder, String tag);
1105347bd4cda2b6afc18f8acab48e52131f35ed13cRobert Greenwalt
111fc1b15cfbfc5f69235ec1f367abd7a909381cd05Robert Greenwalt    void releaseMulticastLock();
1125321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff
113ffcea7ae7316ab748a49f5e8f6c6798356f35719Irfan Sheriff    void setWifiApEnabled(in WifiConfiguration wifiConfig, boolean enable);
1145321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff
1155321aef4a22daef6ed01ed48d936cdd82f2e38b7Irfan Sheriff    int getWifiApEnabledState();
1169ab518ad793385f8405edf19363fe825fb64f5f8Irfan Sheriff
1179ab518ad793385f8405edf19363fe825fb64f5f8Irfan Sheriff    WifiConfiguration getWifiApConfiguration();
11817b232b5b59ab91ab543b87e849583678a000f9bIrfan Sheriff
119e9b056f8860296a08f93f4b7d2a0971c746c227bJan Nordqvist    WifiConfiguration buildWifiConfig(String uriString, String mimeType, in byte[] data);
120e9b056f8860296a08f93f4b7d2a0971c746c227bJan Nordqvist
12117b232b5b59ab91ab543b87e849583678a000f9bIrfan Sheriff    void setWifiApConfiguration(in WifiConfiguration wifiConfig);
1220d25534fed91f636def5776ddc4605005bd7471cIrfan Sheriff
1230d25534fed91f636def5776ddc4605005bd7471cIrfan Sheriff    void startWifi();
1240d25534fed91f636def5776ddc4605005bd7471cIrfan Sheriff
1250d25534fed91f636def5776ddc4605005bd7471cIrfan Sheriff    void stopWifi();
1260d25534fed91f636def5776ddc4605005bd7471cIrfan Sheriff
1270d25534fed91f636def5776ddc4605005bd7471cIrfan Sheriff    void addToBlacklist(String bssid);
1280d25534fed91f636def5776ddc4605005bd7471cIrfan Sheriff
1290d25534fed91f636def5776ddc4605005bd7471cIrfan Sheriff    void clearBlacklist();
130e04653cbd0e8303eba92088344312b827e6b0babIrfan Sheriff
13107573b32494acbabd21979d8b9584c1ed3f7a6adIrfan Sheriff    Messenger getWifiServiceMessenger();
13207573b32494acbabd21979d8b9584c1ed3f7a6adIrfan Sheriff
1334aeca7c5908387bc7efb0785830aea1053264062Irfan Sheriff    String getConfigFile();
134da6da0907b28d4704aabbdb1bbeb4300954670d1Irfan Sheriff
13564f0d5ba158e9135bcd48d64a1c0db282a4628baVinit Deshapnde    void enableTdls(String remoteIPAddress, boolean enable);
13664f0d5ba158e9135bcd48d64a1c0db282a4628baVinit Deshapnde
13764f0d5ba158e9135bcd48d64a1c0db282a4628baVinit Deshapnde    void enableTdlsWithMacAddress(String remoteMacAddress, boolean enable);
1380451d59ba2d768e7653752028910f00a6c96e64eRobert Greenwalt
139a029ea131836725b050e1a7550aa171b68171522Robert Greenwalt    boolean requestBatchedScan(in BatchedScanSettings requested, IBinder binder, in WorkSource ws);
1400451d59ba2d768e7653752028910f00a6c96e64eRobert Greenwalt
14182f4218c0d5dbc10404db8cf31f0284140d80175Robert Greenwalt    void stopBatchedScan(in BatchedScanSettings requested);
1420451d59ba2d768e7653752028910f00a6c96e64eRobert Greenwalt
1430451d59ba2d768e7653752028910f00a6c96e64eRobert Greenwalt    List<BatchedScanResult> getBatchedScanResults(String callingPackage);
1440451d59ba2d768e7653752028910f00a6c96e64eRobert Greenwalt
1450451d59ba2d768e7653752028910f00a6c96e64eRobert Greenwalt    boolean isBatchedScanSupported();
1468e628dadc321bf49e93e482540df87431d014b01Robert Greenwalt
1478e628dadc321bf49e93e482540df87431d014b01Robert Greenwalt    void pollBatchedScan();
148b2e6bfd0f0fc675b253ce081d97ca192422a7495Andres Morales
149b2e6bfd0f0fc675b253ce081d97ca192422a7495Andres Morales    String getWpsNfcConfigurationToken(int netId);
1505fb7bf5fdb93831684b00eb637ec15b5cf0d1e2dvandwalle
1515fb7bf5fdb93831684b00eb637ec15b5cf0d1e2dvandwalle    void enableVerboseLogging(int verbose);
1525fb7bf5fdb93831684b00eb637ec15b5cf0d1e2dvandwalle
1535fb7bf5fdb93831684b00eb637ec15b5cf0d1e2dvandwalle    int getVerboseLoggingLevel();
154d524c78d9358e2fa1e67124468cffa5284870c62vandwalle
155d524c78d9358e2fa1e67124468cffa5284870c62vandwalle    void enableAggressiveHandover(int enabled);
156358673e275ed065fadb04c1722ac458e6c617a89Pierre Vandwalle    int getAggressiveHandover();
157d524c78d9358e2fa1e67124468cffa5284870c62vandwalle
158358673e275ed065fadb04c1722ac458e6c617a89Pierre Vandwalle    void setAllowScansWithTraffic(int enabled);
159d524c78d9358e2fa1e67124468cffa5284870c62vandwalle    int getAllowScansWithTraffic();
160d524c78d9358e2fa1e67124468cffa5284870c62vandwalle
161358673e275ed065fadb04c1722ac458e6c617a89Pierre Vandwalle    void setAllowScansWhileAssociated(int enabled);
162358673e275ed065fadb04c1722ac458e6c617a89Pierre Vandwalle    int getAllowScansWhileAssociated();
1634eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
164358673e275ed065fadb04c1722ac458e6c617a89Pierre Vandwalle    void setAllowNetworkSwitchingWhileAssociated(int enabled);
165358673e275ed065fadb04c1722ac458e6c617a89Pierre Vandwalle    int getAllowNetworkSwitchingWhileAssociated();
1665914caff06f9790238bea0536acfbf533cee9046Pierre Vandwalle
167358673e275ed065fadb04c1722ac458e6c617a89Pierre Vandwalle    void setHalBasedAutojoinOffload(int enabled);
168358673e275ed065fadb04c1722ac458e6c617a89Pierre Vandwalle    int getHalBasedAutojoinOffload();
1695914caff06f9790238bea0536acfbf533cee9046Pierre Vandwalle
1704eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    WifiConnectionStatistics getConnectionStatistics();
17193e4192c06a28f37bc1c16b280fbd22c735b5c92vandwalle
17293e4192c06a28f37bc1c16b280fbd22c735b5c92vandwalle    void disableEphemeralNetwork(String SSID);
173f1fb39763d87dabe254b6ed64ac8f20145035bc0Stuart Scott
174f1fb39763d87dabe254b6ed64ac8f20145035bc0Stuart Scott    void factoryReset();
1757094d22022c8e0c6ad71920b101434dded8a276eSanket Padawe
1767094d22022c8e0c6ad71920b101434dded8a276eSanket Padawe    Network getCurrentNetwork();
1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
179