mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
Check if wifi is connected rather than unmetered while downloading.
Co-Authored-By: FourTOne5 <59261191+FourTOne5@users.noreply.github.com>
This commit is contained in:
parent
89908db5e0
commit
115867674b
2 changed files with 20 additions and 2 deletions
|
@ -7,7 +7,6 @@ import android.content.Intent
|
|||
import android.net.ConnectivityManager
|
||||
import android.net.Network
|
||||
import android.net.NetworkCapabilities
|
||||
import android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED
|
||||
import android.net.NetworkRequest
|
||||
import android.os.Build
|
||||
import android.os.IBinder
|
||||
|
@ -22,6 +21,7 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|||
import eu.kanade.tachiyomi.extension.ExtensionUpdateJob
|
||||
import eu.kanade.tachiyomi.util.lang.plusAssign
|
||||
import eu.kanade.tachiyomi.util.system.connectivityManager
|
||||
import eu.kanade.tachiyomi.util.system.isConnectedToWifi
|
||||
import eu.kanade.tachiyomi.util.system.isOnline
|
||||
import eu.kanade.tachiyomi.util.system.isServiceRunning
|
||||
import eu.kanade.tachiyomi.util.system.powerManager
|
||||
|
@ -204,7 +204,7 @@ class DownloadService : Service() {
|
|||
downloadManager.stopDownloads(getString(R.string.no_network_connection))
|
||||
return
|
||||
}
|
||||
if (preferences.downloadOnlyOverWifi() && !networkCapabilities.hasCapability(NET_CAPABILITY_NOT_METERED)) {
|
||||
if (preferences.downloadOnlyOverWifi() && !isConnectedToWifi()) {
|
||||
downloadManager.stopDownloads(getString(R.string.no_wifi_connection))
|
||||
} else {
|
||||
val started = downloadManager.startDownloads()
|
||||
|
|
|
@ -288,6 +288,24 @@ fun Context.unregisterLocalReceiver(receiver: BroadcastReceiver) {
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if device is connected to Wifi.
|
||||
*/
|
||||
fun Context.isConnectedToWifi(): Boolean {
|
||||
if (!wifiManager.isWifiEnabled) return false
|
||||
|
||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||
val activeNetwork = connectivityManager.activeNetwork ?: return false
|
||||
val networkCapabilities = connectivityManager.getNetworkCapabilities(activeNetwork) ?: return false
|
||||
|
||||
networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) &&
|
||||
networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
wifiManager.connectionInfo.bssid != null
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the given service class is running.
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue