summaryrefslogtreecommitdiffstats
path: root/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2016-05-19 16:46:57 -0700
committerRoshan Pius <rpius@google.com>2016-05-19 16:53:37 -0700
commitee0ab818341d44614ffe56ae73ecc08b974c2cbb (patch)
tree75dc143c90120b23f8d875940037d941f1858ec2 /service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
parent43d1480fe5ec04f3dec53cbe9d6c46186ddc8d44 (diff)
downloadandroid_frameworks_opt_net_wifi-ee0ab818341d44614ffe56ae73ecc08b974c2cbb.tar.gz
android_frameworks_opt_net_wifi-ee0ab818341d44614ffe56ae73ecc08b974c2cbb.tar.bz2
android_frameworks_opt_net_wifi-ee0ab818341d44614ffe56ae73ecc08b974c2cbb.zip
Change clock for time interval/elapsed measurments
1. Use the clock retrieved from WifiInjector in more modules: QNS, Scanner, WifiConfigManager. 2. Use |elapsedRealtime| for time interval/elapsed measurments. Things like scan results, config elements still continue to use |currentTimeMillis| Also, 1. Had to make |tryEnableQualifiedNetwork| public to prevent mockito from calling the real method in WifiConfigManager. 2. Move keystore also into WifiInjector. BUG: 28299258 BUG: 28824635 Change-Id: I91272aa5665abb741da7530d8920d09c8c5ea41f TEST: Compiles & unit-test passes
Diffstat (limited to 'service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java')
-rw-r--r--service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java17
1 files changed, 9 insertions, 8 deletions
diff --git a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
index 76bff29c7..b732a6e77 100644
--- a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
+++ b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
@@ -51,6 +51,7 @@ import com.android.internal.util.AsyncChannel;
import com.android.internal.util.Protocol;
import com.android.internal.util.State;
import com.android.internal.util.StateMachine;
+import com.android.server.wifi.Clock;
import com.android.server.wifi.WifiInjector;
import com.android.server.wifi.WifiMetrics;
import com.android.server.wifi.WifiMetricsProto;
@@ -65,7 +66,6 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.Map;
import java.util.Set;
public class WifiScanningServiceImpl extends IWifiScanner.Stub {
@@ -78,8 +78,6 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
private final LocalLog mLocalLog = new LocalLog(1024);
- private final WifiMetrics mWifiMetrics;
-
private void localLog(String message) {
mLocalLog.log(message);
}
@@ -256,6 +254,8 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
private ClientHandler mClientHandler;
private final IBatteryStats mBatteryStats;
private final AlarmManager mAlarmManager;
+ private final WifiMetrics mWifiMetrics;
+ private final Clock mClock;
WifiScanningServiceImpl(Context context, Looper looper,
WifiScannerImpl.WifiScannerImplFactory scannerImplFactory, IBatteryStats batteryStats,
@@ -267,6 +267,7 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
mClients = new ArrayMap<>();
mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
mWifiMetrics = wifiInjector.getWifiMetrics();
+ mClock = wifiInjector.getClock();
mPreviousSchedule = null;
}
@@ -868,7 +869,7 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
// of this state machine. It is ok right now because the driver loaded event
// is sent to this state machine first.
if (mScannerImpl == null) {
- mScannerImpl = mScannerImplFactory.create(mContext, mLooper);
+ mScannerImpl = mScannerImplFactory.create(mContext, mLooper, mClock);
mChannelHelper = mScannerImpl.getChannelHelper();
}
@@ -2166,8 +2167,8 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
mWifiChangeDetected = false;
long unchangedDelay = settings.unchangedSampleSize * settings.periodInMs;
mAlarmManager.cancel(mTimeoutIntent);
- mAlarmManager.setExact(AlarmManager.RTC_WAKEUP,
- System.currentTimeMillis() + unchangedDelay,
+ mAlarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,
+ mClock.elapsedRealtime() + unchangedDelay,
mTimeoutIntent);
break;
case WifiScanner.CMD_SCAN_RESULT:
@@ -2177,8 +2178,8 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
reconfigureScan((ScanData[])msg.obj,
STATIONARY_SCAN_PERIOD_MS);
mWifiChangeDetected = false;
- mAlarmManager.setExact(AlarmManager.RTC_WAKEUP,
- System.currentTimeMillis() + MOVING_STATE_TIMEOUT_MS,
+ mAlarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,
+ mClock.elapsedRealtime() + MOVING_STATE_TIMEOUT_MS,
mTimeoutIntent);
mScanResultsPending = false;
}