summaryrefslogtreecommitdiff
path: root/service/java/com/android/server/wifi/WifiServiceImpl.java
diff options
context:
space:
mode:
authorKshitij Gupta <kshitijgm@gmail.com>2020-06-21 10:36:36 +0000
committerNolen Johnson <johnsonnolen@gmail.com>2021-05-07 19:21:02 +0200
commit94c32fb4eef1147dc5906f68c3f09eaebb88711d (patch)
tree149978b8f733010fba7d88ec245e9e34b86454da /service/java/com/android/server/wifi/WifiServiceImpl.java
parent5f3c73c05bf7bc69de8e17cd139e4209f6805f22 (diff)
wifi: Add StaState API [2/2]
Change-Id: I1f51ae6189a909132f566ebddfb6f9cbdf9acb2d
Diffstat (limited to 'service/java/com/android/server/wifi/WifiServiceImpl.java')
-rw-r--r--service/java/com/android/server/wifi/WifiServiceImpl.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/WifiServiceImpl.java b/service/java/com/android/server/wifi/WifiServiceImpl.java
index 3b4f39796..f84337cc0 100644
--- a/service/java/com/android/server/wifi/WifiServiceImpl.java
+++ b/service/java/com/android/server/wifi/WifiServiceImpl.java
@@ -60,6 +60,7 @@ import android.net.wifi.IOnWifiUsabilityStatsListener;
import android.net.wifi.IScanResultsCallback;
import android.net.wifi.ISoftApCallback;
import android.net.wifi.ISuggestionConnectionStatusListener;
+import android.net.wifi.IStaStateCallback;
import android.net.wifi.ITrafficStateCallback;
import android.net.wifi.IWifiConnectedNetworkScorer;
import android.net.wifi.ScanResult;
@@ -188,6 +189,8 @@ public class WifiServiceImpl extends BaseWifiService {
private final WifiConfigManager mWifiConfigManager;
private final PasspointManager mPasspointManager;
private final WifiLog mLog;
+ private final WifiStaStateNotifier mWifiStaStateNotifier;
+
/**
* Verbose logging flag. Toggled by developer options.
*/
@@ -329,6 +332,7 @@ public class WifiServiceImpl extends BaseWifiService {
mWifiScoreCard = mWifiInjector.getWifiScoreCard();
mMemoryStoreImpl = new MemoryStoreImpl(mContext, mWifiInjector,
mWifiScoreCard, mWifiInjector.getWifiHealthMonitor());
+ mWifiStaStateNotifier = mWifiInjector.getWifiStaStateNotifier();
}
/**
@@ -3729,6 +3733,31 @@ public class WifiServiceImpl extends BaseWifiService {
mWifiTrafficPoller.removeCallback(callbackIdentifier));
}
+ @Override
+ public void registerStaStateCallback(IBinder binder, IStaStateCallback callback,
+ int callbackIdentifier) {
+ if (binder == null) {
+ throw new IllegalArgumentException("Binder must not be null");
+ }
+ if (callback == null) {
+ throw new IllegalArgumentException("Callback must not be null");
+ }
+ if (mVerboseLoggingEnabled) {
+ mLog.info("registerStaStateCallback uid=%").c(Binder.getCallingUid()).flush();
+ }
+ mWifiThreadRunner.post(() ->
+ mWifiStaStateNotifier.addCallback(binder, callback, callbackIdentifier));
+ }
+
+ @Override
+ public void unregisterStaStateCallback(int callbackIdentifier) {
+ if (mVerboseLoggingEnabled) {
+ mLog.info("unregisterStaStateCallback uid=%").c(Binder.getCallingUid()).flush();
+ }
+ mWifiThreadRunner.post(() ->
+ mWifiStaStateNotifier.removeCallback(callbackIdentifier));
+ }
+
private long getSupportedFeaturesInternal() {
final AsyncChannel channel = mClientModeImplChannel;
long supportedFeatureSet = 0L;