Add switch to toggle downloads over mobile network (#85)

* Added switch to toggle downloads over mobile network

* Add roaming and mobile data functions
This commit is contained in:
Michael Arkhangelskiy 2022-02-19 08:58:46 -05:00 committed by GitHub
parent 1ddfe0bebe
commit 786e4d21a0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 3 deletions

View file

@ -5,6 +5,7 @@ import android.content.Context
import android.net.Uri
import android.os.Environment
import androidx.core.content.getSystemService
import androidx.preference.PreferenceManager
import dev.jdtech.jellyfin.database.DownloadDatabaseDao
import dev.jdtech.jellyfin.models.DownloadItem
import dev.jdtech.jellyfin.models.DownloadRequestItem
@ -50,9 +51,13 @@ fun requestDownload(
}
private fun downloadFile(request: DownloadManager.Request, context: Context): Long {
val preferences = PreferenceManager.getDefaultSharedPreferences(context)
val downloadOverData = preferences.getBoolean("download_mobile_data", false)
val downloadWhenRoaming = preferences.getBoolean("download_roaming", false)
request.apply {
setAllowedOverMetered(false)
setAllowedOverRoaming(false)
setAllowedOverMetered(downloadOverData)
setAllowedOverRoaming(downloadWhenRoaming)
}
return context.getSystemService<DownloadManager>()!!.enqueue(request)
}

View file

@ -57,6 +57,7 @@
<string name="initializing">Initializing…</string>
<string name="settings_category_servers">Servers</string>
<string name="settings_category_player">Player</string>
<string name="settings_category_download">Downloads</string>
<string name="manage_servers">Manage servers</string>
<string name="settings_category_appearance">Appearance</string>
<string name="device_name">Device name</string>
@ -80,6 +81,8 @@
<string name="select_subtile_track">Select subtitle track</string>
<string name="select_playback_speed">Select playback speed</string>
<string name="mpv_player">MPV Player</string>
<string name="download_mobile_data">Download using mobile data</string>
<string name="download_roaming">Download when roaming</string>
<string name="mpv_player_summary">Use the experimental MPV Player to play videos. MPV has support for more video, audio and subtitle codecs.</string>
<string name="force_software_decoding">Force software decoding</string>
<string name="force_software_decoding_summary">Disable hardware decoding and use software decoding. Can be useful if hardware decoding gives weird artifacts.</string>

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory app:title="@string/settings_category_language">
@ -43,6 +44,17 @@
app:useSimpleSummaryProvider="true" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/settings_category_download">
<SwitchPreference
app:key="download_mobile_data"
app:title="@string/download_mobile_data"
android:defaultValue="false" />
<SwitchPreference
app:key="download_roaming"
app:title="@string/download_roaming"
android:defaultValue="false" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/settings_category_player">
<SwitchPreference
app:key="mpv_player"