Making Metered Wifi behave like Mobile for heavy content.

This commit is contained in:
Vitor Pamplona 2024-06-21 17:04:00 -04:00
parent f8a77d634c
commit f7c60b3745
4 changed files with 11 additions and 4 deletions

View File

@ -62,7 +62,7 @@ enum class ConnectivityType(
val resourceId: Int,
) {
ALWAYS(null, 0, R.string.connectivity_type_always),
WIFI_ONLY(true, 1, R.string.connectivity_type_wifi_only),
WIFI_ONLY(true, 1, R.string.connectivity_type_unmetered_wifi_only),
NEVER(false, 2, R.string.connectivity_type_never),
}

View File

@ -186,8 +186,10 @@ class MainActivity : AppCompatActivity() {
}
fun updateNetworkCapabilities(networkCapabilities: NetworkCapabilities): Boolean {
val isOnMobileData = networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)
val isOnWifi = networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)
val unmetered = networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED)
val isOnMobileData = !unmetered || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)
val isOnWifi = unmetered && networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)
var changedNetwork = false

View File

@ -77,6 +77,7 @@ fun TextSpinner(
readOnly = true,
label = { label?.let { Text(it) } },
modifier = modifier,
singleLine = true,
)
}
}
@ -200,4 +201,7 @@ fun <T> SpinnerSelectionDialog(
}
}
@Immutable data class TitleExplainer(val title: String, val explainer: String? = null)
@Immutable data class TitleExplainer(
val title: String,
val explainer: String? = null,
)

View File

@ -511,6 +511,7 @@
<string name="settings">Settings</string>
<string name="connectivity_type_always">Always</string>
<string name="connectivity_type_wifi_only">Wifi-only</string>
<string name="connectivity_type_unmetered_wifi_only">Unmetered WiFi</string>
<string name="connectivity_type_never">Never</string>
<string name="ui_feature_set_type_complete">Complete</string>