Fix NetworkScoreService#getActiveScorer.

Also fix its variant that returns package name for active scorer.

These were previously returning values from cached
NetworkScoreAppData that was created when ScoringServiceConnection was
created. Which means it does not correctly reflects the current state of
NetworkScoreAppData#mEnableUseOpenWifiActivity which could have been
disabled by USE_OPEN_WIFI_PACKAGE app to hide toggles.

I'm changing this to return dynamic values using NetworkScorerAppManager
methods.

Bug: 151160317
Bug: 150773571
Test: manual - verified that toggle is hidden if useOpenWifiActivity
component is disabled by USE_OPEN_WIFI_PACKAGE app.
Test: atest FrameworksNetTests
Test: atest NetworkScoreManagerTest

Change-Id: If76b1f03a1bf64a39063ac1fe0674be8b0131d3c
This commit is contained in:
Varun Anand
2020-03-18 17:49:20 -07:00
parent d3bd995b2e
commit e3d4cf025f

View File

@@ -760,12 +760,11 @@ public class NetworkScoreService extends INetworkScoreService.Stub {
@Override
public String getActiveScorerPackage() {
enforceSystemOrHasScoreNetworks();
synchronized (mServiceConnectionLock) {
if (mServiceConnection != null) {
return mServiceConnection.getPackageName();
}
NetworkScorerAppData appData = mNetworkScorerAppManager.getActiveScorer();
if (appData == null) {
return null;
}
return null;
return appData.getRecommendationServicePackageName();
}
/**
@@ -775,13 +774,7 @@ public class NetworkScoreService extends INetworkScoreService.Stub {
public NetworkScorerAppData getActiveScorer() {
// Only the system can access this data.
enforceSystemOnly();
synchronized (mServiceConnectionLock) {
if (mServiceConnection != null) {
return mServiceConnection.getAppData();
}
}
return null;
return mNetworkScorerAppManager.getActiveScorer();
}
/**