@@ -49,7 +49,7 @@ class NetworkXImpl(
4949
5050 private var isInternetConnected: Boolean = false
5151 private var isInternetConnectedLiveData: MutableLiveData <Boolean > =
52- MutableLiveData ()
52+ MutableLiveData (false )
5353
5454 override fun isInternetConnected (): Boolean = isInternetConnected
5555
@@ -96,7 +96,7 @@ class NetworkXImpl(
9696 * Developer can provide custom delay to this observation
9797 * Use recursive strategy to perform the same procedure again and again
9898 */
99- suspend fun startObserving (strategy : NetworkXObservingStrategy ) {
99+ private suspend fun startObserving (strategy : NetworkXObservingStrategy ) {
100100 if (ioScope != null && mainScope != null ) {
101101 val temp = isNetworkAvailable(application)
102102 mainScope?.launch {
@@ -128,28 +128,32 @@ class NetworkXImpl(
128128 private fun isNetworkAvailable (
129129 context : Context
130130 ): Boolean {
131- val connectivityManager =
132- context.getSystemService(Context .CONNECTIVITY_SERVICE ) as ConnectivityManager
133- if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .Q ) {
134- val capabilities =
135- connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)
136- if (capabilities != null ) {
137- when {
138- capabilities.hasTransport(
139- NetworkCapabilities .TRANSPORT_CELLULAR
140- ) -> return true
141- capabilities.hasTransport(
142- NetworkCapabilities .TRANSPORT_WIFI
143- ) -> return true
144- capabilities.hasTransport(
145- NetworkCapabilities .TRANSPORT_ETHERNET
146- ) -> return true
131+ try {
132+ val connectivityManager =
133+ context.getSystemService(Context .CONNECTIVITY_SERVICE ) as ConnectivityManager
134+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .Q ) {
135+ val capabilities =
136+ connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)
137+ if (capabilities != null ) {
138+ when {
139+ capabilities.hasTransport(
140+ NetworkCapabilities .TRANSPORT_CELLULAR
141+ ) -> return true
142+ capabilities.hasTransport(
143+ NetworkCapabilities .TRANSPORT_WIFI
144+ ) -> return true
145+ capabilities.hasTransport(
146+ NetworkCapabilities .TRANSPORT_ETHERNET
147+ ) -> return true
148+ }
147149 }
150+ } else {
151+ return connectivityManager.activeNetworkInfo != null &&
152+ connectivityManager.activeNetworkInfo!! .isConnected
148153 }
149- } else {
150- return connectivityManager.activeNetworkInfo != null &&
151- connectivityManager.activeNetworkInfo !! .isConnected
154+ return false
155+ } catch (e : Exception ) {
156+ return false
152157 }
153- return false
154158 }
155159}
0 commit comments