diff options
| -rw-r--r-- | services/core/java/com/android/server/NetworkScoreService.java | 10 |
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); } } } |