Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 830b358f authored by cketti's avatar cketti
Browse files

Change 'ConnectivityChangeListener' interface

Distinguish between 'connectivity changed' and 'connectivity lost' events.
parent d408a567
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -45,7 +45,10 @@ class PushController internal constructor(
    private val pushers = mutableMapOf<String, AccountPushController>()

    private val autoSyncListener = AutoSyncListener(::onAutoSyncChanged)
    private val connectivityChangeListener = ConnectivityChangeListener(::onConnectivityChanged)
    private val connectivityChangeListener = object : ConnectivityChangeListener {
        override fun onConnectivityChanged() = this@PushController.onConnectivityChanged()
        override fun onConnectivityLost() = this@PushController.onConnectivityChanged()
    }

    /**
     * Initialize [PushController].
+2 −1
Original line number Diff line number Diff line
@@ -11,8 +11,9 @@ interface ConnectivityManager {
    fun removeListener(listener: ConnectivityChangeListener)
}

fun interface ConnectivityChangeListener {
interface ConnectivityChangeListener {
    fun onConnectivityChanged()
    fun onConnectivityLost()
}

internal fun ConnectivityManager(systemConnectivityManager: SystemConnectivityManager): ConnectivityManager {
+5 −1
Original line number Diff line number Diff line
@@ -33,7 +33,11 @@ internal class ConnectivityManagerApi21(
                if (networkType != lastNetworkType || isConnected != wasConnected) {
                    lastNetworkType = networkType
                    wasConnected = isConnected
                    notifyListeners()
                    if (isConnected) {
                        notifyOnConnectivityChanged()
                    } else {
                        notifyOnConnectivityLost()
                    }
                }
            }
        }
+5 −1
Original line number Diff line number Diff line
@@ -36,7 +36,11 @@ internal class ConnectivityManagerApi23(
                if (activeNetwork != lastActiveNetwork || isConnected != wasConnected) {
                    lastActiveNetwork = activeNetwork
                    wasConnected = isConnected
                    notifyListeners()
                    if (isConnected) {
                        notifyOnConnectivityChanged()
                    } else {
                        notifyOnConnectivityLost()
                    }
                }
            }
        }
+2 −2
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ internal class ConnectivityManagerApi24(
            Timber.v("Network available: $network")
            synchronized(this@ConnectivityManagerApi24) {
                isNetworkAvailable = true
                notifyListeners()
                notifyOnConnectivityChanged()
            }
        }

@@ -28,7 +28,7 @@ internal class ConnectivityManagerApi24(
            Timber.v("Network lost: $network")
            synchronized(this@ConnectivityManagerApi24) {
                isNetworkAvailable = false
                notifyListeners()
                notifyOnConnectivityLost()
            }
        }
    }
Loading