@@ -30,19 +30,30 @@ class DeviceUtils @Inject constructor(
3030
3131 fun isNetworkAvailable (): Boolean {
3232 val connectivityManager = context.getSystemService(Context .CONNECTIVITY_SERVICE ) as ConnectivityManager
33- val network = connectivityManager.activeNetwork ? : return false
34- val capabilities = connectivityManager.getNetworkCapabilities(network) ? : return false
35- return capabilities.hasCapability(NetworkCapabilities .NET_CAPABILITY_INTERNET )
33+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .M ) {
34+ val network = connectivityManager.activeNetwork ? : return false
35+ val capabilities = connectivityManager.getNetworkCapabilities(network) ? : return false
36+ return capabilities.hasCapability(NetworkCapabilities .NET_CAPABILITY_INTERNET )
37+ } else {
38+ @Suppress(" DEPRECATION" )
39+ val networkInfo = connectivityManager.activeNetworkInfo
40+ @Suppress(" DEPRECATION" )
41+ return networkInfo?.isConnected == true
42+ }
3643 }
3744
3845 fun getDeviceIp (): String? {
3946 try {
4047 val connectivityManager = context.getSystemService(Context .CONNECTIVITY_SERVICE ) as ConnectivityManager
41- val network = connectivityManager.activeNetwork ? : return null
42- val linkProperties = connectivityManager.getLinkProperties(network)
43- return linkProperties?.linkAddresses?.firstOrNull {
44- ! it.address.isLoopbackAddress && it.address is java.net.Inet4Address
45- }?.address?.hostAddress
48+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .M ) {
49+ val network = connectivityManager.activeNetwork ? : return null
50+ val linkProperties = connectivityManager.getLinkProperties(network)
51+ return linkProperties?.linkAddresses?.firstOrNull {
52+ ! it.address.isLoopbackAddress && it.address is java.net.Inet4Address
53+ }?.address?.hostAddress
54+ } else {
55+ return null
56+ }
4657 } catch (e: Exception ) {
4758 return null
4859 }
0 commit comments