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.wifi;
18 
19 import android.net.wifi.hotspot2.OsuProvider;
20 import android.net.wifi.hotspot2.PasspointConfiguration;
21 import android.net.wifi.hotspot2.IProvisioningCallback;
22 
23 import android.net.DhcpInfo;
24 import android.net.DhcpOption;
25 import android.net.Network;
26 import android.net.TetheringManager.TetheringRequest;
27 import android.net.wifi.CoexUnsafeChannel;
28 import android.net.wifi.IActionListener;
29 import android.net.wifi.IBooleanListener;
30 import android.net.wifi.IByteArrayListener;
31 import android.net.wifi.ICoexCallback;
32 import android.net.wifi.IDppCallback;
33 import android.net.wifi.IIntegerListener;
34 import android.net.wifi.IInterfaceCreationInfoCallback;
35 import android.net.wifi.ILastCallerListener;
36 import android.net.wifi.IListListener;
37 import android.net.wifi.ILocalOnlyHotspotCallback;
38 import android.net.wifi.ILocalOnlyConnectionStatusListener;
39 import android.net.wifi.IMapListener;
40 import android.net.wifi.INetworkRequestMatchCallback;
41 import android.net.wifi.IOnWifiActivityEnergyInfoListener;
42 import android.net.wifi.IOnWifiDriverCountryCodeChangedListener;
43 import android.net.wifi.IWifiNetworkStateChangedListener;
44 import android.net.wifi.IMacAddressListListener;
45 import android.net.wifi.IOnWifiUsabilityStatsListener;
46 import android.net.wifi.IPnoScanResultsCallback;
47 import android.net.wifi.IScanResultsCallback;
48 import android.net.wifi.ISoftApCallback;
49 import android.net.wifi.IStringListener;
50 import android.net.wifi.ISubsystemRestartCallback;
51 import android.net.wifi.ISuggestionConnectionStatusListener;
52 import android.net.wifi.ISuggestionUserApprovalStatusListener;
53 import android.net.wifi.ITrafficStateCallback;
54 import android.net.wifi.ITwtCallback;
55 import android.net.wifi.ITwtCapabilitiesListener;
56 import android.net.wifi.ITwtStatsListener;
57 import android.net.wifi.IWifiBandsListener;
58 import android.net.wifi.IWifiConnectedNetworkScorer;
59 import android.net.wifi.IWifiLowLatencyLockListener;
60 import android.net.wifi.IWifiNetworkSelectionConfigListener;
61 import android.net.wifi.IWifiVerboseLoggingStatusChangedListener;
62 import android.net.wifi.MscsParams;
63 import android.net.wifi.QosPolicyParams;
64 import android.net.wifi.ScanResult;
65 import android.net.wifi.SoftApConfiguration;
66 import android.net.wifi.WifiAvailableChannel;
67 import android.net.wifi.WifiConfiguration;
68 import android.net.wifi.WifiInfo;
69 import android.net.wifi.WifiManager;
70 import android.net.wifi.WifiNetworkSelectionConfig;
71 import android.net.wifi.WifiNetworkSuggestion;
72 import android.net.wifi.WifiSsid;
73 
74 import android.net.wifi.twt.TwtRequest;
75 
76 import android.os.Bundle;
77 import android.os.Messenger;
78 import android.os.ResultReceiver;
79 import android.os.WorkSource;
80 
81 import com.android.modules.utils.ParceledListSlice;
82 
83 /**
84  * Interface that allows controlling and querying Wi-Fi connectivity.
85  *
86  * {@hide}
87  */
88 interface IWifiManager
89 {
getSupportedFeatures()90     long getSupportedFeatures();
91 
getWifiActivityEnergyInfoAsync(in IOnWifiActivityEnergyInfoListener listener)92     oneway void getWifiActivityEnergyInfoAsync(in IOnWifiActivityEnergyInfoListener listener);
93 
setNetworkSelectionConfig(in WifiNetworkSelectionConfig nsConfig)94     void setNetworkSelectionConfig(in WifiNetworkSelectionConfig nsConfig);
95 
getNetworkSelectionConfig(in IWifiNetworkSelectionConfigListener listener)96     void getNetworkSelectionConfig(in IWifiNetworkSelectionConfigListener listener);
97 
setThirdPartyAppEnablingWifiConfirmationDialogEnabled(boolean enable)98     void setThirdPartyAppEnablingWifiConfirmationDialogEnabled(boolean enable);
99 
isThirdPartyAppEnablingWifiConfirmationDialogEnabled()100     boolean isThirdPartyAppEnablingWifiConfirmationDialogEnabled();
101 
setScreenOnScanSchedule(in int[] scanScheduleSeconds, in int[] scanType)102     void setScreenOnScanSchedule(in int[] scanScheduleSeconds, in int[] scanType);
103 
setOneShotScreenOnConnectivityScanDelayMillis(int delayMs)104     void setOneShotScreenOnConnectivityScanDelayMillis(int delayMs);
105 
getConfiguredNetworks(String packageName, String featureId, boolean callerNetworksOnly)106     ParceledListSlice getConfiguredNetworks(String packageName, String featureId, boolean callerNetworksOnly);
107 
getPrivilegedConfiguredNetworks(String packageName, String featureId, in Bundle extras)108     ParceledListSlice getPrivilegedConfiguredNetworks(String packageName, String featureId, in Bundle extras);
109 
getPrivilegedConnectedNetwork(String packageName, String featureId, in Bundle extras)110     WifiConfiguration getPrivilegedConnectedNetwork(String packageName, String featureId, in Bundle extras);
111 
getAllMatchingFqdnsForScanResults(in List<ScanResult> scanResult)112     Map getAllMatchingFqdnsForScanResults(in List<ScanResult> scanResult);
113 
setSsidsAllowlist(String packageName, in List<WifiSsid> ssids)114     void setSsidsAllowlist(String packageName, in List<WifiSsid> ssids);
115 
getSsidsAllowlist(String packageName)116     List getSsidsAllowlist(String packageName);
117 
getMatchingOsuProviders(in List<ScanResult> scanResult)118     Map getMatchingOsuProviders(in List<ScanResult> scanResult);
119 
getMatchingPasspointConfigsForOsuProviders(in List<OsuProvider> osuProviders)120     Map getMatchingPasspointConfigsForOsuProviders(in List<OsuProvider> osuProviders);
121 
addOrUpdateNetwork(in WifiConfiguration config, String packageName, in Bundle extras)122     int addOrUpdateNetwork(in WifiConfiguration config, String packageName, in Bundle extras);
123 
addOrUpdateNetworkPrivileged(in WifiConfiguration config, String packageName)124     WifiManager.AddNetworkResult addOrUpdateNetworkPrivileged(in WifiConfiguration config, String packageName);
125 
addOrUpdatePasspointConfiguration(in PasspointConfiguration config, String packageName)126     boolean addOrUpdatePasspointConfiguration(in PasspointConfiguration config, String packageName);
127 
removePasspointConfiguration(in String fqdn, String packageName)128     boolean removePasspointConfiguration(in String fqdn, String packageName);
129 
getPasspointConfigurations(in String packageName)130     List<PasspointConfiguration> getPasspointConfigurations(in String packageName);
131 
getWifiConfigsForPasspointProfiles(in List<String> fqdnList)132     List<WifiConfiguration> getWifiConfigsForPasspointProfiles(in List<String> fqdnList);
133 
queryPasspointIcon(long bssid, String fileName)134     void queryPasspointIcon(long bssid, String fileName);
135 
matchProviderWithCurrentNetwork(String fqdn)136     int matchProviderWithCurrentNetwork(String fqdn);
137 
removeNetwork(int netId, String packageName)138     boolean removeNetwork(int netId, String packageName);
139 
removeNonCallerConfiguredNetworks(String packageName)140     boolean removeNonCallerConfiguredNetworks(String packageName);
141 
enableNetwork(int netId, boolean disableOthers, String packageName)142     boolean enableNetwork(int netId, boolean disableOthers, String packageName);
143 
disableNetwork(int netId, String packageName)144     boolean disableNetwork(int netId, String packageName);
145 
allowAutojoinGlobal(boolean choice, String packageName, in Bundle extras)146     void allowAutojoinGlobal(boolean choice, String packageName, in Bundle extras);
147 
queryAutojoinGlobal(in IBooleanListener listener)148     void queryAutojoinGlobal(in IBooleanListener listener);
149 
allowAutojoin(int netId, boolean choice)150     void allowAutojoin(int netId, boolean choice);
151 
allowAutojoinPasspoint(String fqdn, boolean enableAutoJoin)152     void allowAutojoinPasspoint(String fqdn, boolean enableAutoJoin);
153 
setMacRandomizationSettingPasspointEnabled(String fqdn, boolean enable)154     void setMacRandomizationSettingPasspointEnabled(String fqdn, boolean enable);
155 
setPasspointMeteredOverride(String fqdn, int meteredOverride)156     void setPasspointMeteredOverride(String fqdn, int meteredOverride);
157 
startScan(String packageName, String featureId)158     boolean startScan(String packageName, String featureId);
159 
getScanResults(String callingPackage, String callingFeatureId)160     ParceledListSlice getScanResults(String callingPackage, String callingFeatureId);
161 
getChannelData(in IListListener listener, String packageName, in Bundle extras)162     void getChannelData(in IListListener listener, String packageName, in Bundle extras);
163 
getBssidBlocklist(in ParceledListSlice<WifiSsid> ssids, in IMacAddressListListener listener)164     void getBssidBlocklist(in ParceledListSlice<WifiSsid> ssids, in IMacAddressListListener listener);
165 
disconnect(String packageName)166     boolean disconnect(String packageName);
167 
reconnect(String packageName)168     boolean reconnect(String packageName);
169 
reassociate(String packageName)170     boolean reassociate(String packageName);
171 
getConnectionInfo(String callingPackage, String callingFeatureId)172     WifiInfo getConnectionInfo(String callingPackage, String callingFeatureId);
173 
setWifiEnabled(String packageName, boolean enable)174     boolean setWifiEnabled(String packageName, boolean enable);
175 
getWifiEnabledState()176     int getWifiEnabledState();
177 
registerDriverCountryCodeChangedListener( in IOnWifiDriverCountryCodeChangedListener listener, String packageName, String featureId)178     void registerDriverCountryCodeChangedListener(
179             in IOnWifiDriverCountryCodeChangedListener listener, String packageName,
180             String featureId);
181 
unregisterDriverCountryCodeChangedListener( in IOnWifiDriverCountryCodeChangedListener listener)182     void unregisterDriverCountryCodeChangedListener(
183             in IOnWifiDriverCountryCodeChangedListener listener);
184 
addWifiNetworkStateChangedListener(in IWifiNetworkStateChangedListener listener)185     void addWifiNetworkStateChangedListener(in IWifiNetworkStateChangedListener listener);
186 
removeWifiNetworkStateChangedListener(in IWifiNetworkStateChangedListener listener)187     void removeWifiNetworkStateChangedListener(in IWifiNetworkStateChangedListener listener);
188 
getCountryCode(in String packageName, in String featureId)189     String getCountryCode(in String packageName, in String featureId);
190 
setOverrideCountryCode(String country)191     void setOverrideCountryCode(String country);
192 
clearOverrideCountryCode()193     void clearOverrideCountryCode();
194 
setDefaultCountryCode(String country)195     void setDefaultCountryCode(String country);
196 
is24GHzBandSupported()197     boolean is24GHzBandSupported();
198 
is5GHzBandSupported()199     boolean is5GHzBandSupported();
200 
is6GHzBandSupported()201     boolean is6GHzBandSupported();
202 
is60GHzBandSupported()203     boolean is60GHzBandSupported();
204 
isWifiStandardSupported(int standard)205     boolean isWifiStandardSupported(int standard);
206 
getDhcpInfo(String packageName)207     DhcpInfo getDhcpInfo(String packageName);
208 
setScanAlwaysAvailable(boolean isAvailable, String packageName)209     void setScanAlwaysAvailable(boolean isAvailable, String packageName);
210 
isScanAlwaysAvailable()211     boolean isScanAlwaysAvailable();
212 
acquireWifiLock(IBinder lock, int lockType, String tag, in WorkSource ws, in String packageName, in Bundle extras)213     boolean acquireWifiLock(IBinder lock, int lockType, String tag, in WorkSource ws, in String packageName, in Bundle extras);
214 
updateWifiLockWorkSource(IBinder lock, in WorkSource ws, in String packageName, in Bundle extras)215     void updateWifiLockWorkSource(IBinder lock, in WorkSource ws, in String packageName, in Bundle extras);
216 
releaseWifiLock(IBinder lock)217     boolean releaseWifiLock(IBinder lock);
218 
initializeMulticastFiltering()219     void initializeMulticastFiltering();
220 
isMulticastEnabled()221     boolean isMulticastEnabled();
222 
acquireMulticastLock(IBinder binder, String tag)223     void acquireMulticastLock(IBinder binder, String tag);
224 
releaseMulticastLock(String tag)225     void releaseMulticastLock(String tag);
226 
updateInterfaceIpState(String ifaceName, int mode)227     void updateInterfaceIpState(String ifaceName, int mode);
228 
isDefaultCoexAlgorithmEnabled()229     boolean isDefaultCoexAlgorithmEnabled();
230 
setCoexUnsafeChannels(in List<CoexUnsafeChannel> unsafeChannels, int mandatoryRestrictions)231     void setCoexUnsafeChannels(in List<CoexUnsafeChannel> unsafeChannels, int mandatoryRestrictions);
232 
registerCoexCallback(in ICoexCallback callback)233     void registerCoexCallback(in ICoexCallback callback);
234 
unregisterCoexCallback(in ICoexCallback callback)235     void unregisterCoexCallback(in ICoexCallback callback);
236 
startSoftAp(in WifiConfiguration wifiConfig, String packageName)237     boolean startSoftAp(in WifiConfiguration wifiConfig, String packageName);
238 
startTetheredHotspot(in SoftApConfiguration softApConfig, String packageName)239     boolean startTetheredHotspot(in SoftApConfiguration softApConfig, String packageName);
240 
startTetheredHotspotRequest(in TetheringRequest request, in ISoftApCallback callback, String packageName)241     void startTetheredHotspotRequest(in TetheringRequest request, in ISoftApCallback callback, String packageName);
242 
stopSoftAp()243     boolean stopSoftAp();
244 
validateSoftApConfiguration(in SoftApConfiguration config)245     boolean validateSoftApConfiguration(in SoftApConfiguration config);
246 
startLocalOnlyHotspot(in ILocalOnlyHotspotCallback callback, String packageName, String featureId, in SoftApConfiguration customConfig, in Bundle extras)247     int startLocalOnlyHotspot(in ILocalOnlyHotspotCallback callback, String packageName,
248                               String featureId, in SoftApConfiguration customConfig, in Bundle extras);
249 
stopLocalOnlyHotspot()250     void stopLocalOnlyHotspot();
251 
registerLocalOnlyHotspotSoftApCallback(in ISoftApCallback callback, in Bundle extras)252     void registerLocalOnlyHotspotSoftApCallback(in ISoftApCallback callback, in Bundle extras);
253 
unregisterLocalOnlyHotspotSoftApCallback(in ISoftApCallback callback, in Bundle extras)254     void unregisterLocalOnlyHotspotSoftApCallback(in ISoftApCallback callback, in Bundle extras);
255 
startWatchLocalOnlyHotspot(in ILocalOnlyHotspotCallback callback)256     void startWatchLocalOnlyHotspot(in ILocalOnlyHotspotCallback callback);
257 
stopWatchLocalOnlyHotspot()258     void stopWatchLocalOnlyHotspot();
259 
260     @UnsupportedAppUsage
getWifiApEnabledState()261     int getWifiApEnabledState();
262 
263     @UnsupportedAppUsage
getWifiApConfiguration()264     WifiConfiguration getWifiApConfiguration();
265 
getSoftApConfiguration()266     SoftApConfiguration getSoftApConfiguration();
267 
queryLastConfiguredTetheredApPassphraseSinceBoot(IStringListener listener)268     void queryLastConfiguredTetheredApPassphraseSinceBoot(IStringListener listener);
269 
setWifiApConfiguration(in WifiConfiguration wifiConfig, String packageName)270     boolean setWifiApConfiguration(in WifiConfiguration wifiConfig, String packageName);
271 
setSoftApConfiguration(in SoftApConfiguration softApConfig, String packageName)272     boolean setSoftApConfiguration(in SoftApConfiguration softApConfig, String packageName);
273 
notifyUserOfApBandConversion(String packageName)274     void notifyUserOfApBandConversion(String packageName);
275 
enableTdls(String remoteIPAddress, boolean enable)276     void enableTdls(String remoteIPAddress, boolean enable);
277 
enableTdlsWithRemoteIpAddress(String remoteIPAddress, boolean enable, in IBooleanListener listener)278     void enableTdlsWithRemoteIpAddress(String remoteIPAddress, boolean enable, in IBooleanListener listener);
279 
enableTdlsWithMacAddress(String remoteMacAddress, boolean enable)280     void enableTdlsWithMacAddress(String remoteMacAddress, boolean enable);
281 
enableTdlsWithRemoteMacAddress(String remoteMacAddress, boolean enable, in IBooleanListener listener)282     void enableTdlsWithRemoteMacAddress(String remoteMacAddress, boolean enable, in IBooleanListener listener);
283 
isTdlsOperationCurrentlyAvailable(in IBooleanListener listener)284     void isTdlsOperationCurrentlyAvailable(in IBooleanListener listener);
285 
getMaxSupportedConcurrentTdlsSessions(in IIntegerListener callback)286     void getMaxSupportedConcurrentTdlsSessions(in IIntegerListener callback);
287 
getNumberOfEnabledTdlsSessions(in IIntegerListener callback)288     void getNumberOfEnabledTdlsSessions(in IIntegerListener callback);
289 
getCurrentNetworkWpsNfcConfigurationToken()290     String getCurrentNetworkWpsNfcConfigurationToken();
291 
enableVerboseLogging(int verbose)292     void enableVerboseLogging(int verbose);
293 
getVerboseLoggingLevel()294     int getVerboseLoggingLevel();
295 
disableEphemeralNetwork(String SSID, String packageName)296     void disableEphemeralNetwork(String SSID, String packageName);
297 
factoryReset(String packageName)298     void factoryReset(String packageName);
299 
300     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
getCurrentNetwork()301     Network getCurrentNetwork();
302 
retrieveBackupData()303     byte[] retrieveBackupData();
304 
restoreBackupData(in byte[] data)305     void restoreBackupData(in byte[] data);
306 
retrieveSoftApBackupData()307     byte[] retrieveSoftApBackupData();
308 
restoreSoftApBackupData(in byte[] data)309     SoftApConfiguration restoreSoftApBackupData(in byte[] data);
310 
restoreSupplicantBackupData(in byte[] supplicantData, in byte[] ipConfigData)311     void restoreSupplicantBackupData(in byte[] supplicantData, in byte[] ipConfigData);
312 
startSubscriptionProvisioning(in OsuProvider provider, in IProvisioningCallback callback)313     void startSubscriptionProvisioning(in OsuProvider provider, in IProvisioningCallback callback);
314 
registerSoftApCallback(in ISoftApCallback callback)315     void registerSoftApCallback(in ISoftApCallback callback);
316 
unregisterSoftApCallback(in ISoftApCallback callback)317     void unregisterSoftApCallback(in ISoftApCallback callback);
318 
addWifiVerboseLoggingStatusChangedListener(in IWifiVerboseLoggingStatusChangedListener listener)319     void addWifiVerboseLoggingStatusChangedListener(in IWifiVerboseLoggingStatusChangedListener listener);
320 
removeWifiVerboseLoggingStatusChangedListener(in IWifiVerboseLoggingStatusChangedListener listener)321     void removeWifiVerboseLoggingStatusChangedListener(in IWifiVerboseLoggingStatusChangedListener listener);
322 
addOnWifiUsabilityStatsListener(in IOnWifiUsabilityStatsListener listener)323     void addOnWifiUsabilityStatsListener(in IOnWifiUsabilityStatsListener listener);
324 
removeOnWifiUsabilityStatsListener(in IOnWifiUsabilityStatsListener listener)325     void removeOnWifiUsabilityStatsListener(in IOnWifiUsabilityStatsListener listener);
326 
registerTrafficStateCallback(in ITrafficStateCallback callback)327     void registerTrafficStateCallback(in ITrafficStateCallback callback);
328 
unregisterTrafficStateCallback(in ITrafficStateCallback callback)329     void unregisterTrafficStateCallback(in ITrafficStateCallback callback);
330 
registerNetworkRequestMatchCallback(in INetworkRequestMatchCallback callback)331     void registerNetworkRequestMatchCallback(in INetworkRequestMatchCallback callback);
332 
unregisterNetworkRequestMatchCallback(in INetworkRequestMatchCallback callback)333     void unregisterNetworkRequestMatchCallback(in INetworkRequestMatchCallback callback);
334 
addNetworkSuggestions(in List<WifiNetworkSuggestion> networkSuggestions, in String packageName, in String featureId)335     int addNetworkSuggestions(in List<WifiNetworkSuggestion> networkSuggestions, in String packageName,
336         in String featureId);
337 
removeNetworkSuggestions(in List<WifiNetworkSuggestion> networkSuggestions, in String packageName, int action)338     int removeNetworkSuggestions(in List<WifiNetworkSuggestion> networkSuggestions, in String packageName, int action);
339 
getNetworkSuggestions(in String packageName)340     List<WifiNetworkSuggestion> getNetworkSuggestions(in String packageName);
341 
getFactoryMacAddresses()342     String[] getFactoryMacAddresses();
343 
setDeviceMobilityState(int state)344     void setDeviceMobilityState(int state);
345 
startDppAsConfiguratorInitiator(in IBinder binder, in String packageName, in String enrolleeUri, int selectedNetworkId, int netRole, in IDppCallback callback)346     void startDppAsConfiguratorInitiator(in IBinder binder, in String packageName,
347         in String enrolleeUri, int selectedNetworkId, int netRole, in IDppCallback callback);
348 
startDppAsEnrolleeInitiator(in IBinder binder, in String configuratorUri, in IDppCallback callback)349     void startDppAsEnrolleeInitiator(in IBinder binder, in String configuratorUri,
350         in IDppCallback callback);
351 
startDppAsEnrolleeResponder(in IBinder binder, in String deviceInfo, int curve, in IDppCallback callback)352     void startDppAsEnrolleeResponder(in IBinder binder, in String deviceInfo, int curve,
353         in IDppCallback callback);
354 
stopDppSession()355     void stopDppSession();
356 
updateWifiUsabilityScore(int seqNum, int score, int predictionHorizonSec)357     void updateWifiUsabilityScore(int seqNum, int score, int predictionHorizonSec);
358 
connect(in WifiConfiguration config, int netId, in IActionListener listener, in String packageName, in Bundle extras)359     oneway void connect(in WifiConfiguration config, int netId, in IActionListener listener, in String packageName, in Bundle extras);
360 
save(in WifiConfiguration config, in IActionListener listener, in String packageName)361     oneway void save(in WifiConfiguration config, in IActionListener listener, in String packageName);
362 
forget(int netId, in IActionListener listener)363     oneway void forget(int netId, in IActionListener listener);
364 
registerScanResultsCallback(in IScanResultsCallback callback)365     void registerScanResultsCallback(in IScanResultsCallback callback);
366 
unregisterScanResultsCallback(in IScanResultsCallback callback)367     void unregisterScanResultsCallback(in IScanResultsCallback callback);
368 
registerSuggestionConnectionStatusListener(in ISuggestionConnectionStatusListener listener, String packageName, String featureId)369     void registerSuggestionConnectionStatusListener(in ISuggestionConnectionStatusListener listener, String packageName, String featureId);
370 
unregisterSuggestionConnectionStatusListener(in ISuggestionConnectionStatusListener listener, String packageName)371     void unregisterSuggestionConnectionStatusListener(in ISuggestionConnectionStatusListener listener, String packageName);
372 
addLocalOnlyConnectionStatusListener(in ILocalOnlyConnectionStatusListener listener, String packageName, String featureId)373     void addLocalOnlyConnectionStatusListener(in ILocalOnlyConnectionStatusListener listener, String packageName, String featureId);
374 
removeLocalOnlyConnectionStatusListener(in ILocalOnlyConnectionStatusListener listener, String packageName)375     void removeLocalOnlyConnectionStatusListener(in ILocalOnlyConnectionStatusListener listener, String packageName);
376 
calculateSignalLevel(int rssi)377     int calculateSignalLevel(int rssi);
378 
getWifiConfigForMatchedNetworkSuggestionsSharedWithUser(in List<ScanResult> scanResults)379     List<WifiConfiguration> getWifiConfigForMatchedNetworkSuggestionsSharedWithUser(in List<ScanResult> scanResults);
380 
setWifiConnectedNetworkScorer(in IBinder binder, in IWifiConnectedNetworkScorer scorer)381     boolean setWifiConnectedNetworkScorer(in IBinder binder, in IWifiConnectedNetworkScorer scorer);
382 
clearWifiConnectedNetworkScorer()383     void clearWifiConnectedNetworkScorer();
384 
setExternalPnoScanRequest(in IBinder binder, in IPnoScanResultsCallback callback, in List<WifiSsid> ssids, in int[] frequencies, String packageName, String featureId)385     void setExternalPnoScanRequest(in IBinder binder, in IPnoScanResultsCallback callback, in List<WifiSsid> ssids, in int[] frequencies, String packageName, String featureId);
386 
setPnoScanEnabled(boolean enabled, boolean enablePnoScanAfterWifiToggle, String packageName)387     void setPnoScanEnabled(boolean enabled, boolean enablePnoScanAfterWifiToggle, String packageName);
388 
clearExternalPnoScanRequest()389     void clearExternalPnoScanRequest();
390 
getLastCallerInfoForApi(int api, in ILastCallerListener listener)391     void getLastCallerInfoForApi(int api, in ILastCallerListener listener);
392 
393     /**
394      * Return the Map of {@link WifiNetworkSuggestion} and the list of <ScanResult>
395      */
getMatchingScanResults(in List<WifiNetworkSuggestion> networkSuggestions, in List<ScanResult> scanResults, String callingPackage, String callingFeatureId)396     Map getMatchingScanResults(in List<WifiNetworkSuggestion> networkSuggestions, in List<ScanResult> scanResults, String callingPackage, String callingFeatureId);
397 
setScanThrottleEnabled(boolean enable)398     void setScanThrottleEnabled(boolean enable);
399 
isScanThrottleEnabled()400     boolean isScanThrottleEnabled();
401 
getAllMatchingPasspointProfilesForScanResults(in List<ScanResult> scanResult)402     Map getAllMatchingPasspointProfilesForScanResults(in List<ScanResult> scanResult);
403 
setAutoWakeupEnabled(boolean enable)404     void setAutoWakeupEnabled(boolean enable);
405 
isAutoWakeupEnabled()406     boolean isAutoWakeupEnabled();
407 
startRestrictingAutoJoinToSubscriptionId(int subId)408     void startRestrictingAutoJoinToSubscriptionId(int subId);
409 
stopRestrictingAutoJoinToSubscriptionId()410     void stopRestrictingAutoJoinToSubscriptionId();
411 
setCarrierNetworkOffloadEnabled(int subscriptionId, boolean merged, boolean enabled)412     void setCarrierNetworkOffloadEnabled(int subscriptionId, boolean merged, boolean enabled);
413 
isCarrierNetworkOffloadEnabled(int subscriptionId, boolean merged)414     boolean isCarrierNetworkOffloadEnabled(int subscriptionId, boolean merged);
415 
registerSubsystemRestartCallback(in ISubsystemRestartCallback callback)416     void registerSubsystemRestartCallback(in ISubsystemRestartCallback callback);
417 
unregisterSubsystemRestartCallback(in ISubsystemRestartCallback callback)418     void unregisterSubsystemRestartCallback(in ISubsystemRestartCallback callback);
419 
restartWifiSubsystem()420     void restartWifiSubsystem();
421 
addSuggestionUserApprovalStatusListener(in ISuggestionUserApprovalStatusListener listener, String packageName)422     void addSuggestionUserApprovalStatusListener(in ISuggestionUserApprovalStatusListener listener, String packageName);
423 
removeSuggestionUserApprovalStatusListener(in ISuggestionUserApprovalStatusListener listener, String packageName)424     void removeSuggestionUserApprovalStatusListener(in ISuggestionUserApprovalStatusListener listener, String packageName);
425 
setEmergencyScanRequestInProgress(boolean inProgress)426     void setEmergencyScanRequestInProgress(boolean inProgress);
427 
removeAppState(int targetAppUid, String targetApppackageName)428     void removeAppState(int targetAppUid, String targetApppackageName);
429 
setWifiScoringEnabled(boolean enabled)430     boolean setWifiScoringEnabled(boolean enabled);
431 
flushPasspointAnqpCache(String packageName)432     void flushPasspointAnqpCache(String packageName);
433 
getUsableChannels(int band, int mode, int filter, String packageName, in Bundle extras)434     List<WifiAvailableChannel> getUsableChannels(int band, int mode, int filter, String packageName, in Bundle extras);
435 
isWifiPasspointEnabled()436     boolean isWifiPasspointEnabled();
437 
setWifiPasspointEnabled(boolean enabled)438     void setWifiPasspointEnabled(boolean enabled);
439 
getStaConcurrencyForMultiInternetMode()440     int getStaConcurrencyForMultiInternetMode();
441 
setStaConcurrencyForMultiInternetMode(int mode)442     boolean setStaConcurrencyForMultiInternetMode(int mode);
443 
notifyMinimumRequiredWifiSecurityLevelChanged(int level)444     void notifyMinimumRequiredWifiSecurityLevelChanged(int level);
445 
notifyWifiSsidPolicyChanged(int policyType, in List<WifiSsid> ssids)446     void notifyWifiSsidPolicyChanged(int policyType, in List<WifiSsid> ssids);
447 
getOemPrivilegedWifiAdminPackages()448     String[] getOemPrivilegedWifiAdminPackages();
449 
replyToP2pInvitationReceivedDialog(int dialogId, boolean accepted, String optionalPin)450     void replyToP2pInvitationReceivedDialog(int dialogId, boolean accepted, String optionalPin);
451 
replyToSimpleDialog(int dialogId, int reply)452     void replyToSimpleDialog(int dialogId, int reply);
453 
addCustomDhcpOptions(in WifiSsid ssid, in byte[] oui, in List<DhcpOption> options)454     void addCustomDhcpOptions(in WifiSsid ssid, in byte[] oui, in List<DhcpOption> options);
455 
removeCustomDhcpOptions(in WifiSsid ssid, in byte[] oui)456     void removeCustomDhcpOptions(in WifiSsid ssid, in byte[] oui);
457 
reportCreateInterfaceImpact(String packageName, int interfaceType, boolean requireNewInterface, in IInterfaceCreationInfoCallback callback)458     void reportCreateInterfaceImpact(String packageName, int interfaceType, boolean requireNewInterface, in IInterfaceCreationInfoCallback callback);
459 
getMaxNumberOfChannelsPerRequest()460     int getMaxNumberOfChannelsPerRequest();
461 
addQosPolicies(in List<QosPolicyParams> policyParamsList, in IBinder binder, String packageName, in IListListener callback)462     void addQosPolicies(in List<QosPolicyParams> policyParamsList, in IBinder binder, String packageName, in IListListener callback);
463 
removeQosPolicies(in int[] policyIdList, String packageName)464     void removeQosPolicies(in int[] policyIdList, String packageName);
465 
removeAllQosPolicies(String packageName)466     void removeAllQosPolicies(String packageName);
467 
setLinkLayerStatsPollingInterval(int intervalMs)468     void setLinkLayerStatsPollingInterval(int intervalMs);
469 
getLinkLayerStatsPollingInterval(in IIntegerListener listener)470     void getLinkLayerStatsPollingInterval(in IIntegerListener listener);
471 
setMloMode(int mode, in IBooleanListener listener)472     void setMloMode(int mode, in IBooleanListener listener);
473 
getMloMode(in IIntegerListener listener)474     void getMloMode(in IIntegerListener listener);
475 
addWifiLowLatencyLockListener(in IWifiLowLatencyLockListener listener)476     void addWifiLowLatencyLockListener(in IWifiLowLatencyLockListener listener);
477 
removeWifiLowLatencyLockListener(in IWifiLowLatencyLockListener listener)478     void removeWifiLowLatencyLockListener(in IWifiLowLatencyLockListener listener);
479 
getMaxMloAssociationLinkCount(in IIntegerListener listener, in Bundle extras)480     void getMaxMloAssociationLinkCount(in IIntegerListener listener, in Bundle extras);
481 
getMaxMloStrLinkCount(in IIntegerListener listener, in Bundle extras)482     void getMaxMloStrLinkCount(in IIntegerListener listener, in Bundle extras);
483 
getSupportedSimultaneousBandCombinations(in IWifiBandsListener listener, in Bundle extras)484     void getSupportedSimultaneousBandCombinations(in IWifiBandsListener listener, in Bundle extras);
485 
setWepAllowed(boolean isAllowed)486     void setWepAllowed(boolean isAllowed);
487 
queryWepAllowed(in IBooleanListener listener)488     void queryWepAllowed(in IBooleanListener listener);
489 
enableMscs(in MscsParams mscsParams)490     void enableMscs(in MscsParams mscsParams);
491 
disableMscs()492     void disableMscs();
493 
setSendDhcpHostnameRestriction(String packageName, int restriction)494     void setSendDhcpHostnameRestriction(String packageName, int restriction);
495 
querySendDhcpHostnameRestriction(String packageName, in IIntegerListener listener)496     void querySendDhcpHostnameRestriction(String packageName, in IIntegerListener listener);
497 
setPerSsidRoamingMode(in WifiSsid ssid, int roamingMode, String packageName)498     void setPerSsidRoamingMode(in WifiSsid ssid, int roamingMode, String packageName);
499 
removePerSsidRoamingMode(in WifiSsid ssid, String packageName)500     void removePerSsidRoamingMode(in WifiSsid ssid, String packageName);
501 
getPerSsidRoamingModes(String packageName,in IMapListener listener)502     void getPerSsidRoamingModes(String packageName,in IMapListener listener);
503 
getTwtCapabilities(in ITwtCapabilitiesListener listener, in Bundle extras)504     void getTwtCapabilities(in ITwtCapabilitiesListener listener, in Bundle extras);
505 
setupTwtSession(in TwtRequest twtRequest, in ITwtCallback callback, in Bundle extras)506     void setupTwtSession(in TwtRequest twtRequest, in ITwtCallback callback, in Bundle extras);
507 
getStatsTwtSession(in int sessionId, in ITwtStatsListener listener, in Bundle extras)508     void getStatsTwtSession(in int sessionId, in ITwtStatsListener listener, in Bundle extras);
509 
teardownTwtSession(in int sessionId, in Bundle extras)510     void teardownTwtSession(in int sessionId, in Bundle extras);
511 
setD2dAllowedWhenInfraStaDisabled(boolean isAllowed)512     void setD2dAllowedWhenInfraStaDisabled(boolean isAllowed);
513 
queryD2dAllowedWhenInfraStaDisabled(in IBooleanListener listener)514     void queryD2dAllowedWhenInfraStaDisabled(in IBooleanListener listener);
515 
retrieveWifiBackupData(in IByteArrayListener listener)516     void retrieveWifiBackupData(in IByteArrayListener listener);
517 
restoreWifiBackupData(in byte[] data)518     void restoreWifiBackupData(in byte[] data);
519 
isPnoSupported()520     boolean isPnoSupported();
521 }
522