diff options
author | Roshan Pius <rpius@google.com> | 2016-05-19 16:46:57 -0700 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2016-05-19 16:53:37 -0700 |
commit | ee0ab818341d44614ffe56ae73ecc08b974c2cbb (patch) | |
tree | 75dc143c90120b23f8d875940037d941f1858ec2 /service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java | |
parent | 43d1480fe5ec04f3dec53cbe9d6c46186ddc8d44 (diff) | |
download | android_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.java | 17 |
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; } |