Coverage Summary for Class: NetworkMonitorLifecycleAdapter (io.actrium.actr.dsl)

Class Class, % Method, % Branch, % Line, % Instruction, %
NetworkMonitorLifecycleAdapter 0% (0/1) 0% (0/8) 0% (0/9) 0% (0/28)


 package io.actrium.actr.dsl
 
 import io.actrium.actr.CleanupReason
 import io.actrium.actr.ReconnectReason
 import java.util.concurrent.atomic.AtomicBoolean
 
 internal interface NetworkMonitorLifecycle {
     fun stopMonitoring()
 
     fun onAppBackground()
 
     fun onAppForeground()
 
     fun cleanupConnections(reason: CleanupReason)
 
     fun forceReconnect(reason: ReconnectReason)
 
     fun triggerNetworkCheck()
 
     fun getCurrentNetworkStatus(): String
 }
 
 internal class NetworkMonitorLifecycleAdapter(
     private val monitor: NetworkMonitor,
 ) : NetworkMonitorLifecycle {
     override fun stopMonitoring() = monitor.stopMonitoring()
 
     override fun onAppBackground() = monitor.onAppBackground()
 
     override fun onAppForeground() = monitor.onAppForeground()
 
     override fun cleanupConnections(reason: CleanupReason) = monitor.cleanupConnections(reason)
 
     override fun forceReconnect(reason: ReconnectReason) = monitor.forceReconnect(reason)
 
     override fun triggerNetworkCheck() = monitor.triggerNetworkCheck()
 
     override fun getCurrentNetworkStatus(): String = monitor.getCurrentNetworkStatus()
 }
 
 internal class ManagedNetworkResources(
     val handle: NetworkEventHandle?,
     private val monitor: NetworkMonitorLifecycle?,
 ) : AutoCloseable {
     private val closed = AtomicBoolean(false)
 
     override fun close() {
         if (!closed.compareAndSet(false, true)) {
             return
         }
 
         monitor?.stopMonitoring()
         handle?.close()
     }
 
     fun onAppBackground() {
         monitor?.onAppBackground()
     }
 
     fun onAppForeground() {
         monitor?.onAppForeground()
     }
 
     fun cleanupConnections(reason: CleanupReason) {
         monitor?.cleanupConnections(reason)
     }
 
     fun forceReconnect(reason: ReconnectReason) {
         monitor?.forceReconnect(reason)
     }
 
     fun triggerNetworkCheck() {
         monitor?.triggerNetworkCheck()
     }
 
     fun getCurrentNetworkStatus(): String? = monitor?.getCurrentNetworkStatus()
 }