Adaptive Connectivity - fix to use getSecureIntegerSetting
Adaptive Connectivity toggle is stored in Settings.Secure. Thus,
using FrameworkFacade.getIntegerSetting() can't get its value, because
it uses Settings.Global.getInt().
Instead, use FrameworkFacade.getSecureIntegerSetting(), which uses
Settings.Secure.getInt().
Bug: 169365662
Test: toggle and observe the value changes between true and false in logs
Test: atest FrameworksWifiTests
Change-Id: Ib4eaa5ff20a711ae765a75b71dfac99f84ffff9a
diff --git a/service/java/com/android/server/wifi/WifiScoreReport.java b/service/java/com/android/server/wifi/WifiScoreReport.java
index bd92c6d..5d7545c 100644
--- a/service/java/com/android/server/wifi/WifiScoreReport.java
+++ b/service/java/com/android/server/wifi/WifiScoreReport.java
@@ -230,6 +230,10 @@
// Stay a notch above the transition score if adaptive connectivity is disabled.
if (!mAdaptiveConnectivityEnabled) {
score = ConnectedScore.WIFI_TRANSITION_SCORE + 1;
+ if (mVerboseLoggingEnabled) {
+ Log.d(TAG,
+ "Adaptive connectivity disabled - Stay a notch above the transition score");
+ }
}
mNetworkAgent.sendNetworkScore(score);
}
@@ -353,7 +357,7 @@
}
public boolean getValue() {
- return mFrameworkFacade.getIntegerSetting(
+ return mFrameworkFacade.getSecureIntegerSetting(
mContext, SETTINGS_SECURE_ADAPTIVE_CONNECTIVITY_ENABLED, 1) == 1;
}
}
@@ -545,6 +549,9 @@
public boolean shouldCheckIpLayer() {
// Don't recommend if adaptive connectivity is disabled.
if (!mAdaptiveConnectivityEnabled) {
+ if (mVerboseLoggingEnabled) {
+ Log.d(TAG, "Adaptive connectivity disabled - Don't check IP layer");
+ }
return false;
}
int nud = mScoringParams.getNudKnob();
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java b/tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java
index b85f223..bd15f62 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiScoreReportTest.java
@@ -205,7 +205,7 @@
mClock = new FakeClock();
mScoringParams = new ScoringParams();
mWifiThreadRunner = new WifiThreadRunner(new Handler(mLooper.getLooper()));
- when(mFrameworkFacade.getIntegerSetting(any(Context.class),
+ when(mFrameworkFacade.getSecureIntegerSetting(any(Context.class),
eq(WifiScoreReport.SETTINGS_SECURE_ADAPTIVE_CONNECTIVITY_ENABLED), eq(1)))
.thenReturn(1);
mWifiScoreReport = new WifiScoreReport(mScoringParams, mClock, mWifiMetrics, mWifiInfo,
@@ -1028,7 +1028,7 @@
ArgumentCaptor<ContentObserver> observer = ArgumentCaptor.forClass(ContentObserver.class);
verify(mFrameworkFacade).registerContentObserver(
any(), any(), eq(true), observer.capture());
- when(mFrameworkFacade.getIntegerSetting(any(Context.class),
+ when(mFrameworkFacade.getSecureIntegerSetting(any(Context.class),
eq(WifiScoreReport.SETTINGS_SECURE_ADAPTIVE_CONNECTIVITY_ENABLED), eq(1)))
.thenReturn(0);
observer.getValue().onChange(true);
@@ -1056,7 +1056,7 @@
ArgumentCaptor<ContentObserver> observer = ArgumentCaptor.forClass(ContentObserver.class);
verify(mFrameworkFacade).registerContentObserver(
any(), any(), eq(true), observer.capture());
- when(mFrameworkFacade.getIntegerSetting(any(Context.class),
+ when(mFrameworkFacade.getSecureIntegerSetting(any(Context.class),
eq(WifiScoreReport.SETTINGS_SECURE_ADAPTIVE_CONNECTIVITY_ENABLED), eq(1)))
.thenReturn(0);
observer.getValue().onChange(true);