Currently, internal handler is set by setHandler after
constructing NSS object. This was introduced in ag/866187 to
access the handler in the unit test.
However, the design put NSS in a bad situation where all classes
that need handler or executor could not be final and need to be
dynamically allocated in order to get a valid handler.
Thus, since the usage of handler is removed in previous patch,
this change eliminate setHandler by initializing the handler in
the constructor.
Test: atest FrameworksNetTests
Bug: 150664039
Change-Id: I794a24d00b0ca9fdc78091e7b9ab7307e0f034b7
Registering/Unregistering network provider needs NETWORK_FACTORY
which is signature only permission. But mainline modules can't
grant this permission because it's not signed with platform key.
Hence, these APIs should also accept MAINLINE_NETWORK_STACK
permission that allow mainline module to register/unregister
network provider.
Bug: 150733435
Test: atest FrameworksNetTests
Change-Id: Id22113aa0db01244817b4b008f5573c5e7b317f0
Check all routes that are added and removed instead of just some
of them. This is in preparation of an upcoming change that
switches to adding and creating routes by issuing direct calls to
netd.
Also rename the misleading ipv4Default route variable to
ipv4Subnet, which is what it actually is.
Bug: 142892223
Test: test-only change
Change-Id: I7d111382be215a926a7d7d4701bd3c3e94372b99
am skip reason: Change-Id Ic50d9b5c65e8771708620badc3bc242a8ffbb5cc with SHA-1 04a2e63ed8 is in history
Change-Id: I7d6cc58a43ced0ee618ebd2dc23537d767db5eee
Currently, to wait for handler becomes idle, specific message
is used and the test would wait for condition variable to be
open when the message is processed.
However, this is already done in the HandlerUtils. Thus,
there is no need to post such message manually in the handler.
Test: atest FrameworksNetTests
Bug: 150664039
Change-Id: Iab32b2dbab01634ca159dcb90fc9f929d1fed1a2
am skip reason: Change-Id I4eec40bed93679a029a20d38c114b1dbc80aa12e with SHA-1 a0d43919ba is in history
Change-Id: I9ef0d966631f1fbdea09d0e443bbe42c541bd6c5
am skip reason: Change-Id Id13fcf41e05fd1eb26c86717e2684c724b94e401 with SHA-1 5f617f9a07 is in history
Change-Id: Ie3ca4a47c607c630bdae63cd7665c3737901404e
am skip reason: Change-Id I1ee5c7b1353d581e487c8a8a159009bebd781643 with SHA-1 01b6ba4053 is in history
Change-Id: Ib0a33a398cafb9d2f5fcb39a3e31929c2b088c94
am skip reason: Change-Id Ieb8927f9af7f87a5ae038bd6c7daeb3d70117fef with SHA-1 2429c7091c is in history
Change-Id: I31576f49f7c7eb800f203a0133433a15b03391ad
am skip reason: Change-Id Ieb8927f9af7f87a5ae038bd6c7daeb3d70117fef with SHA-1 5ff8baa340 is in history
Change-Id: Ia18edfd8fed3ec197fcacd086c4b7fe2f4b5f47d
am skip reason: Change-Id Ia9876b0ce7f02120bd05cab526346cad22cf62b3 with SHA-1 109d5dc28b is in history
Change-Id: I1dc94a163f65c12fefa26c36f567c28de1f5408d
am skip reason: Change-Id Ie90b8d290eab490061d5cb066744b67d597b9469 with SHA-1 101719ce8e is in history
Change-Id: I17fbd370c969a11b9fd91de99ec6abc045db0e83
Validate route addition and deletion after linkProperties are
changed.
Test: atest ConnectivityServiceTest#testStackedLinkProperties
Change-Id: I18296b933e856a0f8a4c1dbd75bd35024853bfbb
Wifi needs to create these objects so it can include them
in the broadcasts.
Bug: 135998869
Test: FrameworksWifiTests
Change-Id: Ic50d9b5c65e8771708620badc3bc242a8ffbb5cc
Merged-In: Ic50d9b5c65e8771708620badc3bc242a8ffbb5cc
* changes:
Revert "[NS D01] Remove candidates that don't satisfy the request."
Revert "[NS D02] Mix in the ignore on wifi policy."
Revert "Address comments on ag/10316753"
* changes:
Revert "[NS D05] Rework how to tear down networks"
Revert "[NS D06] Implement more policies"
Revert "[NS D07] Use the unmodified legacy score"
Calling IPC in a constructor is unusual and confusing, and can be
considered bad form. There are multiple reasons for this :
• Users can't obtain an instance of the class without calling the
constructor, but they can't always afford an IPC where they need
this, forcing them to know about the implementation detail and
sometimes design around it.
• On a related but generalized note, constructors should usually
be fast for the same range of reasons.
• Having a separate method to register the agent simply gives more
flexibility to the app.
• It's also a lot easier to test.
But also we can't fix it without an update to the API, so here it is.
Another reason for doing this is consistency with the NetworkProvider
API.
Bug: 138306002
Bug: 139268426
Test: atest FrameworksNetTests FrameworksWifiTests FrameworksTelephonyTests
Change-Id: I1ee5c7b1353d581e487c8a8a159009bebd781643
Merged-In: I1ee5c7b1353d581e487c8a8a159009bebd781643
(clean cherry-pick from internal branch)
Revert submission 10338939
Reason for revert: The feature was punted out of R.
Reverted Changes:
I32c12702c:[NS D04] Implement a simple speed comparison betwe...
I688593cc0:[NS D03] Migrate the bad wifi avoidance policy
Change-Id: I640635a1ed94bed3b53466abe2a988caf0eca2b0
Revert submission 10338939
Reason for revert: The feature was punted out of R.
Reverted Changes:
I32c12702c:[NS D04] Implement a simple speed comparison betwe...
I688593cc0:[NS D03] Migrate the bad wifi avoidance policy
Change-Id: I28172721d3f3af82ac79ef2c8f61df39943d997b