@@ -16,7 +16,7 @@ import com.kongqw.network.monitor.util.AnnotationUtils
16
16
import com.kongqw.network.monitor.util.NetworkStateUtils
17
17
import java.util.*
18
18
19
- class NetworkMonitorManager private constructor() : ConnectivityManager.NetworkCallback() {
19
+ class NetworkMonitorManager private constructor() {
20
20
21
21
companion object {
22
22
@@ -33,6 +33,7 @@ class NetworkMonitorManager private constructor() : ConnectivityManager.NetworkC
33
33
34
34
private var mApplication: Application ? = null
35
35
private var mNetworkBroadcastReceiver = NetworkBroadcastReceiver ()
36
+ private var mNetworkCallback = NetworkCallback ()
36
37
private var netWorkStateChangedMethodMap: HashMap <Any , ArrayList <NetworkStateReceiverMethod >> = HashMap ()
37
38
private val mUiHandler = Handler (Looper .getMainLooper())
38
39
@@ -46,10 +47,10 @@ class NetworkMonitorManager private constructor() : ConnectivityManager.NetworkC
46
47
47
48
when {
48
49
Build .VERSION .SDK_INT >= Build .VERSION_CODES .N -> {
49
- connectivityManager?.registerDefaultNetworkCallback(this )
50
+ connectivityManager?.registerDefaultNetworkCallback(mNetworkCallback )
50
51
}
51
52
Build .VERSION .SDK_INT >= Build .VERSION_CODES .LOLLIPOP -> {
52
- connectivityManager?.registerNetworkCallback(NetworkRequest .Builder ().build(), this )
53
+ connectivityManager?.registerNetworkCallback(NetworkRequest .Builder ().build(), mNetworkCallback )
53
54
}
54
55
else -> {
55
56
val intentFilter = IntentFilter ().apply { addAction(ANDROID_NET_CHANGE_ACTION ) }
@@ -66,19 +67,20 @@ class NetworkMonitorManager private constructor() : ConnectivityManager.NetworkC
66
67
any?.apply { netWorkStateChangedMethodMap.remove(this ) }
67
68
}
68
69
69
- override fun onAvailable (network : Network ) {
70
- super .onAvailable(network)
71
- postNetworkState(NetworkStateUtils .getNetworkState(mApplication?.applicationContext))
72
- }
70
+ internal inner class NetworkCallback : ConnectivityManager .NetworkCallback () {
73
71
74
- override fun onLost (network : Network ) {
75
- super .onLost(network)
76
- postNetworkState(NetworkState .NONE )
77
- // postNetworkState(NetworkStateUtils.getNetworkState(mApplication?.applicationContext))
78
- }
72
+ override fun onAvailable (network : Network ) {
73
+ super .onAvailable(network)
74
+ postNetworkState(NetworkStateUtils .getNetworkState(mApplication?.applicationContext))
75
+ }
79
76
77
+ override fun onLost (network : Network ) {
78
+ super .onLost(network)
79
+ postNetworkState(NetworkState .NONE )
80
+ }
81
+ }
80
82
81
- inner class NetworkBroadcastReceiver : BroadcastReceiver () {
83
+ internal inner class NetworkBroadcastReceiver : BroadcastReceiver () {
82
84
override fun onReceive (context : Context ? , intent : Intent ? ) {
83
85
when (intent?.action) {
84
86
ANDROID_NET_CHANGE_ACTION -> {
0 commit comments