Don't backup on metered networks
* We better not overuse metered networks as such connections * are usually sensitive to heavy data usage due to monetary costs and/or data limitations.
This commit is contained in:
parent
96ffcc258d
commit
bc24c7804d
1 changed files with 4 additions and 3 deletions
|
@ -175,13 +175,14 @@ data class Storage(
|
||||||
* but it isn't available right now.
|
* but it isn't available right now.
|
||||||
*/
|
*/
|
||||||
fun isUnavailableNetwork(context: Context): Boolean {
|
fun isUnavailableNetwork(context: Context): Boolean {
|
||||||
return requiresNetwork && !hasInternet(context)
|
return requiresNetwork && !hasUnmeteredInternet(context)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun hasInternet(context: Context): Boolean {
|
private fun hasUnmeteredInternet(context: Context): Boolean {
|
||||||
val cm = context.getSystemService(ConnectivityManager::class.java)
|
val cm = context.getSystemService(ConnectivityManager::class.java)
|
||||||
|
val isMetered = cm.isActiveNetworkMetered()
|
||||||
val capabilities = cm.getNetworkCapabilities(cm.activeNetwork) ?: return false
|
val capabilities = cm.getNetworkCapabilities(cm.activeNetwork) ?: return false
|
||||||
return capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
return capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) && !isMetered
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue