Skip to content

Commit eb0d117

Browse files
committed
Add more logging for initial network state
1 parent 8eacb19 commit eb0d117

File tree

1 file changed

+21
-28
lines changed

1 file changed

+21
-28
lines changed

app/src/main/java/org/thoughtcrime/securesms/messages/NetworkConnectionListener.kt

Lines changed: 21 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -75,99 +75,92 @@ class NetworkConnectionListener(
7575
val validated = caps?.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED) ?: false
7676
val httpProxy = props?.httpProxy
7777

78-
val initialState = NetworkState(
78+
val activeNetworkState = NetworkState(
7979
available = hasInternet,
8080
validated = validated,
8181
httpProxy = httpProxy,
8282
)
8383

84-
onInitialConnectionState(network, initialState)
84+
Log.d(TAG, "Active network snapshot: $activeNetworkState (network=$network)")
85+
onInitialConnectionState(network, activeNetworkState)
8586
}
8687

8788
fun stopMonitoring() {
8889
connectivityManager.unregisterNetworkCallback(this)
8990
}
9091

91-
private fun connectivityChangedLocked(): NetworkState? {
92+
private fun updateConnectionState(): NetworkState? {
9293
val newState = networks.bestNetworkState()
9394
val oldState = connectionState
9495

9596
return if (newState != oldState) {
9697
connectionState = newState
9798
if (oldState == null) {
98-
Log.v(TAG, "Network state initialized -> $newState")
99+
Log.i(TAG, "Network state initialized -> $newState")
99100
} else {
100-
Log.v(TAG, "Network state changed: $oldState -> $newState")
101+
Log.i(TAG, "Network state changed: $oldState -> $newState")
101102
}
102103
newState
103104
} else null
104105
}
105106

106-
private fun NetworkState.dispatch() {
107-
onNetworkChange(this)
108-
}
109-
110107
private fun Map<Network, NetworkState>.bestNetworkState(): NetworkState =
111108
values.firstOrNull { it.validated }
112109
?: values.firstOrNull { it.available }
113110
?: NetworkState.DOWN
114111

115112
private fun onInitialConnectionState(network: Network?, state: NetworkState) {
116-
val maybeNew = synchronized(this) {
113+
synchronized(this) {
117114
if (connectionState == null) {
118115
if (network != null) {
119116
networks[network] = state
120117
}
121-
connectivityChangedLocked()
118+
updateConnectionState()
122119
} else {
123120
Log.v(TAG, "Initial state skipped; already set: $connectionState")
124121
null
125122
}
126-
}
127-
128-
maybeNew?.dispatch()
123+
}?.notifyChange()
129124
}
130125

131126
override fun onLinkPropertiesChanged(network: Network, linkProperties: LinkProperties) {
132127
Log.d(TAG, "NetworkCallback onLinkPropertiesChanged($network)")
133128
val httpProxy = linkProperties.httpProxy
134-
val maybeNew = synchronized(this) {
129+
synchronized(this) {
135130
val existing = networks.getOrDefault(
136131
network,
137132
NetworkState(available = true, validated = false, httpProxy = httpProxy)
138133
)
139134
val state = existing.copy(httpProxy = httpProxy)
140135
networks[network] = state
141-
connectivityChangedLocked()
142-
}
143-
144-
maybeNew?.dispatch()
136+
updateConnectionState()
137+
}?.notifyChange()
145138
}
146139

147140
override fun onBlockedStatusChanged(network: Network, blocked: Boolean) {
148141
Log.d(TAG, "NetworkCallback onBlockedStatusChanged($network, $blocked)")
149142
val validated = !blocked
150-
val maybeNew = synchronized(this) {
143+
synchronized(this) {
151144
val existing = networks.getOrDefault(
152145
network,
153146
NetworkState(available = true, validated = validated, httpProxy = null)
154147
)
155148
val state = existing.copy(validated = validated)
156149
networks[network] = state
157-
connectivityChangedLocked()
158-
}
159-
160-
maybeNew?.dispatch()
150+
updateConnectionState()
151+
}?.notifyChange()
161152
}
162153

163154
override fun onLost(network: Network) {
164155
Log.d(TAG, "NetworkCallback onLost($network)")
165-
val maybeNew = synchronized(this) {
156+
synchronized(this) {
166157
networks.remove(network)
167-
connectivityChangedLocked()
168-
}
158+
updateConnectionState()
159+
}?.notifyChange()
160+
}
169161

170-
maybeNew?.dispatch()
162+
private fun NetworkState.notifyChange() {
163+
onNetworkChange(this)
171164
}
172165
}
173166

0 commit comments

Comments
 (0)