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
This commit is contained in:
Roshan Pius
2018-08-02 10:25:02 -07:00
parent dcabc027b3
commit d594290fd9
2 changed files with 2 additions and 3 deletions

View File

@@ -372,7 +372,7 @@ public abstract class NetworkAgent extends Handler {
if (score < 0) { if (score < 0) {
throw new IllegalArgumentException("Score must be >= 0"); throw new IllegalArgumentException("Score must be >= 0");
} }
queueOrSendMessage(EVENT_NETWORK_SCORE_CHANGED, new Integer(score)); queueOrSendMessage(EVENT_NETWORK_SCORE_CHANGED, score, 0);
} }
/** /**

View File

@@ -2097,8 +2097,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
break; break;
} }
case NetworkAgent.EVENT_NETWORK_SCORE_CHANGED: { case NetworkAgent.EVENT_NETWORK_SCORE_CHANGED: {
Integer score = (Integer) msg.obj; updateNetworkScore(nai, msg.arg1);
if (score != null) updateNetworkScore(nai, score.intValue());
break; break;
} }
case NetworkAgent.EVENT_SET_EXPLICITLY_SELECTED: { case NetworkAgent.EVENT_SET_EXPLICITLY_SELECTED: {