From mainline perspective, we should use android flag api
instead of using Settings. Thus, move the definitions into
NetworkStack.
Bug:120013793
Test: atest NetworkStackTests SettingsBackupTest
Change-Id: I8e1fb5b47fff3bf624131ba1f5732daabd991e6d
Since aosp/937885, mLaunchCaptivePortalAppBroadcastReceiver is
nulled out, but not unregistered, when exiting MaybeNotifyState.
This causes the BroadcastReceiver to be leaked because it is no
longer unregistered when processing CMD_NETWORK_DISCONNECTED.
Fix this by unregistering the receiver in MaybeNotifyState#exit.
Also remove the unregister call in CMD_NETWORK_DISCONNECTED: it
is no longer necessary, because StateMachine, before quitting,
will call the exit method of the current state and all its
parent states.
Bug: 122164725
Test: atest FrameworksNetTests NetworkStackTests
Change-Id: I447b3cfd3821dda19482ed962dd59ec61fc5fc9b
Merged-In: I1db24fe05ada8b3a37a9a60aa568b6153bf51ad8
(cherry picked from commit 3a1c0ad3ee)
SIGN_IN notification may pop up several times before user
logged in the network if someone trigger
ConnectivityService#reportNetworkConnectivity().
Add a boolean to make sure SIGN_IN notification will only pop up
once to user before user logged in.
Bug: b/122164725
Test: Build pass.
Change-Id: I9c7f1d47fde8e5dfadd6646497023b05f3b0ed88
Merged-In: I9c7f1d47fde8e5dfadd6646497023b05f3b0ed88
The SocketUtils.attach*Filter and SocketUtils.addArpEntry methods
were added there because they could not be added as JNI inside
the NetworkStack. This was not possible because on Go devices,
the NetworkStack was a jar library. But now, Go also uses an APK.
Hence, move these methods to the NetworkStack.
Fixes: 129433183
Merged-In: I66d7b3e4fbfa32bb0bc853e8cf9399031daff8a9
(cherry picked from commit fe71be2b04)
Change-Id: Ice433a41469e784385f19498c154345d7b9c69b5
Some names were still wrong somehow, and the wrappers were
missing.
Test: NetworkStack & FrameworkNetTests
Change-Id: I475bd011ad9bc714a07021a9dfd85c4876f8e9ad
These two classes were added to @SystemApi because they are used
both by NetworkMonitor and CaptivePortalLogin. However it turns
out they are not needed in the framework, so having them as a
library sounds better.
Change-Id: Iadf77ec5952b6da8812dc6d006a39bd4e93d2bd9
Fix: 129433264
Test: atest NetworkStackTests FrameworksNetTests
Implement regular maintenance of IpMemoryStoreService. Regular
maintenance is scheduled for when the device is idle with access
power and a minimum interval of one day.
Bug: 113554482
Test: atest NetworkStackTests
Change-Id: Id3985e30d12307fc2e9fcbe782caaf97a627cef3
The system server (in SystemServer.java) defines the boot
sequence, during which an event called SystemReady happens.
This corresponds to a time when critical system services
that are depended upon by other components in the system
server are ready to handle requests from their dependencies.
Some system services are listening to this event to defer
initializations that depend on the critical services.
Because the network stack is only started after SystemReady,
there is no way any NetworkMonitor may be started before
SystemReady. Remove the associated mechanism.
Fix: 129376083
Test: FrameworksNetTests
Change-Id: I071eeb10d0b7c4f71af6653d322c7b442b2cc7ee
Clarify that permissions must not be in the base package to avoid
crashes on devices using a network stack running in the system server
process.
Test: m
Change-Id: Ib13df84a43e960d01217c208d1c6775d1f81edc4
NetworkMonitor obtained LinkProperties and NetworkCapabilities via
synchronous calls to ConnectivityManager after receiving an asynchronous
notification, which is prone to races: the network could be gone before
the LinkProperties/NetworkCapabilities can be fetched.
Fix the race by passing LinkProperties/NetworkCapabilities directly to
NetworkMonitor in the asynchronous notifications.
Test: atest FrameworksNetTests NetworkStackTests
Test: booted, WiFi works
Bug: 129375892
Change-Id: I200ac7ca6ff79590b11c9be705f650c92fd3cb63
Add function to link to android experiemental flags API
Bug: 120013793
Test: Build and atest NetworkStackTests
Change-Id: I14b9a6f06f841a9d63e8c1954907447a9e7eb8a5
Permissions defined in AndroidManifest_Base.xml would be inherited in
AndroidManifest_InProcess.xml and cause issues on svelte builds, since
privileged permissions are not whitelisted for
com.android.networkstack.inprocess.
The network stack running in the system_server process does not need
these permissions anyway since it has system_server permissions.
(clean cherry-pick from Ica63ce586e701b1f2415a97f63ba27cc25e4830a)
Test: flashed, booted crosshatch_svelte-eng, WiFi works
Test: flashed, booted blueline-eng, WiFi works
Fixes: 129485310
Merged-In: Ica63ce586e701b1f2415a97f63ba27cc25e4830a
Change-Id: Ib4b478fb39f43a2fd4221c7d1f1ea51de04e0fba
Permissions defined in AndroidManifest_Base.xml would be inherited in
AndroidManifest_InProcess.xml and cause issues on svelte builds, since
privileged permissions are not whitelisted for
com.android.networkstack.inprocess.
The network stack running in the system_server process does not need
these permissions anyway since it has system_server permissions.
Test: flashed, booted crosshatch_svelte-eng, WiFi works
Test: flashed, booted blueline-eng, WiFi works
Fixes: 129485310
(clean cherry-pick from aosp/937139)
Change-Id: Ica63ce586e701b1f2415a97f63ba27cc25e4830a
This fixes tests that were failing because of the unsatisfied
dependency.
Test: atest NetworkStackTests
Bug: 129387775
Change-Id: Ie0c1bc2b292ad7172d144d9e7ad9edeecd2232b7
Constants were stripped out by ProGuard, so
MessageUtils.findMessageNames would fail to find them.
Test: flashed, dumpsys network_stack shows message names
Fixes: 124619824
Change-Id: I285ce2ab52cdff48f17b422285a635bd34243498