From f95c865411e30a9760ab381849173acadf969e9d Mon Sep 17 00:00:00 2001 From: Jeremy Joslin Date: Thu, 9 Feb 2017 15:32:04 -0800 Subject: [PATCH] Adding a new internal method to get all valid scorers. New NetworkScoreManager method to get all valid scorers from the NetworkScoreService. The implementation is stubbed out for the time being. Test: make Bug: 35095406 Change-Id: Iece2cc10a0a9377f2d82385d172b06660bb9b130 --- core/java/android/net/INetworkScoreService.aidl | 9 +++++++++ core/java/android/net/NetworkScoreManager.java | 15 +++++++++++++++ .../java/android/net/NetworkScorerAppManager.java | 8 ++++++++ .../com/android/server/NetworkScoreService.java | 9 +++++++++ 4 files changed, 41 insertions(+) diff --git a/core/java/android/net/INetworkScoreService.aidl b/core/java/android/net/INetworkScoreService.aidl index 9cc256ec65108..f249daf876267 100644 --- a/core/java/android/net/INetworkScoreService.aidl +++ b/core/java/android/net/INetworkScoreService.aidl @@ -132,5 +132,14 @@ interface INetworkScoreService oneway void requestRecommendationAsync(in RecommendationRequest request, in RemoteCallback remoteCallback); + /** + * Returns metadata about the active scorer or null if there is no active scorer. + */ NetworkScorerAppManager.NetworkScorerAppData getActiveScorer(); + + /** + * Returns the list of available scorer apps. The list will be empty if there are + * no valid scorers. + */ + List getAllValidScorers(); } diff --git a/core/java/android/net/NetworkScoreManager.java b/core/java/android/net/NetworkScoreManager.java index 2875580971aef..8f3af6624996e 100644 --- a/core/java/android/net/NetworkScoreManager.java +++ b/core/java/android/net/NetworkScoreManager.java @@ -37,6 +37,7 @@ import com.android.internal.util.Preconditions; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.util.List; import java.util.concurrent.CompletableFuture; /** @@ -199,6 +200,20 @@ public class NetworkScoreManager { } } + /** + * Returns the list of available scorer apps. The list will be empty if there are + * no valid scorers. + * + * @hide + */ + public List getAllValidScorers() { + try { + return mService.getAllValidScorers(); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + /** * Update network scores. * diff --git a/core/java/android/net/NetworkScorerAppManager.java b/core/java/android/net/NetworkScorerAppManager.java index f3cbb52e500d6..a166c7ffffe7a 100644 --- a/core/java/android/net/NetworkScorerAppManager.java +++ b/core/java/android/net/NetworkScorerAppManager.java @@ -126,6 +126,14 @@ public class NetworkScorerAppManager { } } + /** + * Returns the list of available scorer apps. The list will be empty if there are + * no valid scorers. + */ + public List getAllValidScorers() { + return Collections.emptyList(); + } + /** * @return A {@link NetworkScorerAppData} instance containing information about the * best configured network recommendation provider installed or {@code null} diff --git a/services/core/java/com/android/server/NetworkScoreService.java b/services/core/java/com/android/server/NetworkScoreService.java index 0ac51b90249ed..f9b5db6c0b0ed 100644 --- a/services/core/java/com/android/server/NetworkScoreService.java +++ b/services/core/java/com/android/server/NetworkScoreService.java @@ -718,6 +718,15 @@ public class NetworkScoreService extends INetworkScoreService.Stub { return null; } + /** + * Returns the list of available scorer apps. The list will be empty if there are + * no valid scorers. + */ + @Override + public List getAllValidScorers() { + return mNetworkScorerAppManager.getAllValidScorers(); + } + @Override public void disableScoring() { // Only the active scorer or the system should be allowed to disable scoring.