summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/NetworkScoreService.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/NetworkScoreService.java b/services/core/java/com/android/server/NetworkScoreService.java
index c64aa8e13aa9..496d5d032d96 100644
--- a/services/core/java/com/android/server/NetworkScoreService.java
+++ b/services/core/java/com/android/server/NetworkScoreService.java
@@ -159,15 +159,23 @@ public class NetworkScoreService extends INetworkScoreService.Stub {
if (DBG) Log.d(TAG, "No active scorers available.");
unbindFromScoringServiceIfNeeded();
} else if (activeScorer.packageName.equals(scorerPackageName)) {
+ // The active scoring service changed in some way.
if (DBG) {
Log.d(TAG, "Possible change to the active scorer: "
+ activeScorer.packageName);
}
- // The scoring service changed in some way.
if (forceUnbind) {
unbindFromScoringServiceIfNeeded();
}
bindToScoringServiceIfNeeded(activeScorer);
+ } else {
+ // One of the scoring apps on the device has changed and we may no longer be
+ // bound to the correct scoring app. The logic in bindToScoringServiceIfNeeded()
+ // will sort that out to leave us bound to the most recent active scorer.
+ if (DBG) {
+ Log.d(TAG, "Binding to " + activeScorer.packageName + " if needed.");
+ }
+ bindToScoringServiceIfNeeded(activeScorer);
}
}
}