mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-24 04:58:45 +00:00
Refresh isConnectionNecessary on network block changes.
This commit is contained in:
@@ -88,9 +88,9 @@ class IncomingMessageObserver(private val context: Application) {
|
||||
|
||||
private val lock: ReentrantLock = ReentrantLock()
|
||||
private val connectionNecessarySemaphore = Semaphore(0)
|
||||
private val networkConnectionListener = NetworkConnectionListener(context) { isNetworkAvailable ->
|
||||
private val networkConnectionListener = NetworkConnectionListener(context) { isNetworkUnavailable ->
|
||||
lock.withLock {
|
||||
if (isNetworkAvailable()) {
|
||||
if (isNetworkUnavailable()) {
|
||||
Log.w(TAG, "Lost network connection. Shutting down our websocket connections and resetting the drained state.")
|
||||
decryptionDrained = false
|
||||
disconnect()
|
||||
|
||||
@@ -38,6 +38,12 @@ class NetworkConnectionListener(private val context: Context, private val onNetw
|
||||
onNetworkLost { true }
|
||||
}
|
||||
|
||||
override fun onBlockedStatusChanged(network: Network, blocked: Boolean) {
|
||||
super.onBlockedStatusChanged(network, blocked)
|
||||
Log.d(TAG, "ConnectivityManager.NetworkCallback onBlockedStatusChanged()")
|
||||
onNetworkLost { blocked }
|
||||
}
|
||||
|
||||
override fun onAvailable(network: Network) {
|
||||
super.onAvailable(network)
|
||||
Log.d(TAG, "ConnectivityManager.NetworkCallback onAvailable()")
|
||||
|
||||
Reference in New Issue
Block a user