It was attempting to update the NetworkAgent before the NetworkAgent
was created, causing NullPointerExceptions.
bug:15407938
Change-Id: Ie36b906df4b12f095a16d1b30c847a55b074d60c
Make NetworkFactory a concrete class and divide responsibilites between it and NetworkAgent.
Factory will track requests and by default give a single connect/disconnect api for ease
of use. Then NetworkAgent is created and destroyed as needed with very simple logic.
Change-Id: I401c14a6e5466f2fc63b04219b97ff85bb9af291
(cherry picked from commit 8af038d056)
1. If DHCP fails, set the score to 0. Coupled with changes in
NetworkAgent, that will cause us to retry DHCP the next time
the link is plugged in.
2. Send LinkProperties before sending NetworkInfo, because of
a race in NetworkAgent.
3. Make Ethernet work properly after a runtime restart.
4. Improve locking.
5. Clarify how things work in comments.
Bug: 15295359
Change-Id: I06cd683a1633838bca1ec177e61f1829889d3934
(cherry picked from commit 21be8b6dc7)