From 64e99ef26d93b851ba9bbcc3983f75fbba64ccd0 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Thu, 2 Aug 2018 10:25:02 -0700 Subject: NetworkAgent: Send primitive integer in score |Integer| is not parcelable and hences crashes when the binder call crosses a process boundary. Using a primitive integer should suffice for sending the value to the server. There are no other usage of |EVENT_NETWORK_SCORE_CHANGED| in the codebase. Bug: 112358948 Test: Device boots up and able to make wifi connection. Change-Id: I4c8fc17f4b803f69a4d882c71a8ce014a194d1ba --- core/java/android/net/NetworkAgent.java | 2 +- services/core/java/com/android/server/ConnectivityService.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/java/android/net/NetworkAgent.java b/core/java/android/net/NetworkAgent.java index 52a2354840c9..081d8d1290ac 100644 --- a/core/java/android/net/NetworkAgent.java +++ b/core/java/android/net/NetworkAgent.java @@ -372,7 +372,7 @@ public abstract class NetworkAgent extends Handler { if (score < 0) { throw new IllegalArgumentException("Score must be >= 0"); } - queueOrSendMessage(EVENT_NETWORK_SCORE_CHANGED, new Integer(score)); + queueOrSendMessage(EVENT_NETWORK_SCORE_CHANGED, score, 0); } /** diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 7a4ac9b10ff3..23bf92f2ff34 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2097,8 +2097,7 @@ public class ConnectivityService extends IConnectivityManager.Stub break; } case NetworkAgent.EVENT_NETWORK_SCORE_CHANGED: { - Integer score = (Integer) msg.obj; - if (score != null) updateNetworkScore(nai, score.intValue()); + updateNetworkScore(nai, msg.arg1); break; } case NetworkAgent.EVENT_SET_EXPLICITLY_SELECTED: { -- cgit v1.2.3-59-g8ed1b