From b9647ebba07f4c7e1db9ccbbd3acc78323271c9d Mon Sep 17 00:00:00 2001 From: Sundeep Ghuman Date: Wed, 15 Mar 2017 20:09:47 -0700 Subject: [PATCH] Fix broken AccessPointTests. Bug: None Test: runtest --path frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java Change-Id: I5d5da5e7e0faf1c124816f0dd8ab5f0249e54637 --- .../wifi/TestAccessPointBuilder.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/TestAccessPointBuilder.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/TestAccessPointBuilder.java index 665c439c3d6d3..73ca1eab2c92a 100644 --- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/TestAccessPointBuilder.java +++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/TestAccessPointBuilder.java @@ -79,19 +79,16 @@ public class TestAccessPointBuilder { * setting the level will also make it reachable. */ public TestAccessPointBuilder setLevel(int level) { - int outputRange = AccessPoint.SIGNAL_LEVELS - 1; - - if (level > outputRange) { - level = outputRange; - } else if (level < 0) { - level = 0; + // Reversal of WifiManager.calculateSignalLevels + if (level == 0) { + mRssi = MIN_RSSI; + } else if (level >= AccessPoint.SIGNAL_LEVELS) { + mRssi = MAX_RSSI; + } else { + float inputRange = MAX_RSSI - MIN_RSSI; + float outputRange = AccessPoint.SIGNAL_LEVELS - 1; + mRssi = (int) (level * inputRange / outputRange + MIN_RSSI); } - - int inputRange = MAX_RSSI - MIN_RSSI; - - // calculate the rssi required to get the level we want. - // this is a rearrangement of the formula from WifiManager.calculateSignalLevel() - mRssi = (int)((float)(level * inputRange) / (float)outputRange) + MIN_RSSI; return this; }